Unity - 在接近平台时让角色在平台上跳跃?

问题描述 投票:0回答:2

好吧,我有一个游戏,用户无法控制跳跃,而只是使用操纵杆走动角色。我需要的是,当他们接近一个平台(他们走进它下面的区域,或者在它下面的平台上时,他们会马里奥跳到它上面)。

我的方法是为平台配备一个盒式对撞机,另一个用作触发器,因此当用户输入触发器时,我可以将它们移动到平台上的位置。这是最简单的方法吗?

enter image description here

我的角色的刚体有运动和重力检查。当角色走到更高平台的位置时,另一种让角色跳跃的方法是什么?

c# unity3d game-physics physics
2个回答
0
投票

另一种方法是在角色前面射线投射以检测高度差,如果高度差在跳跃的正确范围内,则让它们进行跳跃。

但是使用触发器也是可以的。取决于游戏。


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重复一遍。

Documentation

© www.soinside.com 2019 - 2024. All rights reserved.