[0]Laya.Tween.to() 移动3d 预制体,只改变了,场景中没有进行移动

Laya.Tween.to() 移动3d 预制体,只改变了,场景中没有进行移动
 
请问,咱们3D中能使用Laya.Tween 吗
/Laya.Tween.to((this.scene3D.getChildByName("box_0") as Laya.MeshSprite3D) .transform.position,{ x:this._outHitResult.point.x,y:this._outHitResult.point.y,z:this._outHitResult.point.z},2000);
Laya.Tween.to((this.kinematicSphere.getChildByName("LayaMonkey").getChildByName("LayaMonkey") as Laya.MeshSprite3D).transform.position,{ x:this._outHitResult.point.x,y:this._outHitResult.point.y,z:this._outHitResult.point.z},2000,Laya.Ease.bounceIn,Laya.Handler.create(null,()=>{
console.log('动画执行完毕...',this.kinematicSphere.transform.position);
}));
已邀请:

Laya_Fred

赞同来自:

您好,您这个应该是赋值Sprite3D位置错误了,您同样使用this.scene3D.getChildByName("box_0") as Laya.MeshSprite3D) .transform.position.x += 0.1;这样来移动也是无效的,position属性需要给一个Laya.Vector3的变量内容才会改变物体的位移。
您可以参照这个写法试下:
Laya.Tween.to((this.scene3D.getChildByName("box_0") as Laya.MeshSprite3D) .transform,{ localPositionX:this._outHitResult.point.x, localPositionY:this._outHitResult.point.y, localPositionZ:this._outHitResult.point.z},2000);
Laya.Tween.to((this.kinematicSphere.getChildByName("LayaMonkey").getChildByName("LayaMonkey") as Laya.MeshSprite3D).transform,{ localPositionX:this._outHitResult.point.x, localPositionY:this._outHitResult.point.y, localPositionZ:this._outHitResult.point.z},2000,Laya.Ease.bounceIn,Laya.Handler.create(null,()=>{
console.log('动画执行完毕...',this.kinematicSphere.transform.position);
}));
 

雷神

赞同来自:

为什么 是  localPositionX,localPositionY, 而不是 positionX,positionY 呢

要回复问题请先

商务合作
商务合作