unity零基础学习
提示:本人作為萌新記錄unity學習路線,后期會根據學習情況不斷進行修改,自學途徑主要依賴siki學院。
前言
???? ? 伴隨游戲行業的興起,unity引擎的使用越來越普遍,本文章主要記錄博主本人入門unity的相關記錄大部分依賴siki學院進行整理。
一、認識unity引擎?
1、Unity相關信息:
???? Unity的誕生:https://www.jianshu.com/p/55021d9301ab
???? Unity的應用:https://baike.baidu.com/item/Unity/10793?fr=aladdin
???? Unity發展:https://baike.baidu.com/item/Unity/10793?fr=aladdin#3
2、下載和安裝:
本次學習應用用到的軟件主要是:unity2021.2.10flc1和VS2019版本
(1)相關下載地址:
? Unity中國官網 unity.cn
? 國際官網unity.com(需要科學上網)
? 官網:www.unity.com
(2)相關下載教程:
Unity:https://zhuanlan.zhihu.com/p/433418045 Vs2019:建議在siki學院《Unity2021零基礎入門學習教程 - RollABall》課程資料里下載(3)關于unity版本說明:
???? LTS(Long Term Support)——長期支持版本
???? Alpha——內測版
???? Beta ——公測版(不穩定,有最新功能,最新更新)
???? 關于不同版本的解釋:https://blog.csdn.net/zistxym/article/details/99300504
二、Unity基礎知識
1、創建工程
(1)點擊Unity hub,新建即可
提示:若無法新建可能是未登錄且沒有激活許可證。操作如下
2、工程目錄介紹
在新建完成后會在創建的目錄下生成相關工程文件
如圖所示:
???? Assets: 資源(場景腳本模型)
???? Library: 庫(系統)
???? Logs: 日志
???? Packages: 導入的包
???? ProjectSettings: 工程設置
???? Temp: 臨時文件(文件過大可以刪除部分緩存)
???? UserSettings: 設置
3、五個窗口面板
創建完成后會有5個窗口面板(紅色方框)
Project:工程面板,存放工程的各種資源。包括:聲音資源、模型資源、場景文件、材質、腳本等。
Hierarchy:層級面板,展示當前打開的場景里面有哪些東西。(里面的東西稱為游戲物體)
Inspector:檢視面板(或屬性面板),查看一個游戲物體由哪些組件組成。
???? 場景 -> 多個游戲物體 -> 多個組件
Scene:場景面板,顯示當前場景的樣子
???? 鼠標中鍵:平移視角
???? 鼠標右鍵:旋轉視角(環顧四周),圍繞自身旋轉
???? Alt+鼠標左鍵:渲染視角,圍繞當前視角前方位置
Game:游戲面板,場景運行的時候的樣子
Scene文件下meta文件不可刪除
右上角的layout也可以修改布局
4、創建代碼和場景
(1)Project > Assets 右鍵選擇create 創建 C# script ,并重命名為“New Name”右鍵即可打開
Unity支持持的編程語:C#、Mono、JavaScript(2*)如果使用其他版本的編譯器需要去單獨指定 / 代碼不提示也可以用此方法解決
Edit > Preferences > External Tools (附加工具)
???? 在External Script Editor中有倆個選項
???? Open by file extension——根據文件后綴名采取相應工具打開
???? Microsoft Visual Studio 2019(這個是自己安裝的編譯器)
???? 選擇“Microsoft Visual Studio 2019”因為unity大多文件是C#
5、Unity中的基本模型和場景操作
(1)如何創建基本模型和如何導入復雜模型
(2)場景基本操作
???? 聚焦:雙擊游戲物體 或者 F
???? 放大縮小視野:鼠標滾輪
???? 圍繞物體旋轉:Alt+鼠標左鍵
???? 使用MoveTool下 移動物體
(3)視野分類
???? Persp 透視視野 ISO平行視野
???? 在不同視野下:關于鼠標右鍵的不同
(4)保存(場景保存、代碼保存)
???? Ctrl + S
6、世界坐標系和局部坐標系
坐標系:x 左右 y 上下 z前后
局部坐標系:父物體和子物體
單位:Unity里面的坐標是以米為單位的
7、工具欄
(1)四個工具
???? Q:視圖工具(使用鼠標中鍵可以臨時切換到這個恐懼)
???? W:移動工具
???? E:旋轉工具
???? R:縮放工具
(2)其他工具
???? Rect Tool Transform Tool Collider Tool
???? Rect Tool:修改大小——一般2D游戲使用
???? Transform Tool:WER同時調出
???? Collider Tool:碰撞器
(3)切換工具
???? 位置工具:Pivot原點 - Center中心
?
局部和全局坐標切換:Local - Globa
(4)切換工具步移工具
???? 步移工具:一段一段數值移動(快捷鍵:Ctrl)
???? 條件:世界坐標系下
????
???? 位置工具:Pivot原點 - Center中心
???? 局部和全局坐標切換:Local - Global
三、案例實操作
1、創建場景
???? 在project面板右擊"Scenes"文件create>scence
(1)創建地面
①點擊創建好的“Main Scene”
②在Hierarchy面板中右鍵3D object>Plane
③點擊Plane,inspector面板會顯示相關物件屬性
???? Position位置設置為(0.0.0)
???? scale X,Z放大2倍
④創建材質使Plane更改顏色和材質
???? 在assets文件下創建文件“Materials”右鍵此文件創建Ground材質
提示:創建的Materials組件也可以直接拖動到場景里的任何物件
也可以點擊目標物體在“Inspector”面板,Materials屬性進行添加
???? Mesh Filter:控制形狀模型
???? Mesh Renderer:在網格上渲染
???? smooththness:控制光滑程度(值越大越光滑)
???? 例如:smooththness為1
???? smooththness為0
相關板塊間的關系
(2)創建墻體
提示:創建的Materials組件也可以直接拖動到場景里的任何物件
①在Hierarchy面板中右鍵3D object>Cuba
②建立一個立方體重命名為“wall”,調整立方體的“Scale”并根據需添加材質
*(3)預制體
創建多個相同物體,可以創建預制體
①在“Hierarchy”面板下創建一個物體,重命名為“wall調整好各個參數”
②創建一個文件“Prefabs”用于存放預制體
③將物體拖動在文件下,需要用到相同物體可以直接拖出預制體
(4)構建互動物體
根據前文提到的步驟,通過預制體或者直接復制的方式生成多個相同物體
2、添加物理組件
(1)碰撞檢測
①在Hierarchy面板中的最下方點擊“Add Component”
②搜索“Sphere Collider”點擊即可添加此組件
(2)添加物理組件
①在Hierarchy面板中的最下方點擊“Add Component”,搜索“Rigidbody”鋼鐵組件進行添加
添加剛體組件作用:模擬物理效果(重力、摩擦力、彈力、動力等),可以通過剛體控制小球的運動
渲染模型和碰撞模型需要分開
同時碰撞監測消耗越小,運行越流暢
這里的模型一套精細建模用于渲染 ,一套低模碰撞監測穿模
減少穿模情況
調整攝像機位置
3、代碼組件
建議代碼零基礎學生
模仿不求甚解, 后期學習C#語法基礎
(1)添加刪除代碼組件
①添加兩種方式:
???? a、在Project里面
???????? Project > Assets 右鍵選擇create 創建 C# script ,并重命名為“New Name”右鍵即可打開
???? b、在Inspector面板
???????? 在Inspector面板最低端點擊“Add Component”添加組件
②刪除兩種方式:
???? a、刪除代碼
???? b、刪除組件
(2)腳本的基本結構
???? a、引用
???? b、腳本名字(類名)(類名和腳本名保持一致)
???? c、什么是方法
???? d、Start方法和Update方法 - 系統方法(事件方法)
(3)控制臺面板 - Console
???? a、怎么打開—“Crtl+shift+C” 可以快速喚出可控制面板
???? b、怎么輸出—
???? c、收縮輸出—
???? d、注釋——
(4)在代碼中獲取剛體組件
在Player腳本中
???? a、第一種方法 - 通過代碼獲取
???? private Rigidbody rd;
???? rd = rd = GetComponent<Rigidbody>();
???? b、第二種方法 - 通過拖拽
???? public Rigidbody rd;
(5)給小球添加力
???? a、小球的碰撞監測——在player腳本里寫一個系統事件
private void OnCollisionEnter(Collision collision){Debug.Log("發生碰撞了 OnCollisionEnter");if(collision.gameObject.tag == "Food"){Destroy(collision.gameObject);}}collision collision來檢測來儲存碰撞到的信息
添加標簽 “Food”
(6)讓物體旋轉
在預制體里添加“food”腳本,每個實例都會有此腳本
transform.Rotate是旋轉
vector3.up圍繞自身上方的旋轉
總結
未完工暫無
總結
以上是生活随笔為你收集整理的unity零基础学习的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【自己看的笔记】Unity基础操作认识
- 下一篇: Unity学习笔记(一)—— 基础知识