Unity HDRP项目实践 —— HDRP光照系统(二)
今天继续学习HDRP的光照系统
今天的任务是——进一步学习光照类型
光源类型和使用
1、Spot Light(聚光灯)
进入Lighting检视面板 介绍参数
Light Layer:控制当前灯对场景中哪些物体投射光线
Shape
Shape:光圆形状。可选Cone(圆锥)、Pyramid(金字塔)和Box(长方形)
圆锥形的三个参数:Outer Angle(外部角度)、Inner Angle(内部角度)注意这是百分比、Radius(半径范围)对灯光还有阴影柔和程度都有影响,数值越大产生阴影越柔和
Outer和Inner的差可以产生光照衰减的效果
Emission
点击右上角齿轮后可以打开与当前光源形状相关的额外参数
上半部分参数前文已做过介绍,这里不再进行赘述,主要补充额外参数的介绍
Reflector(反光板):可以在聚光灯后模拟出一个“隐形”的反光板。把聚光灯向后发射的光线进行反射,从而大大增强聚光灯的光照强度
Affect Diffuse/Specular(影响漫反射/高光)
Range Attenuation(光照范围衰减)
Intensity Multiplier(光照强度倍数):这里的数值将会与Intensity数值进行相乘。通过这个倍数数值,我们可以在Timeline、动画或者脚本来动态控制光源的光照强度
Volumetrics(体积光)
因为在当前场景的Volume组件我们添加了Fog选项。因此在该光源下启动Volumetrics选项,将会生成与光源形状相匹配的体积光效果
Shadow
Resolution(阴影分辨率):用于设置阴影的分辨率大小
Near Plane:用于控制当前光源开始投射阴影的距离
Contact Shadows:用于补充细节阴影
...
强力探照灯效果
我们可以通过启用Reflector来产生此类光照效果
2、Point Light(点光源)
这盏灯由四部分组成
(1)灯具的模型网格,包括灯罩和下面的支架。
注意:将Rendering Layer Mask设置为Light Layer 3,意思是只有那些在Light组件中把Light Layer3加入影响范围的光源,才能为物体提供光照信息
(2)在灯具中间,用于表示灯泡的模型网格带自发光材质
(3)灯具的主光源,自带Light Cookie遮罩,用于模拟光线被灯具遮蔽的效果
注意:为了不照亮灯具本身,在Light Layer中需要禁用Light Layer3
(4)灯具的次要光源。用于提供玻璃灯罩的效果和把灯具本身照亮。因此范围和强度都调整到很小的范围
注意:因为这个光只用于照亮灯具,Light Layer需要设置为Light Layer3
其他的点光源 实现方法类似
3、Area Light(面积光)
我们可以通过面积光来模拟一个发光通道的入口
Shape
Emission
Display Emissive Mesh(显示自发光网格):启用该选项我们才可以看到光源的形状
4、给灯光添加Light Cookie
(1)给聚光灯设置Light Cookie
给聚光灯设置Light Cookie相对简单,我们可以直接将一张纹理贴图放到Cookie中进行设置
效果如下:
(2)点光源设置Light Cookie
点光源的LightCookie制作相对复杂。需要通过制作Cubemap来实现效果
一般制作流程有:3dsmax+Arnold渲染器和Unity的Progressive Lightmapper两种方法
这里不多介绍了
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 【.NET】调用本地 Deepseek 模型
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库