电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

虚拟现实与仿真技术-实验报告VIP专享VIP免费

虚拟现实与仿真技术-实验报告_第1页
虚拟现实与仿真技术-实验报告_第2页
虚拟现实与仿真技术-实验报告_第3页
实验一一.实验名称Ogre部分仿真实验二.实验过程或实验程序(增加的代码及代码注解)1.从3Dmax8中导出mesh并添加mesh到场景1.1启动3Dmax1.在安装有3Dmax8的计算机上,可以使用两种不同的方法来启动3Dmax8:(1)在桌面上双击“3Dmax8”图标(2)点击“开始”菜单,在“程序”中的选择“3Dmax8”2.观察3Dmax8主窗口的布局。3Dmax8主要由若干元素组成:菜单栏、工具栏、以及停靠在右边的命令面板和底部的各种工具窗口。1.2使用3Dmax8建模并导出mesh1.2.1导出mesh的步骤如下:1.启动3Dmax82.在停靠在右边的命令面板中,点击几何体按钮3.选择标准几何体4.在对象类型中选择对象(如:长方体),在“前”视口中,通过单击鼠标左键,创建出模型5.在工具栏中单击“材质编辑器”按钮,通过上步操作,可开启“材质编辑器”对话框6.在“材质编辑器”对话框中,点击漫反射旁方形按钮,进入到“材质/贴图浏览器”7.在“材质/贴图浏览器”中选择位图,鼠标左键双击位图8.弹出选择位图图像文件对话框,从本地电脑中选择一张图片9.选择好图片,在材质编辑器对话框中,点击将材质指令给选定对象10.点击菜单栏上的oFusion按钮,在弹出的菜单栏中选择ExportScene11.选择文件夹并输入文件名qiu,点击保存,在弹出的对话框中勾选CopyTextures,点击Export按钮,此时mesh文件已成功导出1.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)中。1.4mesh文件导入到场景中1.4.1mesh文件导入到场景中步骤:1.启动vs20082.在“文件”菜单中选择“打开”,然后单击“项目/解决方案”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行)1.5生成项目使用“生成项目”功能可以将程序的源代码文件编译为可执行的二进制文件,方法十分简单:在“生成”菜单中选择“生成解决方案”。在项目生成过程中,“输出”窗口会实时显示生成的进度和结果。如果源代码中不包含语法错误,会在最后提示生成成功,如下图所示:1.6执行项目在MFCOgre1中选择“调试”菜单中的“开始执行(不调试)”,可以执行刚刚生成的程序,运行出实验要求的结果。2.键盘输入控制摄像机的移动2.1添加按键消息响应1.在菜单栏中选择视图2.点击视图,在弹出的菜单窗口中,选择类视图3.在类视图中,选择类MFCOgre1View4.再次选择菜单栏中的视图,在菜单的菜单窗口中,选择其他窗口5.在其他窗口中,选择属性窗口6.在属性窗口中,点击消息按钮7.找到WM_KEYDOWN,添加OnKeyDown()消息响应函数2.2在OnKeyDown()消息响应函数中,添加按键控制1.找到MFCOgre1View.cpp的onKeyDown()(MFCOgre1View.cpp的第296行)2.创建一个3维变量Vector3trans=Vector3::ZERO;2.使用switch语句,判断用户按下的按键3.如果用户按下的是A键,将变量trans的x坐标减10,然后将摄像机移动到当前的trans坐标处(注:按键消息获取的都是大写字母),则摄像机向左移动,代码如下:case'A':trans.x-=10;m_pCamera->moveRelative(trans);break;4.如果用户按下的是D键,将变量trans的x坐标加10,然后将摄像机移动到当前的trans坐标处(...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

状元书阁+ 关注
实名认证
内容提供者

爱好英语教学和互联网行业,热爱教育事业,兢兢业业

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部