重力游戏引擎

【游戏引擎 究竟是什么东西?】 转贴:我们常常会碰见“引擎”(Engine)这个单词,引擎在游戏中究竟起着什么样的作用?它的进化对于游戏的发展产生了哪些影响?什么是引擎:我们可以把游戏的引擎比作赛车的引擎,大家知道,引擎是赛车的心脏,决定着赛车的性能和稳定性,赛车的速度、操纵感这些直接与车手相关的指标...【使用Godot引擎的3D功能制作的推箱子游戏】 bloxorz是一款简约的休闲益智游戏,玩家的任务是操控一个木块,通过前后左右移动,使其翻转并到达指定位置,木块到达终点时应为直立状态。本教程将指导您使用Godot引擎制作此类游戏。游戏设计包含角色方块、地板和终点位置三个基本元素。角色方块可以是Godot内置的立方体模...

游戏引擎 究竟是什么东西?

转贴:

我们常常会碰见“引擎”(Engine)这个单词,引擎在游戏中究竟起着什么样的作用?它的进化对于游戏的发展产生了哪些影响?

什么是引擎:

我们可以把游戏的引擎比作赛车的引擎,大家知道,引擎是赛车的心脏,决定着赛车的性能和稳定性,赛车的速度、操纵感这些直接与车手相关的指标都是建立在引擎的基础上的。游戏也是如此,玩家所体验到的剧情、关卡、美工、音乐、操作等内容都是由游戏的引擎直接控制的,它扮演着中场发动机的角色,把游戏中的所有元素捆绑在一起,在后台指挥它们同时、有序地工作。简单地说,引擎就是“用于控制所有游戏功能的主程序,从计算碰撞、物理系统和物体的相对位置,到接受玩家的输入,以及按照正确的音量输出声音等等。”

可见,引擎并不是什么玄乎的东西,无论是2D游戏还是3D游戏,无论是角色扮演游戏、即时策略游戏、冒险解谜游戏或是动作射击游戏,哪怕是一个只有1兆的小游戏,都有这样一段起控制作用的代码。经过不断的进化,如今的游戏引擎已经发展为一套由多个子系统共同构成的复杂系统,从建模、动画到光影、粒子特效,从物理系统、碰撞检测到文件管理、网络特性,还有专业的编辑工具和插件,几乎涵盖了开发过程中的所有重要环节,以下就对引擎的一些关键部件作一个简单的介绍。

首先是光影效果,即场景中的光源对处于其中的人和物的影响方式。游戏的光影效果完全是由引擎控制的,折射、反射等基本的光学原理以及动态光源、彩色光源等高级效果都是通过引擎的不同编程技术实现的。

其次是动画,目前游戏所采用的动画系统可以分为两种:一是骨骼动画系统,一是模型动画系统,前者用内置的骨骼带动物体产生运动,比较常见,后者则是在模型的基础上直接进行变形。引擎把这两种动画系统预先植入游戏,方便动画师为角色设计丰富的动作造型。

引擎的另一重要功能是提供物理系统,这可以使物体的运动遵循固定的规律,例如,当角色跳起的时候,系统内定的重力值将决定他能跳多高,以及他下落的速度有多快,子弹的飞行轨迹、车辆的颠簸方式也都是由物理系统决定的。

碰撞探测是物理系统的核心部分,它可以探测游戏中各物体的物理边缘。当两个3D物体撞在一起的时候,这种技术可以防止它们相互穿过,这就确保了当你撞在墙上的时候,不会穿墙而过,也不会把墙撞倒,因为碰撞探测会根据你和墙之间的特性确定两者的位置和相互的作用关系。

渲染是引擎最重要的功能之一,当3D模型制作完毕之后,美工会按照不同的面把材质贴图赋予模型,这相当于为骨骼蒙上皮肤,最后再通过渲染引擎把模型、动画、光影、特效等所有效果实时计算出来并展示在屏幕上。渲染引擎在引擎的所有部件当中是最复杂的,它的强大与否直接决定着最终的输出质量。

引擎还有一个重要的职责就是负责玩家与电脑之间的沟通,处理来自键盘、鼠标、摇杆和其它外设的信号。如果游戏支持联网特性的话,网络代码也会被集成在引擎中,用于管理客户端与服务器之间的通信。

通过上面这些枯燥的介绍我们至少可以了解到一点:引擎相当于游戏的框架,框架打好后,关卡设计师、建模师、动画师只要往里填充内容就可以了。因此,在3D游戏的开发过程中,引擎的制作往往会占用非常多的时间,《马科斯·佩恩》的MAX-FX引擎从最初的雏形Final Reality到最终的成品共花了四年多时间,LithTech引擎的开发共花了整整五年时间,耗资700万美元,Monolith公司(LithTech引擎的开发者)的老板詹森·霍尔甚至不无懊悔地说:“如果当初意识到制作自己的引擎要付出这么大的代价的话,我们根本就不可能去做这种傻事。没有人会预料得到五年后的市场究竟是怎样的。”

正是出于节约成本、缩短周期和降低风险这三方面的考虑,越来越多的开发者倾向于使用第三方的现成引擎制作自己的游戏,一个庞大的引擎授权市场已经形成。

顺便说一句,一楼的够恶心的,明明是转贴的,还说什么“最后一部分是我自己的意见”。强烈鄙视!
玩家所体验到的剧情、关卡、美工、音乐、操作等内容都是由游戏的引擎直接控制的,它扮演着中场发动机的角色,把游戏中的所有元素捆绑在一起,在后台指挥它们同时、有序地工作。简单地说,引擎就是“用于控制所有游戏功能的主程序,从计算碰撞、物理系统和物体的相对位置,到接受玩家的输入,以及按照正确的音量输出声音等等

基本、完全、正确! 我也不知道 嘿嘿 ^_^
就是些特别的软件程序。希望能对您有所帮助,谢谢。
玩家所体验到的剧情、关卡、美工、音乐、操作等内容都是由游戏的引擎直接控制的,它扮演着中场发动机的角色,把游戏中的所有元素捆绑在一起,在后台指挥它们同时、有序地工作。简单地说,引擎就是“用于控制所有游戏功能的主程序,从计算碰撞、物理系统和物体的相对位置,到接受玩家的输入,以及按照正确的音量输出声音等等
http://wenku.baidu.com/view/7ab9d9ccda38376baf1faedc.html
继续阅读:游戏引擎 究竟是什么东西?

使用Godot引擎的3D功能制作的推箱子游戏

bloxorz是一款简约的休闲益智游戏,玩家的任务是操控一个木块,通过前后左右移动,使其翻转并到达指定位置,木块到达终点时应为直立状态。本教程将指导您使用Godot引擎制作此类游戏。

游戏设计包含角色方块、地板和终点位置三个基本元素。角色方块可以是Godot内置的立方体模型,或通过Blender等3D软件导出,支持自定义外观,如添加倒角效果。导出文件格式可选gltf或obj,gltf支持材质导入,obj格式需在Godot中手动设置材质。

地板由正方形块构成,支持Godot内置立方体或Blender等软件导出的模型。使用Godot的Gridmap节点快速绘制地板,先生成meshlib库。

终点位置通过Area节点检测,同时需检测角色是否超出场景范围。

游戏流程包含开始界面、关卡、游戏结束和游戏胜利等状态。角色方块有两种状态:直立和平躺,平躺时分为横向和纵向。

角色生成位置可通过Position3D节点快速调整,适用于多关卡设计。游戏场景可划分为主场景、角色、关卡设计和场景制作几个部分。

主场景负责加载不同关卡,包含世界环境、阳光、摄像机等元素。角色场景包括刚体、用于表示方块的面片物体,头脚部的Area节点检测方块位置。关卡设计通过继承模板,绘制地板和设置参数快速创建新关卡。

场景制作中,重力系统调整为50,使用MeshLib制作关卡模板。角色场景结构包括控制移动和状态切换的节点。关卡模板设计包含Grid Snap值调整以精确放置元素,通过继承创建新关卡并绘制地图。

主场景负责加载角色、关卡、灯光、摄像机和环境设置。游戏输入设置通过InputMapping配置移动控制键位,允许修改或自定义键位。Player状态切换通过检查放置和旋转方向判断。旋转处理在_physics_process()中完成,遵循右手法则确定旋转轴心和角度。

胜利条件为Player进入终点且为直立状态,失败条件是超出关卡范围。关卡加载使用singleton控制,便于管理和更新。主场景脚本获取新关卡信息并显示,处理Player出生点。

游戏运行效果直观,根据需求可添加更多关卡。制作过程中可根据个人喜好调整细节,如阴影颜色等。完成本教程后,您将掌握使用Godot引擎制作3D推箱子游戏的完整流程。
继续阅读:使用Godot引擎的3D功能制作的推箱子游戏