最近工作需要还是得把unity捡起来,发现了这么一个教学的网站:
Unity C# Tutorials
真的是和外面那些培训班一样的妖艳贱货完全不一样的,而且是文字加图片,基本没有视频!
我的建议是直接去这个网站学吧,我原来的回答就不用看了
<hr/>之前的回答:
瞎搞cfd了大半年以后趁还有点时间重新回来弄unity 3d,最近又有点感想顺便说一下。
很多人都说Unity 3d好上手,我也觉得用起来挺容易上手的。不过因为自己做的不是游戏,所以里面很多的功能其实都用不到。用得最多的还是physics相关的东西。因为经费所限,有时觉得干脆直接网格渲染不上贴图的了……
因为自己做的东西找不到现成的库,只能找文献看算法,然后自己想办法怎么编程序。
所以Unity 3D对我来说现在更像是一个编程环境吧,虽然目前程序全在macVim里面写。
越是学便越是觉得编程很有意思。
-------------------------------------------------
没参加过任何的培训,一没钱,二没时间
但是如果有培训机构能三个月好好讲讲基础,系统的跟着学一下当然是好的。但是这也只能是基础,培训完以后你多半是什么都不会,不过不要紧,有基础以后学起来会快很多。这就像在高中学过英语以后你肯定还是没法读懂原版外文书,就算童话都常常读个一知半解,但是肯定比没上过高中的人懂得快。
不过我怀疑会不会有踏踏实实做系统培训的机构就是了,现在我上网找资料都是直接奔教程,手册啥的都是遇到不懂才去查,培训要想受欢迎,肯定也是指向性比较强的。
而且不管是系统的培训还是专题性的培训,听完了还是不会学到什么,最后一定要自己去做才可能有收获。
unity自带了几个教程,建议你先看一下,当然首先要能上u管。里面讲的都很基础,也很有用。不建议不看教程直接把project拿过来用,也不建议随便网上找些插件七拼八凑来做,因为要搞清楚这些project,插件的结构比自己慢慢学然后再自己做更费时间。
晚上睡不着,干脆多讲一些吧,希望能对你有帮助。
之前想要做一个类似于我的世界那样的游戏,但是不知道从何下手。上网发现是用体素来做,很幸运的找到了一份教程,整个系列有8篇文章
http://studentgamedev.blogspot.com/2013/08/unity-voxel-tutorial-part-1-generating.html
(blogspot的,一样要翻墙看)
里面特意提到:新手不要直接下做好的project来看,看不懂的。
教程从最基本的四边形(quad)生成讲起(教程配图)
怎么样建立点的list,怎么样建立三角形index的list,怎么样建立uv坐标系的list,怎么样建立碰撞检测,一直到第四篇教程都还一直停留在2D而已,但是跟着做完前面四个教程,进入3d以后就发现现在不过是把之前一个面上的东西重复做6次而已。
教程的思路很清晰:首先要能把数据用六面体砖块表现出来,然后通过对数据进行操作来实现砖块的减少和增加。
本人基础比较差,所以跟着教程做的时候也反复出错(比如c#语言,一个script的命名我没有乖乖照着教程来,而是自己随便起了个名字,首字母还作死一样的小写,于是后面用GetComponent(&#34; meshgen&#34;) as meshgen就出错,改成大写以后还没法解决,后面抓狂,全部重做。(貌似把这个script删掉重新再建一个不同名字的就可以解决的了),又比如uv坐标划分一个贴图的区域的话不用局限于顺时针,逆时针也可以),这些细节,如果我之前已经学过c#,学过计算机图像的话当然有帮助,但是也不保证不会出问题。重要的是自己跟着做一次以后才会发现。
跟着教程做完以后,又试着抛开教程再做一次,然后突然觉得该从哪里下手都不知道,只能重新打开教程再看一遍,然后做一做,再看一看。反复几次以后现在总算知道这种类型的游戏各个步骤大体是怎么样的。
但是现在也只局限于知道怎么加砖块,砍砖块,如何用火烧砖块,如何做有限体积的水都还不会。
- 所以不要期待听几个月的书就能出师自己做东西了,找一个教程,跟着反复做才能学到东西。
- 自己试着做的过程中会遇到很多的bug,我试过一股脑的写很多的程序,跟着u管的视频,一边看,一边写。写完以后回去unity一看红一大片,根本没法运行。自己查错也不知道从哪里开始查。应该一小块一小块的慢慢写,写完一个功能马上回去测试一下看行不行
- 但是就算一小块一小块的写,还是会在程序越来越复杂以后出错的。因为有些bug是在某些情形下才出现,刚写完的时候不见得能测试出来。Debug.Log和Debug.DrawLine都是很有用的东西,大牛会有很多更好用的工具,但是我还是喜欢用这两个
- Log可以监测各种变量的值,就算不检测变量,至少也可以放在有问题的地方一个Debug.Log(&#34;blablabla&#34;)看看程序有没有运行到这一段
- DrawLine可以在scene视图里面绘制线条,比如你要看一个cube的运行轨迹,又或者你想判定一个cube在不在一个区域里面,但是程序始终反馈false,那你至少得先把这个区域的边描出来然后才好观察吧。另外DrawLine是有显示时间的,默认是0秒,所以如果你把Debug.DrawLine(v1,v2)放在start里面的话是啥线也看不到的,放update里面是可以,但是如果确实需要放在start里面呢,那就Debug.DrawLine(v1,v2,Color.white,100),这样就能持续显示100秒了
- Unity好歹也是个3D引擎,也是属于计算机图形的软件,计算机图形很大一部分工作就是处理vertex/edge/face/mesh/UV之类之类的,线性代数是基础中的基础。当然不是说没学过就不行,但是至少要懂一些,最少最少,点1到点2的向量是点2-点1之类的要知道吧。可汗学院或者mooc好像都有关于线性代数的教程
因为po主说0基础,恰好我也是0基础开始学的,所以话多一些,可能有很多东西po主都比我懂得多,就当看着笑笑好了 |