【发布时间】:2019-10-23 15:03:38
【问题描述】:
我可以想到我将在游戏中使用哪些对象,然后为它们添加一个盒子碰撞器或网格碰撞器,然后开始设置它们。或者我可以使用光线投射并检测到我想避免穿过的物体的距离?使用光线投射距离计算的逻辑是吗?
void FixedUpdate()
{
Vector3 direction = new Vector3(transform.position - lastPosition);
Ray ray = new Ray(lastPosition, direction);
RaycastHit hit;
if (Physics.Raycast(ray, hit, direction.magnitude))
{
// Do something if hit
}
this.lastPosition = transform.position;
}
不确定这是否是适合播放器的脚本。也许需要使用图层?但逻辑是,如果玩家距离物体 0.3f 距离,玩家将停止向前移动。
【问题讨论】:
-
如果你想用unity的物理,用刚体,教程很多