虛擬現實技術導論(微課版) 課件 第2章 Unity3D引擎_第1頁
虛擬現實技術導論(微課版) 課件 第2章 Unity3D引擎_第2頁
虛擬現實技術導論(微課版) 課件 第2章 Unity3D引擎_第3頁
虛擬現實技術導論(微課版) 課件 第2章 Unity3D引擎_第4頁
虛擬現實技術導論(微課版) 課件 第2章 Unity3D引擎_第5頁
已閱讀5頁,還剩34頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

.Unity3D引擎

.

2.1Unity3D引擎介紹

.目錄.1.Unity下載與安裝

.2.創建項目

.3.Unity編輯器界面

1.Unity下載與安裝

進入Unity官網,單擊“下載Unity”按鈕,Unity中的各種版本在此界面均可找到

1.Unity下載與安裝

單擊“UnityHub(Win)”按鈕,下載UnityHubSetup.exe安裝程序,運行此程序,即可開始安裝UnityHub。在UnityHub中,有Unity官方提供的教程、工程文件、資源、學習鏈接等,如圖2-3所示。單擊“安裝”>“添加”按鈕,選擇“Unity2019.3.2f1”單選項,單擊“下一步”按鈕。添加Unity運行所需要的模塊,如MicrosoftVisualStudioCommunity2019(腳本編輯器)、AndroidBuildSupport、Documentation(參考文檔)、簡體中文等。

2.

創建項目

在UnityHub中單擊“新建”按鈕,選擇Unity版本后,選擇項目類型:3D,輸入項目名稱,設置項目存放位置后,單擊“創建”按鈕,即可新建一個Unity游戲項目,Unity自動在指定的路徑下創建以項目名命名的文件夾。標準的Unity項目文件夾中主要包括以下文件夾:Assets文件夾:包含所有在Unity中創建、導入的文件,是Unity的主要工作文件夾;Library文件夾:存放項目的數據庫文件;ProjectSettings文件夾:存放項目的配置文件;Logs文件夾:存放Unity工作過程中的日志文件。

3. Unity編輯器界面

Unity編輯器由多個面板組成,每個面板負責不同的功能,主要包括Hierarchy(層級)、Project(項目)、Inspector(屬性)、Scene(場景)、Game(游戲)、Console(控制臺)等面板。

Unity中的面板可隨意拖動或關閉,也可通過編輯器右上角的“Layout(布局)”選擇框設置默認的界面布局。3.

Unity編輯器界面—Project面板

Project(項目)面板按照文件夾的目錄結構來存放項目的所有資源,對應著項目文件夾中的Assets文件夾。

在Project面板中的Assets面板空白處右鍵,彈出菜單中單擊Create可創建各種資源,常用的資源包括:場景、游戲腳本、預制體、材質、動畫、紋理貼圖及導入的其他資源。

3.

Unity編輯器界面—Hierarchy面板

Hierarchy(層級)面板中顯示場景中所有的游戲對象(GameObject),新建的項目中具有兩個默認的物體:MainCamera(攝像機)和DirectionalLight(方向光)。

在此面板中單擊鼠標右鍵,在彈出的菜單中創建游戲物體,也可通過菜單項“GameObject”來創建游戲物體。

3.

Unity編輯器界面— Inspector面板Inspector(屬性)面板相當于“屬性編輯器”,顯示當前選中游戲對象的所有組件及組件屬性,包括GameObject(游戲對象)、Assets(資源)和Materials(材料)等,以及編輯器設置和首選項。右圖所示是MainCamera(主相機)的屬性,除了物體的Position(位置),Rotation(旋轉)和Scale(縮放)值之外,還可以編輯主相機的所有屬性。MainCamera屬性3.

Unity編輯器界面—Scene面板Scene(場景)面板用來顯示和編輯場景中的游戲物體,常見操作是調整游戲對象的位置、方向、旋轉、縮放等。

HandTool:手型工具,用于調整當前視野位置;MoveTool:移動物體,可在X、Y、Z三個方向移動物體;RotateTool:旋轉物體;ScaleTool:縮放物體;RectTool:物體在二維平面的移動和縮放;Move,RotateorScale:混合工具,集合移動、旋轉及縮放三種工具;AvailableCustomEditorTools:自定義編輯器工具。3.

Unity編輯器界面— Game面板Game(游戲)面板中顯示游戲運行時的圖像,在編輯器中運行游戲后,自動切換到此面板。

在游戲模式下,使用者所做的任何改變都是暫時的,退出游戲模式時使用者所做的修改將會被重置。控制游戲運行的按鈕分別是:運行游戲、暫停游戲運行、下一個關卡3.

Unity編輯器界面— Console面板Console(控制臺)面板用來顯示控制臺信息。若腳本編寫出現錯誤,在此面板中會有紅色字體顯示出錯位置和原因等信息。。

.謝謝觀看

.Unity3D引擎

.2.2Unity3D引擎的基礎內容

.目錄.6.

攝像機Camera

.2.

Assets

.3.

預設體Prefab

.4.

材質Material

.5.光源系統Light

.1

.

GameObject、Component

.7.

粒子系統Particle

.8.物理系統Physics

1.GameObject、Component

.GameObject

.

GameObject,它代表的是游戲對象,如游戲中的角色、道具、敵人,等等。.在Hierarchy面板中創建一個游戲對象,也可通過菜單“GameObject”>“3DObject”命令創建,游戲對象可以是一個相機、一個燈光,或者一個簡單的3D模型。

.Component

.

每個游戲對象上可以加載不同的Component(組件),組件可以是一個腳本、一張貼圖或一個模型。.一個基本的Cube游戲對象,默認就有4個組件:Transform組件MeshFilter組件BoxCollider組件MeshRenderer組件

2.

外部資源的導入和使用

1. 導入單個文件菜單“Assets”>“ImportNewAsset”;導入Unity系統自帶的資源包

在AssetStore頁面的搜索框中輸入關鍵字,搜索結果頁面選中所需素材,點擊下載按鈕;下載完成后,在出現的窗口中直接單擊“Import”按鈕。3.導入外部資源包菜單“Assets”>“ImportPackage”>“CustomPackage”;文件選擇框中選擇以“.unitypackage”為擴展名的資源;3.

預設體Prefab

Prefab意為預設體,可以理解為一個游戲對象及其組件的集合,目的是使游戲對象及資源能夠被重復利用。預設體儲存著一個游戲對象及游戲對象的所有組件。修改預設體的屬性,預設體實例化后的游戲對象也會發生相應的改變。

創建一個立方體的Prefab,操作步驟如下:

(1) 新建一個Cube(立方體)(2) 將Hierarchy面板中的Cube直接拖動到Project面板prefabs文件夾中,生成Cube預設體,預設體的擴展名為.prefab;Hierarchy面板中的Cube字體顏色變成了藍色。4. 材質Material

Material材質用來定義物體表現信息的,在3D引擎里,通常默認以球體網格模型來展示材質,所以材質也叫做材質球。Unity提供的材質有:Material(普通材質)、PhysicMaterial(物理材質)、Physics2DMaterial(2D的物理材質)。創建一個材質,操作步驟如下:(1) Project面板中,單擊鼠標右鍵,在彈出菜單中選擇“Create”>“Material”,創建一個新的材質球,材質球默認名稱為NewMaterial,材質球擴展名為.mat;(2) 單擊新材質球,重命名為CubeMaterial;(3) 材質球選色及貼圖:在Project面板中選中CubeMaterial材質球,單擊Inspector面板的Albedo選材質的顏色,也可以單擊屬性前面的小圓圈按鈕給材質球添加紋理圖片。(4) 游戲對象上色:材質球創建好后,選中材質球,按住鼠標左鍵將其拖曳到Scene面板中的游戲對象上即可,或者拖曳到Hierarchy面板中的游戲對象上。5.光源系統Light

Unity中的光源系統可以很好地模擬自然界的光線效果,比如:光的照射、反射、折射等物理特性,增加真實感和立體感。光源系統可以模擬太陽、燃燒的火柴、探照燈、手電筒、爆炸等等。Unity中提供4種光源:

DirectionalLight:方向光,是游戲場景中的主光源,類似于太陽的照射效果,光線從一個方向照亮整個場景;

PointLight:點光源,從一個點向四周平均發射光線,類似于燈泡的照射效果,常用來模擬火把、燈光來照亮局部場景;

SpotLight:聚光燈,按照一定方向在圓錐體范圍內發射光線電,類似于舞臺上的聚光燈;

AreaLight:區域光,一般不用于實時光照,用于制作光影貼圖烘焙。6. 攝像機Camera

Unity的每個默認場景都會有一個默認的攝像機MainCamera,它的作用是展示游戲世界畫面。

Hierarchy面板右鍵單擊,彈出的快捷菜單中選擇“Camera”,可創建多個攝像機。

攝像機有一個由白線構成的觀察區間,叫做視錐體。在視錐體范圍內的物體,才能被游戲玩家看到。

Hierarchy面板上選中攝像機,Scene面板右下角會出現預覽窗口(GamePreview)。

7. 粒子系統Particle在場景中模擬煙霧、氣流、火焰和各種大氣效果粒子本質是簡單微小的圖片,粒子系統就是發射大量的粒子,這些粒子以特定規律運動,從而模擬出復雜的自然現象或效果。標準資源中粒子效果包括:Dust(沙塵)、Fire(火焰)、Water(水)、Smoke(煙霧)等Project視圖中Assets>StandardAssets>ParticleSystems>Prefabs文件夾下的粒子預設體拖入到Scene視圖中,即可生成粒子效果。粒子系統的一個好處是它們是可以添加到場景中任何一個GameObject的組件中。通常粒子系統不單獨出現,而是依附在游戲對象上。

7. 粒子系統Particle--火焰效果菜單File>NewScene,在場景中新建一個場景;Hierarchy視圖面板右鍵Create>Cylinder,在場景中創建一個圓柱體。Hierarchy視圖中選中Cylinder,對應Inspector視圖中點擊AddComponent按鈕,選擇Effects>ParticleSystem,給圓柱體添加粒子效果;Hierarchy視圖中選中Cylinder,修改Inspector窗口中ParticleSystem組件屬性。ParticleSystem組件常用的屬性模塊有:ParticleSystem(固有模塊),Emission(發射模塊),Shape(形狀模塊),Renderer(渲染模塊)。屬性Duration(Renderer模塊:Material和Trail選擇ParticleSmokeWhite貼圖;粒子系統運行的時間長度):2,startLiftime(粒子的初始生命周期):2秒,startspeed(粒子的初始速度):4,startsize(粒子的初始大小):3;Shape模塊:angle設為0,radius設為0.2,Rotation中X值設為-90;SizeoverLifetime模塊:調整它的變化曲線;在ParticleSystemCurves面板中,點擊曲線后右鍵增加一個節點,由于火焰是底部小、中部大、上部小,大致的調整曲線的弧度;調整曲線的過程中可以看到粒子的變化;ColoroverLifetime模塊:使用兩種顏色混合,火焰底部一點藍色、上部黃色。

7. 粒子系統Particle--火焰效果8. 物理系統Physics物理系統是Unity3D中非常重要的組成部分。游戲中的物體應該具有正常的物理行為,例如,可以加速、具有摩擦力、受到碰撞、引力和其他力量的影響。Unity的物理系統定義了物體的物理材質屬性、物體受力后的運動以及物體碰撞后的運動。單擊“Component”>“Physics”命令,展開的列表就是物體的物理屬性,如圖所示,主要有剛體(Rigidbody)、碰撞器(Collider)、關節(Joint)等。8.

物理系統Physics--剛體Rigidbody當游戲對象添加了Rigidbody組件后,游戲對象便可接受外力與扭矩力,以保證游戲對象像在真實世界中那樣進行運動。任何游戲對象只有添加了剛體組件才能受到重力的影響。給游戲對象添加Rigidbody組件可通過菜單“Component”>“Physics”>“Rigidbody”;或直接在游戲對象的Inspector面板中,單擊“addComponent”按鈕,選擇“Physics”>“Rigidbody”命令。

Rigidbody組件的屬性面板圖。主要屬性介紹如下:

Mass:游戲對象的質量,單位為Kg;

Drag:游戲對象運動時受到的空氣阻力,0表示沒有空氣阻力,阻力極大時游戲對象會立即停止運動;

AngularDrag:游戲對象旋轉時的角阻力,數值意義與Drag一樣;

UseGravity:游戲對象是否受到重力的作用,默認勾選表示應用重力;

Constraints:剛體約束8.

物理系統Physics--碰撞器Collider碰撞器定義游戲物體在發生物理碰撞時的形狀,兩個游戲對象發生碰撞時,碰撞器可以產生系統默認的碰撞產生的物理效果。

通常Collider會與Rigidbody一起使用,沒有碰撞器組件的剛體物體相遇時,會相互穿過。Unity的碰撞器分為兩類:基本碰撞器和非基本碰撞器。基本碰撞器包括BoxCollider(盒碰撞器)、SphereCollider(橢圓碰撞器,Sphere自帶的碰撞器)、CapsuleCollider(膠囊碰撞器,Capsule自帶的碰撞器)等;非基本碰撞器包括WheelCollider(車輪碰撞器)、MeshCollider(網格碰撞器,Plane自帶的碰撞器)等。

.謝謝觀看

.Unity3D引擎

.

2.3操作實例:野外地形的制作1.創建一個新的場景

File>NewScene2.導入Unity自帶的標準資源包Environment

AssetStore頁面的搜索框中輸入standardAssets,頁面中選擇第一個下載;下載完成后,直接點擊import按鈕。

Project視圖中的Assets文件夾下新增加了一個StandardAssets文件夾,其下包含:2D、相機(Cameras)、角色(Characters)、跨平臺輸入(CrossPlatformInput)、效果(Effects)、環境(Environment)、粒子系統(ParticleSystems)、原型(Prototyping)、實用工具(Utility)和車輛(Vehicles)等文件夾。

Project視圖中的Assets>StandardAssets>Environment文件夾中提供了地形系統設計中需要的樹木、花草、水等資源紋理貼圖;3.導入外部資源包點擊菜單Assets>ImportPackage>CustomPackage;文件選擇框中選擇以“.unitypackage”為擴展名的資源;在ImportUnityPackage對話框中點擊“All”按鈕后,再點擊“Import”按鈕;Project視圖中的Assets文件夾下新增加了一個TerrainAssets文件夾4.Scene場景中創建一個Terrain游戲對象

Hierarchy面板下的Create>3DObject>Terrain;調整攝像機的角度到合適位置,以便觀察地形的變化;5.地形系統的工具按鈕創建相鄰地形圖:在當前地形圖的四邊增加新的地形圖,可形成不規則形狀的地圖;地形繪制種樹工具:在Terrain中添加樹木。細節繪制:用于添加草叢、花和其他小物體(例如巖石)。地形設置:Terrain的參數設置面板6.地形設置--Resolution單擊地形設置按鈕,找到MeshResolution

設置地形寬度(TerrainWidth):500

長度(TerrainLength):500

高度(TerrainHeight):6007.繪制地形的第一層紋理Inspector面板中,單擊Terrain下的PaintTerrain工具,選擇paintTextures,點擊按鈕EditTerrainLayers>CreateLayer,彈出的SelectTexture2D對話框中選擇一種Grass的紋理貼圖點擊添加的紋理圖,修改Tilling值:X—10、Y—10,使草地效果更接近真實實景。8.繪制地形中的道路再次給地形系統添加一個紋理貼圖,用于繪制地形中的道路;調整筆刷大小(BrushSize)和筆刷透明度(Opacity)的值后,用筆刷在地形系統下繪制道路。9.整個地形向上抬高在Terrain的Inspector面板中,單擊Terrain下的PaintTerrain工具,選擇SetHeight,將Height設置為20,然后單擊FlattenTile按鈕,此時整個地形就會向上抬高20個單位,為制作地形系統的湖泊做準備;10.繪制山脈:在Terrain的Inspector面板中,單擊Terrain下PaintTerrain工具,選擇Raise/LowerTerrain按鈕,選擇不同的筆刷樣式,設置不同的BrushSize大小;直接在Scene視圖中單擊鼠標左鍵或者按住鼠標左鍵拖動,即可繪制不同的山脈;按住Shift按鈕,同時拖動鼠標左鍵,可降低地形高度,用來制作湖泊。使用SmoothHeight工具,對地形進行整體平滑過渡處理,使景觀柔和并減少突然變化的外觀。11.添加樹木單擊PlaceTrees按鈕--EditTrees按鈕--選擇AddTree選項--選擇樹的貼圖,添加到地形系統中;

TreeDensity參數用來調節樹的密度

TreeHeight參數用于設置樹的高度范圍;12.添加水效果在Project視圖中的Environment文件夾下的Water文件夾中,找到水資源的預設體WaterProDaytime

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論