将多边形从3d展开到2d空间(使用三角形)展开纹理坐标
所以我在Ogre3D中创建了一个模型,这个模型由许多任意旋转和位置的三角形组成。我想像许多建模程序一样“展开”模型,以便将所有三角形映射到2d(x,y),但保持三角形大小。这是用于贴花。必须保持三角形尺寸的原因,以便在施加纹理时不会有任何拉伸。
这是我想要进入的方向,但我无法将其可视化并实现正确的算法:
//Verticies will have a converted bool;
func( triangle x):
for each of x's vertices:
map to x,y coordinates if not converted;
check other triangles for common vertex if so call func(common_tri);
一旦它返回,将有一个所有三角形的转换版本,以便它们都被解开并可放置在纹理上,我遇到麻烦的是映射到x,y空间。我不确定如何在3d空间中获得一个二维空间的三角形,以便它保持其所有属性(如从一个角度视图到表面的perpedicular视图)任何帮助将不胜感激。
没有找到相关结果
已邀请:
1 个回复
撕吠