Unity官方示例教程《Stealth》学习笔记

Unity官方游戏实例教程《Stealth》中文版
*写在前面*



《Stealth》是Unity官方示例项目,大家可以到Unity官网上去下载资源包和视频教程。在此,笔者将自己学习《Stealth》时的笔记搬到博客上,以供大家学习参考,与官方视频教程配合使用。


Unity官方游戏实例教程《Stealth》中文版 第2集
*开发准备与灯光设置*


1、新建场景
 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


猜你喜欢

转载自blog.csdn.net/renkai0406/article/details/61915839