我正在研究 3D 顶点蒙皮。一切正常。我现在被困在如何最好地以图形方式表示我的骨骼。我认识到我可以将骨骼画成从一个关节到下一个关节的简单线条。
但是,我强烈希望绘制类似于搅拌机骨骼(带有头部和尾部)的图形表示。
我的示例代码(如下)仅适用于朝向(0,1,0)方向的关节。如果我有一个面向 (1,0,0) 的骨骼,那么它不能准确地表示该骨骼。
所以最终,我的问题是:是否有一个数学方程可用于根据我的骨关节面对的方式将这些顶点从 (0,1,0) 定向到某个任意矢量方向。
glm::vec3 vert[14];
vert[ 0] = glm::vec3( 0.0f, 0.0f, 0.0f);
vert[ 1] = glm::vec3(-0.2f, 0.2f,-0.2f);
vert[ 2] = glm::vec3( 0.2f, 0.2f,-0.2f);
vert[ 3] = glm::vec3( 0.0f, getLength(), 0.0f);
vert[ 4] = glm::vec3(-0.2f, 0.2f,-0.2f);
vert[ 5] = glm::vec3(-0.2f, 0.2f, 0.2f);
vert[ 6] = glm::vec3( 0.0f, 0.0f, 0.0f);
vert[ 7] = glm::vec3( 0.2f, 0.2f,-0.2f);
vert[ 8] = glm::vec3( 0.2f, 0.2f, 0.2f);
vert[ 9] = glm::vec3( 0.0f, 0.0f, 0.0f);
vert[10] = glm::vec3(-0.2f, 0.2f, 0.2f);
vert[11] = glm::vec3( 0.0f, getLength(), 0.0f);
vert[12] = glm::vec3( 0.2f, 0.2f, 0.2f);
vert[13] = glm::vec3(-0.2f, 0.2f, 0.2f);