Ogre中的人眼模型渲染
2011-08-05 11:16
281 查看
今天程序终于调试成功,记录一下实现的过程。
(一)首先就是眼睛模型的提取。完整的头部模型用ply文件表示,用MeshLab读取后,显示顶点数为6292,面片数为12280:
在ply文件中有眼睛顶点和面的参数信息,可以通过一个小程序来单独提取。为了后面顶点变换的方便,我把除眼睛外的顶点用“0 0 0”代替,并将其写入新的ply文件。在我的例子中,眼睛的顶点在5832-6173。
可以看到顶点数依然为6292,面片数为616。转换过程中MeshLab已经做了优化处理,把没有意义的面去掉了。
(三)用Maya打开该文件,并用插件将其导出为OGRE所需的mesh格式。导出时,只需要勾选Mesh标签下的Export mesh,Use shared geometry和Include vertex normals这三个选项,然后就可以渲染了。渲染时,注意给眼睛模型赋予动态环境映射的贴图,OGRE有相应的例子,我这里就不赘述了。渲染效果如下:
注意眼睛的变化,是不是生动多了,呵呵。。。
(一)首先就是眼睛模型的提取。完整的头部模型用ply文件表示,用MeshLab读取后,显示顶点数为6292,面片数为12280:
在ply文件中有眼睛顶点和面的参数信息,可以通过一个小程序来单独提取。为了后面顶点变换的方便,我把除眼睛外的顶点用“0 0 0”代替,并将其写入新的ply文件。在我的例子中,眼睛的顶点在5832-6173。
/* * File: PlyProcess.cpp * Author: zhuxiaoyang (cgnerds@gmail.com) * * Created on Aug 5th, 2011, AM 11:00 */ #include <string> #include <iostream> #include <fstream> using namespace std; int main() { // The file name to be converted string fileName = "C:\\Users\\ZhuXiaoYang\\Desktop\\havokHead2.ply"; ifstream in( fileName.c_str() ); ofstream out( "C:\\Users\\ZhuXiaoYang\\Desktop\\out.ply"); string s; long long num = 0; while ( getline(in, s) ) { num++; if( (num-13) >= 0 && (num-13) <= 6291 && ( (num-13)<5832 || (num-13)> 6173) ) // 21635 22548 { s = "0 0 0"; } out<<s<<"\n"; // Save to the output file } cout<<"Converting sucess!"<<endl; system("pause"); return 0; }(二)此时,用Meshlab打开文件,会显示两个眼睛,顶点数和面片数没有变化,将其转换为Maya能够读取的obj格式,并用MeshLab打开。转换时保留Normal选项,取消TexCoord选项。保留Normal是为了Maya读取时模型能够比较平滑,取消TexCoord是因为在Ogre渲染时,我们会重新赋材质,不需要纹理。此时,显示如下:
可以看到顶点数依然为6292,面片数为616。转换过程中MeshLab已经做了优化处理,把没有意义的面去掉了。
(三)用Maya打开该文件,并用插件将其导出为OGRE所需的mesh格式。导出时,只需要勾选Mesh标签下的Export mesh,Use shared geometry和Include vertex normals这三个选项,然后就可以渲染了。渲染时,注意给眼睛模型赋予动态环境映射的贴图,OGRE有相应的例子,我这里就不赘述了。渲染效果如下:
注意眼睛的变化,是不是生动多了,呵呵。。。
相关文章推荐
- 【Ogre引擎架构】 第四讲 模型文件渲染数据的存储机制
- 用OGRE装载和渲染WOW模型
- 用OGRE装载和渲染WOW模型
- Ogre中导入Max烘焙的模型(1)—— 渲染到纹理
- 【Ogre引擎架构】 第三讲 角色模型文件的渲染数据化
- OGRE3D 渲染系统线程化
- 【Maya插件开发】开发自定义模型导出器和渲染视口
- 解释一下你对盒模型的理解,以及如何在 CSS 中告诉浏览器使用不同的盒模型来渲染你的布局。
- 简要分析OGRE渲染队列的实现原理(二)
- 浏览器渲染模式与盒模型的计算方法(doctype,DTD)
- (转)Ogre终于开始改进其对地形渲染的支持
- Ogre渲染队列RenderQueue结构图
- Ogre中导入Max烘焙的模型(3)—— OgreMax导出Scene
- OGRE的主要渲染流程
- 3dsmax模型导出:ogreMax导出动画最多5个的问题
- OGRE 内部渲染流程
- 基于Unity3D的并行渲染模型的开发教程(五):Leap Motion
- 让Ogre使用外部渲染窗口
- WebGL树形结构的模型渲染流程
- 每天花30分钟看OGRE--(12)Ogre的模型.mesh里面包含了什么信息(也就是说结构是怎样的呢)?