当前的拖尾效果永远从世界坐标(0,0)点开始
因为在MotionStreakAssembler插入了这个lastPos… 这个lastPos 会在拖尾组件MotionStreak中被重置为0
提供一个在不修改源码情况下的解决方案
//在拖尾节点激活时,在执行lastUpdate之前,修改lastWpos 为节点的世界坐标
let motion = Node_trail.getComponent(cc.MotionStreak);
if (motion) {
//修复2.4.9版本拖尾效果从原点开始问题,后续关注引擎修复情况移除
motion.scheduleOnce(() => {
motion.reset();
let mat4 = cc.mat4();
let matrix = Node_trail.getWorldMatrix(mat4);
let tx = matrix.m[12],
ty = matrix.m[13];
//@ts-ignore
motion._lastWPos.x = tx;
//@ts-ignore
motion._lastWPos.y = ty;
});
}
学废了 
mark~
该主题在最后一个回复创建后14天后自动关闭。不再允许新的回复。