在上次发布拙作后,有不少童鞋询问本人如何学习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入门其实很简单的更多相关文章

  1. springCloud 微服务框架搭建入门(很简单的一个案例不喜勿扰)

    Spring cloud 实现服务注册及发现 服务注册与发现对于微服务系统来说非常重要.有了服务发现与注册,你就不需要整天改服务调用的配置文件了,你只需要使用服务的标识符,就可以访问到服务. clou ...

  2. 踢爆IT劣书出版黑幕——由清华大学出版社之《C语言入门很简单》想到的(1)

    1.前言与作者 首先声明,我是由于非常偶然的机会获得<C语言入门很简单>这本书的,绝对不是买的.买这种书实在丢不起那人. 去年这书刚出版时,在CU论坛举行试读推广,我当时随口说了几句(没说 ...

  3. [电子书] 《Android编程入门很简单》

    <Android编程入门很简单>是一本与众不同的Android学习读物,是一本化繁为简,把抽象问题具体化,把复杂问题简单化的书.本书避免出现云山雾罩.晦涩难懂的讲解,代之以轻松活泼.由浅入 ...

  4. Redis入门很简单之六【Jedis常见操作】

    Redis入门很简单之六[Jedis常见操作] http://www.tuicool.com/articles/vaqABb http://www.cnblogs.com/stephen-liu74/ ...

  5. 《Mysql 入门很简单》(读后感①)

    下载完整版<Mysql 入门很简单>,点击这里~: http://files.cnblogs.com/files/zhengyeye/MySQL%E5%85%A5%E9%97%A8%E5% ...

  6. 路由其实也可以很简单-------Asp.net WebAPI学习笔记(一) ASP.NET WebApi技术从入门到实战演练 C#面向服务WebService从入门到精通 DataTable与List<T>相互转换

    路由其实也可以很简单-------Asp.net WebAPI学习笔记(一)   MVC也好,WebAPI也好,据我所知,有部分人是因为复杂的路由,而不想去学的.曾经见过一位程序猿,在他MVC程序中, ...

  7. Redis入门很简单之七【使用Jedis实现客户端Sharding】

    Redis入门很简单之七[使用Jedis实现客户端Sharding] 博客分类: NoSQL/Redis/MongoDB redisjedisspringsharding分片 <一>. 背 ...

  8. Redis入门很简单之五【Jedis和Spring的整合】

    Redis入门很简单之五[Jedis和Spring的整合] 博客分类: NoSQL/Redis/MongoDB redisnosql缓存jedisspring  在上一篇文章中,简单介绍了Jedis的 ...

  9. Redis入门很简单之四【初识Jedis】

    Redis入门很简单之四[初识Jedis] 博客分类: NoSQL/Redis/MongoDB redisnosql缓存jedis  使用Jedis提供的Java API对Redis进行操作,是Red ...

随机推荐

  1. 《暗黑世界V1.4》API说明文档

    <暗黑世界V1.4>API说明文档 阵法位置示意图 上方:                        下方:      账号注册   100 请求信息 { username   str ...

  2. nginx做正向代理(Centos7,支持http和https)

    默认的情况下,使用nginx做正向代理可以解析http请求, 对于诸如baidu.com这样的https请求,nginx默认并不支持,不过我们可以借助第三方模块来实现. 1.先说默认情况下的代理配置 ...

  3. Ubuntu 18.04修改IP地址

    注:配置/etc/network/interfaces已无用 root@ubuntu:~# vim /etc/netplan/50-cloud-init.yaml network: ethernets ...

  4. mysql课程记录

    thread_pool可以使用Percona的版本和Mariadb的版本  都是支持的  主从切换是根据HA的方式,TDDL(Taobao Distribute Data Layer) 的方式的话,推 ...

  5. Telnet使用

    #使用telnet telnet #使用telnet,并连接到[ip] [port] telnet [ip] [port]     baidu zone - telnet使用方法

  6. python--文件处理范例

    import os,os.path,string dir="D:\\curl\\data" if (os.path.exists(dir)==False): print " ...

  7. oracle 复杂的查找用法

    [第一题]: 找到员工表中工资最高的前三名,要求按如下格式输出(第一步部分):以及oracle查询结果指定分页显示的方法(第二部分). ——涉及Top-N分析问题. 一般不在子查询中使用order b ...

  8. 使用DataAdpater自动批量更新DataSet中的数据到数据库

    使用DataAdpater的批量更新,好处是不用写具体的sql脚本,尤其是做web服务这个优势非常吸引人. [WebMethod(Description = "Update服务提供的方法,将 ...

  9. php里面的编码问题

    1 获取当前字符串的编码 $encode = mb_detect_encoding($str, array("ASCII",'UTF-8',"GB2312",& ...

  10. navigate

    一.router.navigate的使用 navigate是Router类的一个方法,主要用来跳转路由. 函数定义: ? 1 navigate(commands: any[], extras?: Na ...