以下是学习vr发展的阶段及其相关学习内容(由龙图教育提供):
1.虚拟现实发展的基本阶段:
c#基本语法、opp面向对象、网络通信、算法和设计模式等。
2.虚拟现实发展的初级阶段
unity3d操作基础,灯光系统和地形系统的使用,物理系统和粒子系统的使用,常用插件和脚本绑定;gui、ugui和插件ngui的介绍,虚拟演示项目的制作。
3.虚拟现实发展的高级阶段
vr物理系统的高级部分;vr动画系统的高级部分;vr内置寻路系统navgattion计算图形与着色器,单个项目讲解(飞行类),lan-to-person在线项目讲解(飞行类)。
4.虚拟现实发展的实战阶段
服务器:设计模式,通用协议;xml和sqlitesock
对游戏中刀光剑影最直白的理解就是游戏中的特效,带给我们最直接的感受就是游戏中的光影效果。
一、发动机的介绍
随着游戏开发的不断进步,游戏开发变得越来越复杂,因此游戏引擎已经成为游戏开发不可或缺的工具。引擎对基本功能的封装和工具链的提供,可以大大降低游戏引擎的开发难度,提高开发速度和质量。
对于目前的市场,3d手游的引擎选择主要分为四个部分:
unity:在移动端,占据70%的手游市场有优势,游戏种类齐全。
虚幻:两款正版吃鸡手游都使用了虚幻引擎,但是手游的mmo目前在国内还没有推出,国内端游成功的mmo也很少。
自研发动机:比如楚留香的弥赛亚,太极熊猫的flexi等。,优势在于他们对it非常熟悉,可以提供深度定制和优化。
其他引擎:较少应用不考虑。
其实这里的选择比较少。对于大多数没有自研引擎的公司来说,unity依然是最多的选择。但随着硬件的不断发展,epic的不断优化更新,虚幻也被越来越多的公司和项目用在手机上。
一些已知的手机游戏:
(一个重要的选择理由:如果引用一段话,如果同类型项目中有成功的项目,我们可以很大程度上信任这个引擎。)
二、选择发动机的基本原则
按照软件工程的开发流程,首先要明确需求。以下是一些常见要求:
什么样的游戏?
目标用户、目标平台、目标机型是什么?
项目周期、成本、团队实力?
你更喜欢画质还是适应性?
有什么特殊的技术要求吗?世界很大吗?你支持物理吗?是写实风格吗?
什么同步技术?
等等
然后我们需要考察发动机的特性是否满足我们的需求。
1.必须满足的特征。如果不支持,则不能选择引擎:
有没有同类型的成功产品?
引擎是否支持你要发布的平台,兼容程度如何?
发动机的性能如何?包括cpu、gpu、内存等。,比如早期的unreal,如果没有开发者的优化,是无法在低配手机上流畅稳定运行的。
引擎的成本如何,是否与团队的技术栈兼容,开发效率如何?
引擎是否支持所需的技术?
2.最好支持的特性,但是如果不支持,可以通过第三方库或者独立开发来解决:
如果是多人在线游戏,引擎是否封装了成熟的同步机制?
你支持更多的dc和更好的优化吗?
如果是开发大世界游戏,引擎是否支持成熟的大世界系统(包括地形、植被、lod、遮挡、优化等。)?
如果需要高级ai,引擎能否高效提升支持?
如果需要物理碰撞,发动机能否高效提升支撑?
负责逻辑支持脚本吗,支持脚本可视化编辑器吗?
你支持热更新吗?
引擎是否有自己的编辑器(动画,场景,特效,ui,粒子等。),以及编辑器是否合适并支持扩展?
第三方插件和库的支持是什么?
引擎是否有文件证明,开发者是否有官方的技术支持?
引擎是一个完美的开发工具吗?比如性能分析,包装等等。
三、发动机的功能划分和比较
有句话说得好:
美术资源决定游戏世界的外观,剧本资源决定游戏世界的内容,引擎部分决定游戏世界的规则。
一个引擎往往包括图形模块、ai模块、物理模块、寻路模块、输入模块、网络模块、ui模块、渲染模块、声音模块、编辑器模块等。如果要综合评价每个模块,就要做详细的评价和比较。
但是当谈到引擎,人们的第一印象往往是引擎的图形渲染能力。可以看出,图形对于引擎来说是非常重要的,所以我们将它分为两部分,图形模块和其他模块,然后进行详细的对比。
图形模块
图形是游戏引擎最重要的部分,主要功能是提供底层渲染接口(d3d、opengl、metal、vulkan等。),自定义渲染管道(正向渲染、延迟渲染、多线程等)。),并适应(pc,ios、android),以及后期处理(抗锯齿、景深、屏幕着色、扭曲、描边、ssao等)等一些基本渲染功能)、阴影、地形、捏脸、动画、天气等。
可以看出,unreal在高端渲染技术上更有优势,官方支持强大,性能优秀,但相对低端设备的兼容性会稍差,尤其是android版本。unity也能达到同样的效果,但是很多工作需要自己去开发。
其他的
通过对比可以看出,unity更容易上手,前期发展更快,做出的游戏适应面更广(内存和稳定性),但有些次时代的技术需要自己实现。虚幻的学习成本更高,开发效率更低,但更容易做出顶尖的游戏,更适合开放世界的大型项目。
第四,总结
如果项目周期和成本比较宽裕,希望开发超高质量超高质量的游戏,同时对于技术积累较弱的图形推荐unreal,尤其是fps射击类游戏,开发周期短或者技术积累和技术支持较深的推荐unity。另外,引擎的选择也受美术和策划的影响,尤其是美术生。对编辑器和引擎的熟悉程度对进度、效果和表现也有很大影响。
其实对于大多数游戏来说,两个引擎都可以满足需求,主要区别在于质量、时间、成本这三个项目管理三角形的选择。适合自己的才是最好的。