内容发布更新时间 : 2025/1/23 7:22:46星期一 下面是文章的全部内容请认真阅读。
合肥工业大学 计算机与信息学院
实验报告
课 程:虚拟现实与仿真技术
专业班级:计算机科学与技术11-2班
学 号:20112497
姓 名: 谢云飞
实验一
一. 实验名称
从3Dmax8中导出mesh并添加mesh到场景。
二. 实验过程或实验程序(增加的代码及代码注解) 2.1启动3Dmax
1.在安装有3Dmax8的计算机上,可以使用两种不同的方法来启动3Dmax8: (1)在桌面上双击“3Dmax8”图标
(2)点击“开始”菜单,在“程序”中的选择“3Dmax8”
2.观察3Dmax8主窗口的布局。3Dmax8主要由若干元素组成:菜单栏、工具栏、以及停靠在右边的命令面板和底部的各种工具窗口
2.2 使用3Dmax8建模并导出mesh
2.2.1导出mesh的步骤如下:
1.启动3Dmax8
2.在停靠在右边的命令面板中,点击几何体按钮 3.选择标准几何体
4.在对象类型中选择对象(如:长方体),在“前”视口中,通过单击鼠标左键,创建出模型
5.在工具栏中单击“材质编辑器”按钮,通过上步操作,可开启“材质编辑器”对话框 6.在“材质编辑器”对话框中,点击漫反射旁方形按钮,进入到“材质/贴图浏览器” 7.在“材质/贴图浏览器”中选择位图,鼠标左键双击位图 8.弹出选择位图图像文件对话框,从本地电脑中选择一张图片
9.选择好图片,在材质编辑器对话框中,点击将材质指令给选定对象 10.点击菜单栏上的oFusion按钮,在弹出的菜单栏中选择Export Scene
11.选择文件夹并输入文件名qiu,点击保存,在弹出的对话框中勾选Copy Textures,点击Export按钮,此时mesh文件已成功导出
2.3导出的mesh文件放入到指定位置
1.找到mesh文件,把mesh文件放到当前电脑的OgreSDK的models中,以我的电脑为例,OgerSDK放在C盘中 2.打开C盘,找到OgreSDK,打开OgreSDK,找到media,打开media文件夹,找到models,打开models文件夹,将mesh文件复制到此文件夹中
3.将导出mesh文件附带的材质文件qiu.material放到OgreSDK的scripts(C:\\OgreSDK\\media\\materials\\scripts)中
4.将导出mesn文件时同时导出的图片放到OgreSDK的textures(C:\\OgreSDK\\media\\materials\\textures)中
2.4 mesh文件导入到场景中
2.4.1 mesh文件导入到场景中步骤:
1.启动vs2008
2.在“文件”菜单中选择“打开”,然后单击“项目/解决方案” 3.找到项目MFCOgre1,选择MFCOgre1.sln,点击打开按钮
4.打开MFCOgre1View.h,创建节点变量,SceneNode *node1(MFCOgre1View.h 中的第55行),创建实体变量 Entity* ent1(MFCOgre1View.h 中的第57行);
5.打开MFCOgre1View.cpp,在MFCOgre1View.cpp的构造函数中对创建的节点和实体对象初始化node1(NULL)、 ent1(NULL)(在MFCOgre1View.cpp 的第37行和第39行) 6.获取根节点的子节点,并将其赋值给节点node1( MFCOgre1View.cpp 的第225行) 7.给创建的实体对象ent1赋值( MFCOgre1View.cpp 的第224行) 8.设置节点的位置( MFCOgre1View.cpp 的第226行) 9.将实体附在节点上( MFCOgre1View.cpp 的第227行) void CMFCOgre1View::CreateEntity(void) {
ent1 = m_pSceneManager->createEntity(\获取实体对象,第一个参数是实体的名字,第二个参数是要导入的mesh文件
node1 = m_pSceneManager->getRootSceneNode()->createChildSceneNode();//创建结点
node1->translate(Vector3(-20,0,30));//设置实体的位置 node1->attachObject(ent1);//将实体附在节点上
ent1->setMaterialName(\设置实体的材质
2.5生成项目
使用“生成项目”功能可以将程序的源代码文件编译为可执行的二进制文件,方法十分简单:在“生成”菜单中选择“生成解决方案”。
在项目生成过程中,“输出”窗口会实时显示生成的进度和结果。如果源代码中不包含语法错误,会在最后提示生成成功,如下图所示:
如果源代码中存在语法错误,“输出”窗口会输出相应的错误信息(包括错误所在文件的路径,错误在文件中的位置,以及错误原因),并在最后提示生成失败。此时在“输出”窗口中双击错误信息所在的行,OS Lab会使用源代码编辑器打开错误所在的文件,并自动定位到错误对应的代码行。可以在源代码文件中故意输入一些错误的代码(例如删除一个代码行结尾的分号),然后再次生成项目,然后在“输出”窗口中双击错误信息来定位存在错误的代码行,