如何定位3D物体相对于其方向和地面的方向?

时间:2015-06-05 12:33:06

标签: math 3d three.js

enter image description here

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

我想在角色在地形上行走时旋转角色,使它们朝向相对于地形的方向,而不是总是被定向为好像它们在平坦的地面上行走。这样可以保持角色的原始方向。

基本上我想要

enter image description here

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

  1. 地形上的点的(x,y,z)向量
  2. 与点
  3. 相关的特定地形面的法线

    使用此功能,如何设置字符的旋转来实现此目的?

1 个答案:

答案 0 :(得分:1)

根据您想要旋转对象的轴,与该轴垂直的面的点积将返回两个向量之间角度的余弦。通过该角度,您将不得不旋转对象。