01 2014 档案
摘要:注:本系列教程仅针对引擎编辑器:v1.2.2及以下版本G3D进阶实例第四课《2D编辑与脚本的统一入口》使用G3D完成一个简单的类飞机大战游戏,介绍了G3D2d游戏制作的流程包括:如何制作精灵包,制作2D图片与动画和引入了scriptroot相关的脚本知识。第五课《飞机控制与背景制作》使用G3D完成一个简单的类飞机大战游戏,介绍了如何使用脚本控制飞机的子弹发射和初步介绍了G3D的shader创建流程,使用uv流动shader创建了背景滚屏效果。第六课《敌人的创建与管理》使用G3D完成一个简单的类飞机大战游戏,介绍了敌人的创建与管理,过程借用了子弹管理的逻辑思想,使用挂接脚本与统一入口相结合的方式
阅读全文
摘要:注:本系列教程仅针对引擎编辑器:v1.2.2及以下版本G3D基础操作第一课《G3D编辑器初探》G3D编辑器介绍,依托于一个复杂场景,讲解了场景视图及其基本操作,属性面板和工具栏的使用,提供了场景编辑的思路与技巧。第二课《G3D基础实例01》G3D引擎基础模块介绍,主要讲解了菜单栏的使用,控制台的作用,地形编辑器,天空盒,相机组件,动画和脚本系统,并给大家演示如何制作一个小例子。第三课《G3D基础实例02》G3D引擎基础模块介绍,主要讲解了物理系统触发器的使用,模板的创建与生成,灯光的设置,简单脚本系统,并继续深化基础实例。引擎官方网站:http://www.genesis-3d.com.cn/
阅读全文
摘要:8.弹幕系统弹幕系统概述:弹幕系统的设计体现了射击游戏的基本要素,玩家要在敌人放出的大量子弹(弹幕)的细小空隙间闪避,能在玩家闪躲弹幕的时候给玩家带来快感,接近满屏的子弹,增加了对玩家的视觉冲击力。弹幕系统原理:每一个敌机都持有一个弹幕实例,每个弹幕实例中包含多个子弹实例,通过配置弹幕的属性,使每个子弹实例在轨迹管理器的作用下,形成一种有规律性的直线运动,在视觉上给玩家展现出弹幕的效果。如图8-1所示。图8-1实现方法:步骤1:子弹类,定义子弹的属性和借口。01publicclassBullet02{03//从模板创建子弹Actor04publicvoidCreateActor ()05{06
阅读全文
摘要:7.全屏炸弹全屏炸弹概述:为了增设游戏的趣味性,我们制作一个游戏的基本框架以外。还会增设一些其他的额外的功能。比如5秒无敌状态、冰冻效果等。下面咱们以消灭屏幕中所有炸弹为例,看除了碰撞可以触发事件的发生,其它操作是怎样触发事件的。全屏炸弹原理:设定键->敌人全部死亡,如图7-1所示。图7-1实现方法:步骤1:开发者操控指令设定。1//控制全屏炸弹,玩家按B键2if(Input.KeyDown(Code.B))3{4 enemyMgr.Instance.ClearAllEnemy();//清除所有敌人5}步骤2:玩家发出指令。玩家根据游戏设定,按B键发出消灭所有敌人指令。步骤3:执行指令。
阅读全文
摘要:6.计分计分概述:分值计量直接反应玩家在游戏中获得的成就感。因此,计分系统在游戏中显得尤为重要,有的反应在直接获取的分数上,有的反应在杀敌数量上等。计分原理:原理图,如图6-1所示。图6-1实现方法:步骤1:子弹击中敌人。击中敌人的条件参考4.碰撞检测内容。步骤2:敌人死亡。相关代码如下所示。步骤3:3.1计分器计分原理:(1)定义一个有九个格子的显示器面板,面板从右到左用下角标标注为0-8,每个格子存放0-9十个数字。(2)设定每消灭一个敌人,玩家获取5分,将数值每次传给一个变量var;将数值var传给string数组。(3)数组中有数值的位数,对应显示器面板方格的下角标,使对应下角标方格的
阅读全文
摘要:5.角色中弹概述:为了使游戏具有挑战性,大部分游戏设定中,游戏角色都有生命限制。即在游戏中,由于玩家的操控操控不当,导致游戏角色死亡游戏终止。打飞机游戏也不例外,当敌人击中角色的时候,角色宣判死亡,游戏结束。原理:碰撞事件发生后的处理事件。敌人击中游戏角色->角色死亡。实现方法:步骤1:子弹击中敌人。击中敌人的条件参考4.碰撞检测内容。步骤2:角色死亡01publicclassPlaneTrigger : ScriptableClass02{03 publicoverridevoidOnLoad()04 {05 //初始化碰撞体,注册回调函数.06 Actor colliderActor
阅读全文
摘要:4.碰撞检测碰撞概述:游戏世界里,游戏对象不能做出如同在真实世界里的物理运动效果。对于大部分游戏来说,都要为其添加物理系统,让其可以模拟真实世界发生的物理运动。但是在这个打飞机游戏Demo中,是用脚本代码来实现对碰撞事件发生的检测的,下文将详细介绍实现的方法。碰撞检测原理:为物体创建子空Actor,作为物体包装盒用于对碰撞事件发生的检测,当包围盒直接发生交叉、包含等关系时候,判定触发碰撞事件,产生相应碰撞效果,流程图如图5-1所示。图5-1实现方法:步骤1:碰撞检测体包围盒的制作。在场景中Create(创建)->Empty Object(空物体,即空Actor),将空Actor拖动到物体
阅读全文
摘要:3.子弹发射子弹发射概述:在打飞机游戏中,子弹是自动发射的。子弹与子弹之间间隔一定的时间,玩家通过上下左右控制游戏角色,来达到躲避敌人及击中敌人的操作。发射原理:抽象理解为有两个容器存放子弹,其中一个容器装载死亡子弹,一个容器装载活着的子弹。二者在一定的判定条件下,将子弹循环装载、释放,达到子弹的自动发射效果。这里定义子弹总量为20发,初始状态下都存放在死亡容器中,根据开发者定义的循环条件判定,形成两容器间的子弹循环,以达到子弹自动发射效果。流程如图3-1所示。图3-1实现方法:步骤1添加子弹01publicclassCannonMgr02{03 publicvoidInit()04 {05
阅读全文
摘要:2.滚屏滚屏概述:打飞机游戏场景背景设计通常很简单,因为角色敌人道具等都不与背景发生交互事件。开发者只需要根据设定的游戏类型,为游戏制作背景,模拟一个大环境即可。滚屏原理:材质UV动画,实现背景图片的滚屏循环。实现方法:步骤1:创建背景载体。创建立方体->适当缩放物体,使物体形状上接近长方形,这样正面在视觉上接近竖版手机屏幕。步骤2:SS创建背景材质球。项目视图中创建材质球->将材质球赋给步骤1创建的cube物体->将材质球命名为UVAnim。步骤3:3.1为材质球设置Shader文件。将制作好的UV循环播放的Shader文件,导入到项目视图中。这里需要注意,引擎对shade
阅读全文
摘要:1.播放序列动画系列动画播放概述2D游戏中的动画系统,不同于3D游戏。3D游戏中,角色美术资源不仅包含角色模型的,还包括角色的贴图和动作等,模型本身自带角色的动作动画效果。2D游戏中,角色美术资源仅仅是单张的序列帧图片,需要开发者将序列帧连续播放,形成角色的动画效果。为了能实现上述的2D游戏角色动画效果,Genesis-3D引擎加入了对2D图片的编辑功能,其中主要借助精灵包(Sprite)得以实现。播放原理:在Genesis-3D引擎中制作精灵动画,来实现其序列帧的播放效果,如图1-1所示。图1-1实现方法:步骤1:创建精灵包。在项目视图中,创建>精灵包完成精灵包的创建,并将“精灵包”命
阅读全文
摘要:G-3D引擎2D射击类游戏制作教程游戏类型:打飞机游戏属于射击类游戏中的一种,可以划分为卷轴射击类游戏。视觉表现类型为:2D框架简介:Genesis-3D引擎不仅为开发者提供一个3D游戏制作的平台,同样也可以完成2D游戏的制作。下文中将通过对一个2D打飞机游戏制作的介绍,来了解引擎是怎样实现2D游戏所需功能的。整个框架教程设计一下几部分内容:(1)序列帧动画制作(2)背景滚屏效果的实现(3)自动发射子弹(4)碰撞检测(5)角色中弹(6)计分器实现(7)全屏炸弹效果实现(8)弹幕系统通常上述内容的学习,基本可以掌握打飞机同类2D游戏制作的核心框架,开发者根据自身策划的游戏内容,做细化实现,即可完
阅读全文
摘要:6.移动版优化指南概述:移动设备不同于目前的高端设备(Wii、Xbox 360和PS3),市场上的手机硬件是很有限的,并且所有的移动设备都是不一样的。像Adroid手机,由于品牌和出厂年限的不同,有一部分手机相对整个市场而言是老旧的、较慢的。但是,作为游戏开发者并不能因为这些老旧的设备,而摒弃这部分的市场,因为尤其在中国,这些手机占有了很大一部分市场份额。那么如何保证好的游戏画面的同时,来保证游戏可以快速有效的运行,就是开发者在游戏开发初期应该考虑的问题。 本文意旨在于给应用Genesis-3D引擎开发新的手机游戏感到不知所措,抑或是在为新的手机游戏进行规划和原型设计,或移植现有项目到移动设备
阅读全文
摘要:5.二段跳二段跳概述:基本跑酷游戏的框架搭建完毕,开发者会根据开发的游戏特性,增设一些额外功能,使游戏具有可玩性性和画面感。下面我们以角色的二段跳为例,来了解在跑酷游戏中增设其它功能的流程。二段跳的设定,不仅增加游戏的华丽感并且可以通过二段跳游戏的道路和关卡转换。二段跳原理:如图5-1所示。图5-1实现方法:步骤1:二段跳可以参考SecondJumpMgr.cs 文件,表现层通过逻辑中二段跳不同的状态,来播不同的动画。首先把二段跳拆下述的分成几种线性状态, 如下所示。1publicenumStatus2{3 Lifting,4 PreRush,5 Rushing,6 CD,7 Ready,8}
阅读全文
摘要:4.如何实现触控操作触控操作概述:随着APPLE、Samsung、SONY等众多公司,将掌机、电脑和手机等产品在触控领域的不断探索,以触控为操作的机型越来越多的被投放到市场当中。触控游戏、触控软件的大量被开发以和应用,宣布着触控时代的到来。跑酷游戏作为一直以来备受玩家亲睐的游戏,大量的移植到触控平台上。当触控游戏操作界面,摆脱了传统的点控操作,又是怎样实现玩家与游戏交互的呢?这就较之以前的跑酷游戏,需要我们先对在触控板上的操作进行指令判定,进而游戏角色根据相应指令执行相应操作。原理:如图4-1所示图4-1实现方法:步骤1:在游戏的主循环里会对移动输入做Tick检测,在Tick中,会记录手指的坐
阅读全文
摘要:3.暂停游戏暂停游戏概述:在游戏进行时,玩家有可能会遇到多种突发事件。在跑酷游戏中突发状况的发生对游戏的影响更甚,游戏进行时玩家死亡,游戏只能从头开始,那么如果因为外界因素而影响游戏的进行,显然是不合理的。开发者变根据这一需求,未游戏增设了暂停功能。接下来我们来学习在Genesis-3D中实现暂停功能的方法。原理:如图3-1所示。图3-1实现方法:步骤1:被动暂停。指在游戏进行时,遇到低电警告、电话、短信等不可预知的因素,手机等设备切换应用的情况。开发者需要ScriptRoot.cs脚本文件里,添加Stopped()函数,并自己定义调用Stopped ()函数,实现的功能相关功能。1publi
阅读全文
摘要:2.内购如何实现内购概述:游戏内购是指玩家在游戏中,用金钱获取游戏道具的一种方式。开发者从玩家内购之中获得开发游戏的收益,因此大量游戏都有内购模块。下面我们以在手机IOS平台实现跑酷游戏内购为例,介绍一下游戏内购的基本流程。原理:内购流程图,如图2-1所示。图2-1实现方法:步骤1:开发者将产品道具上架。用固有开发者账号在Game center上注册mpid,其中包括上架物品信息:名称、编号和价格等。产品道具上架之前,开发者需要在iPhone DevCenter上注册成为iphone develop。如果没有,需要花$99.00在苹果官方注册购买账号。注册固有账号及上架道具产品可参考苹果官方网
阅读全文
摘要:1.道路的自动生成道路自动生成概述:3D跑酷游戏的核心就是跑,在跑这一过程中增加趣味性使得游戏具有更多的可玩性。道路的自动生成和自由拼接,为游戏增设了更多的不可预见性。这种不可预见性使得玩家在游戏中更多的体验到探索精神,进而开发玩家对游戏的兴趣。因此在跑酷游戏中,并不建议开发者设定好固定的场景道路,道路的自动生成模式更能吸引玩家。开发者可以通过不同的方式来实现道路的自动生成,将角色固定点场景后移的方式实现;或者固定道路的坐标,通过角色的向前奔跑产生位移变化。原理:通过使角色不断奔跑,产生相应位移变化,来达到道路的自动生成为例。将道路抽象的想象成一块块的板子,道路的不同场景转换和消失就如同板子的
阅读全文
摘要:1、Genesis-3D开源游戏引擎主要面向哪些用户人群?有限制吗?1、我们的引擎没有限制,只要您想了解和使用我们的引擎,就可以加入Genesis-3D的大家庭。2、我们的主要用户群是各个相关的企业,游戏工作室、独立游戏开发者,学生、游戏爱好者等等。2、我是一个超级新手,我应该怎么入门?你们的网站论坛在哪里?你们引擎支持2D、2.5D的开发吗?要钱不?1、我们的Genesis-3D引擎支持2D、2.5D、3D的游戏开发,开源免费!2、我们可以高效便捷的发布多个平台的游戏版本,我们拥有完善强大的引擎及工具、方便的多平台调试,顺畅的一键发布,使您的优秀产品可以快速的占领各个平台。目前支持的平台如:
阅读全文
摘要:跑酷游戏制作游戏类型:此游戏Demo,为跑酷类游戏。框架简介:游戏通常由程序代码和资源组成。如果说模型、贴图、声音之类的可以给游戏环境提供一个物理描述和设置,那么脚本和代码块会给游戏赋予生命,实现游戏的可玩性。Genesis-3D开源游戏引擎不仅为游戏开发者提供部分已经编译好脚本的编辑器,并且可以自己编写脚本,通过API接口调用,在引擎中实现制作游戏所需的功能。跑酷游戏框架涉及如下几部分内容:(1)道路的自动生成。(2)内购如何实现(3)暂停游戏(4)触控操作(5)二段跳的实现(6)移动版优化指南本系列教程官方链接:http://www.genesis-3d.com.cn/tech_sup/f
阅读全文
摘要:Genesis-3D由搜狐畅游公司超百人引擎研发团队历时数年耗费巨资自主研发,是国内外首款商业开源的3D游戏引擎平台。它包括跨平台渲染引擎、2D引擎、物理引擎、音效系统、粒子系统、动画系统、服务器引擎、游戏设计工具等,包括完整的研发和运维工具链,是一款可适用于各种类型游戏研发的综合型游戏开发平台。Genesis-3D同时拥有商业引擎品质与技术开源两大优势,不但具备功能完整、工具链齐备、高效稳定等特点,还兼备开源软件的灵活性,用户可以自行修改与定制。不仅如此,Genesis-3D提供全面的技术支持、丰富的本地化文档,针对不同合作企业还可提供点对点服务及功能定制,真正做到一流的服务保障。搜狐畅游始
阅读全文
摘要:介绍:讲述如何使用Genesis-3D来制作一个横版格斗游戏,涉及如何制作连招系统,如何使用包围盒实现碰撞检测,软键盘的制作,场景切换,技能读表,简单怪物AI等等,并为您提供这个框架的全套资源,源码以及工程。动作游戏教程游戏类型:游戏Demo属于横版格斗游戏,是动作游戏的一种。动作游戏(Action Game),简称ACT,游戏类型的一种,是广义上的游戏类型。以"动作"作为游戏主要表现形式的游戏都可以算做动作游戏。现在,动作游戏的定义已经不局限于传统意义上的动作游戏了,像射击游戏、格斗游戏以及不以"动作"为主体,但是含有较多"动作"元
阅读全文
摘要:8.虚拟键盘实现概述:硬键盘就是物理键盘,平时敲的那种。软键盘是虚拟的键盘,不是在键盘上,而是在"屏幕"上。虚拟按键就是虚拟键盘的一部分,根据功能需求,提供部分按键效果的UI可操控按钮,尤其是在平板电脑、触控手机上,虚拟按键得到了更多的应用。在触控平台上的游戏,一部分通过手指在屏幕上相应的滑动产生相应的指令;还有一部分增设虚拟按键,完成对游戏的操控。实现原理:UI基本制作->功能实现实现方法:步骤1:按照7UI的制作方法,完成UI的制作,最终效果图,如8-1-1所示。左侧为摇杆按钮,为双侧的BUTTON,一层做摇杆的底部按钮背景,一层与用户交互发生相应事件。右侧围控制
阅读全文
摘要:概述:UI即User Interface(用户界面)的简称。UI设计是指对软件的燃机交互、操作逻辑、界面美观的整体设计。好的UI设计不仅可以让游戏变得更有品位,更吸引玩家,还能充分体现开发者对游戏整体的定位和游戏特点。制作原理:编译UI基本框架->皮肤制作->引擎事件UI交互实现方法:步骤1:编译UI基本框架。可以参考Genesis-3D入门引擎关于UI教程中的基本UI及运行,参考人们文档基本UI及运行。这里使用Layout editor来完成UI的框架搭建。Widgets->Window创建UI布局的窗口。不同于教程文档中的是,这里建立开发者在设计UI界面初期,建议使用Pa
阅读全文
摘要:6.技能播放的逻辑关系技能播放概述:当完成对技能输入与检测之后,程序就该对输入在缓存器中的按键操作与程序读取的技能表信息进行匹配,根据匹配结果播放相应的连招技能。技能播放原理:按键缓存器中内容与技能系统缓存中的内容,进行匹配,匹配成功即播放相应连招技能动画。图1实现方法:步骤1:按键缓存。1private Dictionary m_vInputKeyboards = new Dictionary ();//玩家连招按键缓存2private UInt32 m_iCurrentKeyboardIndex = 0; //当前正在处理的按键索引步骤2:技能系统缓存。1private List m_v.
阅读全文
摘要:5.技能读表技能读表概述:技能读表,作为实现技能系统更为快捷的一种方式,被广泛应用到游戏开发中。技能配表,作为桥梁连接着游戏策划者和开发者在技能实现上的关系。在游戏技能开发中,开发者只需要根据策划人员提供的技能配表,在程序上实现对配置文件的读取功能。策划人员在游戏开发后期,如果在技能策划上做了修改,可以通过对技能配表的修改来实现对技能系统的修改。在这一过程中,绕过了开发者,便于策划对游戏后期开发的掌控,减轻了程序员的工作量。可以说技能读表不仅对技能、技能连招做出了贡献,也减轻了整个开发团队的工作量。读表原理:策划提供技能配表,开发人员需根据技能配表实现程序对配置文件的读取工作,玩家下达相应命令
阅读全文
摘要:4.技能的输入与检测概述:技能系统的用户体验,制约着玩家对整个游戏的体验。游戏角色的技能华丽度,连招的顺利过渡,以及逼真的打击感,都作为一款游戏的卖点吸引着玩家的注意。开发者在开发游戏初期,会根据玩家对此类游戏的惯性操作,设定技能控制按键。同时Genesis引擎为开发者提供的众多API接口,包含了按键过程、按键按下和抬起的识别功能。当玩家根据游戏设定的按键操作,输入后。系统会记录按键操作的命令,然后程序通过对玩家当前输入状态,以及输入的过程检测,判定技能输入是否为有效输入。技能系统的用户体验,制约着玩家对整个游戏的体验。游戏角色的技能华丽度,连招的顺利过渡,以及逼真的打击感,都作为一款游戏的卖
阅读全文
摘要:3.碰撞检测碰撞检测的概述:碰撞在物理学中表现为两粒子或物体间极端的相互作用。而在游戏世界中,游戏对象在游戏世界自身并不受物理左右,为了模拟真实世界的效果,需要开发者为其添加属性,以模拟真实事件的运动效果。在游戏世界里,当游戏主角与其它游戏对象发生碰撞时,都会触发一个相应的事件发生。这时候就需要开发者先检测到碰撞现象,即碰撞检测。在Genesis-3D引擎中,能检测碰撞发生的方式有两种:一种是利用碰撞器,一种是利用触发器。碰撞检测原理:为需要检测碰撞事件的物体创建子空Actor,作为检测碰撞物体的包装盒,用于程序对碰撞事件发生的判定。实时检测包围盒之间是否发生交叉、包含等关系时候,如若发生,及
阅读全文
摘要:2. 关键帧动画导入与切割动画的分割与导入概述:在游戏当中,游戏角色在不同状态下会有不同的动作,这些动作在引擎里相当于一段段的动画片段。当导入模型资源的时候,连同模型动画都会一并导入到引擎中。开发者这需要在引擎当中,按照事先调试好的序列帧动画,将动画分割成不同的动画片段即可。原理:导入->分割,分割原则遵循美术人员提供的动画分割表。实现方法:步骤1:将带有动画的模型文件,导入到Genesis-3D引擎中,操作方法参考资源导入。步骤2:引擎中分割动画方法。在项目文件中选择zhujue.fbx文件->打开其资源面板->选择动画->勾选分割动画选项->分割动画下拉框-&
阅读全文
摘要:1. 资源导入概述:制作一款游戏需要用到很多资源,比如:模型、纹理、声音和脚本等。通常都是用其它相关制作资源软件,完成前期资源的收集工作。比如通常用的三维美术资源,会在Max、MAYA等相应软件中完成制作。然后导入到引擎中,管理和实现资源功能。Genesis-3D引擎可以自动识别引擎文件夹下固定格式资源文件,并生成引擎与资源相关联的相应文件,方便引擎记录资源信息。原理:点击工程面板中的"导入",在Windows窗口选中需要导入的资源,确认完成导入。实现方法:下文以导入一个模型文件为例,简单介绍资源的导入,已经引擎对相应的资源文件生成的相应引擎文件。步骤1:创建资源文件夹-&
阅读全文