gpt4 book ai didi

animation - OpenGL中眼睛模型瞳孔收缩/扩张的基本方法

转载 作者:行者123 更新时间:2023-12-02 04:01:28 26 4
gpt4 key购买 nike

我是OpenGL-ES的新手,正在寻找创建逼真的双眼模型的最佳方法,该模型的瞳孔可以扩张和收缩,因此在进行教程时,我要牢记一个计划。

  • 我已经在搅拌器中制作了一个网格,该网格基本上是一个带孔的球体(“极点”或中心顶点已移除,并且有两个围绕圆弧的边缘)。
  • 我计划将虹膜纹理直接添加到围绕孔的球体多边形上。
  • 要更改瞳孔大小,我是否只需要一个函数来重新定位孔的顶点,以使孔膨胀或收缩?
  • 我将在Objective-C应用程序中使用OpenGL。我有Jeff Lamarche's Objective C export script。从搅拌器仅导出网格并稍后在xcode中的代码中添加纹理是否是标准的?还是更容易/更好地先在Blender中设置网格上的纹理并将更多最终产品的数据导出到xcode?
  • 最佳答案

    您的问题有点老了,所以我不确定您取得了多少进步,但是当我自己不断攀升学习曲线时,我想我会在回答上有所作为。

    如果要为模型的各个顶点设置动画,我相信您想要的方法是“顶点蒙皮”。尽管在OpenGL ES 2.0中只有这项技术,但是我还没有理由对此进行实验,因此我在这方面的发言不多。 (不管怎么说,这可能是您想从哪里开始的,超过1.1的增加的灵活性比学习曲线的任何其他倾斜都值得。)

    您的纹理问题的答案有些复杂。您实际上需要在OpenGL中应用纹理。但是Blender可以为您做的是确定纹理坐标。网格的每个顶点将具有与其关联的纹理坐标。纹理坐标将是X,Y坐标,它们映射到纹理图像上的某个位置。坐标的范围是0.0到1.0-因此,由于图像纹理是矩形,因此纹理坐标{0,0}映射到左下角; {1,1}映射到右上角; {0.5,0.5}映射到图像的确切中心。

    因此,在Blender中,您要继续使用UV贴图对对象进行纹理处理。导出时,尽管导出的网格将不包含任何图像内容,但它将保留映射到图像内容的纹理坐标。这将允许您在OpenGL中应用纹理,以便以与在Blender中出现的相同方式应用纹理。

    我个人在让Jeff Lamarche的脚本吐出纹理坐标时遇到了一些麻烦,因为Blender api在每个发行版中似乎都发生了很大变化。 .obj转换器获得了更大的成功。所以我一直在从Blender导出到.obj,并使用命令行工具从.obj导出到C头文件。

    如果您在Lamarche的脚本中遇到类似的问题,这篇文章可能会帮助解决它:http://38leinad.wordpress.com/2012/05/29/blender-2-6-exporting-uv-texture-coordinates/

    对于.obj到.h脚本,这是一个很好的资源:
    http://heikobehrens.net/2009/08/27/obj2opengl/

    关于animation - OpenGL中眼睛模型瞳孔收缩/扩张的基本方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10338200/

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