漫步Unity3D(一)
前言
采用Unity它已经将近半年的时间,虽然项目仅仅是一个半成品。但Unity熟几乎相同的游戏。在这里,在使用过程中遇到的问题,再梳。不涉及过于详细的功能和代码。但是,假设他们将参与开发一个在线知识点,这样的直击“本质”的“答案”是非常多教学书籍所不具备的。
一、背景介绍:什么是Unity
2013年手游如火如荼,开发了端游页游之外的第三战场。
而随着手游品质的逐渐提高(越来越多的大公司開始介入手游领域,手游不管从画面还是内容都直逼端游)。Unity開始为越来越多的人所熟悉和认可。 而越来也多的使用Unity开发的游戏创造了收入传奇,Unity 的身价也不断提高。就像Cocos2d-x一样。既是Cocos2d-x成就了大批畅销游戏。也是畅销游戏成就了Cocos2d-x,这是双赢。
Unity是一个3D游戏引擎。在几年之前,人们提到3D游戏引擎基本上是三个阵营:
第一阵营以Unreal、CryEngine、BigWorld为代表,是最高端的商业游戏引擎,特征是高品质、高授权费和高门槛,这样的游戏引擎一般人买不起,买了(或者是下载了破解版本号)也不会用。
网上的教程少之又少,除非你在买了这样的游戏引擎的公司。跟着牛x的主程学习一段时间,否则入门都是一件很困难的事情。更不要说玩转它用来做游戏了。
第二阵营是以Ogre、Irrlicht为代表的开源3D引擎。
特征是免费、开源、良莠不齐。他们是免费的,这意味着能够省掉相当大一部分投资,他们是开源的。这意味着你哪里看着不爽就能够直接改。开源3D引擎中Ogre应该算是最出名的。由于造就了搜狐畅游的天龙八部。可是不得不说。开源游戏引擎的地位相当尴尬。
能够这么说假设你是武林高手的话。那么草木皆可为剑,仅仅要你足够牛x。那么哪个开源引擎你都能够拿来做一个相同牛x的游戏。可是假设你不够牛,或者你的公司里没有足够牛的人(这在创业团队里并不少见),那么还是不要想着拿它们来做游戏了,甚至不要想着做3D游戏。
第三阵营是个大公司自主研发的游戏引擎。
游戏引擎决定了游戏公司的生产方式。大公司有钱有时间,能够花费大量的时间和金钱来等待一个必定失败的结果。
小公司和创业团队不要想着凑热闹了。
Unity是不同于上面三个阵营的独立阵营。它具备商业引擎的品质,可是授权费相当低廉。个人都能够买的起,更不要说公司了(并且网上还有大把破解资源,你甚至在赚到足够多的钱之前都不须要购买)。
它的入门门槛非常低,常常有新闻说8岁的孩子拿这个引擎来写了一个游戏,还赚了不少钱,尽管是噱头。可是也能够说明一些问题。 网上教程和书籍都有非常多,能够非常方便的获取到学习资料。 Unity还创新的创建了Assets Store(资源商店),你能够花费非常廉价的价格(相对国外收入来说,动不动100美元的价格对国人来说还是贵了些。假设DF
GUI的价格是90人民币,那我肯定购买,可是90美元我就望而却步了),购买到丰富的插件和资源(比方GUI插件、AI插件、特效集合、动画、模型等等)。
二、引擎的争论,为什么要选择Unity
常常看到有人问我该用Cocos2d-x还是Unity?或者我该学习Cocosd-x还是Unity? 这些问题并没有一个统一的答案,而我有我自己的看法。
诚然,关于引擎的争论是幼稚而可笑的。
牛x 的人用什么引擎都能够做出好游戏,菜鸟用什么引擎都仅仅能写个“Hello world”。可是游戏引擎决定了部门的生成方式。决定了资源和创意的限制,决定开发语言的选择,决定了后面要招什么样的人,它决定了太多的东西。所以一些思考还是很有必要的。我一直有这种看法,游戏开发的方向走对了,即便一開始走的慢些。可是会越走越快,而且能够避免走弯路、走死路。
2012年初。我第一个公司(网龙)的MMO RPG游戏《征服》就移植到iPad版本号,这得力于公司牛b的引擎开发者,他们在非常短的时间内就把C3引擎移植到iOS、android甚至是WP8、html5、flash上了。那个时候就算联网的手游都非常少见,更不要说mmo了。尽管收入还惬意。可是没有大红大紫。
手机版本号和中文版本号一直没有放出来。2012年底的时候。我到了第二家公司(天盟),进来没多久我就跟总监说,我们能够把公司的3D MMO移植到手机和平板上面。不会花非常多人力,无论能不能赚钱,我们就算赚吆喝也不亏,把手游mmo
rpg的市场先给占了。可是得到的答复是,我们引擎不支持手机。3D MMO对手机性能要求太高,所以这个不是当下须要考虑的。2014年的今天,mmo rpg和arpg如火如荼......
回过头来再说方向的选择,举个样例,假设一開始选择的是Unity,那么就不会碰到移植的困难。假设一開始开发语言选择的是lua,那么你要招募一个合格的小弟要easy非常多。我们写c++写的熟悉了,感觉哪个语言都差点儿相同,甚至lua由于没有编译报错,反而会碰到非常多不爽的问题。可是不得不说,c++须要注意的细节非常多。写好一个lua 的逻辑要比写好相同的c++逻辑easy太多了。
对于初出茅庐的人来说,应该学习哪个游戏引擎能够更好的找到工作?我个人的观点是学习cocos2d-x。由于如今大多数国内公司还是使用cocos2d-x来开发2d或者2.5d游戏。
Unity3D是着眼于不久的将来。
第二个原因是,相比于Unity,cocos2d-x实在是太简单的。学习cocos2d-x你能够更加easy的了解到什么是游戏引擎,游戏引擎在做什么。这样的学习提高是大大优于Unity中的托托拽拽的。
开发游戏跟学习游戏引擎又有点不太一样。如今通常的观点是。开发2D游戏使用cocos2d-x+lua的方式,开发3D游戏使用Unity。大多数情况下,这么说是合理的。
这两种组合都有非常多的成功案例。
我如今已经熟悉Unity了,而且我想做的游戏是一个3D ARPG。那么毫无疑问我会使用Unity来开发。这个时候即便公司突然说要开发一个2D游戏。我也会使用Unity,由于Unity有非常多专业水准的2d插件,它的资源管理和编辑器功能无比强大。
(第一部分结束了,废话超乎想象的多。
之所以在这里结束第一部分是由于第一部分有太多“口水”的东西,尽管我个人挺喜欢看这样的八卦的东西,但是,我不得不说。缺少的材料啊。那么,第二部分,猛料来了)
版权声明:本文博主原创文章。博客,未经同意不得转载。
漫步Unity3D(一)的更多相关文章
- 漫步Unity3D(三)
八.预制(Prefab) 仅此一点提出,由于它使用过于频繁. 还Unity 一中的核心要素.原本Unity你拖放模型到场景中的一个对象,或者,创建一个几何.或浅的地形.个物体的偏移.旋转和缩放.然后绑 ...
- Unity3D大风暴之入门篇(海量教学视频版)
智画互动开发团队 编 ISBN 978-7-121-22242-9 2014年2月出版 定价:79.00元 328页 16开 编辑推荐 长达800分钟的高清教学视频,手把手教会初学者 数个开发案例 ...
- Unity3D之空间转换学习笔记(三):3D数学
3D数学基础 向量 向量可以看做具有方向和大小的一条线段. 比如:我们如果用点A减去点B,则可以得到一个向量,该向量的方向为点B面向点A的方向,而大小为两点的距离.这个方法在游戏开发中经常用到,比如我 ...
- 《Unity3D大风暴之入门篇(海量教学视频版)》
<Unity3D大风暴之入门篇(海量教学视频版)> 基本信息 作者: 智画互动开发团队 出版社:电子工业出版社 ISBN:9787121222429 上架时间:2014-1-13 出版日期 ...
- Unity3d学习 预设体(prefab)的一些理解
之前一直在想如果要在Unity3d上创建很多个具有相同结构的对象,是如何做的,后来查了相关资料发现预设体可以解决这个问题! 预设体的概念: 组件的集合体 , 预制物体可以实例化成游戏对象. 创建预设体 ...
- Unity3d入门 - 关于unity工具的熟悉
上周由于工作内容较多,花在unity上学习的时间不多,但总归还是学习了一些东西,内容如下: .1 根据相关的教程在mac上安装了unity. .2 学习了unity的主要的工具分布和对应工具的相关的功 ...
- TDD在Unity3D游戏项目开发中的实践
0x00 前言 关于TDD测试驱动开发的文章已经有很多了,但是在游戏开发尤其是使用Unity3D开发游戏时,却听不到特别多关于TDD的声音.那么本文就来简单聊一聊TDD如何在U3D项目中使用以及如何使 ...
- warensoft unity3d 更新说明
warensoft unity3d 组件的Alpha版本已经发布了将近一年,很多网友发送了改进的Email,感谢大家的支持. Warensoft Unity3D组件将继续更新,将改进的功能如下: 1. ...
- Unity3D框架插件uFrame实践记录(一)
1.概览 uFrame是提供给Unity3D开发者使用的一个框架插件,它本身模仿了MVVM这种架构模式(事实上并不包含Model部分,且多出了Controller部分).因为用于Unity3D,所以它 ...
随机推荐
- [Angular] Design API for show / hide components based on Auth
Simple Auth service: import { Injectable } from '@angular/core'; import {HttpClient} from '@angular/ ...
- jQuery笔记---选择器(三)
1.1查找隐藏的tr元素的个数 $(“table tr:hidden”).size() 查找所有可见的tr元素的个数 $(“table tr:not(:hidden)”).size() 一般是不使 ...
- 从零开始使用git第一篇:下载安装配置
从零开始使用git 第一篇:下载安装配置 第一篇:从零开始使用git第一篇:下载安装配置 第二篇:从零开始使用git第二篇:git实践操作 第三篇:从零开始使用git第三篇:git撤销操作.分支操作和 ...
- 判断是iphone或是ipad 和 系统版本
//判断是iphone或是ipad等 NSLog(@"Device -- %@",[UIDevice currentDevice].model); //系统版本 NSLog(@&q ...
- [Nuxt] Add Arrays of Data to the Vuex Store and Display Them in Vue.js Templates
You add array of todos to the store simply by adding them to the state defined in your store/index.j ...
- GTK入门学习:glade的使用
搭建好环境后,在终端敲 glade 就可以启动glade工具. glade的总体框图: 经常使用控件选择区:列举了经常使用的控件,经常使用的有三类:顶层(主窗体等).容器(各种布局容器等).控制和显示 ...
- keil出现蓝色小箭头
- outlook vba 1
- Nginx+Tomcat搭建高性能负载均衡集群的实现方法
一. 目标实现高性能负载均衡的Tomcat集群: 二.步骤 1.首先下载Nginx,要下载稳定版: 2.然后解压两个Tomcat,分别命名为apache-tomcat-6.0.33-1和apac ...
- Fragment为载体可自己主动布局的CardView(GitHub上写开源项目初体验)
转载请注明本文出自大苞米的博客(http://blog.csdn.net/a396901990),谢谢支持! 开篇废话: 前些天一直在看Android5.0 的Material Desgin,里面新增 ...