【发布时间】:2023-02-14 23:13:27
【问题描述】:
我在一个对象上有一个动画组件,我必须在我的一个脚本中访问它。但我不知道该怎么做。当然,它可以通过 SerializeField 完成,但我不能那样做,因为我不能为我当前的预制件选择另一个预制件的动画师(因为它对它不可见)。因此,如果可能的话,仍然只能通过代码来做到这一点。动画师的访问修饰符已经配置(公共)。
【问题讨论】:
标签: unity3d
我在一个对象上有一个动画组件,我必须在我的一个脚本中访问它。但我不知道该怎么做。当然,它可以通过 SerializeField 完成,但我不能那样做,因为我不能为我当前的预制件选择另一个预制件的动画师(因为它对它不可见)。因此,如果可能的话,仍然只能通过代码来做到这一点。动画师的访问修饰符已经配置(公共)。
【问题讨论】:
标签: unity3d
我假设您有一个带有动画组件的游戏对象 A,以及一个带有需要引用动画组件的自定义脚本的游戏对象 B。
如果两者都在场景中,或者如果 A 是预制件: 选择 GameObject B,然后将 GameObject A 拖到自定义脚本的引用槽中。如果 A 是预制件,您可以调用 Instantiate(animatorOnA) ,它将返回对新实例化对象上的动画师的引用。
如果两者都在同一个脚本中实例化,则可以在 A 的预制件的实例化副本上使用 GetComponent() 来获取对动画师的引用。然后,您可以使用此引用在 B 上分配 animatorOnA 字段。
如果 A 是 B 的孩子,那么您可以直接在检查器中分配它,它会自动更新引用。
【讨论】: