两个远程对象之间的碰撞/触发检测

时间:2014-12-15 10:50:36

标签: c# unity3d

是否可以在GameEngine脚本中添加脚本,并通过Update()OnTriggerStay() / {{1}检查未连接到GameEngine脚本的两个远程对象之间的冲突}?

我对此脚本的计划是检测诸如放置着火的房间等情况。我最初的计划是在这个房间周围安装一个对撞机,检查火灾颗粒,如果没有更多的颗粒,火就会消失。如果您有更好的建议,请告诉我。

1 个答案:

答案 0 :(得分:1)

我假设你指的是线性运动。如果是这样,Ray Casting就是解决方案。光线投射正在形成从3D平面中的特定点到另一点的线或矢量。射线(矢量)的目的是确定它是否与任何碰撞器或其他游戏物体相交。

它可以简单地用作,

void Update() {
    Vector3 fwd = transform.TransformDirection(Vector3.forward);

    // parameters are origin, direction and length of the ray. 
    if (Physics.Raycast(transform.position, fwd, 10)){ 
        print("There is something in front of the object!");
    }

}

您可以在互联网上找到更多参考资料和教程。尝试Raycasting

上的Unity官方教程