游戏设计3DGameEngine

上传人:w****i 文档编号:91877296 上传时间:2019-07-03 格式:PPT 页数:86 大小:2.68MB
返回 下载 相关 举报
游戏设计3DGameEngine_第1页
第1页 / 共86页
游戏设计3DGameEngine_第2页
第2页 / 共86页
游戏设计3DGameEngine_第3页
第3页 / 共86页
游戏设计3DGameEngine_第4页
第4页 / 共86页
游戏设计3DGameEngine_第5页
第5页 / 共86页
点击查看更多>>
资源描述

《游戏设计3DGameEngine》由会员分享,可在线阅读,更多相关《游戏设计3DGameEngine(86页珍藏版)》请在金锄头文库上搜索。

1、3D游戏引擎介绍,Engine,游戏引擎:用于控制所有游戏功能的主程序,从计算碰撞、物理系统和物体的相对位置,到接受玩家的输入,以及按照正确的音量输出声音等等,History of 3D Game Engine,引擎的诞生(1992年1993年) 1992年,3D Realms公司/Apogee公司 Wolfenstein 3D 德军司令部 1992年,Origin公司 Ultima Underworld 创世纪:地下世界 id Software公司 Doom 毁灭战士 (Doom引擎是第一个被用于授权的引擎) 引擎的转变(1994年1997年) 1994年为3D Realms公司 毁灭公爵(

2、Duke Nukem 3D) 1994年id Software公司的雷神之锤(Quake) (Quake引擎是当时第一款完全支持多边形模型、动画和粒子特效的真正意义上的3D引擎) 1995年,id Software公司推出雷神之锤2 (Quake2) Epic Megagames公司(即现在的Epic游戏公司)的虚幻(Unreal) (Unreal引擎的应用范围不限于游戏制作,还涵盖了教育、建筑等其它领域。Digital Design公司曾与联合国教科文组织的世界文化遗产分部合作采用Unreal引擎制作过巴黎圣母院的内部虚拟演示,Zen Tao公司采用Unreal引擎为空手道选手制作过武术训练

3、软件 ),History of 3D Game Engine,引擎的革命(1998年2000年) 1998年, Valve公司的半条命(Half-Life) 半条命采用的是 Quake 和 Quake II引擎的混合体 LookingGlass工作室神偷:暗黑计划(Thief:The Dark Project)在 人工智能方面真正取得突破的游戏是Looking Glass工作室的神偷:暗黑计划 2000年,3D引擎朝着两个不同的方向分化。一是如半条命、神 偷和杀出重围那样通过融入更多的叙事成分和角色扮演成分以 及加强游戏的人工智能来提高游戏的可玩性,二是朝着纯粹的网络模 式发展 id Soft

4、ware 雷神之锤3竞技场(Quake III Arena),它与 Epic公司稍后推出的虚幻竞技场(Unreal Tournament),History of 3D Game Engine, Monolith公司的LithTech引擎,这款引擎最初是用在机甲射击游戏升 刚(Shogo) 引擎的今天(2001年) 由于受到技术方面的限制,把第一人称射击游戏放入大型网络环境中 的构想至少在目前还很难实现。因此,id Software公司重新把目光放 在了单人模式上,雷神之锤4和毁灭战士3将重新建构一个以 单人游戏为主的引擎 ,同时Epic游戏公司也在紧锣密鼓地开发新一代 Unreal引擎和虚幻竞

5、技场2的引擎,3D Game Engine,The Render Character Skeletal Animation Natural Physics Simulation 我国的3D网络游戏的现状,The Render,The Renderer,How models and worlds are stored is a part of the function of the render, more than it is part of the application / game. The game logic doesnt need to know how objects are r

6、epresented in memory, or how the render is going to go about displaying them. The game simply needs to know that the renderer is going to represent objects using the correct view, and displaying the correct models in their correct frames of animation.,The Render,3D world 3D space partition BSP-tree(

7、Binary Space Partitioning) Hidden surface remove Portal PVS(Potentially Visible Set),3D world,3D objects are stored as points in the 3D world (called vertices) Lines of these points form many triangles These triangles create the while 3D world,Creating the 3D world,3D space partition,What a BSP-tree

8、 is? A Binary Space Partitioning-tree is a structure that, as the name suggests, subdivides the space into smaller sets. Why to use BSP-trees in the 3D engine? Optimize a wide variety of areas, such as radiosity calculations, drawing of the world,portal.,BSP-tree,BSP-tree,BSP-tree algorithm: The ori

9、ginal idea for the creation of a BSP-tree is that you take a set of polygons that is part of a scene and divide them into smaller sets, where each subset is a convex set of polygons.,BSP-tree,Convex(cell): each polygon in this subset is in front of every other polygon in the same set.,BSP-tree,A pro

10、blem: (unbalance) You can choose an arbitrary plane in space and divide the polygons by putting the one son the positive side of the plane in the right sub tree and the polygons on the negative side in the left sub tree. The problem with this approach is that it is very difficult to find a plane tha

11、t divides the polygons into two approximately equally sized sets. (approximately balance),BSP-tree,A unbalance tree,BSP-tree,The solution: splitting such a polygon into two polygons.,BSP-tree,A example: how a BSP-tree is generated,BSP-tree,Choose polygon 16 as the divider. |negative|= 15 and |positi

12、ve| = 13 approximate balance,BSP-tree,Choose polygon 4 as the divider. |negative|= 7 and |positive| = 8 approximate balance Choose polygon 21 as the divider. |negative|= 6 and |positive| = 8. approximate balance,BSP-tree,Hidden surface remove,Is it necessary that each hidden polygon is drawn ? Answe

13、r: unnecessary.,Hidden surface remove,Portal PVS(Potentially Visibility Set),Portal rending,The common technique: Portal rendering The basic idea: When you render a scene from a viewers position with a viewing frustum and encounter a portal polygon, the portal clips the viewing frustum. Then the adj

14、acent sector is rendered from the same viewers position but with the new viewing frustum.,Portal rending,Portal rending,How to know if an object is in the viewing frustum? If it is on the completely negative side of any one of those planes the object is not visible,Placing the portals,How to place t

15、he portals is one of the big problems in a portal engine. A solution need to use BSP-tree.,Placing the portal,The general idea: 1.each portal in the tree must be coinciding with a plane defined by a dividing polygon in the tree. Out of each of these planes a portal polygon is created. 2.each portal

16、polygon is pushed down the sub trees of the node it is in. 3.If a polygon is clipped, the two resulting parts are sent down from the top of the tree. When a portal polygon is not in need of any clipping, it is sent down to the sub trees of the node currently visiting. This means that if it is on the positive side of the plane it will be sent down the right sub tree, and if it is on the negative

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号