Unity官方示例教程《Stealth》學習筆記
阿新 • • 發佈:2019-02-18
Models.env_stealth_static -> Hierarchy
env_stealth_static.Transform.Position = (0, 0, 0)
Models.prop_battleBus -> Hierarchy
prop_battleBus.Transform.Position = (-15,0 ,17.5)
prop_battle_Bus.Transform.Rotation.Y = 270
2、新增碰撞網路(Mesh Collider)
env_stealth_static.Add Component.Physics.Mesh Collider
env_stealth_static.Mesh Collider.Mesh = Models.env_stealth_collision.env_stealth_collision_001
4、使用Deferred Lighting(延遲拍攝)
camera_main.Camera.Rendering Path = Deferred Lighting
camera_main.Camera.Background = black
camera_main.Carera.Clipping Planes.Far = 100
5、引入燈光
env_stealth_static + prop_battleBus.Static = true//場景不會移動,可以使用燈光貼圖
env_stealth_static.* - extents + prop_battleBus.Layer = PlayArea
env_stealth_static.extents.Layer = Extents//設定不同的層以顯示不同的燈光效果
Prefabs.light_baked => Hierarchy
3D Gizmos(3D線框)
6、建立點光源(Point Light)
light_playerArea_point = Hierarchy.Create Point Light
light_playerArea_point.Light.Color = yellow
light_playerArea_point.Light.Range = 8
light_playerArea_point.Light.Lightmapping = BakedOnly//確保燈光烘焙為燈光貼圖,否則燈光是即使渲染的,會增大記憶體消耗
7、修改渲染設定(Render Settings)
開啟Edit->Render Settings
(筆者注:Unity5中Render Settings已經整合到Window->Lighting中,Unity5霧化詳情請參見部落格
RenderSettings.Fog = true
RenderSettings.Fog Color = purpel
RenderSettings.Fog Density = 0.04
RenderSettings.Linear Fog Start = 3
RenderSettings.Linear Fog End = 24
Ambient Light(環境光) = black//Amibient Light是模擬漫反射的一種光源。它能將燈光均勻的照射在場景中每個物體上面,在使用Amibient Light可以忽略方向和角度,只考慮光源的位置。
8、畫質設定(Quality)
開啟Edit.Project Settings.Quality
知識點:QualitySettings.Quality Level相關
QualitySettings.Pixel Light Count = 6
(Quity設定詳見部落格
9、烘焙燈光貼圖:把燈光效果儲存為紋理(Lightmapping)
開啟Window->Lightmapping
Lightmapping.Bake.Mode = Directional Lightmaps(定向光線對映)
Lightmapping.Bake.Quality = Low
Lightmapping.Bake.Bounces(反彈) = 4
Lightmapping.Bake.Bounces Boost(反彈增強) = 0.5
Lightmapping.Bake.Contrast Threshold(對比界限) = 0.05
Lightmapping.Bake.Interpolation(插值) = 0.25
Lightmapping.Bake.Interpolation Point(插值點) = 30
Lightmapping.Bake.Ambient Occlusion(環境光散射) = 1
Lightmapping.Bake.Max Distance = 0.25
Lightmapping.Bake.Contrast(對比度) = 0
Lightmapping.Bake.Resolution(解析度) = 30
Lightmapping.Bake.Padding(填充) = 2
10、場景烘焙(Bake Scene)
Lightmapping.Bake Scene
11、動態光照亮遊戲人物
Create.Directional Light
Inspector.Tag = MainLight
Light.Color = blue-gray
Light.Shadow Type(陰影型別) = Soft Shadows(柔和陰影)
Light.Bias(偏差) = 0.01(決定影子與物體的距離,值太小會產生假象,值太大會讓物體看起來在漂浮)
Light.Softness Fade(柔軟褪色) = 0.8(定義距離攝像機多近時,才會產生影子)
Light.Culling Mask(裁剪蒙板) = No Extents(決定燈光影響哪些層)
Light.Rotation = (45, 305, 0)(Directonal Light 不受自身Position影響,只受Rotation影響)
Lightmapping = RealtimeOnly
12、建立警戒燈光
light_main_directional = Hierarchy.Create.Directional Light
light_main_directional.Tag = AlarmTag
light_main_directional.Light.Color = red
light_main_directional.Light.Intensity = 0
light_main_directional.Light.Culling Mask = Everything
light_main_directional.Lightmapping = RealtimeOnly