游戏开发技术掠影刘汝佳算法与数据结构课程网站课件.pptVIP

游戏开发技术掠影刘汝佳算法与数据结构课程网站课件.ppt

  1. 1、本文档共34页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

游戏开发技术掠影

目录(白话)v先闲聊v再布置作业v然后讲一些作业里要用到的东西v再然后讲一些作业里用不到,但比较有意思的东西v接下来再讲一些作业里要用到的东西v再接下来重申作业v最后闲聊到下课

目录(学术)v基于区块的游戏(必修)v3D图形引擎(选修)v游戏中的物理(选修)v嵌入式脚本(必修)

show一个游戏

Effect引擎http:///effect/

v精灵:主角、敌人、其他活动物体。带透明、可移动、需要碰撞检测v区块:用来“拼图”的基本单元,一般是矩形或者六边形

层v举例:背景、区块、精灵、HUDvz序v时差卷轴v硬件支持v补充知识:透明?GIF:调色板中的透明色?PNG:alpha通道

精灵v可以有多个animation(比如走、跑、跳、射击、死亡)v每个animation包含多个帧(frame)v只绘制基本图像,借助图像变换满足更复杂的需求

精灵的控制逻辑v时钟信号、定时器事件?固定间隔:精灵的“射击”动作正处于哪一帧??连续时间:子弹移动了多少距离??FPS=FramePerSecondv控制逻辑是定时器事件触发的,因此执行时间一定要短。耗时操作可以开辟线程或者分而治之v思考:屏外精灵如何处理?

区块v游戏中的每个关卡维护一个区块集合(Tileset),其中所有区块的大小必须完全一致。v区块也可以有控制逻辑(地面、墙、特殊物品),但更常见的处理方式是创建一个不可见的区块层,用碰撞检测的方式把可见区块和控制逻辑联系起来。

练习:指出精灵、区块和层

碰撞检测v基本几何元素:点、线、矩形?复杂图像:用多个矩形近似?更复杂的图像:Pixel-perfect算法v对象:主角+敌人、主角+前景区块…v应根据对象的当前位置和预定偏移量来检测,而不能只根据新位置检测。想一想,为什么(提示:逻辑是定时器驱动的)v如果物体是solid的,处理碰撞之前要做位置修正,确保它永远不与其他物体重叠

有限状态自动机(FSM)请把状态转移补充完整如何让移动更有真实感?比如加速度、惯性、摩擦力如何把下落与跳跃统一起来?为什么不把“被攻击”设为一种状态?怎样区分开站立攻击和空中攻击?Falling失足按“跳跃”键RunningStanding无按键且速度足够小AttackingDying

(现在开始跑题…)

3D图形引擎——背景知识v网格模型v贴图及贴图坐标v材质v灯光v摄像机v骨骼动画v粒子系统

网格模型有多大的数据量?

随便看看:DirectX11渲染管道InputAssemblerDirect3D10pipelineVertexShaderPlusHullShaderThreenewstagesforTessellatorTessellationDomainShaderPlusComputeShaderGeometryShaderRasterizerComputeShaderPixelShaderOutputMergerDataStructure

演示OGREv法线贴图v粒子系统v脸部动画v骨骼动画vMesh查看器v...

(继续跑题…)

游戏中的物理v物理的作用?Assembler2?Gravity?RollerCoasterCreator?TotemvBox2D核心概念:刚体、形状、约束、关节v闲话:积分器的准确性和稳定性

(回到正题?)

脚本编程

游戏引擎和“其他”v游戏引擎:图形图像、声音、输入设备、物理、网络…?DirectX和XNAv“其他”包括哪些??多媒体数据:文本、图像、声音、视频…?自定义数据:关卡、角色属性…?逻辑:游戏流程、规则、地方AI…

可扩展性的几种解决方案v自定义格式的配置文件v自定义格式的脚本语言v现成的脚本语言v题外话:MOD游戏?MUGEN及其配置文件?超级玛丽的MOD们

嵌入式脚本语言vPython?vRuby?vBeanshell?v…v我喜欢lua(http:///)

lua的主要特点v轻量级,cleanC写成(ANSIC和C++的交集)v专门为嵌入式脚本设计,没有“主程序”一说v动态类型:variablesdonothavetypes;onlyvaluesdov仅八种数据类型:nil,boolean,number,string,function,userdata,thread,tablev通过虚拟栈与C交互,非常方便

作业里需要用脚本吗?v弹幕数学v敌人AIv场景转换、基本游戏系统

HGE=HAAF’sGameEnginev专注于2D游戏引擎,功能不多不少刚刚好。使用D

文档评论(0)

181****9050 + 关注
官方认证
文档贡献者

该用户很懒,什么也没介绍

认证主体成都流风亮科技文化有限公司
IP属地四川
统一社会信用代码/组织机构代码
91510104MAD5X4DGXA

1亿VIP精品文档

相关文档