如果具有位置动画,如何在特定位置实例化对象?

时间:2013-01-05 00:54:32

标签: c# animation unity3d

我正在使用以下代码实例化一个对象

public Object ball;

Instantiate(ball, hit.point , Quaternion.identity) ;

hit.point是一个位置而ball是我创建的预制件,但不幸的是这个预制件有一个Position动画 - 跳球 - 并且因为它的动画,它保持在动画的位置。我甚至不能Translate它。

如何以某种方式移动或更改动画?

enter image description here

2 个答案:

答案 0 :(得分:1)

解决此问题的方法不止一种,具体取决于您的其他目标/限制条件。

一种简单的方法是通过引入空父节点将此问题分成两个空格。

如果你构建..

[Empty Parent Node]  (created dynamically)
 |- [Ball]           (created from your prefab)

..然后你仍然可以将动画应用到[Ball],现在在[Empty Parent Node]定义的“局部空间”内。此外,您现在可以为父节点指定任意位置,该位置用于整体放置球。

答案 1 :(得分:1)

另一种可能的解决方案是将动画从position动画更改为localPosition动画。然后,您将能够使用脚本更改其Transform.position属性。