好吧,我有一个游戏,用户不控制跳跃,而只是使用操纵杆在角色周围走动。我需要的是,当他们接近平台时(他们走进平台下方的区域,或者在平台下方的平台上,他们会带马里奥跳上平台。
我的方法是在平台上放置一个盒式对撞机,然后将其作为触发器,因此,当用户输入触发器时,我可以在它们之间移动到平台上的某个位置。这是最简单的方法吗?
我角色的刚体经过了运动学和重力检查。使角色走到更高平台的位置时跳动的另一种方法是什么?
答案 0 :(得分:0)
另一种方法是在角色前面放下射线以检测高度差,如果高度差在正确的跳跃范围内,请让他们进行跳跃。
但是使用触发器也可以。取决于游戏。
答案 1 :(得分:0)
如果平台的高度始终相同(或不是以随机高度生成的),则可以使用一个或一系列射线。
public float heightOffset;
public float rayDistance;
Vector3 position = transform.position + new Vector3(0f, heighOffset, 0f);
Vector3 rotation = transform.forward;
if(Physics.Raycast(position, rotation, rayDistance))
{
Jump();
}
并针对每个heightOffset重复该操作。