Unity自学笔记

/ 1评 / 1èµ / 

有使用到的教程:
M_Studio : Your First Game 1-
âˆ

使用的软件:
Unity hub 2.3.9
Unity 2019.4.7f1 LTS

Microsoft Visual C++ 2019

å¹³å°ï¼šWindows 64-bit

å‰è¨€ï¼š
学的过程挺快ä¹çš„ 还是看了æŸä¸ªè§†é¢‘æ‰å¯¹Unity感兴趣,目å‰å¸Œæœ›è‡³å°‘能åšå‡ºå±äºè‡ªå·±çš„å°æ¸¸æˆ

Your First Game

M_Studio

Your First Game 1
安装软件 导入素æ
Shift + 空格放大窗å£
所有素æéƒ½è¦å…³æ³¨å•元格åƒç´ æ•°

Your First Game 2
编辑素æ
自动切片时大å°ä¸ç´ æè®¾ç½®çš„æ¯å•å…ƒåƒç´ æ•°ç›¸åŒä¸ºä½³

Your First Game 3
图层layer 角色建立
mainæ‘„åƒå¤´z轴需è¦è®¾ç½®ä¸º-10
图层列表中最下é¢çš„为最优先显示的图层
åŒä¸€ä¸ªå›¾å±‚中图层顺åºçš„值越大越优先显示
场景中瓦片地图(Tilemap)有ç¼é𙿗¶ï¼Œè°ƒæ•´æ ¼(Grid)çš„å•元格大å°(Cell Size)为X:0.99,Y:0.99。

Your First Game 4
角色移动
很多输入的方法在Unity顶部工具æ çš„edit - >projectsetting -> input中 这篇教程用到了 Horizontial:æ°´å¹³(ç©å®¶æŒ‰ä¸‹ å³ æ—¶è¾“å‡º1 按下 å·¦ 时输出-1)
å…³äºä»£ç çš„解释 在下é¢çš„角色æ§åˆ¶.cs 中全部注释了出æ¥
å…³äºvisual studio2019没有代ç è¡¥å…¨ï¼Œéœ€è¦åœ¨ unity edit - 首选项(preferences) - 外部工具(external tools) 把 外部脚本编辑器(script editor) 默认的 open by file extention æ”¹æˆ visual stdio 2019 å¦‚æœæ²¡æœ‰è¿™ä¸ªé€‰é¡¹ 点击æµè§ˆå添加也是会识别visual stdio 2019的。
或者是需è¦åœ¨VS的选项中:VS-工具-è·å–-安装UNITYå¼€å‘包
或是在vs界é¢çš„工具 crt+qçš„æœç´¢æ¡†,ç›´æ¥æœç´¢unity,找到å•个组件for unity,大å°479m。
在游æˆå¼€å§‹çš„æƒ…况下更改数值会é‡ç½®ä¼šå¼€å§‹ä¹‹å‰çš„æ•°å€¼ï¼Œå¯ä»¥é€šè¿‡å¤åˆ¶ç»„件,然ååœ¨ç»“æŸæ¸¸æˆçš„æ—¶å€™ç²˜è´´ç»„件的数æ®çš„æ–¹å¼ä¿ç•™åœ¨æ¸¸æˆä¸­çš„æ›´æ”¹ã€‚

Your First Game 5
è§’è‰²æ–¹å‘ è·³è·ƒ
全是代ç çš„讲解 差点逼疯我
该大写的一定è¦è®°å¾—大写

Your First Game 6
动画效æœAnimation
添加待机和跑动的动画
å…³äºrunning的判断:Player的移动有关的数值被running采集,Player在移动时:running的浮点值会ä¸ç­‰äº0,这时å°äº0的值,也就是å‘左移动会被设定好的动画器识别然å修改动画为待机,所以需è¦å°†è¾“出的值修改为ç»å¯¹å€¼ã€‚

Your First Game 7
跳跃动画 LayerMask
Layerå±‚çš„æ„æ€æ˜¯ç‰©ç†ç¢°æ’层,修改瓦片地图 ä¸ Player 的物ç†ç¢°æ’层为åŒä¸€ä¸ªï¼Œå°±èƒ½åˆ©ç”¨å¾—到的碰æ’结æœè¿›è¡Œè½åœ°çš„判断。

碰æ’器说æ˜

Your First Game 8
ä¿®å¤ç§»åŠ¨é”™è¯¯
Player会å¡ä½æ˜¯å› ä¸ºæ–¹å½¢ç¢°æ’器ä¸åœ°é¢çš„碰æ’å™¨æ¨¡æ‹ŸçœŸå®æ¥è§¦å¯¼è‡´å¡ä½ã€‚éœ€è¦æ·»åŠ ä¸€ä¸ªåœ†å½¢ç¢°æ’器在下é¢ï¼Œç›’装碰æ’器å‘上收缩。

Your First Game 9
镜头æ§åˆ¶Cinemachine
镜头æ¯å¸§è¯»å–playerçš„ä½ç§»å‚数,进行跟éšï¼Œyzè½´é”定
Cinemachine电影感镜头组件,Daed Zoneå®ç°åŒºåŸŸè·Ÿéš

Daed Zone区域跟éš

给背景设置一个多边形碰æ’器 ç„¶å勾选背景的Trigger,trigger勾选åä¸ä¼šå¯¹ç¢°æ’åšå‡ºç‰©ç†å应,防止产生ä¸è§’色碰æ’çš„å应。
ç»™CMvcam(电影感镜头)添加一个Cinemachine Confiner组件,然åè¿æ¥èƒŒæ™¯çš„多边形碰æ’器,就会é™åˆ¶é•œå¤´åªåœ¨ç¢°æ’器内移动。

Your First Game 10
ç‰©å“æ”¶é›† & Perfabs
é“å…·ä¸ç©å®¶çš„动画制作方法相åŒã€‚
ç»™é“具添加碰æ’器和Tag 当ç©å®¶ç¢°æ’到带有Tag的碰æ’器时销æ¯å®ä½“,å¢åŠ ä¸€åˆ†ã€‚

Your First Game 11
ç‰©ç†æè´¨&空中跳跃
给头部的盒装碰æ’器添加一个å牛顿光滑æè´¨ï¼Œå°±èƒ½é˜²æ­¢Player粘在墙上,这也是使用两个碰æ’器的作用。
åˆ¤æ–­æŒ‰ä¸‹æŒ‰é”®çš„åŒæ—¶&&playerä¸ground碰æ’å™¨ç¢°æ’ å®ç°ç¦æ­¢å·¦è„šè¸©å³è„šä¸Šå¤©ã€‚

Your First Game 12
UI入门
在åƒé“具之å立刻给UI.text赋值使其显示

Your First Game 13
敌人
动画制作åŒè§’色
正在æ‰è½çš„åŒæ—¶ç¢°æ’带有Tag-敌人的碰æ’箱就消除å®ä½“
ç„¶å给予一个跳跃 力é‡ä¸ºåˆå§‹è·³è·ƒåŠ›é‡ æ’­æ”¾è·³è·ƒåŠ¨ç”»

Your First Game 14
å—伤效æœ
如æœä¸Šä¸€æ¡æˆç«‹ å°†boolå—伤设为true
å—伤为trueæ—¶ä¸è¿›è¡Œæ¯å¸§çš„移动判断,添加一个跳跃为5和速度为5的力,播放å—伤动画,直æ¥ç»“æŸrunning动画
x轴速度ç»å¯¹å€¼<2时结æŸå—伤 设å—伤bool为false åœæ­¢å—伤动画

Your First Game 15
AI敌人移动
方形碰æ’å™¨åŒæ ·ä¼šé€ æˆå°æ€ªçš„å¡é¡¿,éœ€è¦æ”¹æˆåœ†å½¢ã€‚
以尿€ªä¸ºçˆ¶çº§,添加两个空的å­é¡¹ç›®,一左一å³å°±å¯é™åˆ¶å°æ€ªçš„移动范围。
如图,在å³ä¸Šè§’坿·»åŠ ç©ºé¡¹ç›®çš„é¢œè‰²æ ‡è¯†

Your First Game 16
Animation Events
ç©å®¶ï¼šæ²¡æœ‰y轴的正速度(ä¸åœ¨ä¸Šå‡)åŒæ—¶ä¸åœ¨åœ°é¢ 判定为下è½ï¼Œå³å¯è§£å†³ç«™ç«‹/奔跑 -> 下è½çš„动画切æ¢
注æ„在动画器添加站立/奔跑 -> 下è½çš„过渡
å°æ€ªï¼šåœ¨"站立"动画末尾添加事件:调用函数"移动" æ¥è¾¾æˆæ›´è‡ªç„¶çš„动画效æœ
开心啊 233 14å·ä¸¤ä¸ªå°æ—¶æ²¡åšå¥½çš„æ•ˆæœè·Ÿç€è§†é¢‘马上就åšå¥½äº†ï¼Œçœ‹æ¥è¿˜æ˜¯ä¸èƒ½ä¸€æ„孤行。

Your First Game 17
Class调用(互动包括è€é¹°åˆ¶ä½œ)
Playeræ— æ³•ç›´æ¥æ“æ§å°æ€ªçš„动画播放,但å¯ä»¥ç”Ÿæˆä¸€ä¸ªç±»æ˜¯"é’蛙移动"çš„å«"é’è›™"çš„å®ä½“,当使用"é’è›™"æ—¶å¯ä»¥è°ƒç”¨"é’蛙移动"里的所有组件,在é’蛙移动中创建一个公开的函数,ç©å®¶å‡½æ•°å°±å¯ä»¥æ“æ§é’蛙的死亡动画了。
æ­»äº¡åŠ¨ç”»æœ€åæ·»åŠ æ­»äº¡äº‹ä»¶å³å¯ã€‚
设立一个“敌人â€çˆ¶ç±»ï¼Œè®©é’蛙和è€é¹°éƒ½å±äºâ€œæ•Œäººâ€ç±»ï¼Œä»æ•Œäººè„šæœ¬å†…è°ƒç”¨æ­»äº¡åŠ¨ç”»

Your First Game 18
音效Audio
Audio Listener 耳朵 👂
Audio Source éŸ³æº ğŸ”ˆ
Audio Clips 音频 ğŸµ
角色身上添加音æºå®ç°bgm
åœ¨å…¬ç”¨ä»£ç æ·»åŠ å°æ€ªæ­»äº¡éŸ³æ•ˆï¼ˆå°æ€ªå—伤音效)

Your First Game 19
å¯¹è¯æ¡†Dialog
å¯ä»¥æ–°å»ºä¸€ä¸ªæ¸¸æˆé¡¹ç›®ç„¶å放上碰æ’å™¨æ¥æŠŠä»»ä½•åœ°æ–¹ä½œä¸ºè§¦å‘器

Your First Game 20
趴下效æœCrouch
在趴下的时候关闭上åŠèº«çš„æ–¹å½¢ç¢°æ’器
用一个新的项目放头顶检测上åŠèº«æœ‰æ²¡æœ‰groud碰æ’器æ¥é™åˆ¶ä¸‹è¹²ä¸ç«™èµ·æ¥(ç«™ä¸èµ·æ¥çš„å°ç‹ç‹¸
Gizmos坿§åˆ¶å°ç»„件的显示 - >

Your First Game 21
场景æ§åˆ¶SceneManager
角色碰æ’带有死亡Tag的碰æ’器,å»¶æ—¶è§¦å‘æ­»äº¡æœºåˆ¶ï¼Œç”¨
Invoke(nameof(é‡å¯),2f);
延迟执行,这样写更好些,ä¸ä¼šå› ä¸ºå­—符串和方法åä¸ä¸€è‡´å¯¼è‡´é”™è¯¯ã€‚
把按下E切æ¢åœºæ™¯çš„脚本ä¸â€œæŒ‰ä¸‹E切æ¢åœºæ™¯â€çš„æç¤ºç»‘定,就å¯ä»¥å‡è½»æ¸¸æˆè´Ÿæ‹…并且更方便
在生æˆè®¾ç½®ä¸­è®¾ç½®åœºæ™¯ç¼–å·ï¼Œå°±å¯ä»¥åœ¨ä»£ç ä½¿ç”¨ç¼–å·è·³è½¬äº†

Your First Game 22
2D光效(ver. Unity2018)
在2019.2以上å¯ä»¥ç”¨lightweightRPå®ç°å…‰ç…§ï¼ˆç„¶è€Œæ²¡æœ‰æ•™ï¼‰
å®ç°å¥½çš„å…‰ç…§éœ€è¦ æ³•çº¿è´´å›¾
瓦片地图å¯ä»¥ç›´æ¥ä½¿ç”¨default-diffuse默认散射æè´¨ï¼Œå…¶ä»–éœ€è¦æ‰‹åЍåšä¸€ä¸ªæè´¨ 如å³å›¾
光其宿˜¯3Dçš„ Zè½´å¯¹æ•ˆæœæœ‰å½±å“,如æœå…‰z轴是0那么就没有光的效æœäº†ã€‚(按ä½å³é”®+WASDå¯ä»¥ç§»åŠ¨è§†è§’)

对应第三节课,光照时场景中瓦片地图(Tilemap)有ç¼éš™(线)时,调整格(Grid)çš„å•元格大å°(Cell Size)为X:1, Y:1。
如æœè¿˜æœ‰ç¼éš™ 那么å¯ä»¥ä¿®æ”¹æ¸¸æˆè´¨é‡ä¸­çš„æŠ—锯齿为无

如æœè¿‡äºæš—,å¯ä»¥æ‰“一个定å‘光。

Your First Game 23
åœ¨å°æ€ªè¢«å‡»æ€æ—¶å…³é—­ç¢°æ’器,防止播放死亡动画时有二次碰æ’。
死亡动画最å的死亡事件å‘剿”¾å¯ä»¥è®©æ­»äº¡æ•ˆæœæ›´åŠ é¡ºç•…
å…³äºé“具有概ç‡è·å¾—两个的bugä¿®å¤ï¼ˆæˆ‘失败了)以åå†æå®šè¿™ä¸ªå§å’•。

Your First Game 24
视觉差Parallax
if (lockY)
transform.position = new Vector2(始点x + æ‘„åƒæœº.position.x * 移动范围, transform.position.y);

Your First Game 25
主èœå•MainMenu
-主èœå•Menu的建立
-了解TextMeshPro基本用法
-按键Button如æœå®ç°è°ƒç”¨å‡½æ•°
-尿Ѐ巧GameObject.Find()的用法

Your First Game 26
æš‚åœèœå• AudioMixer
æ§åˆ¶æ—¶é—´æµé€Ÿ Time.timeScale = 1f;
-æš‚åœèœå•的创建
-AudioMixer的介ç»
-滑动æ¡Slider如何调整游æˆå£°éŸ³
将混音器的音é‡è®¾ç½®æˆä»£ç å¯ç¼–辑的

设置å自定义åå­—å°±å¯åœ¨ä»£ç å†…编辑
混音器.SetFloat("主声音", 音é‡);

2019.2版的Unity无法直æ¥é€‰ä¸­éŸ³é‡æ§åˆ¶å‡½æ•° åæ­£2019.4å¯ä»¥,233

2019.2的看这个视频

Your First Game 27
手机æ§åˆ¶|è§¦æ§æ“作|真机测试
所有å±å¹•触æ§çš„交互按键都是UI
è¿™ä¸ªé¢„åˆ¶çš„æ‰‹æŸ„æ¾æ‰‹ä¼šå¯¼è‡´å€¼ç¬é—´=0 所以需è¦åŠ ä¸Š
if (是å¦ç§»åЍ == 0)
动画器.SetFloat("running", 0);
ä¸çŸ¥é“æ˜¯ä¸æ˜¯ä¸´æ—¶å˜é‡çš„åŸå› ï¼Œç”µè„‘䏿‰‹æœºçš„æ“ä½œæ”¾ä¸€èµ·ä¼šå¯¼è‡´ç”µè„‘æ“作ä¸å¯ç”¨

Your First Game 28
二段跳|å•å‘å¹³å°
ä¸å¤´é¡¶ç‚¹ä¸€æ ·æ·»åŠ ä¸€ä¸ªè„šåº•çš„ç‚¹
Vector2.up是new Vector2 (0,1)的简写
Vector2.down是new Vector2 (0,-1)的简写
æ¯æ¬¡è·³è·ƒè·³è·ƒæ¬¡æ•°å‡ä¸€
å•å‘å¹³å°éœ€è¦å¦‚图设置
打开瓦片地图碰æ’器的由效æœå™¨ä½¿ç”¨ï¼Œå•å‘组件关闭碰æ’器é®ç½©ï¼Œæ‰“开使用å•å‘。

Your First Game 29
音效管ç†SoundManager(Static)
ç”¨ä¸€ä¸ªé¡¹ç›®æ¥æ§åˆ¶æ‰€æœ‰éŸ³é¢‘
æ¯éœ€è¦æ’­æ”¾ä¸€ä¸ªéŸ³é¢‘就将此音频交给音æº
[SerializeField]å°†ç§æœ‰çš„å˜é‡ä»åœ¨unityçš„çª—å£æ˜¾ç¤º

Your First Game 30
完结撒花

  1. rikka说é“:

    åšå¾—好牛逼啊爱了爱了(

å‘表å›å¤

您的电å­é‚®ç®±åœ°å€ä¸ä¼šè¢«å…¬å¼€ã€‚