Unity3D入门其实很简单
在上次发布拙作后,有不少童鞋询问本人如何学习Unity3D。本人自知作为一名刚入门的菜鸟,实在没有资格谈论这么高大上的话题,生怕误导了各位。不过思来想去,决定还是写一些自己的经验,如果能给想要入门U3D的您一些启发,便再好不过了。
如何入门
谈起自己是如何入门U3D,这还得从一年半前说起。那是在一个月黑风高的夜晚...(此处省略一万字)。就这样,我对这款游戏引擎产生了浓厚的兴趣,走上了自学的道路。
相比网络上零散的教程,个人更倾向于更为系统的书籍。一番搜索后,我发现了这本《Unity 3.x游戏开发经典教程 》。
这本书中较为系统讲解了U3D的基础知识,如U3D界面,脚本,物理引擎,地形,GUI,粒子系统,动画等。然后使用这些基础知识,一步一步构建了一个小游戏。
略微遗憾的是,书中讲解的粒子系统和动画系统在新版的Unity中被对应的新系统所取代。但瑕不掩瑜,作为一本入门级的教程,她真的很成功。
还有一本另一本不错的书籍《Unity 3D游戏开发》。
这本书是国内的一位牛人写的,与上一本书有些类似,都是讲解了各个基础内容,最后构建了一个小游戏。这两本书,随便挑一本,作为入门足够了。
正如您所知道的,3D游戏的开发少不了一定的3D数学知识。在此,本人向您推荐另一本书——《3D数学基础:图形与游戏开发》。此书列出了3D游戏开发所需要了解的基本3D数学概念,也是一本很经典的教材。
当然书中的内容不可能面面俱到,有些内容不是很详细,这时候U3D官网超赞的教学视频就派上用场了。
正如,您再上图所看到的,包含了很多方面内容,尤其是其中的脚本篇,涉及到了U3D绝大多数在脚本开发中的基础知识和重点难点,如Transform,Coroutine, Vector3,Quaternion等,配合官网的脚本参考,简直无敌了。
当然了,这些视频都是用英文讲解的。此时,可能有童鞋会有羞涩地低下头:人家英语不好…相信我,这里的视频中没有很生僻的术语,没有复杂的语法。第一遍没听懂,没关系,将视频回退后继续听,多听几次,你会听懂的。
需要说明的是,官网中的视频是托放在youtube上的,可能有些童鞋访问不了,不过没关系,有好心的网友已经帮我们下载好了。
按照书中的编排顺序作为你的学习步骤,循序渐进,结合官网视频,相信你很快就会对Unity3D有了一定的了解。
之后,不妨自己试着做一个小游戏。在自己尝试的过程中,你可能会遇到许多问题。这时不要慌张,要知道,这正是提高的好机会。照着书和视频一步一步做,你可能一路很顺畅,但是记得不牢。这就是我曾经走过的弯路:看过很多视频,照着代码一点一点敲,但是在敲的过程中,没总是有思考代码为什么这么写,印象不深刻,很快就忘了。无疑这样的学习效率是很低的。而在自己尝试解决问题时,问题在你脑海中停留的时间更长,你的记忆会更加深刻。当问题解决后,你再次遇到同样的问题时,就会很顺利地解决。而解决问题的方法中,很重要的一点就是使用好搜索引擎(强烈建议使用google)。你所遇到的问题很多人之前已经遇到过了,他们提供了解决方法。你所要做的就是把它们找出来。
资料分享
最后,分享一下自己平时收集的网站、电子书和视频。
1. http://unity3d.com/learn/documentation ,官网文档,包含手册和脚本参考;
2. http://answers.unity3d.com,类似stackoverflow的技术问答网站,你的绝大多数问题都可以在这里找到答案;
3. http://unitygems.com,一个很赞的网站,里面包含很多干货,绝对的干货,强烈推荐;
4. http://youtube.com,想了想还是贴出来了,里面真的有很多牛人制作的教学视频...连不上?您自己再想想办法吧...
5. http://unitymanual.com,国内的一个Unity论坛,有很多的教学视频,插件,模型。
6. 电子书
7. 官网视频教程
结束语
相信您也看出来了,Unity3D入门其实很简单。 但您也要知道的是,要想继续深入 U3D,您需要有足够的毅力,投入更多的精力。
学习过程中可能会遇到各种各样令人头疼的问题,还是那句话,不必惊慌,这是提高的机会。无论生活还是工作,其实很多事,只要你足够想,就一定会找到解决问题的方法。试想您过往遇到的种种问题,有多少是真正无计可施的?
学习也许是一件很辛苦的事情,但收获知识绝对是一件很愉快的事,您说是吧?
希望本文对想要入门U3D的您提供一些帮助,祝您学习愉快!
Unity3D入门其实很简单的更多相关文章
- springCloud 微服务框架搭建入门(很简单的一个案例不喜勿扰)
Spring cloud 实现服务注册及发现 服务注册与发现对于微服务系统来说非常重要.有了服务发现与注册,你就不需要整天改服务调用的配置文件了,你只需要使用服务的标识符,就可以访问到服务. clou ...
- 踢爆IT劣书出版黑幕——由清华大学出版社之《C语言入门很简单》想到的(1)
1.前言与作者 首先声明,我是由于非常偶然的机会获得<C语言入门很简单>这本书的,绝对不是买的.买这种书实在丢不起那人. 去年这书刚出版时,在CU论坛举行试读推广,我当时随口说了几句(没说 ...
- [电子书] 《Android编程入门很简单》
<Android编程入门很简单>是一本与众不同的Android学习读物,是一本化繁为简,把抽象问题具体化,把复杂问题简单化的书.本书避免出现云山雾罩.晦涩难懂的讲解,代之以轻松活泼.由浅入 ...
- Redis入门很简单之六【Jedis常见操作】
Redis入门很简单之六[Jedis常见操作] http://www.tuicool.com/articles/vaqABb http://www.cnblogs.com/stephen-liu74/ ...
- 《Mysql 入门很简单》(读后感①)
下载完整版<Mysql 入门很简单>,点击这里~: http://files.cnblogs.com/files/zhengyeye/MySQL%E5%85%A5%E9%97%A8%E5% ...
- 路由其实也可以很简单-------Asp.net WebAPI学习笔记(一) ASP.NET WebApi技术从入门到实战演练 C#面向服务WebService从入门到精通 DataTable与List<T>相互转换
路由其实也可以很简单-------Asp.net WebAPI学习笔记(一) MVC也好,WebAPI也好,据我所知,有部分人是因为复杂的路由,而不想去学的.曾经见过一位程序猿,在他MVC程序中, ...
- Redis入门很简单之七【使用Jedis实现客户端Sharding】
Redis入门很简单之七[使用Jedis实现客户端Sharding] 博客分类: NoSQL/Redis/MongoDB redisjedisspringsharding分片 <一>. 背 ...
- Redis入门很简单之五【Jedis和Spring的整合】
Redis入门很简单之五[Jedis和Spring的整合] 博客分类: NoSQL/Redis/MongoDB redisnosql缓存jedisspring 在上一篇文章中,简单介绍了Jedis的 ...
- Redis入门很简单之四【初识Jedis】
Redis入门很简单之四[初识Jedis] 博客分类: NoSQL/Redis/MongoDB redisnosql缓存jedis 使用Jedis提供的Java API对Redis进行操作,是Red ...
随机推荐
- apache相关配置
PHP配置 php.ini-development:开发时的php.ini配置 php.ini-production:项目运行时的php.ini配置 复制php.ini-development文件到C ...
- Linux 系统目录结构(转)
登录系统后,在当前命令窗口下输入命令: ls / 你会看到如下图所示: 树状目录结构: 以下是对这些目录的解释: /bin:bin是Binary的缩写, 这个目录存放着最经常使用的命令. /boo ...
- 剑指OFFER之二叉搜索树与双向链表(九度OJ1503)
题目描述: 输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表.要求不能创建任何新的结点,只能调整树中结点指针的指向. 输入: 输入可能包含多个测试样例.对于每个测试案例,输入的第一行为一个数 ...
- oracle将一个表中字段的值赋值到另一个表中字段(批量)
面积表中数据错误,现将面积表中的sfmj字段的值改为居民信息表中匹配字段的值 update (select s.name name1,s2.name name2 from simple s,simpl ...
- Codeigniter MongoDB扩展之使用Aggregate实现Sum方法
本篇文章由:http://xinpure.com/codeigniter-mongodb-extension-using-aggregate-sum-method/ Codeigniter Mongo ...
- 建立第一个wcf程序
使用管理员权限启动vs (否者将导致ServiceHost开启失败 权限不足) 1.创建一个空的控制台程序 2.添加程序集引用 System.ServiceModel 3.写入一些代码 如下 usin ...
- python selenium--常用函数1
新建实例driver = webdriver.Chrome() 1.通过标签属性Id查找元素 方法:find_element_by_id(element_id) 实例:driver.find_elem ...
- LinkedList的一种错误使用方法
近期在做图像处理的时候.发现某一段代码很的慢.慢得让人无法接受.基本的代码是顺序訪问一个LinkedList的元素,效果是随着index的变大,速度越来越慢,list的元素个数在百万以上.找到原因,分 ...
- php对二维数据进行排序
PHP一维数组的排序可以用sort(),asort(),arsort()等函数,但是PHP二维数组的排序需要自定义. 方法一:(经验证,成功) 作用:对二维数组进行指定key排序 参数:$arr ...
- Codeforces 455C Civilization(并查集+dfs)
题目链接:Codeforces 455C Civilization 题目大意:给定N.M和Q,N表示有N个城市,M条已经修好的路,修好的路是不能改变的.然后是Q次操作.操作分为两种.一种是查询城市x所 ...