【发布时间】:2017-04-16 14:41:45
【问题描述】:
我不会说英语,对此我深表歉意。
我是 Unity 3d 的新手。
这是我的责任。我希望对象停在另一个对象上,然后继续。我该怎么做?
【问题讨论】:
标签: unity3d
我不会说英语,对此我深表歉意。
我是 Unity 3d 的新手。
这是我的责任。我希望对象停在另一个对象上,然后继续。我该怎么做?
【问题讨论】:
标签: unity3d
为对象添加碰撞器和刚体。给盒子添加脚本,在 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;
}
【讨论】: