本文共 583 字,大约阅读时间需要 1 分钟。
在Unity工程中,对父物体添加Animation,程序运行后,对子物体的移动问题。
程序运行开始,执行为父物体添加的Animation动画,执行完后,父物体被拆分为几个子物体。
虽然执行了Animation动画,但父物体和子物体的层级关系还是存在。而且将一个移动代码赋给其中一个子物体,类似于:
transform.position = Vector3(1,1,1); 将子物体移动到(1,1,1);但执行的时候发现,子物体移动到指定位置后,一闪又回到了初始位置。因为父物体的Animation动画执行完后,并没有对其进行判断。
我用最简单的方法处理了这个问题。在我要移动子物体的时候,对父物体的Animator销毁,然后就可以移动子物体了。
Destroy(GameObject.Find(“cycle”).GetComponent()); 然后使用 transform.position = Vector3(1,1,1);就可以移动物体。 当然如果能对动画状态进行判断,然后处理应该会更好。 这里推荐一下别人写的Animator的用法:转载地址:http://fuve.baihongyu.com/