Pau*_*ger 0 collision-detection unity-game-engine
using UnityEngine;
using System.Collections;
public class changedirection : MonoBehaviour {
void OnCollisionEnter(Collision col)
{
if (col.gameObject.name == "soldier")
{
GameObject go = col.gameObject;
Move move = go.GetComponent<Move>();
move.direction = -1;
}
}
}
Run Code Online (Sandbox Code Playgroud)
碰撞的两个物体都是触发器,抱歉没有统一编程超过一年
静态对撞机不会相互碰撞.
有一个表显示何时在docs.unity3d.com上触发碰撞和触发事件.但他们更新了网站,现在我找不到它.我还有本地的.所以,在这里.
根据两个碰撞对象的配置,可能会发生许多不同的操作.下面的图表概述了两个碰撞对象可以预期的结果,这些对象基于附加到它们的组件.某些组合仅导致两个对象中的一个受到碰撞的影响,因此请记住标准规则 - 物理将不会应用于未附加刚体的对象.
??????????????????????????????????????????????????????????????????????????????????? ? ? Static ? Rigidbody ? Kinematic ? Static ? Rigidbody ? Kinematic ? ? ? Collider ? Collider ? Rigidbody ? Trigger ? Trigger ? Rigidbody ? ? ? ? ? Collider ? Collider ? Collider ? Trigger ? ? ? ? ? ? ? ? Collider ? ??????????????????????????????????????????????????????????????????????????????????? ? Static ? ? Y ? ? ? ? ? ? Collider ? ? ? ? ? ? ? ??????????????????????????????????????????????????????????????????????????????????? ? Rigidbody ? Y ? Y ? Y ? ? ? ? ? Collider ? ? ? ? ? ? ? ??????????????????????????????????????????????????????????????????????????????????? ? Kinematic ? ? Y ? ? ? ? ? ? Rigidbody ? ? ? ? ? ? ? ? Collider ? ? ? ? ? ? ? ??????????????????????????????????????????????????????????????????????????????????? ? Static ? ? ? ? ? ? ? ? Trigger ? ? ? ? ? ? ? ? Collider ? ? ? ? ? ? ? ??????????????????????????????????????????????????????????????????????????????????? ? Rigidbody ? ? ? ? ? ? ? ? Trigger ? ? ? ? ? ? ? ? Collider ? ? ? ? ? ? ? ??????????????????????????????????????????????????????????????????????????????????? ? Kinematic ? ? ? ? ? ? ? ? Rigidbody ? ? ? ? ? ? ? ? Trigger ? ? ? ? ? ? ? ? Collider ? ? ? ? ? ? ? ???????????????????????????????????????????????????????????????????????????????????
??????????????????????????????????????????????????????????????????????????????????? ? ? Static ? Rigidbody ? Kinematic ? Static ? Rigidbody ? Kinematic ? ? ? Collider ? Collider ? Rigidbody ? Trigger ? Trigger ? Rigidbody ? ? ? ? ? Collider ? Collider ? Collider ? Trigger ? ? ? ? ? ? ? ? Collider ? ??????????????????????????????????????????????????????????????????????????????????? ? Static ? ? ? ? ? Y ? Y ? ? Collider ? ? ? ? ? ? ? ??????????????????????????????????????????????????????????????????????????????????? ? Rigidbody ? ? ? ? Y ? Y ? Y ? ? Collider ? ? ? ? ? ? ? ??????????????????????????????????????????????????????????????????????????????????? ? Kinematic ? ? ? ? ? ? ? ? Rigidbody ? ? ? ? Y ? Y ? Y ? ? Collider ? ? ? ? ? ? ? ??????????????????????????????????????????????????????????????????????????????????? ? Static ? ? ? ? ? ? ? ? Trigger ? ? Y ? Y ? ? Y ? Y ? ? Collider ? ? ? ? ? ? ? ??????????????????????????????????????????????????????????????????????????????????? ? Rigidbody ? ? ? ? ? ? ? ? Trigger ? Y ? Y ? Y ? Y ? Y ? Y ? ? Collider ? ? ? ? ? ? ? ??????????????????????????????????????????????????????????????????????????????????? ? Kinematic ? ? ? ? ? ? ? ? Rigidbody ? Y ? Y ? Y ? Y ? Y ? Y ? ? Trigger ? ? ? ? ? ? ? ? Collider ? ? ? ? ? ? ? ???????????????????????????????????????????????????????????????????????????????????
在Unity 3.x中,我们引入了一种称为基于图层的碰撞检测,现在您可以选择性地告诉Unity GameObjects与它们所附着的特定图层发生碰撞.欲了解更多信息,请点击这里.