所以我在我的统一项目中创建了一个平面作为我的楼层。我还为它分配了一个网格对撞机和一个盒子对撞机,并将其设置为凸面但不作为触发器。然后我创建了一个带有网格和球体碰撞器的项目,并将其设置为使用重力,因为我希望该项目落到地板上。但是当我开始游戏时,它仍然从地板上掉下来。我已经尝试在 YT、这里和其他地方找到解决方案,但他们给出的唯一想法是分配对撞机。这对我不起作用。我还尝试用材料填充对撞机,但无法分配任何东西。我也尝试编写代码,但这也无济于事。
有谁知道如何解决它?
public class IsGrounded : MonoBehaviour
{
Vector3 velocity;
public float gravity = -9.81f;
public Transform groundCheck;
public float groundDistance = 0.4f;
public LayerMask groundMask;
bool isGrounded;
// Start is called before the first frame update
void Start()
{
}
// Update is called once per frame
void Update()
{
isGrounded = Physics.CheckSphere(groundCheck.position, groundDistance, groundMask);
if (isGrounded && velocity.y < 0)
{
velocity.y = -2f;
}
}
}