C# 如果对象具有位置动画,如何在特定位置实例化该对象?
我正在用下面的代码实例化一个对象C# 如果对象具有位置动画,如何在特定位置实例化该对象?,c#,animation,unity3d,C#,Animation,Unity3d,我正在用下面的代码实例化一个对象 public Object ball; Instantiate(ball, hit.point , Quaternion.identity) ; 其中,hit.point是一个位置,ball是我创建的一个预置,但不幸的是,这个预置有一个位置动画-跳跃球-因此,当它设置动画时,它会停留在动画的位置。我甚至不能翻译它 如何移动它或以某种方式更改动画 解决此问题的方法不止一种,具体取决于您的其他目标/约束条件(如有) 一种简单的方法是通过引入一个空的父节点,将这个
public Object ball;
Instantiate(ball, hit.point , Quaternion.identity) ;
其中,hit.point
是一个位置,ball
是我创建的一个预置,但不幸的是,这个预置有一个位置
动画-跳跃球-因此,当它设置动画时,它会停留在动画的位置。我甚至不能翻译它
如何移动它或以某种方式更改动画
解决此问题的方法不止一种,具体取决于您的其他目标/约束条件(如有) 一种简单的方法是通过引入一个空的父节点,将这个问题分成两个空间 如果你建造
[Empty Parent Node] (created dynamically)
|- [Ball] (created from your prefab)
…然后您仍然可以将动画应用于[Ball],现在位于[Empty Parent Node]定义的“本地空间”内。此外,现在可以为父节点指定任意位置,该位置用于放置整个球。另一种可能的解决方案是将动画从
位置
动画更改为本地位置
动画。然后,您将能够使用脚本更改其Transform.position
属性