代码之家  ›  专栏  ›  技术社区  ›  pheedsta

如何在Unity中为CharacterController计算圆边上的向量?

  •  0
  • pheedsta  · 技术社区  · 1 年前

    在Unity中,我需要将CharacterController从v2移动到v3。我有以下信息:圆的中心点(v1);圆圈外侧的当前字符位置(v2);角度(a)。如何计算CharacterController的移动向量,使其从v2移动到v3?

    Finding v3

    1 回复  |  直到 1 年前
        1
  •  1
  •   shingo    1 年前
    v3 = Quaternion.Euler(0, a, 0) * (v2 - v1) + v1
    motion = v3 - v2
    

    解释:

    • v2 - v1 :以v1为原点的v2向量
    • Quaternion.Euler(0, a, 0) * :逆时针旋转上述矢量 a 围绕y轴的度数。如果这是2D,则需要围绕z轴旋转
    • + v1 :获取世界空间中的v3位置
    • v3 - v2 :移动向量是从v2到v3