Unity 动画事件 - 未选择任何功能

Per*_*zim 2 c# events animation unity-game-engine

我用谷歌搜索并尝试了很多,现在只是发疯了,因为这只是一件需要很长时间才能解决的简单事情。所以在网络上有两种类型的帖子:

  1. 控制台给出错误“未选择功能”,解决方案是某些人意外添加了动画事件而没有设置它。<-这不是我要找的
  2. 我在我的剪辑中添加了一个动画事件,但单击下拉“功能”显示“未选择功能”并且不让我选择任何内容。<- 这就是我要找的。这种帖子从来没有得到答复。

这是它的样子在此处输入图片说明

等级制度:

对象 1
 对象 1.1 <-有一个脚本,从那里我开始动画
 对象 1.2 <-有动画师。旋转和缩放对象 1.2

更多信息: 是的,我首先选择了我的对象 1.2,然后在动画窗口中选择了正确的剪辑并添加了一个动画事件。

der*_*ugo 6

这种帖子从来没有得到答复

请允许我对此表示怀疑。


只需确保您的设置满足以下条件:

AnimationEvent 需要

  • 您要使用其方法组件附加到GameObjectAnimator组件相同组件
  • 您要调用的方法具有可访问性和返回类型 public void
  • 您要调用的方法没有或最多只有一个参数
  • 所支持的类型的参数是intfloatstringboolUnityEngine.Object

由于您的脚本在另一个游戏对象上,您可以重定向调用,例如

public Redirector : MonoBehaviour
{
    // Either drag in via Inspector
    [SerializeField] private ScriptOnOtherObject _scriptOnOtherObject;

    // or get at runtime if you are always sure about the hierachy
    private void Awake()
    {
        _scriptOnOtherObject = transform.parent.GetComponent<ScriptOnOtherObject>();
    }

    // and now call this from the AnimationEvent
    public void DoIt()
    {
        _scriptOnOtherObject.TheMethodToCall();
    }
}
Run Code Online (Sandbox Code Playgroud)