【Unity3D基础教程】给初学者看的Unity教程(零):如何学习Unity3D
作者:王选易,出处:http://www.cnblogs.com/neverdie/ 欢迎转载,也请保留这段声明。如果你喜欢这篇文章,请点推荐。谢谢!

Unity3D有什么优势
Unity3D是一个跨平台的游戏引擎,如果您开始看这篇博客的话,你一定实在权衡学习或者使用哪种游戏引擎来开发您的游戏,就我的观点来看,你不用再犹豫了,直接下载Unity3D开始学习吧!
Unity3D的优势有以下几项:
部署简单
相比Cocos2d-x,OGRE等引擎,对于新手非常友好的一点就是其部署超简单,并且还自带了一个IDE:MonoDevelop,只要按下install,之后的创建新项目,多平台打包等等操作均可以在编辑器里面直接完成。另外,Unity的中间件均可打包成unitypackage进行发布,插件的部署也是最简便的。
完整的技术栈
相比其他游戏引擎,Unity最大的特点就是形成了一个成规模的插件市场,在此基础上,Unity具有相当多的中间件,可以大大加快独立开发者和公司的开发进度,如下图:

活跃的社区和Wiki
Unity的社区是当前各种游戏开发社区中最活跃的,这点可以从知乎上的Unity3D话题的关注人数看出,也可以从百度指数的游戏引擎对比看出。
C#作为脚本支持
C#作为脚本可以在编程效率和运行效率之间取得比较好的平衡,如果你用过 C#的话,你一定很快就会喜欢上这门语言。况且使用C#也是报上了微软的大腿,今后的微软一系列新鲜技术也很有可能会和Unity搭配得当。(比如HoloLens)
如何学习Unity3D
最近在知乎和微博上经常有人问我如何开始学习Unity3D,在我看来,这样分为几个阶段:
- 初学者,先从Unity官网的视频开始看起,地址在此,跟着视频做出你的第一个游戏吧,所有的资源,代码在Asset Store都可以下载到。
- 熟练者,关注Unity圣典和Unity User Manual,在这一阶段,要把在第一阶段所忽略的内容进行选择性的补充学习。
- 进阶者,关注Unity社区,Unity Answers,Unity Wiki和知乎的Unity板块,在这一阶段,要对Unity的各种细节问题,优化,底层原理和新的技术方案都要进行思考和学习。在以上几个模块中,知乎的Unity板块尤其值得关注,干货满满而且都是中文,建议通读。
在紧接者这一阶段,你才可以对一些中间件进行学习,具体学习什么样的Asset,还要由你的项目需求决定,不过无论如何还是推荐学习这几个Asset:Behavior Designer(AI), DoTween(Tween动画), PlayMaker(可视化编程),Shader Forge(可视化的Shader编写)和Elementals(粒子特效)。
当你将进阶者的学习内容完成之后,你就已经是一个合格的Unity工程师了,开发一个游戏对你来说不再是一个问题,各种工作也是手到擒来。
如果你还觉得不过瘾的话,就可以尝试反编译一些市面上流行的Unity3D游戏来获取代码,毕竟真实生产环境中的代码才是最值得深入研究的,在这部分我还是要推荐啪啪三国的代码,相当整洁。
【Unity3D基础教程】给初学者看的Unity教程(零):如何学习Unity3D的更多相关文章
- 【Unity3D基础教程】给初学者看的Unity教程(四):通过制作Flappy Bird了解Native 2D中的RigidBody2D和Collider2D
作者:王选易,出处:http://www.cnblogs.com/neverdie/ 欢迎转载,也请保留这段声明.如果你喜欢这篇文章,请点[推荐].谢谢! 引子 在第一篇文章[Unity3D基础教程] ...
- 【Unity3D基础教程】给初学者看的Unity教程(一):GameObject,Compoent,Time,Input,Physics
作者:王选易,出处:http://www.cnblogs.com/neverdie/ 欢迎转载,也请保留这段声明.如果你喜欢这篇文章,请点推荐.谢谢! Unity3D重要模块的类图 最近刚刚完成了一 ...
- 【Unity3D基础教程】给初学者看的Unity教程(五):详解Unity3D中的协程(Coroutine)
作者:王选易,出处:http://www.cnblogs.com/neverdie/ 欢迎转载,也请保留这段声明.如果你喜欢这篇文章,请点[推荐].谢谢! 为什么需要协程 在游戏中有许多过程(Proc ...
- 【Unity3D基础教程】给初学者看的Unity教程(七):在Unity中构建健壮的单例模式(Singleton)
作者:王选易,出处:http://www.cnblogs.com/neverdie/ 欢迎转载,也请保留这段声明.如果你喜欢这篇文章,请点推荐.谢谢! 该博客中的代码均出自我的开源项目 : 迷你微信 ...
- 【Unity3D基础教程】给初学者看的Unity教程(六):理解Unity的新GUI系统(UGUI)
作者:王选易,出处:http://www.cnblogs.com/neverdie/ 欢迎转载,也请保留这段声明.如果你喜欢这篇文章,请点推荐.谢谢! 理解UGUI的基础架构 UGUI是Unity在4 ...
- 【Unity3D基础教程】给初学者看的Unity教程(三):通过制作Flappy Bird了解Native 2D中的Sprite,Animation
作者:王选易,出处:http://www.cnblogs.com/neverdie/ 欢迎转载,也请保留这段声明.如果你喜欢这篇文章,请点[推荐].谢谢! 引子 上一次我们讲了MonoBehaviou ...
- 【Unity3D基础教程】给初学者看的Unity教程(二):所有脚本组件的基类 -- MonoBehaviour的前世今生
作者:王选易,出处:http://www.cnblogs.com/neverdie/ 欢迎转载,也请保留这段声明.如果你喜欢这篇文章,请点[推荐].谢谢! 引子 上一次我们讲了GameObject,C ...
- unity3d教程-01-安装及使用Unity
我们前往unity官网:https://unity3d.com/cn/ 选择下载个人版,免费使用,功能齐全,就是在应用启动时有unity的动画 支持正版从我做起 整个安装过程需要网络的支持 下载安装程 ...
- 时光煮雨 Unity3D让物体动起来③—UGUI DoTween&Unity Native2D实现
本文首发蛮牛,次发博客园.接系列 第一篇,第二篇,本文为第三篇,再次感谢“武装三藏”在前两篇无私且精彩的问题解答 写在最前,时光煮雨,为了怀念 以下引用曾今读过的一些教程文章 其实这3种动画都有它特定 ...
随机推荐
- 转!!log4j基础
log4j组件介绍 Log4j主要有三个组件: Logger:负责供客户端代码调用,执行debug(Object msg).info(Object msg).warn(Object msg).erro ...
- Python_Day1_基础1
一. Python介绍 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为AB ...
- 用sqlplus为oracle创建用户和表空间<转>
用Oracle10g自带的企业管理器或PL/SQL图形化的方法创建表空间和用户以及分配权限是相对比较简单的,本文要介绍的是另一种方法,使用Oracle 9i所带的命令行工具:SQLPLUS来创建表空间 ...
- 【转】 深入main函数中的参数argc,argv的使用详解
C/C++语言中的main函数,经常带有参数argc,argv,如下: 复制代码 代码如下: int main(int argc, char** argv) 这两个参数的作用是什么呢?argc 是指命 ...
- Visual Studio 如何恢复默认设置
我们在使用 Visual Studio 的时候,常常有一些窗口不见了又弄不回来的情况,如何恢复默认设置呢? 1.点击“开始-->程序-->Microsoft Visual Studio20 ...
- dpkg命令的用法
dpkg 是Debian package的简写,为”Debian“ 操作系统 专门开发的套件管理系统,用于软件的安装,更新和移除. 所有源自"Debian"的Linux的发行版都使 ...
- mac os 中类似于Linux的yum工具,或ubuntu的apt-get工具Homebrew
Linux下的yum用着真省心! mac下的相类似的软件是Homebrew 使用前需要先安装它, ruby -e "$(curl -fsSL https://raw.githubuserco ...
- GCC选项 –I,-l,-L
-I:指定第一个寻找头文件的目录 -L:指定第一个寻找库文件的目录 -l:表示在库文件目录中寻找指定的动态库文件 例: gcc –o hello hello.c –I /home/hello/incl ...
- 1410. Crack
http://acm.timus.ru/problem.aspx?space=1&num=1410 题目倒是不难,水题DP 就是题意理解起来有点困难,意思就是给你一段话,提取里面的单词 单词有 ...
- Get请求编码
遇到get请求中文编码的时候,有的人会采用在Tomcat/conf/server.xml中的如下添加一句: <Connector port="8080" protocol=& ...