- 13
- 0
- 约5.76千字
- 约 18页
- 2019-02-01 发布于安徽
- 举报
实用标准文案
精彩文档
合肥工业大学
计算机与信息学院
实验报告
课 程:虚拟现实与仿真技术
专业班级:计算机科学与技术13-1班
学 号:2013211625
姓 名: 樊娇
实验一
实验名称
从3Dmax8中导出mesh并添加mesh到场景
实验过程或实验程序(增加的代码及代码注解)
根据实验指导书步骤将导出的文件添加进文件夹再更改相应的文件内容;
添加代码如下:
ent1 = m_pSceneManager-createEntity(Sphere,Box01.mesh);//获取实体对象,第一个参数是实体的名字,第二个参数是要导入的mesh文件
node1 = m_pSceneManager-getRootSceneNode()-createChildSceneNode();//创建节点
node1-translate(Vector3(-50,-10,-10));//设置实体的位置
node1-attachObject(ent1);//将实体附在场景上
ent1-setMaterialName(01_-_Default);//设置实体材质
上述代码所做更改有:
导入的mesh文件名、实体位置、实体材质以及将cbj.material中ambient 0 0 0 1处改为ambient 1 1 1 1
实验结果(包括必要的截图)
添加结果:
实验体会
通过此次试验,不但初步了解了3dmax模型的创建过程,我还知道了对模型的导出,以及如何添加到ogre模型库中有了一定了解,并能通过看代码,自己添加实体模型到场景中,更改模型的位置等。另外,我对orge也有了一定的了解,知道了在VS里面配置库目录,能够把场景转到orge里面展示。为后续实验打下坚实的基础,有利于后续实验开展。这只是实验的开始,我希望随着后面的学习能够对其有进一步的掌握。
实验二
实验名称
键盘输入控制摄像机的移动
实验过程或实验程序(增加的代码及代码注解)
1添加按键消息响应
2在OnKeyDown()消息响应函数中,添加按键控制
Vector3 trans = Vector3::ZERO;
switch(nChar){
caseA://实现按下a键向左移动
trans.x -=10;
m_pCamera-moveRelative(trans);
break;
caseD://实现按下d键向右移动
trans.x +=10;
m_pCamera-moveRelative(trans);
break;
caseG:
trans.y -=10;
m_pCamera-moveRelative(trans);//向下移动
break;
caseT:
trans.y +=10;
m_pCamera-moveRelative(trans);//向上移动
caseW:
trans.z -=10;
m_pCamera-moveRelative(trans);//向前移动
break;
caseS:
trans.z +=10;
m_pCamera-moveRelative(trans);//向后移动
break;
}
实验结果(包括必要的截图)
按下A键:
按下D键:
按下G键:
按下T键:
按下W键:
按下S键:
实验体会
本次实验主要是通过修改实验代码改变摄像机的视角,使之可以左右、前后、上下移动。实验前要对代码结构有个整体的了解,其次需要对其坐标的情况掌握,掌握一定基础然后才能修改代码。此次实验对于该实验项目有了更深层次的了解对于后续实验起到了良好的铺垫作用,通过此次实验我对ogre以及其下的编程有了更进一步的把握,对于该项目下的代码结构也有了初步的了解将会为后面的实验打好基础。
实验三
实验名称
添加动画
二.实验过程或实验程序(增加的代码及代码注解)
void CMFCOgre1View::CreateAnimation(Ogre::String MyAnimation)
{
//判断动画是否存在,如果动画存在,删除已有的动画
if (m_pSceneManager-hasAnimation(MyAnimation))
{
m_pSceneManager-destroyAnimation(MyAnimation);
}
//使用sceneManager来创建一个animation,同时指定动画的名字和帧的
原创力文档

文档评论(0)