Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 如何将纹理贴图到曲面上?_Iphone_Android_Language Agnostic_Opengl Es - Fatal编程技术网

Iphone 如何将纹理贴图到曲面上?

Iphone 如何将纹理贴图到曲面上?,iphone,android,language-agnostic,opengl-es,Iphone,Android,Language Agnostic,Opengl Es,我正在尝试使用OpenGL创建一个3d游戏。我有一个非常基本的世界,现在正在制作一个角色。我想映射一个纹理到头部,这将是椭圆形的。如何进行映射?我知道如何映射到平面。我想知道法线是否可以用来帮助我,但我从来没有这样做过,当我搜索谷歌时,我没有任何运气 我计划以编程的方式完成这一切,如果有什么不同的话,就不要使用Blender或Maya。我从你的帖子中猜测,你对几何很在行吗 对于一般情况下的自动贴图,您的猜测是一个好主意-从每个顶点开始,向外跟随其法线,直到碰到定义良好的外部基本体,然后从该基本体

我正在尝试使用OpenGL创建一个3d游戏。我有一个非常基本的世界,现在正在制作一个角色。我想映射一个纹理到头部,这将是椭圆形的。如何进行映射?我知道如何映射到平面。我想知道法线是否可以用来帮助我,但我从来没有这样做过,当我搜索谷歌时,我没有任何运气


我计划以编程的方式完成这一切,如果有什么不同的话,就不要使用Blender或Maya。

我从你的帖子中猜测,你对几何很在行吗

对于一般情况下的自动贴图,您的猜测是一个好主意-从每个顶点开始,向外跟随其法线,直到碰到定义良好的外部基本体,然后从该基本体向内复制纹理位置

在这种情况下,我认为关键可能在于如何生成几何体。如果你在做一些事情,比如创建8个16点的环,有效地在外循环中围绕一个圆迭代,在内环中围绕另一个圆迭代,那么你可以同时迭代u和v以获得映射。您会得到一些大小不规则的多边形,并且在极点处的贴图会变得很麻烦,但是面周围的区域会工作得很好

如果您希望多边形的大小更相等,并且所有区域都有可靠的贴图,请从过度镶嵌的立方体开始(例如,每个曲面的网格为8x8个四边形,而不是一个),并以任何有意义的方式映射纹理坐标。用立方体的网来思考。然后,通过计算从中心到每个点的矢量并移动该点,使立方体变形为球体,使其成为球体从中心的半径。最后,通过不同的缩放轴将球体变形为椭圆形