如何根据表面[重复]获取正确的运动方向矢量

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

因此,我正在尝试编写自己的第三人称角色控制器,并且试图找到一种方法来根据接触面法线和玩家的方向向量(transform.forward)计算方向向量。“我已附上图片,因此更加清晰

unity3d vector direction
1个回答
1
投票
在我回答之前,我想问你为什么需要这个向量?您打算如何处理?

同时,这是一种实现方法:

    从播放器的位置向下Physics.Raycast(player.transform.position, Vector3.Down, out hit, Mathf.Infinity, groundLayerMask)进行射线广播(也许从播放器的中部进行射线广播,以确保您不会错过地面)
  1. 如果没有击中,则意味着从玩家的位置开始,就没有地面(因此,没有要计算的向量)
  2. [如果确实命中,它将包含一个hit.normal,然后可以将其乘以Quaternion.Euler(90, 0, 0)-实际上,这将使地面的法线在X轴上旋转90度,获得归一化的向量正在寻找
© www.soinside.com 2019 - 2024. All rights reserved.