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

本文关键字:碰撞 检测 之间 两个 程对象 对象 | 更新日期: 2023-09-27 18:34:18

是否可以在

游戏引擎脚本中有一个脚本,并让它通过Update()OnTriggerStay()/OnColliderStay()检查两个未连接到游戏引擎脚本的远程对象之间的冲突?

我对这个脚本的计划是检测诸如扑灭着火的房间之类的情况。我最初的计划是在这个房间周围有一个对撞机检查火粒子,如果没有更多的粒子,火就熄灭了。如果您有更好的建议,请告诉我。

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

我假设你指的是线性运动。如果是这样,光线投射是解决方案。光线投射是在 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!");
    }
}

您可以在互联网上找到更多参考资料和教程。尝试有关光线投射的 Unity 官方教程