现在如何选择游戏引擎unity开发2d游戏3D游戏?

如果你想做在是一个简单的小游戏,那微信小游戏制作工具绝对是最好的选择,因为它门槛低,上手快,全中文界面,不需要编程,可以快速的实现你的游戏想法。但是,如果你想做的是一个有宏大架构的,内容丰富的,相对复杂的,要长期投入的大游戏,那你就应该选择 Unity 或者 CocosCreator 这样专业的游戏引擎,因为它们可以支持更大的游戏架构,提供更多专业的功能。不同的工具面向的人群和满足的需求是不同的,有点儿像面向大众的美图工具和面向专业人士的PS的区别,如果我想要的是最低学习成本,最快速的让我拍的照片变好看,那一个“傻瓜式”的美图工具是最好的选择。如果你是一个专业的图像处理者,那很显然你更应该使用专业 PS 来进行图片的精细处理。到底选择什么游戏开发工具并不取决于工具,而是取决于你的需求和想要达到的目的。如果你想要以最低的成本实现自己的游戏想法,做出一个游戏,那微信小游戏制作工具无疑是一个更好的选择。如果你的目标是成为一个专业的游戏开发者,并在以后以此为业或者去游戏公司就业,那你更应该选择专业的游戏引擎。小游戏与小游戏引擎的关系小游戏现在囊括的范围包括微信小游戏、QQ 空间小游戏、QQ 玩一玩(厘米游戏)、Facebook Instant Games、各手机厂商的快应用小游戏,他们都在尝试着将社交场景和游戏场景做融合。我们这里以微信小游戏为例,其运行环境是微信小程序环境的扩展,在小程序环境的基础上提供了 WebGL 接口的封装,使得渲染能力和性能有了大幅度提升。不过由于这些接口都是微信团队通过自研的原生实现封装的,所以并不可以等同为浏览器环境。作为小游戏引擎,可以尽可能简化开发者的工作量,这样能够帮助开发者完成的主要工作包括:引擎框架适配微信小游戏 API,纯游戏逻辑层面,用户不需要任何额外的修改编辑器提供了快捷的打包流程,直接发布为微信小游戏,并自动唤起小游戏的开发者工具自动加载远程资源,缓存资源以及缓存资源版本控制小游戏引擎选型需要考虑哪些因素选择小游戏引擎一般情况下需要考虑以下几个方面,其中选择开发语言、性能、应用广度这三个重要的因素进行细致的说明。开发语言的支持2D、3D、VR的支持核心性能引擎的应用广度设计理念工作流支持力度商业化成熟案例学习资源与技术支持能力1、开发语言的支持拥有广泛开发者的小游戏开发语言共有2种:TypeScript、JavaScript。TypeScript 属于面向对象的高级脚本语言,通过编译器将原项目代码编译成 JavaScript 代码文件运行于浏览器之中,面向对象的高级语言无论是项目开发管理,还是项目开发的工具环境的成熟度都明显优于 JavaScript 脚本语言,尤其是中大型项目方面。2、核心性能性能是小游戏面临的核心门槛,游戏卡不卡顿,流不流畅都是小游戏开发者首要考虑的问题,只有一个成熟可靠的小游戏产品才能吸引用户持续玩下去甚至主动进行社交裂变。近些年小游戏品质在迅速提高,包括精细的美术和炫酷的动画等。在复杂的游戏项目面前,上述种种元素,其流畅体验度对游戏引擎是极大的考验。所以选择性能优秀的引擎是保证品质的最重要基础,一定要谨慎。在游戏项目研发开始时,一定要先对复杂的模块做 DEMO 测试,特别是带背景滚动的游戏。比如横屏卷轴游戏,对帧数稳定性要求极高,如果满足不了性能上的需求,可能会带来眩晕、眼花、疲倦等不良体验。3、应用广度随着小游戏开发者对于跨端需要的增长,希望自己开发的小游戏不仅是在微信中能够跑起来,还能支持App独立端、H5页面等也具备一定的竞争力和价值,一次开发可发行各个领域版本,这就需要小游戏引擎能够形成跨端统一的能力。有哪些小游戏引擎如果我们将以上考虑到的因素作为筛选条件,符合小游戏开发的引擎包括 Cocos2d-JS、Egret、Layabox、Unity是比较符合条件的。我们再通过细致的优劣势对比来看该如何帮助我们选型做决定。1、CocosCocos Creator 使用 JavanScript/TypeScript 开发,2010年的时候,能跨平台开发的游戏引擎只有Cocos, 大部分都是2D游戏为主,Cocos 成为了国民手机移动端游戏引擎,那时很多手机游戏,都是基于Cocos开发,也让它迅速了占领了开发者的市场。后来随着手机硬件的发展,3D游戏越来越多,手游市场份额慢慢的被 Unity 取代。Cocos 引擎完全免费,包体小,做2D游戏技术成熟, Cocos Creator 开发工具和 Unity 的易用性一样,极易上手。最近2年全新引擎全面支持3D,一次开发能发布到PC端,Android、iOS、微信、抖音、华为等各大小游戏平台。总结一下Cocos Creator特点:引擎完全免费、开源、包体小、定制灵活;引擎开发2D游戏经过大量验证,非常适合2D游戏开发。全新的3D引擎,能开发3D游戏,但是还有提升空间。一次开发多平台发布,与传统引擎不同的是,可以发布微信、抖音、华为小游戏多个平台。Creator 3D引擎生态还不够丰富, 如第三方插件等。Cocos H5 游戏runtime内核在行业做的非常好,可以提供高效的H5游戏运行方案。2、白鹭引擎白鹭引擎,开发语言是 JavanScript/TypeScript,白鹭游戏引擎对于H5游戏是有着不可磨灭的贡献,它是最早的H5游戏引擎,它里面的很多工具非常好用,到现在还被其他的引擎使用,比如骨骼动画工具,DragonBones 被广泛引用到游戏开发中。最早一批的 H5 游戏开发者一定都是使用白鹭。白鹭引擎在 H5 游戏这个邻域有着不可磨灭的贡献。后来白鹭也推出了 Native 平台,不过发现目前白鹭引擎逐渐落寞。总结一下白鹭的特点:H5游戏的先驱,为H5游戏做了不可磨灭的贡献。H5 2D游戏技术成熟,经过很多商业游戏验证;3D功能有,但是商业项目3D游戏用的比较少。3、LayaboxLaya 游戏引擎,使用 JavanScript/TypeScript 开发。H5 刚新起时,H5 跑3D游戏,很多公司都不看好,认为以H5的性能,不足以跑效果好的3D游戏, 但是H5游戏有普通游戏无法比拟的优点就是不用安装,点开就可以玩。那个时候PC页游已经发展成熟,同时手机页游大规模兴起,页游依靠FlashPlayer,而到手机上,就没有FlashPlayer 这个东西,随之取代的就是H5。Flash 转 H5 商业上不上太成功,后来随着 h5 的发展,直接转为 H5 3D游戏引擎,是最早在H5上跑出大型商业3D游戏的H5 3D引擎, 在H5 3D这块积累了很多经验和成熟上线的产品案例,现在80%左右的 3D 微信、抖音、快应用小游戏都是 laya 引擎做的。总结一下Laya的特点:最早的被大规模商业项目验证的H5 3D游戏引擎,发布微信抖音等小游戏平台非常成熟。借用强大易用的Unity编辑器可兼容3D资源,如果一个游戏是Unity开发,你要移植到H5,那么Laya一定是首选。4、UnityUnity, 使用 C# 或 Lua 语言开发。国民 3D 引擎,这个称号说明了 Unity 在 3D 引擎的市场地位,中小型的游戏公司做 3D 游戏,基本都是用 Unity , 很多大公司的游戏也用 Unity ,AppStore 上面80%的3D游戏都使用 Unity 游戏引擎开发。为什么 Unity 打败了众多高手,成为国民游戏引擎,我们也好好的说一下。时间回到2010年左右,当时页游比较火,Unity那个时候引擎的定位是能开发PC端游和页游的游戏引擎。随着手游时代来临,市场急需一个3D游戏引擎,能一次开发多平台发布到 Android、iOS、微信小游戏等 , 而 Unity 成为了当时唯一的3D游戏引擎解决方案。和手游市场一起,Unity实现快速增长。Unity 能成为国民引擎还有一个很重要的原因,就是对初学者很友好,很方便就可以上手,极大的降低了3D游戏开发难度,Unity 引擎的市场份额越来越大,技术人才、SDK、第三方插件、技术资料等也越来越完整。总结一下 Unity 的特点:能制作精美的 3D 游戏画面,和定制渲染管线,画面效果不如 UE4。能制作各种类型的 3D 游戏上线,每种类型的游戏都被商业项目验证过。完整的生态,一次开发多, 平台发布。Unity 不开源, 需要支付授权费才可以修改引擎代码, 发布后也要付授权费。Unity 开发2D游戏相对包体过大。写在最后现在市场上的 H5游戏引擎很多,很难去直接定义哪个引擎的好坏,只能说每个引擎都有自己的特性,在某方面跟项目的契合程度比较高。对于专注于小游戏公司,使用最多的是 Cocos creator 和 Layabox,其中又要属 Cocos creator 最多。对于中小型以上的游戏公司,使用最多的是 Unity,也是目前市面上使用最广的游戏引擎,也是使用人员最多的引擎。当然通篇主要研究的小游戏还是以微信为基础,但是目前还有字节、百度、阿里、FinClip等平台可以投放小游戏。当我们开发了微信小程序后,也可以适配其他的小游戏平台,让自己的小游戏能够触达最广阔的用户群体,实现最大的价值。其中FinClip 小程序游戏还有个需要特别强调的点,只要开发小程序后适配 FinClip 平台,并在第三方 App 中集成 FinClip SDK 即可实现在第三方 App 中运行小游戏,App 可以是自己的,也可以是外部其他厂商的。这样一来小游戏的价值也能更加广阔,也不限于几大主流平台中。}
插件插件实际上是对某类功能的封装(模块化)。通用:插件都是为了让大家不再重复造轮子,具有一定通用性。时间就是金钱:插件对于中小型公司减少开发周期、Demo制作来说非常重要。但代价是什么?通用的代价通用的代价就是:存在不可视的潜在风险。通用性的必经之路:一个插件要达到真正的通用性,是要经过大量版本迭代的。这意味着,你很可能在使用一个声称是正式版的测试版。冗余的功能:插件力求满足各种需求,由于包含了众多功能,插件可能变得冗长且复杂,其中一些功能可能并不适用于所有用户。这使得用户需要花费时间和精力来理解和配置插件,有时甚至可能会感到困惑。这些冗余的功能甚至会对性能、质量产生负面影响。性能和稳定性无法得到保证:插件通常拥有大量的版本,你使用的Unity或者UE也是不同版本,性能和稳定性方面的保证可能会受到影响。这意味着用户在使用插件时可能会遇到性能瓶颈或者意外的崩溃情况。晦涩难懂:插件会使用一些专业术语或开发者独特的思路。理解和配置插件需要一些额外的学习和研究。意外的bug:当用户遇到这些问题时,他们可能需要等待开发者发布更新或者自己动手解决问题。选择尽管通用插件存在一些挑战,但它们仍然是为了方便用户而设计的工具。合理的使用和管理可以最大程度地发挥其功能和效益,满足用户的需求。做了个评分,供大家参考:评分说明5:业内顶尖,性能好,通用性高。4:通用性高,但具有一定限制(使用可能较难、性能可能无法得到保证)。3:通用性不太高(或性能较差),但功能齐全,按需使用。2:可能只是个玩具。1:只能借鉴学习。但如果你需求刚好对上了,可能有奇效。2DTextrue1.Destructible 2D - AssetStore(5)精灵图切割、破坏、溶解。UI1. UIEffect - GitHub(5)一系列UGUI,Shader实现的特效。2. FGUI - 官方文档(4)跨时代的新型UI编辑器,学习成本很高,但非常建议使用。自带动效编辑,曲面UI、多分支开发、自动打图集等,可以为开发节约大量时间。专门写了篇介绍文章。3. UI Particle - GitHub - Gitee(5)该插件使用新的 APIMeshBake/MashTrailBake(随 Unity 2018.2 添加)通过 CanvasRenderer 渲染粒子。您可以在没有 Camera、RenderTexture、Canvas 的情况下为 UGUI 屏蔽和排序粒子。4. LoopScrollRect - GitHub(5)循环ScrollRect的一个实现。Text1. TMP-Text-Juicer - GitHub(3)在文本字段上(通过修饰器)执行“每个字符动画”。Text版本。2.I2 Localization - AssetStore(5)目前个人觉得最好用的多语言插件。文档。3.luban(5)当前最强大的游戏配置Excel解决方案。强烈推荐。4. TextMesh Pro(4)使用SDF技术(生成字符形状)来渲染文字Text,不会因为缩放而造成字符模糊。这插件最麻烦的就是处理多语言和包体大小问题。其他所有都比UGUI的Text要好。多语言多不多?多,建议别用。(主要是会增加工作量,描边需要多个材质球)需要在3D场景显示字?用。网络服务器1. Photon2 - Asset Store(3)多人联机游戏框架。内置全球服务器,可以将托管、连接问题和延迟抛之脑后。但需要完全按照它的思路来,如果需求不一致,还是要定制很多自己的东西。2. Mirror - Asset Store(4)Unity 的高级网络库,兼容不同的低级传输。适用于小型独立游戏和大型MMO。也适合广大新手学习。热更新1. Addressables - 官方文档(5)Unity开发的AB包管理框架。非常建议大家学习,不再造热更的轮子。2. HybridCLR - 官方文档(5)HybridCLR(代号wolong)是一个特性完整、零成本、高性能、低内存的近乎完美的Unity全平台原生c#热更方案。搭配Addressable使用更佳。场景建模1. Clayxels - Asset Store(2)互动体积工具包,使用体素生成轻量级点云。不支持网页、移动手机和平板电脑。美术用来做一些特殊效果作为演示视频很不错。2. MudBun - Asset Store(4)实时体积 VFX 网格工具包,非常多的功能,可以做成很多跨时代的新鲜东西。使用时,需要注意性能,它仍处于开发阶段。3. MagicaVoxel - 介绍(4)做体素的外置编辑器。Mesh处理1.Mesh Slicer - Asset Store(4)Mesh切片机工具包。功能很齐全,但要学会了才能良好运用,否则会卡顿,需要自己再次封装一些代码。2. Deform - GitHub(3)免费的形变工具包。具体可以参考这里。3. Mega-Fiers - Asset Store(4)纯C#写的,目前最先进的网格、动画变形系统,如:弯曲,扭曲、基于物理学的绳索系统以及动态水波纹和浮动物体系统、先进的花键系统、动态软管系统和履带式车辆系统、网格包裹系统(用于将衣服等应用于变形的物体)。最近也更新了SRP版本:Mega-Fiers - 2 - Asset Store(5)4. RayFire for Unity - Asset Store(5)RayFire以前是3Dmax的一个插件。RayFire是一款可以在运行时对 3D 对象进行无限次拆除或切片的插件,还可在编辑模式下对其进行预粉碎,性能极其优秀。优化1. MeshBaker - Asset Store(3)MeshBaker是另一种类似静态合批的方案,用于合批Mesh、场景内实用的图集。它功能齐全,但如果你没有了解过它的内部工作细节或者你没有美术基础,用起来会十分头疼,甚至是反向优化。使用时,注意备份场景,非常大的场景不要一键优化,有时它的自动优化会把场景的贴图搞乱。2. Bakery - GPU Lightmapper - Asset Store(4)Bakery 是一款高端、即刻上手、操作简便的 GPU 光照贴图器,可作为 Enlighten 和 Progressive 的替代品,效率比较高,打光照贴图快很多,一般大场景地编工作人员才会用到。动画摄像机1. Cinemachine - CSDN(5)专业摄像机插件,几乎所有你这辈子遇得到的摄像机功能都自带了,不用再重复造轮子啦。虽然有一定学习成本,但相信我,学会了再也没有摄像机的烦恼。2. TimeLine - CSDN(5)Timeline用于制作场景剧情动画、技能演出等,可配合Cinemachine做运镜。有一定学习成本,注意,不要用这个来做行为树功能就行。编辑器1. Spine - 官方教程(5)比较出名的2D动画编辑器。使用时,注意这个插件Unity的版本和外置编辑器的版本要一致。官方Demo。图片来自【小肉星人】SPINE立绘作品02 侠客2. UMotion Pro - Asset Store(5)可以在Unity里编辑动画的强大插件。虽然国内不太流行,但对于独立游戏开发者而已,不用再去学习3DMax之类的软件去制作动画,这款插件就会显得特别友好。补间动画1. Dotween - CSDN博客(5)小动画引擎,代码做动画几乎都用它。Dotween太常用了,是每个Unity程序都必备的功课。简单实现原理,可以看这里。也可以使用LeanTween。运动模拟1. Dynamic Bone - Asset Store(5)目前市面上最简单(但反而最实用)的一套AI动态骨骼方案。2. Boing Kit - Asset Store(4)一款跨时代的AI动态骨骼方案,它非常复杂,但功能非常多。之前版本有过性能问题,不过好像已经优化了。3. Magica Cloth - Asset Store(4)布料模拟系统。使用Unity Job System + Burst 编译器进行快速布料模拟。目前市场上最好的一款功能比较全面的布料模拟系统,有一定学习成本,使用理解起来稍微麻烦点。4. FinalIK - Asset Store(4)布娃娃系统。比Unity自带的布娃娃功能强大得多,还支持非人型的运动模拟,如:机械手臂、机械蜘蛛人。5. PuppetMaster - Asset Store(4)专注人型细节的布娃娃系统。《派对动物》代码寻路1. A* Pathfinding Project Pro - Asset Store(4)目前市面上最完整的寻路方案,支持所有类型寻路,性能极好。但是慎用,除非你已经在某个版本完成了它的打包运行测试。类型很多,有学习难度。存在:部分寻路不支持Y轴检测(需要碰撞盒)的问题。存在:RVO多线程,无法被清理,访问无效内存,导致游戏崩溃。(模拟器上易发现)2.
Cinemachine Smooth Path - 官方文档(5)Cinemachine(相机插件)自带了一套编辑曲线路径的方案。如果你使用了Cinemachine,可以完全代替Simple Waypoint System。防作弊1. Anti-Cheat Toolkit - Asset Store(5)这个插件频繁进行着更新,目前市面上最好的防作弊插件。熟练和积极的作弊者能够打破任何保护,因此如果您使用此工具包,则不能保证您的游戏将 100% 免受所有作弊者的攻击。 尽管大多数作弊者并不那么熟练,因此可以永久消除大量作弊行为。编辑器1. Odin - Asset Store(4)Odin是跨时代的革命性编辑器扩展插件,各类编辑器功能几乎样样齐全。目前阶段并不支持节点连接类编辑器。数据存储1. Easy Save 3 - 官网教程(4)这插件性能很好,支持很多类型。但是它存在:设计问题。它设计了一些奇怪的功能,如:动态存储功能,把场景Prefab都存了进去。这常常把新手开发者搞晕。请了解它的工作模式再使用。渲染1. URP - Unity官方文档(5)通用可编程渲染管线。2. Toony Colors Pro 2 - Asset Store(4)目前见过最好的商业化人物卡渲Shader。部分代码可同时支持Build-in和URP(一开始在Build-in开发,后续转URP无缝切换)。文档介绍的很全,功能和变体非常多。(美术很可能杀鸡用牛刀)通用性很高,需要考虑性能问题,还是建议有经验的团队使用。3. Stylized Water - Asset Store(4)3D水渲染Shader(URP)插件。几乎有水体渲染要求的项目,人人都在用。最近更新了URP版:Stylized Water 2 - Asset Store(4)4. Ink Painter - Asset Store(?)实时修改纹理资产,在纹理上涂东西。RevealShader。5. AnimMap Baker For Animated Characters - GitHub (5)利用GPU实现海量动画角色渲染。顶点着色器的动画贴图,用于在运行时修改网格的顶点位置。使用GPU实例化来减少绘制调用。图形API1. Shapes - Asset Store(5)跨时代的Shader实现的图形API。Shader编辑器1. Amplify Shader Editor - Asset Store(4)几乎国外所有人都在用的Shader编辑器插件。对于新手非常友好,你也可以通过对此插件的学习,了解很多前沿的Shader实现方案。支持URP、Build-in这类Shader的转换,但需要你自己先写一个好的Shader模板。Shader编辑器为了通用性,复用性代码都是直接Copy到一个Shader里的,没有建立引用库的概念。在某些特殊需求前达不到最高性能水平,还是需要程序去手写,才能达到优化,但可以通过培训,尽量减少一些不必要功能的使用来减少消耗。TerrainGaia Pro - Asset Store(4)目前最强大的地形制作工具包。Gaia2021->体验版;GaiaPro2021(Gaia2)->介绍版;Gaia Pro->完整版。2. MicroSplat - Asset Store(4)完美的UnityTerrain替代品。3. Terrain Grid System - Asset Store(4)网格地形系统。用起来很方便。很适合:RTS和策略游戏。4. Terrain Composer 2 - Asset Store(?)基于节点编辑,据说是下一代地形工具。暂时没试过,先写这。后处理1. Beautify 2 - Asset Store(5)跨时代的URP后处理插件。色彩调节、各种后处理功能都进行了二次优化开发,效果很好,用到就是赚到。项目工具包1. Corgi Engine - 2D + 2.5D Platformer - Asset Store(4)创建 2D + 2.5D 平台游戏或枪战类游戏的最佳通用工具。学习成本(功能很多)比较高。2. TopDown Engine - Asset Store(4)上帝视角游戏工具包,和上面插件一个公司。学习成本(功能很多)也比较高。可视化脚本NodeCanvas - AssetStore(4)集行为树、状态机、事件触发器为一体的可视化脚本编辑器工具。监测1. In-game Debug Console - Asset Store(5)手机端显示Console日志的插件。2. Advanced FPS Counter- Asset Store(4)显示FPS、Memory、Device Information。3. Log Viewer - Asset Store(4)用鼠标(点击并拖动)或手指(触摸并拖动)在屏幕上做一个圆圈的手势,来显示日志。4. ParticleEffectProfiler - GitHub(5)特效分析工具,把特效的几个重要指标:内存、DrawCall、粒子数量、overdraw等数据显示在scene上,方便美术直接查看,并根据相关内容作出优化。}

我要回帖

更多关于 2D 3D 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信