1. 程式人生 > >Unity官方示例教程《Stealth》學習筆記

Unity官方示例教程《Stealth》學習筆記


 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霧化詳情請參見部落格
Unity霧化效果
)
 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設定詳見部落格
Unity Quality引數詳解
)
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