https://blog.youkuaiyun.com/XcantloadX/article/details/104032664
BIG_KENG
其实只要建立相对坐标便可以使用动画里的position。
我一般是先创建一个父物体,作为参考坐标,然后在父物体下面再创建一个子物体,使用子物体来承载动画组件,这样的话,动画系统里子物体的position就会变成相对于父物体的坐标,动画就会参照父物体而非世界的坐标做运动,不用写代码,也可以预览。
Unity 的 animator 在节点树中的位置决定了动画的父节点,即,不论 controller 选定的 animation controller 中控制的物体在节点树中的位置,animator 这个组件所在节点的父节点就是动画的父节点
而 Godot 中的 animplayer 所控制的动画的父节点就是动画对象的父节点。这可能是因为 Godot 中的 animplayer 本身就是一个位于 tscn 之中的节点,他自己就可以确定一个相对位置
总的来说,在 Unity 中,我感觉还是需要让动画位于 perfab 的子节点的情况会多一点,但是这个时候还需要格外注意不能直接对 perfab 的实例使用 .GetComponent<Animator>() 而是需要使用 inchild 的版本,这样就比 Godot 中多了一步考虑


该博客介绍了Unity和Godot中处理动画父节点的不同方式。在Unity中,通过创建父物体并让动画组件位于子物体上,可以实现相对坐标动画。而Godot的AnimPlayer直接使用对象的父节点。作者指出,Unity中可能更常见于将动画放在Prefab的子节点,并需要注意GetComponent< Animator >()的使用。总结了两者在处理动画相对位置上的差异和注意事项。
1386

被折叠的 条评论
为什么被折叠?



