gpt4 book ai didi

iphone - 将 Maya 模型导入 iPhone

转载 作者:行者123 更新时间:2023-12-03 19:37:20 25 4
gpt4 key购买 nike

执行此操作的最佳方法是什么?谷歌搜索向我展示了很多方法,但目前最好的方法是什么?我很乐意从 Maya 导出模型并在 iPhone 屏幕上渲染,但如果有一种方法来渲染它,然后支持捏合缩放等,我会很兴奋。

非常感谢,今天刚刚完成我的第一堂 3D 建模类(class),我很兴奋!

最佳答案

我刚刚为 iPhone 和 iPad 编写了一个全功能的模型查看器和操纵器。基本上,我只是编写了自己的文件解析器来存储顶点数组,然后在渲染循环中我只渲染数组。尽管二进制文件的读取速度比 .obj 文件快得多,但操作起来相当简单。这样,您可以打开任何文件,而不仅仅是您“处理”的文件。互联网上也有很多例子。

编辑:

只需将顶点放入紧密排列的数组中即可:

vertexX, vertexY, vertexZ, normalX, normalY, normalZ

这样你就有了一个一维 float 数组,但是像上面一样映射出来。一旦有了 float 组,渲染就很简单了。

glEnableClientState(GL_VERTEX_ARRAY);
glEnableClientState(GL_NORMAL_ARRAY);

glVertexPointer(3, GL_FLOAT, sizeof(vertices[0])*6, &vertices[0]);
glNormalPointer(GL_FLOAT, sizeof(vertices[0])*6, &vertices[3]);

glColor4f(R, G, B, 1); //range 0-1
glDrawArrays(GL_TRIANGLES, 0, numVertices); //number of floats in array divided by 6

glDisableClientState(GL_VERTEX_ARRAY);
glDisableClientState(GL_NORMAL_ARRAY);

然后将其放入 OpenGL-ES 1.1 渲染循环中。让我知道这是否适合您。

编辑2:

只是向您澄清一下,如果您在文本编辑器中打开 OBJ 文件,它的布局如下:

list of vertices
list of texture coordinates
list of normals
list of faces

并且面列表以相同的顺序引用其他三个列表中的索引。例如,一行可能如下所示:

f 16/4/1  4/4/4  1/1/1

表示面的第一个顶点引用顶点索引 16、纹理索引 4 和法线索引 1。第二个索引引用顶点的索引 4、纹理的索引 4 和法线的索引 4 等。然后,您只需解析面并将正确的值从不同的数组中提取到一个包含基于顶点和法线的 float 组中。面部指数。

关于iphone - 将 Maya 模型导入 iPhone,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4675475/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com