【问题标题】:How do I make a stop effect in Unity3D?如何在 Unity3D 中制作停止效果?
【发布时间】:2017-04-16 14:41:45
【问题描述】:

我不会说英语,对此我深表歉意。

我是 Unity 3d 的新手。

这是我的责任。我希望对象停在另一个对象上,然后继续。我该怎么做?

【问题讨论】:

    标签: unity3d


    【解决方案1】:

    为对象添加碰撞器和刚体。给盒子添加脚本,在 RigidBody 组件的OnCollisionEnter函数中将盒子标记为isKinematic,同时启动协程等待3秒。 3 秒后将 isKinematic 设置回 false。

    void OnCollisionEnter(Collision collision)
    {
        if(!collidedWithOtherObject) {
            collidedWithOtherObject = true;
    
            this.GetComponent<RigidBody>().isKinematic = true;
            this.StartCoroutine(SetKinematic_Coroutine);
        }
    }
    
    IEnumerator SetKinematic_Coroutine() {
        yield return new WaitForSeconds(3f);
        this.GetComponent<RigidBody>().isKinematic = false;
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-09-08
      • 1970-01-01
      • 1970-01-01
      • 2012-08-07
      • 2021-08-31
      • 2014-04-25
      • 2018-05-02
      • 2014-05-18
      相关资源
      最近更新 更多