我一直试图让我生成的几何图形与方向向量对齐。为了说明我目前的问题是:
- A = 正确对齐的几何图形(只是一个用于测试的三角形)
- B = 不正确对齐的几何图形
我当前在此三角形示例的代码中的解决方案(此代码针对您在屏幕上从拆分开始看到的所有节点运行,我使用的是 GLM 数学库):
glm::vec3 v1, v2, v3;
v1.x = -0.25f;
v1.z = -0.25f;
v2.x = 0.25f;
v2.z = -0.25f;
v3.x = 0.0f;
v3.z = 0.25f;
v1.y = 0.0f;
v2.y = 0.0f;
v3.y = 0.0f;
glm::mat4x4 translate = glm::translate(glm::mat4x4(1.0f), sp.position);
glm::mat4x4 rotate = glm::lookAt(glm::vec3(0.0f, 0.0f, 0.0f), sp.direction, glm::vec3(0.0f, 1.0f, 0.0f));
v1 = glm::vec4(translate * rotate * glm::vec4(v1, 1.0f)).swizzle(glm::comp::X, glm::comp::Y, glm::comp::Z);
v2 = glm::vec4(translate * rotate * glm::vec4(v2, 1.0f)).swizzle(glm::comp::X, glm::comp::Y, glm::comp::Z);
v3 = glm::vec4(translate * rotate * glm::vec4(v3, 1.0f)).swizzle(glm::comp::X, glm::comp::Y, glm::comp::Z);
点 A 的方向向量值:
- x 0.000000000 浮点数
- y 0.788205445 浮动
- z 0.615412235 浮点数
B点的方向向量值:
- x 0.0543831661 浮点数
- y 0.788205445 浮动
- z -0.613004684 浮点数
编辑 1 (24/11/2013 @ 20:36) : A 和 B 没有任何关系,两者都是单独生成的。在生成 A 或 B 时,仅知道位置和方向。
我一直在查看此处发布的解决方案:
但我无法成功旋转我的几何图形以与我的方向矢量对齐。我觉得我在做一些相当基本的错误。
任何帮助将不胜感激!