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

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

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

游戏开发 技术掠影 刘汝佳 2009.12 目录(白话) 先闲聊 再布置作业 然后讲一些作业里要用到的东西 再然后讲一些作业里用不到,但比较有意思的东西 接下来再讲一些作业里要用到的东西 再接下来重申作业 最后闲聊到下课 目录(学术) 基于区块的游戏(必修) 3D图形引擎(选修) 游戏中的物理(选修) 嵌入式脚本(必修) show一个游戏 Effect引擎 /effect/ 精灵:主角、敌人、其他活动物体。带透明、可移动、需要碰撞检测 区块:用来“拼图”的基本单元,一般是矩形或者六边形 层 举例:背景、区块、精灵、HUD z序 时差卷轴 硬件支持 补充知识:透明 GIF:调色板中的透明色 PNG:alpha通道 精灵 可以有多个animation(比如走、跑、跳、射击、死亡) 每个animation包含多个帧(frame) 只绘制基本图像,借助图像变换满足更复杂的需求 精灵的控制逻辑 时钟信号、定时器事件 固定间隔:精灵的“射击”动作正处于哪一帧? 连续时间:子弹移动了多少距离? FPS = Frame Per Second 控制逻辑是定时器事件触发的,因此执行时间一定要短。耗时操作可以开辟线程或者分而治之 思考:屏外精灵如何处理? 区块 游戏中的每个关卡维护一个区块集合(Tileset),其中所有区块的大小必须完全一致。 区块也可以有控制逻辑(地面、墙、特殊物品),但更常见的处理方式是创建一个不可见的区块层,用碰撞检测的方式把可见区块和控制逻辑联系起来。 练习:指出精灵、区块和层 碰撞检测 基本几何元素:点、线、矩形 复杂图像:用多个矩形近似 更复杂的图像:Pixel-perfect算法 对象:主角+敌人、主角+前景区块… 应根据对象的当前位置和预定偏移量来检测,而不能只根据新位置检测。想一想,为什么(提示:逻辑是定时器驱动的) 如果物体是solid的,处理碰撞之前要做位置修正,确保它永远不与其他物体重叠 有限状态自动机 (FSM) (现在开始跑题…) 3D图形引擎——背景知识 网格模型 贴图及贴图坐标 材质 灯光 摄像机 骨骼动画 粒子系统 网格模型有多大的数据量? 演示OGRE 法线贴图 粒子系统 脸部动画 骨骼动画 Mesh查看器 ... (继续跑题…) 游戏中的物理 物理的作用 Assembler2 Gravity RollerCoaster Creator Totem Box2D核心概念:刚体、形状、约束、关节 闲话:积分器的准确性和稳定性 (回到正题?) 脚本编程 游戏引擎和“其他” 游戏引擎:图形图像、声音、输入设备、物理、网络… DirectX和XNA “其他”包括哪些? 多媒体数据:文本、图像、声音、视频… 自定义数据:关卡、角色属性… 逻辑:游戏流程、规则、地方AI… 可扩展性的几种解决方案 自定义格式的配置文件 自定义格式的脚本语言 现成的脚本语言 题外话:MOD游戏 MUGEN及其配置文件 超级玛丽的MOD们 嵌入式脚本语言 Python? Ruby? Beanshell? … 我喜欢 lua (/) lua的主要特点 轻量级,clean C写成 (ANSI C和C++的交集) 专门为嵌入式脚本设计,没有“主程序”一说 动态类型:variables do not have types; only values do 仅八种数据类型:nil, boolean, number, string, function, userdata, thread, table 通过虚拟栈与C交互,非常方便 作业里需要用脚本吗? 弹幕数学 敌人AI 场景转换、基本游戏系统 HGE = HAAF’s Game Engine 专注于2D游戏引擎,功能不多不少刚刚好。使用DirectX,速度快 使用简单,文档不错 演示时间 最后总结一下 必修 基于区块的游戏设计 有限状态机 Lua及其与C的交互 HGE引擎(自学) 欢迎与我讨论3D图形/物理引擎和更多话题 技术:网络、声音、传感器、各类游戏机… 非技术:分类、创意、运营… 谢谢!欢迎提问 ? rujia.liu@ * * Falling Running Attacking Standing Dying 请把状态转移补充完整 如何让移动更有真实感?比如加速度、惯性、摩擦力 如何把下落与跳跃统一起来? 为什么不把“被攻击”设为一种状态? 怎样区分开站立攻击和空中攻击? 失足 按“跳跃”键 无按键且速度足够小 随便看看:DirectX 11 渲染管道 Direct3D 10 pipeline Plus Three new stages for Tessellation Plus Compute Shader Input Assembler Vertex Shader Pixel

文档评论(0)

138****7331 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档