在这种情况下,我的地形变换是:位置X = -250 Y = 0 Z = -250 旋转0 0 0和标度1 1 1
地形分辨率为宽度500,长度500和高度600
因此,当我将物体移动到地形边缘时,如果我在某些高度中有一个ThirdPersonController或太空船,我希望它们停在那里而不是继续离开地形区域。
如何在c#脚本中计算它并防止对象离开地形边界?
答案 0 :(得分:1)
BoxCollider
。BoxCollider
:中心:0,0,0。边界:500,600,500。IsTrigger: On
OnTriggerExit(Collider c) { /* Your code */ }
每次对撞机离开BoxCollider
时,您的代码都会被执行。如果那是你的玩家,重置它的位置,使其位于限制区域内,或者你可以使用物理力将他拉回来。
https://docs.unity3d.com/ScriptReference/MonoBehaviour.OnTriggerExit.html