狠狠撸
Submit Search
Unity遊戲程式設計 - 3D物件與光源設定
?
0 likes
?
318 views
吳錫修 (ShyiShiou Wu)
Follow
內建3D物件, 3D座標系統, 光源類型與特性, 光源屬性, 光暈效果與眩光效果, 應用光照貼圖
Read less
Read more
1 of 36
Download now
Download to read offline
More Related Content
Unity遊戲程式設計 - 3D物件與光源設定
1.
3D物件與光源設定 Revised on March
7, 2020 ? 內建3D物件 ? 3D座標系統 ? 光源類型與特性 ? 光源屬性 ? 光暈效果與眩光效果 ? 應用光照貼圖
2.
? 建立3D專案 3D專案 2
3.
? 選單命令GameObject>3D Object可找到內建3D物件 ?
Cube 立方體 ? Sphere 球體 ? Capsule 膠囊 ? Cylinder 圓柱體 ? Plane 平面 ? Quad 四邊形 內建3D物件 3 Plane Quad Cylinder Capsule Cube Sphere
4.
? 由Transform屬性調整物件位置(Position)、角度(Rotation)、及 縮放倍率(Scale) 場景3D座標系統 4 平移場景(Q)
旋轉物體(E) (T)針對一個平面進行移動、旋轉及縮放,在編輯2D 物件時較常使用 移動物體(W) 縮放物體(R) (Y) 移動、旋轉及縮放物體
5.
? 選單命令Assets> Import
Package> Effects ? 勾選LightCookies (光罩素材) ? 勾選LightFlares (眩光素材) 滙入光照效果素材 5
6.
? 光源可以營造遊戲場景明暗與氛圍,使場景中的物體呈現出正確的顏 色,及產生陰影效果 ? 新增場景時會?動建立?個方向光(Directional
Light) ? 選單命令GameObject> Light加入光源物件 ? Directional Light 方向光 ? Point Light 點光源 ? Spotlight 聚光燈 ? Area Light 區域光 光源類型與特性 1/5 6 方向光 點光源 聚光燈 區域光
7.
? Directional Light
(方向光) ? ?個位於無限遠處的光源,照射到整個場景,也稱為平行光,會影響場景 中的所有物件,類似?然界中日光的照明效果 ? 最不耗費圖形處理器資源 ? 因為是無限遠處的光源,Position屬性不會影響照射效果 光源類型與特性 2/5 7
8.
? Point Light
(點光源) ? 類似燈泡的照明效果,朝四面八方發出光線,影響其範圍內的所有物件 ? 光照效果與光源距離有關,點光源較耗用圖形處理器資源 光源類型與特性 3/5 8
9.
? Spotlight (聚光燈) ?
類似舞台上的探照燈,朝某?方向在錐形範圍照射光線,位於錐形範圍內 的物件會受到光線照射 ? 光照效果與光源距離及角度有關,聚光燈較耗用運算資源 光源類型與特性 4/5 9
10.
? Area Light
(區域光) ? Area Light是由矩形單?面射出光線,俗稱面燈 ? 不能產生即時光照的效果,應用於對靜態物件之光照貼圖烘焙 (Light baking) 光源類型與特性 5/5 10
11.
? Type 選擇光源類型,不同類型光源所對應的屬性有些差異 ? Spot
聚光燈 ? Directional 方向光 ? Point 點光源 ? Area (baked only) 區域光 光源屬性 1/8 11
12.
? 方向光屬性 ?
點光源屬性 光源屬性 2/8 12
13.
? 聚光燈屬性 ?
區域光屬性 光源屬性 3/8 13
14.
? Range 光線照射距離,適用點光源與聚光燈 ? Spot
Angle 適用聚光燈,聚光燈角度(1~179),用來控制光源投射範圍 ? Color 燈光顏色,預設為白光 ? Mode 光照計算方式 ? Realtime 即時計算光照效果 ? Baked 執行光影貼圖時計算光照效果 ? Mixed 混用 光源屬性 4/8 14
15.
? Intensity 光源強度,聚光燈與點光源預設值為1,方向光預設值為0.5 ? Intensity
Multiplier 場景中漫反射環境光(間接光)的強度。設定值小於1,表示每次反射光都會變 暗;高於1的值則使每次反射光會較亮 當陰影環境中(例如洞穴內部)的黑色表面需要更亮才能使細節可見時,就非 常有用 ? Cookie 燈光遮罩,光源加上?個有Alpha通道的紋理光罩。如果是聚光燈或方向燈, 可以指定?個2D紋理;如果是點光源,則必須指定?個Cubemap(立方體紋理) ? Cookie Size 縮放Cookie光罩,適用方向光 光源屬性 5/8 15
16.
? Shadow Type 陰影效果 ?
No Shadow 關閉陰影 ? Hard Shadow 輪廓清晰的影子 ? Soft Shadow 柔邊輪廓的影子,較耗運算資源 ? Strength 陰影強度,1最明顯,0消失 ? Resolution 陰影解析度 ? Use Quality Settings 套用Edit>Project Settings>Quality設定 ? Low Resolution 低解析度 ? Medium Resolution 中解析度 ? High Resolution 高解析度 ? Very High Resolution 超高解析度 光源屬性 6/8 16
17.
? Bias 微調陰影的位置與陰影定義點,避免產生shadow acne情形。太大的Bias值可能導致GameObject附近 的陰影區域被錯誤地點亮,而造成?個斷開的陰影, 使GameObject看起来好像是離開地面 ?
Normal Bias 微調陰影的位置與陰影定義點 ? Shadow Near Plane 設定渲染陰影光源距離,光距離GameObjects 小於設定值時不會投射陰影 光源屬性 7/8 17 shadow acne bias值太大
18.
? Draw Halo 開啟光源之光暈效果 ?
Flare 設定光源眩光效果 ? Render Mode 光源渲染模式 ? Auto 根據附近燈光的亮度和專案Quality設定,在運行時 決定渲染方式 ? Important 逐像素進行渲染,可以得到最明顯的視覺效果 ? Not Important 快速渲染 ? Culling Mask 隱藏遮罩,設定光源影響的圖層 光源屬性 8/8 18
19.
? 新增場景,檔名Lighting ? 建立場景物件 ?
選單命令GameObject> 3D Object> Plane ? Position(x, y, z) = (0, 0, 0) ? 選單命令GameObject> 3D Object> Sphere ? Position(x, y, z) = (0, 1, 0) ? Scale(x, y, z) = (2, 2, 2) ? 調整Main Camera ? Position(x, y, z) = (0, 2, -9) ? Rotation (x, y, z) = (5, 0, 0) 光源設定練習 1/4 19
20.
? 設定Directional Light ?
Rotation (x, y, z) = (50, -30, 0) ? Intensity = 0.3 ? 選單命令GameObject> Light> Spotlight,加入聚光燈 ? Position(x, y, z) = (-4, 4, 0) ? Rotation(x, y, z) = (125, -90, 0) ? Spot Angle = 50 ? Intensity = 2.5 ? Shadow Type = Soft Shadows 光源設定練習 2/4 20
21.
? 選單命令GameObject> Light>
Point Light,加入點光源 ? Position(x, y, z) = (4, 2.57, 0) ? Color = red ? Intensity = 1.1 光源設定練習 3/4 21 點光源 方向光 聚光燈
22.
? 測試遊戲 ? 開啟或關閉個各別光源,觀察結果 光源設定練習
4/4 22
23.
? 新增場景,檔名Flare ? 建立場景物件 ?
選單命令GameObject> 3D Object> Plane ? Position(x, y, z) = (0, 0, 0) ? 選單命令GameObject> 3D Object> Sphere ? Position(x, y, z) = (0, 1, 0) ? Scale(x, y, z) = (2, 2, 2) ? 調整攝影機 ? Position(x, y ,z) = (0, 2, -9) ? Rotation(x, y, z) = (5, 0, 0) ? 加入Flare Layer元件 眩光效果練習 1/5 23
24.
? 設定方向光 ? Rotation(x,
y, z) = (50, -30, 0) ? Intensity = 0.3 ? Flare = Sun ? 選單命令GameObject> Light> Spotlight,加入聚光燈 ? Position(x, y, z) = (-4, 4, 0) ? Rotation(x, y, z) = (125, -90, 0) ? Spot Angle = 50 ? Intensity = 2 ? Shadow Type = Soft Shadows ? Flare = FlareSmall 眩光效果練習 2/5 24
25.
? 選單命令GameObject> Light>
Point Light,加入點光源 ? Position(x, y, z) = (4, 3, 0) ? Color = red ? Flare = 50mmZoom 眩光效果練習 3/5 25 點光源 方向光 聚光燈
26.
? Main Camera加入CameraControl腳本程式 using
System.Collections; using System.Collections.Generic; using UnityEngine; public class CameraControl : MonoBehaviour { public float xSpeed = 1.0f; public float ySpeed = 1.0f; private Quaternion rotationEuler; private float x; private float y; void LateUpdate() { x += Input.GetAxis ("Mouse X") * xSpeed ; y -= Input.GetAxis ("Mouse Y") * xSpeed ; rotationEuler = Quaternion.Euler (y, x, 0); transform.rotation = rotationEuler; } } 眩光效果練習 4/5 26
27.
? 測試遊戲 ? 移動滑鼠調整攝影機方位,觀察結果 眩光效果練習
5/5 27
28.
? 光照貼圖(Lightmapping)是?種增加靜態場景光照效果的技術 ? 事先將光照效果經由計算產生貼圖,渲染到場景中的靜態物件,減少 遊戲執行階段的燈光照明計算,在遊戲執行時以較少的處理器資源就 能使靜態場景看起來更真實 光照貼圖 28
29.
? 場景物件 光照貼圖練習 1/8 29 Sphere Plane Area
Light - Left Area Light - Middle Area Light - Right Directional Light
30.
? 新增場景,檔名Light baking ?
調整方向光源及攝影機 ? Directional Light ? Rotation(x, y, z) = (50, -30, 0) ? Intensity = 0.4 ? Main Camera ? Position(x, y ,z) = (0, 4, -10) ? Rotation(x, y, z) = (12, 0, 0) 光照貼圖練習 2/8 30
31.
? 建立場景物件 ? 選單命令GameObject>
3D Object> Sphere ? Position(x, y, z) = (0, 1.5, 0) ? Scale(x, y, z) = (3, 3, 3) ? 選單命令GameObject> 3D Object> Plane ? Position(x, y, z) = (0, 0, 0) ? Scale(x, y, z) = (1, 1, 1) ? 加入區域光源 ? 選單命令GameObject> Light> Area Light ? Position(x, y, z) = (5, 2, -3) ? Rotation(x, y, z) = (0, 0, 0) ? Width=5, Height=5 ? Color = Red 光照貼圖練習 3/8 31
32.
? 選單命令GameObject> Light>
Area Light ? Position(x, y, z) = (0, 2, -3) ? Rotation(x, y, z) = (0, 0, 0) ? Width=5, Height=5 ? Color = Green ? 選單命令GameObject> Light> Area Light ? Position(x, y, z) = (-5, 2, -3) ? Rotation(x, y, z) = (0, 0, 0) ? Width=5, Height=5 ? Color = Blue 光照貼圖練習 4/8 32
33.
? 將要烘焙的物件(Shpere及Plane)設定為Static ? 如有其它光源要加入光照貼圖運算,將其Baking屬性設定為Baked 光照貼圖練習
5/8 33
34.
? 選單命令Window> Rendering>
Lighting Settings ? 取消勾選Auto Generate ? 點擊Generate Lighting按鈕,就會運算建立光照貼圖素材並放置於場景 目錄下 光照貼圖練習 6/8 34
35.
? 經過運算所建立之光影貼圖素材 ? 執行測試 光照貼圖練習
7/8 35
36.
光照貼圖練習 8/8 36 光照貼圖前 光照貼圖後 光照貼圖後(關閉方向光源)
Download