多媒体开发技术实验报告Word下载.docx
- 文档编号:22922220
- 上传时间:2023-02-06
- 格式:DOCX
- 页数:7
- 大小:17.07KB
多媒体开发技术实验报告Word下载.docx
《多媒体开发技术实验报告Word下载.docx》由会员分享,可在线阅读,更多相关《多媒体开发技术实验报告Word下载.docx(7页珍藏版)》请在冰豆网上搜索。
开发周期:
2个月
开发目的:
借助所学Ogre知识,独立做出武侠风格的ogre场景渲染,巩固所学,学有所用。
☆监听器设计(XXX)
Ogre:
:
Vector3SinbadTranslate(0,0,0);
float_rotation=0.0f;
boolwalked=false;
if(_Keyboard->
isKeyDown(OIS:
KC_UP))
{
SinbadTranslate+=Ogre:
Vector3(0,0,-1);
_rotation=3.14f;
walked=true;
}
KC_DOWN))
Vector3(0,0,1);
_rotation=0.0f;
KC_LEFT))
Vector3(-1,0,0);
_rotation=-1.57f;
KC_RIGHT))
Vector3(1,0,0);
_rotation=1.57f;
★部分代码
objects=mSceneMgr->
createEntity("
liu1"
"
柳1.mesh"
);
node26->
attachObject(objects);
objects=mSceneMgr->
liu2"
真武像.mesh"
objects->
setMaterialName("
真武像"
node27->
setScale(0.2,0.2,0.2);
yaw(Degree(90));
liu3"
观音像.mesh"
观音像"
node28->
yaw(Degree(180));
attachObject(partSystem3);
liu4"
达摩像.mesh"
达摩像"
node29->
liu5"
独轮车.mesh"
独轮车"
node30->
setScale(0.6,0.6,0.6);
liu6"
稻草人.mesh"
物品稻草人"
node31->
setScale(0.5,0.5,0.5);
jusonggan"
将军柏.mesh"
//attachparticletosibad
//_SinbadNode->
attachObject(partSystem5);
node1->
attachObject(partSystem1);
node2->
setScale(Vector3(0.2,0.2,0.2));
zp"
帐篷.mesh"
node3->
setScale(0.2,0.4,0.2);
☆场景模型设计(XXX)
createScene(void)
{
mSceneMgr->
setSkyBox(true,"
Examples/TrippySkyBox"
10);
createBody();
Ogre:
Planeplane(Ogre:
Vector3:
UNIT_Y,-5);
MeshManager:
getSingleton().createPlane("
plane"
Ogre:
ResourceGroupManager:
DEFAULT_RESOURCE_GROUP_NAME,plane,
1500,1500,200,200,true,1,5,5,Ogre:
UNIT_Z);
Entity*ground=mSceneMgr->
LightPlaneEntity"
"
getRootSceneNode()->
createChildSceneNode()->
attachObject(ground);
ground->
Examples/OgreLogo"
createGrassMesh();
Entity*grass=mSceneMgr->
Grass"
grass"
//createastaticgeometryfield,whichwewillpopulatewithgrass
mField=mSceneMgr->
createStaticGeometry("
Field"
mField->
setRegionDimensions(Vector3(100,100,100));
setOrigin(Vector3(70,35,70));
//addgrassuniformlythroughoutthefield,withsomerandomvariations
for(intx=-140;
x<
140;
x+=20)
{
for(intz=-140;
z<
z+=20)
Vector3pos(x+Math:
RangeRandom(-7,7),-10,z+Math:
RangeRandom(-7,7));
Quaternionori(Degree(Math:
RangeRandom(0,359)),Vector3:
UNIT_Y);
Vector3scale(1,Math:
RangeRandom(0.85,1.15),1);
mField->
addEntity(grass,pos,ori,scale);
}
build();
//buildourstaticgeometry(bakethegrassintoit)
Light*light=mSceneMgr->
createLight("
Light1"
light->
setType(Ogre:
Light:
LT_DIRECTIONAL);
setDirection(Ogre:
Vector3(1,-1,0));
setShadowTechnique(Ogre:
SHADOWTYPE_STENCIL_ADDITIVE);
createStaticObject();
}
☆场景布置:
(XXX)
PartThree:
游戏场景效果截图
✧游戏远景
上图是整个游戏场景的远视图。
从图中可看到背对着屏幕的鉴真巨相,翠绿的柳树,影影焯焯的神庙以及民房,还有模糊的观音像,武馆,麦田,参天伟地的将军柏·
·
✧神庙前景图
✧神庙背景图
✧武馆背景图
上两幅图是神庙的背景图以及前景图:
展现的有苗疆风格的神庙已经旁边依附的民居。
建筑物旁边栽种了树棵正盛开着粉色花朵的桃树,神庙正前方是观音的神像。
神像的五彩光芒映衬着桃花的落英缤纷,正是一派出世的仙侠情境。
下面的两幅图展现的是一个充满沧桑的武馆的正侧图,正面有真武天神的法相·
✧鉴真巨相侧景
✧武馆前景图
✧鉴真巨相前景
以上两幅图是鉴真大师的巨相,以此表达对大师传播中国文化以及武术等知识到日本的敬意
✧凉棚前景
✧凉棚侧景
这两幅图是对凉棚周围景象的截图,凉棚内有茶桌,茶具,板凳,灯笼。
旁边有篱笆,芭蕉,水缸。
还有正晒着咸鱼的竹架,以及晾晒渔网的杠子。
主角Ogre正站在凉棚下方。
这幅图是农田的一个侧景,田中间有一颗松树,名曰迎客松,还有一只稻草人作为守望者。
田里种植了长势喜人的小麦。
还有一辆独轮车停放在田边·
✧农田
这是将军柏的背景图,三颗参天柏树并排而立,气势磅礴·
✧将军柏
PartFour:
游戏设计总结
游戏实现功能:
v场景场景漫游
v人物动作(前后左右,把刀,释放魔法阵)
v粒子系统(雪花飘落,桃花飘洒,观音神像光芒)
游戏的优缺点:
v优点:
场景优美,粒子效果绚丽
v缺点:
没有实现碰撞检测,人物可直接穿透建筑物,没有添加声音
游戏的总结:
通过使用Ogre制作这个简单的游戏,我们掌握了Ogre游戏开发框架的一些基本的用法。
包括简单的监听器,控制人物走动,把刀,释放技能,相机的漫游,还有粒子系统的建立于调整。
还有对Ogre坐标系统的理解也更为深入。
在这个过程中遇到了各种各样的问题,纠结、烦躁、抓狂、查找资料、释然、开心,在解决问题的过程中体会了程序员的不易与艰辛,学会了许多C++设计思想以及美工设计的知识。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 多媒体 开发 技术 实验 报告
![提示](https://static.bdocx.com/images/bang_tan.gif)