您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 人事档案/员工关系 > 3D游戏开发步步高系列课程(7):更新高级游戏元素
3D游戏开发步步高系列课程(7)更新高级游戏元素付仲恺微软特邀开发专家我们将涉及到…•学习3D游戏‘PucthePirate’的开发议题•添加更多的Cookie•添加HUD•加载新的Mesh•显示HUD和Hero的生命•更新碰撞检测功能•敌人重生与金币收集•放置逃生门•加载新的Mesh•决定何时安置逃生门基础知识•基本计算机知识•基本软件开发(C#)知识Level200Level2003D游戏引擎使用需求•Microsoft®.NETFramework2.0•Microsoft®VisualC#®ExpressEdition•Microsoft®DirectX®SoftwareDevelopmentKit(SDK)议题•添加更多的Cookie•添加HUD•加载新的Mesh•显示HUD和Hero的生命•更新碰撞检测功能•敌人重生与金币收集•放置逃生门•加载新的Mesh•决定何时安置逃生门为什么添加更多的Cookie?•我们的游戏是Hero在被海盗抓到之前收集到所有的Cookie,并且成功逃生•显然只有一个cookie,游戏过于简单了•我们同时希望添加不同类型的Cookie•现在我们只有一类cookie–金币•记住,我们还需要考虑“生命”,“加速”和“无敌”这几类Cookie添加更多类型的Cookie议题•添加更多的Cookie•添加HUD•加载新的Mesh•显示HUD和Hero的生命•更新碰撞检测功能•敌人重生与金币收集•放置逃生门•加载新的Mesh•决定何时安置逃生门什么是HUD?•HUD,也称作抬头显示器,在游戏中用于显示玩家当前状态的重要信息•当前的分数•剩余的时间量•弹药剩余数量•生命剩余数量–HUD完全是3D的,并且始终正面朝向玩家•以世界坐标系原点为参考点,摄像机移动,HUD跟随摄像机移动•或者,以摄像机为参考点,其他物体移动,但HUD不动–总是提供最早的视图角度我们如何避免HUD转动?•在任何旋转,平移和缩放被应用之前,保存一份摄像机的原始矩阵数据•当渲染HUD对象时,我们将这些矩阵重置为原始保存值,这好像让摄像机返回其初始位置,使得HUD元素从来都没有移动对HUD特殊对待•下面的代码会在游戏循环之前被调用publicstaticvoidResetOriginalMatrices(){OriginalView=Game.camera.ViewMatrix;OriginalProjection=Game.camera.ProjectionMatrix;}•然后,当我们准备好渲染HUD时,我们重置这些保存的矩阵以用于管线处理添加HUD议题•添加更多的Cookie•添加HUD•加载新的Mesh•显示HUD和Hero的生命•更新碰撞检测功能•敌人重生与金币收集•放置逃生门•加载新的Mesh•决定何时安置逃生门让我们的Demo更像个游戏•我们虽然已经完成了敌人的碰撞检测,但是与特殊cookie的碰撞代码还没有添加•修改碰撞检测代码来识别玩家是否由于获得GodModeCookie而处于无敌的状态•目前,当敌人死掉时,他们不会重生•我们需要添加一些敌人的重生结点用于敌人再次出现更新敌人和英雄的碰撞检测代码添加与Cookie的碰撞议题•添加更多的Cookie•添加HUD•加载新的Mesh•显示HUD和Hero的生命•更新碰撞检测功能•敌人重生与金币收集•放置逃生门•加载新的Mesh•决定何时安置逃生门如何处理逃生门?•逃生门用于玩家摆脱“海盗”•当层级中所有的cookie都被收集后,逃生门会出现•当玩家成功操作Puc穿过逃生门以后,该层级执行完毕•逃生门也可以理解为是Cookie的一种添加逃生门课程总结•添加更多的Cookie•添加HUD•加载新的Mesh•显示HUD和Hero的生命•更新碰撞检测功能•敌人重生与金币收集•放置逃生门•加载新的Mesh•决定何时安置逃生门获取更多MSDN资源•MSDN中文网站•MSDN中文网络广播•MSDNFlash•MSDN开发中心如需提出问题,请单击“提问”按钮并在随后显示的浮动面板中输入问题内容。一旦完成问题输入后,请单击“提问”按钮。
本文标题:3D游戏开发步步高系列课程(7):更新高级游戏元素
链接地址:https://www.777doc.com/doc-4395505 .html