怎么规划一个零基础学习Unity3D的“方法”或者“流程”?
链接:https://www.zhihu.com/question/35542990/answer/182682341
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
学习分为4个阶段
一、朦胧期
这个阶段你主要是在朦胧中度过,通常脑子里想的就是,卧槽,这特么是啥?卧槽,这特么又是啥?你看着命令行里面的HelloWorld静静的发呆,第一次能完全打出来的时候脸上会露出 “四国以 ”的表情。这个阶段你需要做的就是和命令行和编译死磕,不断的做练习,将你在视频上看到的那些小例子统统用代码实现,Siki的C#基础入门视频有部分的练习题,但是还远远不够,有的时候你想到一些问题的时候,也应该习惯性的联系到代码上面,例如说用代码做一个电视遥控器的按键效果,自己给自己架设问题,尝试去解决。这个阶段是整体步骤中最长的一个。C#是驾驭Unity的缰绳,打基础这项对于零基础学习的同学是至关重要的。
推荐教程: Siki C#教学视频
二、学步期
有了C#的基础能在后面的引擎学习中有什么用处呢?答:用处不大。那为什么还要那么注重C#基础语言呢,因为语言是贯穿整个引擎一生的必要之物,但是在引擎学习中,主要学习的是引擎中组件和相关功能的用法,和处理问题的思维。比如说,更改一张Image的Color,你要做的首先是要获取到Image,然后通过更改其color属性为自己想要的颜色。说起来很简单但是刚开始进行操作的时候,连怎么获取都是通过在Inspector面板里直接拖取进行获得,此时多学习一些相关的API就完全有必要了。另外,通过几个简单的Demo也能够让自己对这个引擎的运作更感兴趣(或者摧毁掉这份兴趣),建立起后面的学习信心。
推荐教程:飞机大战,噩梦射手
PS:这里要注意的是一定要养成一个写笔记的习惯,笔记可以边写边记,也可以完成项目之后进行总结,但是一定要去写,写关于某个组件的使用,或者是问题的处理逻辑,对后面举一反三能力的培养至关重要。
三、开化期
经过简单的几个小Demo,你已经能够正常的GetComponent或者调用一些简单的API 了。但是你的手段仍然略显稚嫩,而这个阶段所需要的就是对更多的组件进行认识,同事编写一些难度高一些的逻辑问题,在潜行里面,有一段关于机器人AI算法的部分,当时在写这里的时候,异常的痛苦,并且在写完之后迅速的就忘了视频上所讲的一些细节。怎么办??重新写,当时我的做法是把脚本删掉,按照笔记上整理的思路,重新把脚本写出来。虽然可能对当时的我来说有些困难。但是坚持下来发现,效果很好,最起码相关的组件和思路能够记得牢固。我甚至现在还能记得当时相关计算部分的细节。另外,在这个阶段,你能更多的接触到关于Bug的类型。空指针、索引越界等等等等。处理bug的经验才是程序员最宝贵的财富(大雾)。而之前所说过关于思路的整理,对于项目的帮助也是非常重要的一部分,记得在潜行里有一个关于呼吸灯(红灯闪烁)的效果,那是第一次接触到Lerp,后面只要是遇到关于逐渐、跟随等字眼,第一个想到的自然就是Lerp
推荐教程:炉石传说、潜行、逃离地球、Ugui基础
四、入门期
这个阶段你已经有了一定的积累,学会了不少的API,也不是原来的小白了,现在你要做什么呢?现在要做的就是做一个更大的项目来充实自己,不断的强化,多方面,无死角的折磨自己,让更多的bug对自己进行轰炸,让自己的精神受到折磨,因为自己很小的疏忽导致整个项目崩溃,从而再来一遍。如果说bug没有折磨疯你,大量的UI没有把你的眼睛弄花,对狗屁算法能够无所畏惧,大量的组件功能也没有把你击垮,那么恭喜你,终于迈出了最后一个阶段,你,终于入门了,欢迎来到Unity的世界,我的朋友。
推荐教程:火炬之光,泰斗破坏神
总结:从零开始学习Unity本来就是一件非常艰苦的事情,大致归结下来的流程就是
1.C#基础,小的练习和训练。
2.Unity基础,包括引擎知识和组件运用
3.Unity提升,基础的算法和大量API,以及Bug修正
4.Unity入门,积累,积累,积累。Bug,Bug,Bug。
之所以说到帖子结尾才是刚刚入门,那是因为之前无论写了多少代码,看了所少视频都是有一定模板去让你跟随,去模仿的,但是进了公司之后,发现之前写的代码根本没有什么难度。而且对你的要求也是更为独立的去完成某一模块,你只能是不断的积累,去修正,去学习。只有日复一日的去写代码才能提高到更高的高度,卖油翁那句话怎么说来着?
无他,唯手熟尔。
怎么规划一个零基础学习Unity3D的“方法”或者“流程”?的更多相关文章
- 跟我从零基础学习Unity3D开发--NGUI入门基础
英雄联盟(撸啊撸) QQ飞车 魔兽世界等等相信大家都玩过游戏吧,玩过那UI知道是什么吧?UI可能说得有点专业的话那么游戏中那些属性面板例如: 现在对UI有一定认识了吧!回想一下您玩过的游戏就一定知道什 ...
- 跟我从零基础学习Unity3D开发--U3d脚本注意事项及两个基本函数的简单介绍
经过上一篇的学习,我相信开发环境您已经搭好了,如果还没有搭好可以百度一下. 今天主要讲的有以下几点: 第一:Unity3D中的C#脚本与.net中的C#写法的区别 1.Unity3D C#脚本不支持命 ...
- 跟我从零基础学习Unity3D开发--初识U3D
首先声明,我也是才开始学,把自己学的记录下来也供一些想要学习的朋友参考,一起努力.希望大家能给我指点一下.切莫喷我. 什么是Unity3d呢? 百度百科------Unity是由Unity Techn ...
- 跟我从零基础学习Unity3D开发--资源打包篇(AssetBundle)
好久没更新了,一直在加班敢项目进度.这里和关注我的博客的童鞋表示一下歉意!这里有我录的Unity3D从零开始的视频教程大家可以关注一下:http://www.imooc.com/view/555 视 ...
- 跟我从零基础学习Unity3D开发--Unity3D开发必备神器(Visual Studio Tools for Unity)
开发Unity3D程序你用的什么IDE呢? 1.MonoDevelop 2.VS 可能你的回答是这样的,我用的vs写代码MonoDevelop来做调试.这时有同学就会反驳了傻X不知道用unityVS吗 ...
- 零基础学习python_魔法方法(41-48课)(迭代器)
接下来这个为啥要叫魔法方法呢,额,这个嘛我是跟小甲鱼的视频取的名字一样的,因为会讲比较多杂的东西,有... 魔法方法详细阅读地址:http://bbs.fishc.com/thread-48793-1 ...
- [iOS]关于零基础学习iOS开发的学习方法总结
关于零基础学习iOS开发的学习方法总结 最近很多零基础来参加蓝鸥培训的学生经常会问到一些学习方法的问题,就如下我自己见过的好的学习方法一起讨论一下. 蓝鸥iOS开发技术的学习路线图 程序员的主要工作是 ...
- 如何从零基础学习VR
转载请声明转载地址:http://www.cnblogs.com/Rodolfo/,违者必究. 近期很多搞技术的朋友问我,如何步入VR的圈子?如何从零基础系统性的学习VR技术? 本人将于2017年1月 ...
- salesforce 零基础学习(五十二)Trigger使用篇(二)
第十七篇的Trigger用法为通过Handler方式实现Trigger的封装,此种好处是一个Handler对应一个sObject,使本该在Trigger中写的代码分到Handler中,代码更加清晰. ...
随机推荐
- jq-demo-楼梯效果
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- re.match与re.search的区别
re.match与re.search的区别 re.match只匹配字符串的开始,如果字符串开始不符合正则表达式,则匹配失败,函数返回None:而re.search匹配整个字符串,直到找到一个匹配. 实 ...
- webstorm常见快捷方法与遇到的一些问题
1.动态添加标签快捷写法 例子:生成10个文字按顺序编号的class为task-item的div 2.win10下webstorm的terminal无法输入? 打开一个 cmd.exe,标题栏 右键 ...
- 使用GDI+绘制的360风格按钮控件
将下面的代码拷贝到一个单元中,创建一个包,加入这个单元后安装.使用的时候设置好背景颜色,边框颜色,图标(png格式)相对路径的文件名称.这个控件可以利用PNG图像的颜色透明特性,背景色默认透明度为50 ...
- NX二次开发-time.h获取计算机本地时间
NX9+VS2012 #include <stdio.h> #include <time.h> char *wday[] = { "Sun", " ...
- P1650 赛马
P1650 赛马 题目描述 我国历史上有个著名的故事: 那是在2300年以前.齐国的大将军田忌喜欢赛马.他经常和齐王赛马.他和齐王都有三匹马:常规马,上级马,超级马.一共赛三局,每局的胜者可以从负者这 ...
- hive简述
显示表头,当前终端有效 set hive.cli.print.header=true; 查看表结构 desc table; 详细的表结构 desc formatted table; 删除表 drop ...
- C89,C99: C数组&结构体&联合体快速初始化
1. 背景 C89标准规定初始化语句的元素以固定顺序出现,该顺序即待初始化数组或结构体元素的定义顺序. C99标准新增指定初始化(Designated Initializer),即可按照任意顺序对数组 ...
- RHEL7更换yum源
1,删除注册和订阅提示 查找subscription-manager相关组件: rpm -qa | grep subscription-manager 删除subscription-maanager相 ...
- oracle 管理表空间
表空间:是oracle数据库中最大的逻辑存储结构,与操作系统中的数据文件相对应,用于存储数据库中用户创建的所有内容 表空间>数据文件 4.1创建一个永久性表空间myspace create ta ...