多媒体开发技术实验报告.docx
- 文档编号:9719626
- 上传时间:2023-02-06
- 格式:DOCX
- 页数:7
- 大小:17.07KB
多媒体开发技术实验报告.docx
《多媒体开发技术实验报告.docx》由会员分享,可在线阅读,更多相关《多媒体开发技术实验报告.docx(7页珍藏版)》请在冰豆网上搜索。
多媒体开发技术实验报告
多媒体开发技术
实验报告
项目名称:
一个人的武侠世界
指导老师:
葛强
成员:
XXX
XXX
XXX
XXX
日期:
2014年6月16日
PartOne:
游戏设计贡献分配
Ø监听器设计,游戏控制设计,整理:
XXX
Ø场景模型设计:
XXX
Ø场景布置:
XXX
PartTwo:
游戏制作背景
Ø开发工具:
VS2012,Photoshop,ParticleAccelerator
Ø开发周期:
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;
}
if(_Keyboard->isKeyDown(OIS:
:
KC_DOWN))
{
SinbadTranslate+=Ogre:
:
Vector3(0,0,1);
_rotation=0.0f;
walked=true;
}
if(_Keyboard->isKeyDown(OIS:
:
KC_LEFT))
{
SinbadTranslate+=Ogre:
:
Vector3(-1,0,0);
_rotation=-1.57f;
walked=true;
}
if(_Keyboard->isKeyDown(OIS:
:
KC_RIGHT))
{
SinbadTranslate+=Ogre:
:
Vector3(1,0,0);
_rotation=1.57f;
walked=true;
}
★部分代码
objects=mSceneMgr->createEntity("liu1","柳1.mesh");
node26->attachObject(objects);
objects=mSceneMgr->createEntity("liu2","真武像.mesh");
objects->setMaterialName("真武像");
node27->setScale(0.2,0.2,0.2);
node27->yaw(Degree(90));
node27->attachObject(objects);
objects=mSceneMgr->createEntity("liu3","观音像.mesh");
objects->setMaterialName("观音像");
node28->yaw(Degree(180));
node28->attachObject(partSystem3);
node28->setScale(0.2,0.2,0.2);
node28->attachObject(objects);
objects=mSceneMgr->createEntity("liu4","达摩像.mesh");
objects->setMaterialName("达摩像");
node29->yaw(Degree(180));
node29->attachObject(objects);
objects=mSceneMgr->createEntity("liu5","独轮车.mesh");
objects->setMaterialName("独轮车");
node30->setScale(0.6,0.6,0.6);
node30->attachObject(objects);
objects=mSceneMgr->createEntity("liu6","稻草人.mesh");
objects->setMaterialName("物品稻草人");
node31->setScale(0.5,0.5,0.5);
node31->attachObject(objects);
objects=mSceneMgr->createEntity("jusonggan","将军柏.mesh");
//attachparticletosibad
//_SinbadNode->attachObject(partSystem5);
node1->attachObject(partSystem1);
node2->setScale(Vector3(0.2,0.2,0.2));
node2->attachObject(objects);
objects=mSceneMgr->createEntity("zp","帐篷.mesh");
node3->attachObject(objects);
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);
Ogre:
:
MeshManager:
:
getSingleton().createPlane("plane",
Ogre:
:
ResourceGroupManager:
:
DEFAULT_RESOURCE_GROUP_NAME,plane,
1500,1500,200,200,true,1,5,5,Ogre:
:
Vector3:
:
UNIT_Z);
Ogre:
:
Entity*ground=mSceneMgr->createEntity("LightPlaneEntity","plane");
mSceneMgr->getRootSceneNode()->createChildSceneNode()->attachObject(ground);
ground->setMaterialName("Examples/OgreLogo");
createGrassMesh();
Entity*grass=mSceneMgr->createEntity("Grass","grass");
//createastaticgeometryfield,whichwewillpopulatewithgrass
mField=mSceneMgr->createStaticGeometry("Field");
mField->setRegionDimensions(Vector3(100,100,100));
mField->setOrigin(Vector3(70,35,70));
//addgrassuniformlythroughoutthefield,withsomerandomvariations
for(intx=-140;x<140;x+=20)
{
for(intz=-140;z<140;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);
}
}
mField->build();//buildourstaticgeometry(bakethegrassintoit)
Ogre:
:
Light*light=mSceneMgr->createLight("Light1");
light->setType(Ogre:
:
Light:
:
LT_DIRECTIONAL);
light->setDirection(Ogre:
:
Vector3(1,-1,0));
mSceneMgr->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文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 多媒体 开发 技术 实验 报告