unity3d 学习_unity3d学习 - CSDN
  • Unity3D学习路线与学习经验分享//最后一次更新为2019.7.22日,更新了一些废掉的链接 作者:15游02 丁祺 你好,这篇文档是我的导师孙老师(以下简称老孙)指名我 书写给新手、初学者以及技能有些许缺陷的人的一篇...

    Unity3D学习路线与学习经验分享//最后一次更新为2019.7.22日,更新了一些废掉的链接

    作者:15游02 丁祺

    你好,这篇文档是我的导师孙老师(以下简称老孙)指名我 书写给新手、初学者以及技能有些许缺陷的人的一篇经验分享的文档,当然如果你看到了这些文字,代表着你是一个有意愿或期望去学习这款软件的人。因人与人之间有很多的不同,以下我会尽我所能,通过不同切入点与角度,并根据以上人群的不同技术程度,来帮你提升你的技术实力,我会在结尾留下我的联系方式,有兴趣的话可以联系我。那接下来我就分享一下我的学习经验。

    写给新手与初学者:

    你在准备开始学习这款软件之前,可能经常会听周围的人说,“英语很重要,如果不会英语,程序是学不会的”,“学程序,就又得背单词了”,“C语言都没学好,不可能搞得懂Unity3D的”...等等这一些容易影响心态的话。我认为,学这个,开局最重要的并不是疯狂翻书疯狂看视频直接拿来就学,而是——消除恐惧,消除对程序,对Unity3D“高大上”的感觉。

    所以学Unity3D需要英语吗?

    那?你觉得什么程度才是会英语呢?我分享两个链接给你,这是英文演讲与纯英文文档的网页链接,如果有兴趣测试一下自己的英语实力的可以打开看一下。

    【Unite 2018 柏林大会】完整版录像

    https://www.bilibili.com/video/av25266964?from=search&seid=16153052159950265652

    Unity3D官方API文档

    https://docs.unity3d.com/Manual/index.html?_ga=2.153078527.776856565.1539157046-412574144.1536670294

    对于我来说,如果你能听懂英文技术演讲录像,能看懂英语技术文档才能被称之为会英语,反之则不会,我觉得不能为你解决实际问题的技能根本不能称之为会,只是在浪费时间而已。简单说,如果你想靠Unity3d这个东西吃饭,并不需要英语水平,你不需要刻意 去记忆英文语句,按照我的话讲,纯英语界面的Unity3d,抄它的界面就好了,界面没有的,去网上找对应的功能,并抄在笔记上,下次用的时候直接去翻就足够了(如果你想尽快提升能力的话,我建议千万不要去记,用的时候直接去翻看笔记就好了,在大量的练习中,你的大脑就会自然而然的记住这些代码,我就是这样的)。

    当然了,如果你想成为界内大牛,你就必须会英语了,毕竟这是老外的东西,学会英语可以帮你打开一扇新的窗户。不过你现在的英语实力绝对绝对足够去学习这款软件了。

    C语言学的差,会不会差很多啊?

    会C语言与不会C语言的人,同时学Unity3D中的C#的学习速度,是有区别的,毕竟他们两种语言之间还是有一些共同的部分的,但达不到很多,这种程度。但与其你自己纠结 这个问题,不如问问自己愿意付出多少学习能力在这个上面。每个人都拥有清华北大学生的学习力,只是愿意付出的量不同而已,想学就一定不会差

    “我感觉Unity3D就是一个小学生引擎,画质贼差,感觉学起来没什么意义,还不如去学虚幻呢。”

    相同场景下 虚幻4 VS Unity 5

    https://www.bilibili.com/video/av17956467/?spm_id_from=333.338.recommend_report.2

    如果你有这种感觉的话,推荐试一下《崩坏3》手机游戏与腾讯的《逆战》电脑游戏;

     

    总之Unity3d只是个工具,做出来的东西的好坏,取决于用的人,就像你打游戏,如果你技术不好,再版本强势的英雄,你也没法单人打上最强王者。

     

     

    如何开始学习Unity3d?

    我要变学霸_如何写笔记?How I Take Notes

    https://www.bilibili.com/video/av10395257

    在开始学习之前,你需要一个笔记本,推荐活页的,就是那种可以拿下来单页的那种,他就是你以后学习时,你大脑的硬盘,笔记法同时适用于世界上的全部科目。具体怎么写笔记我就不说了,只需要记住两点:

    1. 千万别自以为是的认为自己的脑子很好使,你不是机器,写笔记,必须且一定要写,不然,重复查找自己找过的知识点的时候,你的心态会受到影响,且会浪费大量的无用时间,而且千万别用电子版,记录电子笔记的时候会勾起你ctrlC+V的欲望,表面看,你节约了半分钟打字时间,可你没有经过你大脑思考的这一步骤,会严重影响你的记忆,而且电子版无法像纸质笔记本那样粘书签,翻看会非常麻烦,相信我,多动手写几个字而已,不会要人命的。
    2. 写知识点的时候千万千万别抄别人教给你的话,(1)一定要尽可能的精简,(2)并尽一切可能用自己的语言表达,然后把自己的话记录到笔记本上,否则你就是白写,没有任何意义。

     

    开始学习Unity的几种方向(热手用的入门期,熟悉者可以跳过)

    以下我会给你列举几个我个人推荐的开始学习Unity的几个入口,当然你在学习这些东西的时候,不要忘了听课(课上尽量不要跟着敲代码,敲代码会一定程度的影响你的注意力,而是听出老师讲课的核心,并把核心知识转换成自己的话,写在笔记本上);你可以根据自己的兴趣,与自己大脑的记忆习惯来选择,从哪个位置进入。这几个入口是没有优劣的。不用觉得哪个入口高大上,重要的是,这个入口是否适合你自己,如果发现听不懂,认真再听一遍,如果还是不会,直接跳过。不过在学习期间,你是没精力玩游戏的,记得删掉你手机与你电脑里的游戏,等你自己的Unity技术足够养活自己了以后,再用Unity给你赚来的钱,充到游戏里做个天选之人吧。

    以下全部视频我都看过,你大可不必担心视频的质量(我个人在看视频学习的时候,会同时播放一些没有人声的轻音乐,来降低困意)

    1、暂时比较厌恶或者恐惧代码,以及零基础的人

    傅老师的Unity3D教学 //这里傅老师的原视频被收购,所以他近期刚刚新出了一套新鲜的视频,供大家使用

    https://www.bilibili.com/video/av57479723

    这个系列是通过插件的方式,来尽量绕开代码这个大难题的(当然不代表完全没有),让你在不太了解代码的情况下就可以基本操作Unity,并且可以做一点东西出来,他还在这个系列里教学了插件画面美化,通过点击的方式就可完成3A画面的特效处理。

     

    2、传统的教学方式:

    这个入口主要是以不断完成微型小游戏的一种路线,有一点点难度,推荐了解一些些C语言或其他编程语言的人进入

    Unity零基础入门 - 打砖块 http://www.sikiedu.com/course/77

    零基础入门Unity - 古迹探险 http://www.sikiedu.com/course/84

    Unity5.2入门课程 - 进入Unity开发的奇幻世界 http://pan.baidu.com/s/1mhDZO7m

    Unity中的C#编程 - 零基础(Unity 2017) http://www.sikiedu.com/course/83

    第一季 C#编程初级教程 链接:https://pan.baidu.com/s/1nwGyGDN 密码:memt

    UGUI - Unity 5.1超强UI案例学习 http://pan.baidu.com/s/1qYENTW4

    这个系列使用比较传统的教学顺序,来熟悉Unity操作的。

     

    3、相比视频更喜欢看书:

    《Unity游戏设计与实现 南宫梦一线程序员的开发实例》(绿色的书)   第0章

     

    《Unity 5.X从入门到精通》  Unity官方制作,精品中的精品(这本书包含了入门期开始到精通这款引擎的几乎全部内容,如果你打算看这本书,坚持从头看到尾吧。

     

    要尽早结束入门期,毕竟入门期只是用于热手。

     

    正式学习期

    入门期结束后,就要正式开始学习Unity了,以下为必学项,每个视频后我都会写上我认为必学的理由,我会尽量解释清楚推荐的理由,不会让你带着“我擦学这有啥用啊”之类的想法去看的。

    以下视频我会分成块,你看的时候,各模块之间看的顺序可以随你兴趣,但所有的视频内容都必须认认真真看完。(此清单的部分内容来自于SIKI的A计划学习路线的加工整理版本)

     

    代码部分(代码,与外语一样,都是一门语言,都是用于交流的工具,只不过外语是跟人交流,而代码是跟机器交流的,学会了代码你才能真正开始控制电脑,让他帮你工作;放心,代码是世界上最简单的外语,比学英语相比不知道简单了多少倍。)

    第一季 C#编程初级教程(基础代码部分,这其中大部分都跟C语言,Java相同,已经学过的可以快进着看) https://pan.baidu.com/s/1nwGyGDN 密码:memt

    第二季 C#编程中级教程(略微提升了点难度,但其中的内容都很常用。学这个的时候会有一种完全不知道这破玩意有什么用的感觉,没事这是正常现象,不用太担心,做好笔记,当你完全理解了面向对象以后就明白了) https://pan.baidu.com/s/1htLYalI 密码:78zv

    Unity API常用方法和类详细讲解(API是Unity这个引擎提供给你的“工具”,这部视频干货特别特别多,不要用脑子记,但千万记住,一定要在做好笔记的同时,理解每一条API的大致意思。这是Unity最最最核心的部分,你以后的学习和工作中会天天用到这部分的内容。) http://www.sikiedu.com/course/59

     

    物理系统(因为现实中的真正真实的物理,实在是太难模拟了(想象一下摩擦力),所以程序员使用了“碰撞器”,来大致模拟现实中的物理效果(如你去台球厅打球,人用球杆用力击打白色球,这个球撞到其他球时,可以打飞其他球。这种“打飞”其他球的效果使用了碰撞器来实现。))

    Unity官方教程-3D物理系统-中文版 (这段视频中的难度是逐渐上升的,先看懂前4 课,可以不用强迫自己一口气看完) https://space.bilibili.com/28562838/#/channel/detail?cid=30384

     

    UI部分

    UI是我认为的Unity中最简单最容易上手的一部分了,基本不需要写任何代码,拖拖拽拽很容易就OK了。(可能有人听过NGUI,我简单解释一下,NGUI是过去人们用的非Unity官方制作的UI系统,现在已经不像过去那么流行了,个人不建议学习,当然,有兴趣者可以看看,不过UGUI一定要会)

    UGUI - Unity 5.1超强UI案例学习 http://pan.baidu.com/s/1qYENTW4

     

    动画系统(如果你不希望你做出来的游戏都是一堆不会动的“僵尸”,就好好学这的内容。这里放上的视频链接为3D模型的动画系统)

    需要学习的量有点大,有一定难度。不过我还是那句话,不要用脑子记,抄笔记。

     

    Unity中的动画系统和Timeline(Unity2017) http://www.sikiedu.com/course/82

     

    光照系统 (不过多解释)

    [傅老師/Unity教學] 30 - 3種烘焙光照模式(Baked Lighting)

    https://space.bilibili.com/211153830/#/video?tid=0&page=5&keyword=&order=pubdate

    [傅老師/Unity教學] 渲染相關知識 - 01 基礎渲染步驟

    https://www.bilibili.com/video/av17250027

    [傅老師/Unity教學] 渲染相關知識 - 02 室內光影基礎實驗

    https://www.bilibili.com/video/av18330502

    [傅老師/Unity教學] 渲染相關知識 - 03 用一顆石頭架場景!! 室外光影基礎實驗

    https://www.bilibili.com/video/av18442018

     

    粒子系统(这里我就不多解释什么是粒子系统了,打开视频链接,自己看吧)

     

    Unity官方最新粒子特效素材包视频 https://www.bilibili.com/video/av31104362?from=search&seid=10690239211286766965

     

    顺便在此推荐一下上传这个视频的B站UP主Shallot夏洛特,他的个人空间经常会上传一些关于Unity新奇功能的教程。想长期学习Unity的话,推荐关注一下他的动态。

     

    Unity中的Shuriken粒子系统(Unity2017)入门级教程(想深入学习粒子的就去网上查吧)

    http://www.sikiedu.com/course/79

     

     

    DOTween动画插件

    这个插件是所有插件中,唯一的一个我建议你必学的插件。这个插件是用来制作物体的移动(从一个位置移动到另一个位置的动画),UI的移动(从 一个位置移动到另一个位置的动画)从一个颜色渐变到另一个颜色(从一个颜色变换到另一种颜色的动画)的一种便利性的插件。嗯?没听懂?

    DOTween

    链接:https://pan.baidu.com/s/1i6Ud2XB 密码:6amf

     

    项目制作教程(知识学累了吗?想实际做做项目练练手?我这里精选了几个我做过,并且感觉收获颇丰的视频教程给你,推荐你感觉脑子爆炸的时候食用。)写代码的时候,如果你有能力,尽量不要抄袭他的代码,使用自己的习惯去写,只要做出来的东西和他一样就行,这种自己思考代码的方式将会极大的培养你的代码写作能力。

    初级案例:

    Unity初级案例 - 坦克大战(Unity2017.1) (就是小时候我们玩的插卡游戏机里的坦克大战)

    http://www.sikiedu.com/course/90

    Unity初级案例 - 愤怒的小鸟(其中使用了2d的物理系统,使用方法和3d的基本相同)

    http://www.sikiedu.com/course/134

    有一定基础后的案例:

    Tanks第三人称双人坦克大战视频教程

    链接:https://pan.baidu.com/s/1eTbuUxO 密码:qi4b

    Stealth秘密行动 (Unity最经典官方项目之一) 链接:http://pan.baidu.com/s/1miMWSas 密码:bl83

    从零开始三小时速撸一款雷姆小游戏Unity3D全过程(如果你喜欢二次元的孩子推荐这部和下面那部。会稍微有点理解上的难度。)

    https://www.bilibili.com/video/av5814699

    从零开始的两小时速撸:使用血小板制作脑血栓游戏(跳一跳)

    https://www.bilibili.com/video/av27387729

    MMD功能 写实版场景配Unity娘 极乐净土(喜欢二次元的同时,又好奇MMD到底是怎么制作出来的人推荐玩一下这个视频)P1为介绍视频。P2为教学视频

    https://www.bilibili.com/video/av7700841?from=search&seid=13542732114945459430

    https://www.bilibili.com/video/av7715582

    (在这个作者刚出雷姆小游戏的时候我还是个代码都不会的孩子,但当他出血小板的时候,我已经可以用我自己的Unity知识工作了;假如你真的想好,要走Unity这条路的话,狠下心来好好学,努力是不会辜负你的。)

     

    在此推荐一下这三部视频的作者 新鲜的女尸,就跟这名字一样,这小子真跟尸体一样突发性诈尸一次,然后又进入了长期的休息期,喜欢做二次元Unity项目的人推荐关注他一下,没准哪个动漫突然火了以后又出来诈尸一次。

     

     

    最后的高级提升期

    因这里的内容都比较难,如果你没有上面的知识积累,看这里的视频会让你困懵逼的。这部分内容推荐已经学了新手期与大部分入门期的人再深入学习

     

    高级代码部分

    第三季 C#编程高级教程 这部视频可以说,已经把代码的全部内容讲完了,难度很高,可能你看完了初级和中级以后依旧看不懂,如果真的用心去看,并且反复看了好几遍依旧看不懂的话,先放下学学别的,然后再回来看。推荐有至少一年代码经验的人食用

    链接:https://pan.baidu.com/s/1slBP7mH 密码:eob1

     

    数据结构 数据结构是一门分析如何存储数据与数据之间逻辑关系的一门学科,这部视频里的老师讲的真的很好,你认真看能看懂的。数据结构的知识面试很容易考,你一定要认真学里面的知识点。(千万不要看上海交通大学的和清华大学的数据结构公开课,虽然这两部视频中的老师讲课很有牌面,但是全是说的书面语言,没有习惯听书面语言的人是不太可能听懂的,最好不要去看,不然会严重打击你的自信心。)

    【考研】赵海英 数据结构 (这部视频就不像C#高级篇那么难了,认真听就能会)原链接的视频被取消了,如果需要查看,请在B站或者百度搜索赵海英 数据结构

    【郝斌】-数据结构入门 (学历不高,但讲课极其精辟的一位老师,喜欢听白话讲课的人非常推荐,  推荐上下两位老师一起结合着看,你会有非常高的收获)

    https://www.bilibili.com/video/av6159200?from=search&seid=10153396348143638381

    这里我再推荐一本书 《大话数据结构》

    这本书用很通俗易懂的语言写了数据结构的内容(虽然有的例子贼牵强,哈哈哈),推荐不喜欢看视频,或者看完视频后查缺补漏使用。

    Unity编辑器扩展 编辑器扩展是一种提升在Unity中的脚本美观性的一种技术,学起来还是很好玩的。

    编辑器扩展

    在线观看: http://www.sikiedu.com/course/47

    链接: http://pan.baidu.com/s/1gfHURYF

    【水鸡游戏课堂】Unity编辑器扩展1至7

    https://www.bilibili.com/video/av23671632?from=search&seid=4358948779151612714

    算法 算法是一门研究如何利用数据存储的数据,求出计算结果,以及讨论最优计算方法的一门学科,有些地方也把算法也一并算作是数据结构。(这里的这一部视频,并未收集全部算法领域的知识,你需要在以后的工作中继续学习补充你缺失的部分)

    编程内功修炼-算法 链接: https://pan.baidu.com/s/1eSgkCpk 密码:xcz2

     

    设计模式 设计模式是前人写代码时,透过需求发现的一些常见的结构上的问题,并把这些问题的常见的解法,用UML图与简单的文字归纳出来的一种代码结构思想。在学习这里的知识点的时候,如果突然有一种,“卧槽,在我学设计模式之前我就用过这模式”的感觉,说明你在之前的练习中,真的用心去思考问题了,是一种非常很好的现象;在学习设计模式的时候需要注意几点。

    1. 这不是考验记忆力的学科。设计模式不要死记,重要的是学会他构建代码时候的书写模式。
    2. 不要任何地方都想用设计模式。学会设计模式后,宁可不用也不要滥用设计模式,不然会让你觉得束手束脚,无从下手,当你有了大量的代码练习基础后,你就会明白模式的好处,与应应用的场合了。
    3. 不要觉得设计模式中的例子就是绝对正确的。有时候设计模式中举的例子,并不一定是你的项目中真正需要使用的书写方式,千万不要被他的例子束缚住。
    4. 以上三点虽然我说的很轻松,但是想真正做到这些,没有大量的实验与使用基础是不太可能做到的,不要有太大压力,慢慢来别放弃。

    因我自己学习时使用的是SIKI A计划课程中的视频(收费),所以不敢给你瞎推荐好的免费视频,如果你没有A计划的账号,推荐去B站搜索“设计模式”,手动搜索适合自己的视频。A计划收费视频   游戏开发中的设计模式 http://www.sikiedu.com/course/54

     

    框架:MVC 这是我认为最有用的东西之一了,他可以说属于设计模式的范畴。我认为他与其说是知识,不如说是一种规划代码的一种整理方案,让你不再觉得代码乱,也会杜绝总会出现一些在奇奇怪怪位置调用的变量。

    同为A计划收费课程 基于MVC架构的俄罗斯方块开发(基于Unity2017)

    http://www.sikiedu.com/course/80

     

    数据库 数据库的重要性不用我多说吧。

    MySQL数据库从零到精通 链接:http://pan.baidu.com/s/1mh6FR5Y 密码:qlf7

    http://www.sikiedu.com/course/48

     

    Shader Shader是一种显卡语言,当然了,如果你真的能学到这,我想也不需要我解释什么是Shader了。

    简单易懂的Unity5 Shader着色器入门教程

    https://pan.baidu.com/s/1pLCwaKj 密码:7wqu

     

    以上可以说就是Unity需要的基本知识了,还剩下一些零碎的知识,需要你自行查找并学习。

    1、3D数学

    1. Json 数据持久化 想将数据保存在硬盘里?学这个吧。
    2. uLua热更新 链接: https://pan.baidu.com/s/1kUIZMcB 密码:x12i
    3. 网络链接Unet  或者 PhotonServer

     

    结束语:

    如果你真的按照我说的做,并且认认真真按照我说的路线与方法学了下来,谢谢你愿意相信我,也愿意相信你自己。带着你努力的成果与这股学习力,去找工作吧,社会不会辜负愿意努力的人。

    作者:丁祺

    QQ:1968548010

    版本:v1.1;

    展开全文
  • Unity3d学习——基础篇

    2018-06-06 23:55:06
    最新的Unity5支持两种编程语言,C#和JavaScript,其中JavaScript语言更容易上手,C#是面向对象的编程语言,语法与C++、Java较为接近,在编程思想上更符合Unity引擎的原理。Unity C#语言基础知识:变量、数组与函数:...

    《Uinty3d官方案例精讲》

    脚本:

    游戏对象间的逻辑关系需要通过脚本实现,游戏关卡的设计、各类角色的运动、场景的资源管理等,其背后都是脚本在驱动。最新的Unity5支持两种编程语言,C#和JavaScript,其中JavaScript语言更容易上手,C#是面向对象的编程语言,语法与C++、Java较为接近,在编程思想上更符合Unity引擎的原理。

    Unity C#语言基础知识:

    变量、数组与函数:

    定义变量:    类型 变量名 /*=初始值*/


    不加public、protected、private默认为private。

    如果声明public变量,并且把脚本绑定到物体上,则会在物体的Inspector视图上显示,并且可以修改值,若不想显示,可为变量加上[HideInInspector];如果希望在Inspector上限定取值范围,可以使用RangeAttribute实现。



    数组的声明和使用:    类型[] 变量 /*=初始值*/

    二维数组:


    函数的声明和使用:

    返回类型 函数名(参数列表)

    {     函数体

    }

    C++参数传递方式有传值、传址、传引用三种;而C#中只有传值和传引用两种,其中传引用可由关键字ref和out完成,ref需要实参初始化,而out不需要初始化,输出参数。

    语句、表达式和运算符:

    语句:


    运算符:

    不常见的:


    协程(Coroutine):

    在Unity中,协程的概念类似于线程,它是一种特殊的函数,能中断(通过yield语句)执行当前的代码,直到中断指令(YieldInstruction)结束后再接着之前的代码继续执行。以下是一个协程的例子:


    上面的协程表示等待五秒钟后输出当前的时间。

    在C#脚本中创建协程需遵循一下规则:

    (1)协程的返回值必须是IEnumerator。

    (2)协程的参数不能加关键字ref或out。

    (3)在C#脚本中,必须通过StartCoroutine来启动协程。

    (4)yield语句要用yield return来替代。

    (5)在函数Update和FixedUpdate中不能使用yield语句,但可以启动协程。

    在协程函数中,yield语句就像是一个红绿灯,在碰到yield语句前是绿灯,协程函数顺序执行,碰到yield语句时表示前方红灯亮,协程函数立即停下等待,当中断指令结束后红灯熄灭,绿灯变量,协程函数继续顺序执行余下的代码。

    在Unity中,绝大部分协程相关的类都继承自基类YieldInsturction。唯一例外的类是WWW,它不继承自YieldInstruction,但可以用在yield return语句中。


    yield语句在协程中的典型用法如下。值得注意的是,WaitForSeconds()受Time.timeScale影响,当Time.timeScale为0时,yield return new WaitForSecond(n)将失效。


    在C#脚本中,MonoBehaviour类中的成员函数StartCoroutine用于启动协程,该函数的声明为:


    StartCoroutine只能用于MonoBehaviour或其子类中。

    StartCoroutine接收协程名称(字符串)或IEnumerator实例作为参数。

    使用字符串作为参数启动协程时可以在StartCoroutine的第二个参数中为协程指定参数,但最多只能传递一个参数,而使用IEnumerator作为参数则没有这个限制。

    在Unity中,可以使用函数StopCoroutine来终止一个协程,但这种方法只适合用于使用协程名称作为参数启动的协程。使用StopAllCoroutines可以终止该MonoBehaviour中所有能终止的协程。还有一种不常用的方法终止协程,即将协程所在游戏对象的active属性设为false,但是当再次将active属性设为true时,协程不会自动启动。

    下面是使用协程的一些实例:


    最后,书写yield语句时需要注意一下几点:

    (1)yield return语句不能位于try-catch语句块中,但可以位于try-finally中的try语句块中。

    (2)yield return语句不能放在匿名方法中。

    (3)yield return语句不能放在unsafe语句块中。

    类和类的使用:

    Unity中提供的类绝大部分都是通过UnityEngine.dll和UnityEditor.dll这两个程序集暴露出来的,其提供的接口也都在UnityEngine和UnityEditor两个命名空间中。在unity编辑器中新建的脚本都会默认添加如下两个命名空间的引用:

    using UnityEngine;

    using System.Collection;

    从Unity4.6以后,Uinty团队更新了UI部分的设计,新的UI相关的类都放在了UnityEngine.UI.dll中。

    最新的Unity5已经支持用户自定义命名空间。在实际开发中,随着代码量不断增加,可以将相同功能的代码模块放在同一个命名空间,以便于进行代码管理。

    在Unity中,任何要绑定到GameObject上的脚本都必须继承自MonoBehaviour。若一个类不继承自MonoBehaviour,在拖动到GameObject上会报以下错。


    常用类的关系:


    输出调试信息:

    print


    Debug.log


    第一种方法实际是第二种方法的封装,其底层实现基于第二种方法。需要注意的是,在任意C#脚本中都可以采用Debug类的Log系列方法输出,但prinf函数只适用于MonoBehaviour的派生类。

    Unity脚本时间执行顺序:

    在Unity脚本中,各事件函数的功能和大体的执行顺序如下:

    1、Awake:Awake用于脚本唤醒。此方法为系统执行的第一个方法,用于脚本的初始化,在脚本的生命周期中只执行一次。

    2、Start:在Awake之后执行,在脚本生命周期只执行一次。和Awake常用于初始化成员变量。

    3、FixedUpdate:用于固定频率更新。默认每秒50次。通常情况下,FixedUpdate()会比Update()更频繁地调用。

    4、Update:用于正常更新,即用于帧更新后同步场景状态。此方法每帧都会由系统自动调用一次。在使用Update()时,对于一些变量,如速度、移动距离等通常需要乘以Time.deltaTime来抵消帧率带来的影响,使物体状态的改变看起来比较均匀、正常。而在FixedUpdate中,由于其更新频率固定,所以不需要采用Time.deltaTime来修正状态改变频率。

    5、LateUpdate:用于延迟更新,此方法在Update()之后执行,每一帧调用一次。

    6、OnGUI:OnGUI用于绘制用户交互界面,每一帧会调用多次。其中,与布局和重绘相关的事件会被优先处理,然后是键盘和鼠标事件。

    7、OnDestory:在当前脚本销毁时调用。若在脚本中动态分配了内存,可以在OnDestory()中进行释放。

    展开全文
  • Unity过去主要针对3D游戏开发的市场,目标是占领整个游戏开发团队。在本次调研中,72%的以游戏开发类别为首要工作的参与者选择Unity作为他们的首选游戏开发工具。游戏开发培训视频链接分享给你: 游戏开发初识与...

    Unity过去主要针对3D游戏开发的市场,目标是占领整个游戏开发团队。在本次调研中,72%的以游戏开发类别为首要工作的参与者选择Unity作为他们的首选游戏开发工具。游戏开发培训视频链接分享给你:

    游戏开发初识与职业发展https://pan.baidu.com/s/11TcYWqnGxfr7J-F0H4y7RA

    Unity系列之C#编程语言https://pan.baidu.com/s/1SJeUZNIwJHORRuJigKoqPw

    了解Unity和C#编程语言https://pan.baidu.com/s/1IcWROnGKtsspa_4YxkUPRQ

    Unity引擎 https://pan.baidu.com/s/1ou9tt16Kp877D6smvgcc6g

    图形学 https://pan.baidu.com/s/1DZr1qtNx_q4WYnBU8MGQng

    高级课 https://pan.baidu.com/s/13Tqte9dFn2TZ6gO5lpqWYA 

    目前来看,采用Unity目标定位于桌面平台的开发又占了一半,这可显然比均值高很多;此外还有一些其他的垂直功能,例如视觉结构,军事仿真和教育等Unity都迎合了设计者的需求。

    1、不受专业限制:Unity 3D游戏引擎简单清晰、兼容性强,跨平台使用、简单易学、用简单、直观的开发语言,创造不可思议的高薪价值,这是其他开发语言不具备的,同时也是对跨专业人士吸引力之一,本岗位适合经常玩游戏并且对游戏有较强的兴趣,既想玩游戏又想凭借开发游戏获得稳定高收入的人员。

    2、人才需要量大:实训周期短,简单易学,用人缺口大,特别是手机游戏和VR目前处于蓬勃发展阶段,本岗位人员绝对供不应求。

    3、就业待遇高:入职起薪年薪6万以上,1年后12万年薪起,且很稳定。

    4、行业前景好:Unity游戏引擎的功能无比强大,70%的手机游戏都用此引擎开发。随着VR的兴起,从事此专业工作1-2年后可以成为产品经理或产品线总监!

    在国内,据权威部门统计,50%的Unity3D开发者工作年限在2年之内,平均薪资超过了1万五!如此大的需求量,对学员来说可谓是非常抢手的。一个好的培训机构有专业的技术导师,可以依据学生的不同情况打造适合的课程和方法,让每个学员都能学到更多的知识。

    千锋作为国内专业的从事于Unity3D游戏开发培训教育机构,注重学生的学习和就业问题,保证每个学员在学习中都能够学到最先进的技术,并且可以高薪就业,想学Unity3D游戏开发就去千锋看看吧。

    展开全文
  • 最近刚刚开始接触unity3d,因此想把自己的学习路线记录下来,方便自己以后总结。由于毕业论文的关系,需要使用Unity3D开发,做虚拟现实的应用,使用的设备是HTC vive pro产品。初始学习,由于没有基础,因此一团乱,...

    最近刚刚开始接触unity3d,因此想把自己的学习路线记录下来,方便自己以后总结。

    由于毕业论文的关系,需要使用Unity3D开发,做虚拟现实的应用,使用的设备是HTC vive pro产品。

    初始学习,由于没有基础,因此一团乱,总结一下目前看过的教程和书籍。

    1、开始看的是b站上极客学院讲解的unity3d的入门课程,对操作的界面有了初步的了解,不需要看完,看到编程之前就可以。

    2、由于需要使用C#编程,因此需要一点C#的基础,看的是siki学院老师上传到百度云的视频资料,讲解的十分基础,适合我这种还没写过代码的小白。

    3、在有了一定的编程基础以后,就需要对Unity里的API接口有一定的了解,看的是SIKI学院的API入门教程,老师把一些基础的接口都进行了总结和讲解,免费的

    4、官网有较为详细的教程,siki学院没有讲解过的知识,而且自己需要的通过官方的教程进行了进一步的了解。

    5、并不是做广告,自己在图书馆找了很多的关于VR的书,感觉适合自己的是《HTC vive VR 游戏开发实战》,根据里边的例子做一下,可以有很好的提升,前边提到的siki学院就是通过这本书了解到的。

    6、对于自己想知道的模块,Unity的官方文档有很详细的介绍。但是如果没有老师带领入门的话,初始还是很难看懂的,因此需要前边的铺垫。注意的是:如果自己的英语水平还是可以的话,最好是看英文的介绍文档,不懂的用有道词典查一下,这样做的好处是看Unity软件的时候更加的方便,毕竟软件目前还是英文的,自己写代码也是用英文的,看翻译过来的就不太方便转换思维。

    总结,通过以上的尝试,有了一个对软件的基础的了解,接下来便是根据自己的项目进行进一步的针对性的尝试,后续会进行持续的记录。

    展开全文
  • 一、学习Unity的一些原因 Unity是由Unity Technologies开发的一个让玩家轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等类型互动内容的多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎。可发布...

    一、学习Unity的一些原因
    Unity是由Unity Technologies开发的一个让玩家轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等类型互动内容的多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎。可发布游戏至Windows、Mac、Wii、iPhone和Android平台。也可以利用Unity web player插件发布网页游戏手机游戏,支持Mac 和Windows的网页浏览。最大的优点就是跨平台兼容性非常强。对于独立游戏开发者和VR开发爱好者,Unity是一款非常不错的开发引擎,上面这些都是官方的话,此外还有其他一些引擎和自研引擎开发者可根据自身需求进行研究和学习。下面推荐一些学习unity3d的一些网站:
    二、学习unity3d的一些网站

    unity官网 unity3d.com/cn

    unity圣典 game.ceeger.com

    游戏蛮牛 www.unitymanual.com

    泰课在线 www.taikr.com
      一些网站的课程可能会进行收费,本文只做一些网站推荐具体课程及学习资源根据自身需要去学相应的课程就行可以了。
     三、学习unity3d的路线 
      初学者应先对c#有基本的了解,不要求特别深入,但起码应了解C#语言当中基本的流程控制例如:顺序结构、分支结构、循环结构(循环语句),类的封装、继承、接口基本特性,委托和事件等基础知识。了解unity3d的使用 这方面可以看官方教程,网上应这些资源该都找得到且容易获得,等基本知识差不多了之后,就可以慢慢跟着教程开始做一些小的Demo了,在做小案例的过程中不断学习和更新自己的知识体系,下面这张图是我认为一个不错的学习路线图,图片有些内容虽然不是非常的新,但是对于新手小白来说已经是非常够用了。
    Unity学习路线图
    第一步首先了解unity3d的菜单,视图界面。这些是最基本的基础,可以像学Office办公软件一样操作,大致能明白有哪些功能菜单,哪些基本的视图,各自有什么样的作用就可以了。
    第二步理解场景里面的坐标系统,输入系统,简单的向量概念。Unity3D的坐标系统及向量概念如果不理解清楚,不理解世界坐标,局部坐标的关系,即使一个简单的移动,缩放,旋转的几行代码,也会困惑你半天,推荐可以根据自身理解情况学习3D数学基础的一些知识与内容。
    第三步学习创建基本的场景的一些基本概念:游戏对象,组件,脚本。在界面上分别体现在层次视图,项目视图及属性视图,要理清楚彼此之间的关系。
    第四步学习资源导入方面的一些基本元素:网格,材质,贴图,动画等。
    第五步学习脚本的生命周期,Start,UpDate这些基本的方法。了解预制体,时间,数学等常用的类及相关方法。理解游戏对象,组件,脚本彼此之间的关系。
    第六步进一步学习摄像机,灯光,地形,渲染,粒子系统,物理系统等等,这些每一个深入进出都是一个很复杂的主题。
    第七步一些更高级的概念:向量的加减法点乘差乘,光照法线贴图,内存管理,图形优化等等。Unity3D入门容易,的如果能在学习过程中精通图形渲染知识那将会使你的层次得到很大程度的提升。
    当然如果英语水平好的话,多去看官方教程以及一些英文教程效果肯定是最好的。等这些学的差不多了,就可以研究unity的各种细节问题、优化问题以及底层原理等知识了,比如OpenGL、Direct X等知识,能学好的话基本可以称之为大神了。
    本文仅代表个人看法和学习意见,后面我将持续更新相关内容的学习与更新,欢迎大家共同学习与交流。

    展开全文
  • unity入门教学,新手教学,新手到大神的教学。。。
  • 目前,Unity3D应用范围非常广泛,从手机游戏到联网的大型游戏,从严肃游戏到电子商务,再到VR虚拟现实均可完美呈现。Unity3D是一软专业3D游戏引攀,其具备跨平台发布、离效能优化、高性价比,AAA级游戏画面演染效果...
  • 我的Unity3d学习总结

    2019-01-01 13:04:16
    转眼又到了2019年,学习Unity3d已经有了半年多的时间了,在这里总结一下自己在学习上的经历,学习方法的不足和对新的 一年学习要求。 1. 学到了什么: 在大学没能成功转专业的情况下,一直想从事游戏开发工作的我...
  • Unity3D学习笔记(2)Unity3D与3DMax结合开发注意事项 单位:比例统一 在建模型前先设置好单位,在同一场景中会用到的模型的单位设置必须一样,模型与模型之间的比例要正确,和程序的导入单位一致,即便到程序...
  • Unity3D学习之路

    2017-08-29 16:03:58
    1.准备C#的开发环境 VS2015,2.准备通信协议 protobuf 3.3.0 具体请参考:Protobuf 3.3 使用总结3.引入日志系统 :C#日志系统 Log4net使用总结4.搭建并调通和server之间的通信框架,通过反射注入到各个Action去处理,...
  • Unity3D学习路线与学习经验分享 该博文出自作者15游02 丁祺,是一篇非常全面的Unity3D学习路线。作者通过不同切入点与角度,并根据以上人群的不同技术程度,由浅入深,分享了他的学习及工作经验。下面让我们进入主题...
  • Unity3D学习视频

    2019-10-14 09:58:41
    如果没有百度网盘会员建议使用 http://pandownload.com/ PanDownloadhttp://dl.pandownload.com/download/PanDownload_v2.0.4.zip 不限速 ...关注公众号【码兄】回复【Unity3D】获取领取码 ...
  • Unity3D学习笔记总结

    2013-12-21 21:34:06
    编辑器: Hierarchy窗口中是场景中的Game Object列表 Project窗口中是磁盘上Assets文件夹中的内容,可用来创建Game Object 调试: ...因Unity采用的是Mono运行时引擎而不是CLR,参考Debugging us
  • Unity3D学习笔记(四)天空、光晕和迷雾 六年前第一次接触《魔兽世界》的时候,被其绚丽的画面所折服,一个叫做贫瘠之地的地方,深深印在我的脑海里。当时在艾泽拉斯大陆还不能使用飞行坐骑,试想一下孤身...
  • Unity开发VR之Vuforia 本文提供全流程,中文翻译。 Chinar 坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 —— 高分辨率用户请根据需求调整网页缩放比例) Chinar —— 心分享、心创新!助力...
  • Unity3D学习步骤

    2016-04-16 19:23:57
    第一步首先了解unity3d的菜单,视图界面。这些是最基本的基础,可以像学word操作一样,大致能明白有几个菜单,几个基本的视图,各自起什么作用的就可以了。第二步理解场景里面的坐标系统,输入系统,简单的向量概念...
  • Unity3d 学习之路——简单巡逻兵 游戏规则与游戏要求 智能巡逻兵 游戏规则 使用WSAD或方向键上下左右移动player,进入巡逻兵的追捕后逃脱可积累一分,若与巡逻兵碰撞则游戏结束,收集完地图上的所有水晶即可...
  • -接上篇:unity3d学习(一)制作第一人称射击-玩家的视口和移动让玩家能够射击 第一步:通过射线发射 因为我们是第一人称射击,我们可以使用unity提供的ScreenPointToRay(),创建一个从摄影机开始发射的射线。一旦有...
  • 通过前两天的学习Unity3D,我今天做了一个小小的项目,就是男主人公搭救女主人公的小游戏。游戏里面分别用到了,地形的创建、资源的引进、灯光的渲染、河流的添加、背景音乐的添加山地的升高、降低、局域风的设置、...
  • Unity3D学习  今天我们来认识一下unity3D.中的C#脚本的判断语句,和循环语句。  首先来看一下判断语句,if语句的三种用法。 1.if(条件:只能是bool类型) 2.if(条件) 3.if(条件) 4.if(条件)
1 2 3 4 5 ... 20
收藏数 22,908
精华内容 9,163
关键字:

unity3d 学习