https://blog.csdn.net/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 中多了一步考虑