Unity3D 门打开/关闭错误

Posted

技术标签:

【中文标题】Unity3D 门打开/关闭错误【英文标题】:Unity3D Door Open/Close Bug 【发布时间】:2021-06-28 08:16:13 【问题描述】:

我的项目有问题。我创建了一个动画来打开门,并在按下按钮时让它打开。然后我复制动画并输入它的值 -1 以使门在 2 秒后关闭,但如果角色在播放关闭动画时再次按下开门按钮,它会播放该动画,这会导致游戏中的错误。我很抱歉说得有点复杂。我在等你的答案。这是我的代码->

public Text text;
public Animator anim;

private void Start()

    text.enabled = false;
    anim = GetComponent<Animator>();


private void Update()

    if(text.enabled && Input.GetKeyDown(KeyCode.E))
    
        anim.Play("DoorOpen");
    

private void OnTriggerExit(Collider other)

    text.enabled = false;

private void OnTriggerEnter(Collider other)

    text.enabled = true;

【问题讨论】:

【参考方案1】:

您不应该使用 Animator Play() 方法,而是创建像 Trigger 这样的参数......好吧......触发动画。

另外,你没有说你遇到了什么错误,所以很难帮助你,但我猜动画正在重新启动?您可以设置动画不能过渡到自身,这样如果在完成之前再次触发它就不会重新启动。编辑您的 AnimatorController 资产,然后单击不应过渡到自身的动画,然后取消选中它的确切位置:“可以过渡到自身”。 (也许你要双击它,也许你要点击过渡,现在不记得了,你会弄明白的:)。

【讨论】:

以上是关于Unity3D 门打开/关闭错误的主要内容,如果未能解决你的问题,请参考以下文章

如何为UNITY3d开发的游戏设置家长门?

Android项目实战(三十九):Android集成Unity3D项目(图文详解)

Unity3D场景切换UGUI组件事件开始游戏与关闭游戏

Unity3d 动画控制

如何在 Unity3D 项目中启用 c# 7 功能

unity3d网格不显示