首页 > 解决方案 > 如何使用代码引用弓的“电枢动作”?

问题描述

我正在尝试制作弓箭游戏。我下载了一个弓,上面有一个动画(?),绳子被拉回来。

看:https://imgur.com/a/6XeaRlr

我想制作一个脚本,当播放器左键单击时触发该动画(显示在我的 gif 的右下角)。但我不知道如何参考动画。

是不是类似于_anim = GetComponent<Animator>(); 然后animation.Play?我什至不知道动画的名称是什么。

此外.. 能够根据用户按住按钮的时间来控制动画的长度,而不是完全播放它,即使用户只点击左键,这将是非常棒的。我不确定这将如何实现?

标签: unity3danimation

解决方案


好的,这个问题看起来很短,但解决方案会很长,你需要做一些学习。所以,让我们一步一步地解决你的问题。

  1. 我下载了一个有动画的弓(?)

    是的,它是一个带有动画的 3D 弓模型。

  2. 我想制作一个脚本,当播放器左键单击时触发该动画(显示在我的 gif 的右下角)。但我不知道如何参考动画。

    为了触发该动画,您需要一个Animator Controller附加到弓模型实例。然后您可以单击该 Animator Controller 以打开其面板。打开面板后,您可以简单地将动画拖放到那里。当你第一次放下你的动画时,它将是默认的动画状态。但是,如果您不想立即触发动画,我建议您创建一个空状态并过渡到弓形动画。

  3. 是不是像 _anim = GetComponent(); 然后动画。播放?

    或多或少像这样,但您应该检查文档以获得更好的理解,文档很好地解释了它,并且为您的用例提供了一个非常好的示例。

  4. 我什至不知道动画的名称是什么。

    将动画拖放到面板后,您将看到要在脚本中使用的动画名称。

  5. 此外.. 能够根据用户按住按钮的时间来控制动画的长度,而不是完全播放它,即使用户只点击左键,这将是非常棒的。我不确定这将如何实现?

    动画的播放方式有很多种,例如,可以设置一个动画参数来保持动画状态。此外,您还可以禁用转换中的Has Exit Time值,使其在用户停止按住按钮后立即停止动画。

总的来说,在动画方面,Unity 非常强大,我的建议是阅读文档并观看一些教程。

希望这可以帮助。


推荐阅读