Math 如何根据3D对象的方向和地面确定其方向?

Math 如何根据3D对象的方向和地面确定其方向?,math,3d,three.js,Math,3d,Three.js,在我的游戏中,我让角色在3d地形上行走。但是,角色将地形视为2d游戏地图,因此每个角色在2d平面上都有方向和旋转 我想在角色在地形上行走时旋转角色,这样他们就可以相对于地形站立,而不是像在平地上行走一样始终保持方向。这与保持字符的原始方向有关 基本上我想要 对于游戏地图上的每个任意x\z(宽度\深度)点,我都有 地形上点的(x,y,z)向量 与该点相关的特定地形面的法线 使用此选项,如何设置字符的旋转以实现此目的?根据要旋转对象的轴,面法线与该轴的点积将返回两个向量之间角度的余弦。按照这个角度

在我的游戏中,我让角色在3d地形上行走。但是,角色将地形视为2d游戏地图,因此每个角色在2d平面上都有方向和旋转

我想在角色在地形上行走时旋转角色,这样他们就可以相对于地形站立,而不是像在平地上行走一样始终保持方向。这与保持字符的原始方向有关

基本上我想要

对于游戏地图上的每个任意x\z(宽度\深度)点,我都有

  • 地形上点的(x,y,z)向量
  • 与该点相关的特定地形面的法线

  • 使用此选项,如何设置字符的旋转以实现此目的?

    根据要旋转对象的轴,面法线与该轴的点积将返回两个向量之间角度的余弦。按照这个角度,你必须旋转你的物体