重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
C++ JS C#
创新互联公司公司2013年成立,先为茅箭等服务建站,茅箭等地企业,进行企业商务咨询服务。为茅箭企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
虚幻引擎总是能赋予开发商更强的能力,所见即所得的平台。要知道,很多早期的引擎还需要自己编辑文本文件,或者是无法预览效果。今年晚些时候,当人们欣赏到虚幻引擎4后,会被其深邃的特效所震撼到,马克·瑞恩说道。
正在进行的年度D.I.C.E峰会上,我们也希望了解到更多有关这款新引擎的情报。美国著名媒体《连线》目前有幸见识了Epic的旷世“新作”,虚幻引擎4的演示Demo,在大约2分半的演算动画里,浑身湿透,盛赞这是“异形”之父H. R. Giger和《冰与火之歌》作者“George R. R. Martin”的“私生子”。
VR语言开发,其实就是3D编程引擎的语言。VR如果没有3D引擎支持是无法进行开发的。上面提到的3D引擎和编程所需的SDK主要使用的语言是 C/C++
这是毋庸置疑的。大多数3D引擎使用的都是c或C++开发的,必定效率高吗Oculus 提供的SDK也是使用C++ 行开发的。 Gear VR是在安卓设备上运行,需要使用Android NDK基于 C++ 进行开发。Unreal 引擎同样使用 C++ 进行开发。MiddleVR 提供了基于 C++ 的 SDK。
其次是 C# 。 Unity 把 C# 当作脚本语言使用。在 VRPN 中可以使用 .NET bindings for VRPN 作为开发语言。不出意外的话, HoloLens 也一定使用的是 C# 。
再次就是 Javascript 。它也是 Unity 的一种脚本语言(即使选择的人并不多)。但 WebVR 和 Javascript 程序员的基数(基友数?)一定会让 Javascript 继续在使用人数上占优(我真的不是黑啊)。即使不考虑 WebVR , three.js , Babylonjs 这类已经非常成熟的 HTML5 3D 引擎也足够证明 Javascript 在 3D 上的强大生命力。
VR 平台
从目前的状态看, Oculus 仅支持 Windows 和 Android(通过 Gear VR) 。MiddleVR 仅支持 Windows 平台。其他的几个引擎例如 OSVR/VRPN 都是多平台支持的,Unity 和 Unreal 当然也是多平台支持。Playstation VR 无疑是 PS 独占。HoloLens 则无疑是 Windows 独占。
只有 WebVR ,不挑平台陪你玩。
VR技术分为两个大方向,动画和开发,看你自己喜欢哪种了,目前大部分培训都是unity3d之类,不全面。
虚幻4,游戏效果最极致体验的主机参考以下配置:
CPU:Intel
酷睿i7
5960X+散热器
主板:Z170
内存:DDR4
2800
16G(F4-2800C16Q-16GRK)X2
硬盘:240G固态硬盘
显卡:GTX1060
6G
电源:550W
以上硬件配置,可设定最高画质、全特效、2K分辨率并开启8X
FSAA全屏抗锯齿:玩虚幻4的流畅度可达35fps以上
这两者之间的区别就是侧重点不同一个游戏开发出来实际上也是一款软件。如果你认为软件开发跟游戏开发是两种,那么我的观点是是前端的不同,后端都是实现一些逻辑的功能。
一、软件开发
无论是桌面应用程序、Web应用、游戏亦或是手机APP,都属于软件开发的范晴。桌面应用程序比如网易云,浏览器等等,一般多用C#写界面,看起来会更加友好。Web应用的前端是html, css和JavaScript结合实现,手机APP则是Android, objectC、 Kotin ,当然H5也可以开发APP。服务器端则是你擅长的语言去实现逻辑功能,并不是说我一定要利用java实现或者利用PHP实现,只要前后端统一好API接口,明确数据传输的格式等等。
二、游戏开发
游戏开发是软件开发中比较特殊有一类。如果你一直从事的都是游戏开发,那么你后面如果想再转别的方向其实不太好转。现在很多团队在开发游戏时都会使用游戏引擎,在游戏引擎的基础之上再利用编程语言进行开发。比如虚幻四引擎支持C++、JavaScript. C#进行开发,小米枪战就是用虚幻四引擎开发。unity3D引擎支持JSC#进行游戏的开发, cocos2d支持C++lua和JavaScript开发游戏。看来游戏引擎对Javascript语言比较友好。学习过一段时间unity3D引擎开发游戏,开发过一些简单的小游戏。以坦克大战为例,把地图、树、地形等设计好之后,把一个坦克模型放进地图中,利用C#编程控制这个坦克,当然你得手动设置些地方。这样就不需要想app一样写个前端,只需要代码控制各个组件即可。
首先,一般个人用户是拿不到寒霜的。寒霜原本是瑞典一个小公司做的引擎,原本是要做成商业引擎的,但问题在于,EA突然收购了这家公司,然后停止对外授权。因此寒霜引擎就成了EA公司的内部引擎。除非成为EA的员工,否则是碰不到寒霜的。
剩下的unity和UE4,是商业引擎,一般开发者是可以接触到的。至于入门嘛,要看什么叫入门了。
是要能做一个完整的游戏,并且上架到应用商店去赚钱,叫做入门呢?还是做出一个半成品,在别人面前装B,被视作大神,就算入门呢?这两个概念,完全不一样。
简单概括一下,做出成品,Unity门槛低。因为Unity的门槛,都在前期。虽然对于计算机专业的学生来说,这点门槛不啥,但完全零基础的小白,通常容易在一开始放弃。因为学习Unity之前,你首先要掌握C#语言以及一些.NET的基本库,具备一定的编程基础。如果完全零基础,到熟练掌握C#,自学的话大概需要至少两年的学习周期(C#,ADO.NET,ASP.NET也就是大学的四年计算机课程,具体进度看悟性),这个过程非常枯燥,每天都是在一个黑框框上打东西,完全没有画面可以看,每次停住回头看看,你都会发现,自己做了一大堆笔记,思考了一大堆问题。。而啥也做不出来,只会在那个黑框框上打东西。。。。但只要度过这一段枯燥的岁月后,你几乎就跨越了所有门槛。此后学习Unity的过程会非常平滑。只要前期的基础打好了,学习几周时间,做出一个CS,根本就不是事儿。从此便进入“照葫芦画瓢”阶段了,看到一个游戏,就自己琢磨着山寨下试试,即便遇到困难,复习复习之前的笔记,总能解决大部分问题,实在想不出来,看看源码,也就当顺便复习了。等山寨出几个游戏之后。最后就是要熟悉自己的目标平台,比如安卓,IOS两大系统,以及任天堂,索尼等公司的开发环境,为什么不提微软?废话,微软的开发环境不就是.NET嘛?选好平台之后,简单学习一下对应平台的注意事项。就可以准备上架第一个项目了。至此你就算正式入行了。
做出半成品UE4低。UE4这个引擎的优点之一,在于可以吸引零基础小白。因为它可以“不写代码就做出游戏”。而这个引擎的致命缺点,就是“不写代码根本做不出游戏,而且那代码还真不是一般人能写出来的”。UE4的学习过程,一开始觉得非常非常非常容易。而且啥基础都不需要。因为UE4里面有一个叫做蓝图的节点编辑器。这种节点编辑器,最初是出现在三维动画软件里面(如MAYA,C4D等),用来做动画逻辑的。只要学习两三天,拽几个节点,连连线,立刻就让一个人物模型跑起来了,还会跳,会开枪,会放技能。。要啥C#?要啥.NET?要啥黑框框?哥小学没毕业,学习UE4一周,就达到这程度了。瞬间秒杀一群学了两年编程,还在摆弄黑框框的大学生。但两年之后,熟悉了UE4的每一个按钮,每一个节点,会发觉自己依然只会这些。依然只会是让一个人物模型,在各种地形上,跑一跑,跳一跳,开开枪。。。今天在沙滩上跑。。。明天在楼宇之间跳来跳去。。。。你可以认为这是一个Demo,或者说是一个半成品。但它永远都只是半成品。因为你发现自己跟本无法“照葫芦画瓢”。
UE4的蓝图只适合参与三种类型的游戏工作,FPS游戏,FPS伪装成的格斗游戏,和赛车游戏。。。。无论蓝图学的如何精通,只要人家问你,你能用UE4的蓝图做个策略游戏吗?你能用蓝图做个战棋类游戏吗?你能用蓝图做个桌面游戏吗?你会瞬间无言以对。你一定没见过有人用UE4做出来《连连看》吧?你也一定也没见过UE4做出《俄罗斯方块》吧?不是大家不屑于做这些小游戏,而是因为太难了。。不只个人开发者,即便是那些游戏行业的巨头们,也只会在制作FPS和赛车等游戏时,才会使用UE4。。。因为其他类型,对于UE4确实太难胜任了。
因为节点编辑器,本身就是为动画的逻辑设计的,动画都是提前确定好的。在动画开始制作之前,就已经有了剧本。而游戏却完全不一样。游戏要根据用户的操作,临时去做出不同的行为。直白一点说。这玩意搞出的逻辑是“固定”的。
按某某键,往前跑。。。。按某某键,开枪。。。。这种“固定”的逻辑可以。。而要靠它实现算法级别的东西,实在太难了。
无论如何,到此算是半成品出来了,这时候摆在面前的,便是一道无比巨大的鸿沟,那就是之后的工作,要用C++去写。C++这语言,绝对不是最难的编程语言。但绝对是最难的编程语言之一。不仅面向对象,还掺杂面向过程的那一坨东西,而且还无脑的堆砌在一起。。。这都不算啥,关键在于那惊人的代码量。。。暂且不论C++本身,如果你真的能用C++写出后面的逻辑。。后续发布都能搞定的话,那你还真的需要蓝图吗?写个走路,跳跃,开枪的状态机,岂不是小儿科?
做游戏开发,现在是很潮流的一件事情,但是必须要有资金投入,而且你要有专业的知识,不然的话只会浪费时间。
无论是桌面应用程序、Web应用、游戏亦或是手机APP,都属于软件开发的范畴。桌面应用程序比如网易云,浏览器等等,一般多用C#写界面,看起来会更加友好。Web应用的前端是html、css和JavaScript结合实现,手机APP则是Android、object-C、Kotlin,当然H5也可以开发APP。nainaitea.com
服务器端则是你擅长的语言去实现逻辑功能,并不是说我一定要利用java实现或者利用PHP实现,只要前后端统一好API接口,明确数据传输的格式等等。
游戏开发
游戏开发是软件开发中比较特殊有一类。如果你一直从事的都是游戏开发,那么你后面如果想再转别的方向其实不太好转。现在很多团队在开发游戏时都会使用游戏引擎,在游戏引擎的基础之上再利用编程语言进行开发。
比如虚幻四引擎支持C++、JavaScript、C#进行开发,小米枪战就是用虚幻四引擎开发。unity3D引擎支持JS、C#进行游戏的开发,cocos2d支持C++、lua和JavaScript开发游戏。看来游戏引擎对JavaScript语言比较友好。
我学习过一段时间unity3D引擎开发游戏,开发过一些简单的小游戏。以坦克大战为例,把地图、树、地形等设计好之后,把一个坦克模型放进地图中,利用C#编程控制这个坦克,当然你得手动设置一些地方,不过我现在忘记了。这样就不需要想app一样写个前端,只需要代码控制各个组件即可。不过说到创业还是要有一定的前提规划和后期的资源配置!