Unity图形学之灯光的原理

1.人卡看到的物体都是物体反射的光线到眼睛里

2.材质决定了 物体和灯光 的作用

3.漫反射:

(1)从360度看 颜色是一样的

(2)早上和晚上 看同一个地方 颜色也不一样

结论:

(1)漫反射 跟灯光的入射角有关系。亮度

(2)漫反射 跟观察角没有关系。360度看都是一样的颜色

4.镜面反射:手电筒 垂直照射 一面镜子

(1)只有眼睛 跟 手电筒平行的时候,能看到光。

(2)从其他角度查看 是 黑色的。因为光线垂直照入,只会垂直反射出去

结论:

(1)镜面反射,跟入射角有关系

(2)镜面反射,跟观察角也有关系

5.在3D世界中,任何一个物体都不是单一的,漫反射或者镜面反射,都是由两者组合而成的。现实世界也是一样的,有些地方发生漫反射,有些地方发生镜面反射

6.漫反射:

L:灯光入射

N:顶点的法线

E:观察角,也就是相机

(1)漫反射:Dot(L,N) L 点乘 N : = |L| * |N| * cosQ

(2)漫反射 颜色计算公式:Dot(L,N) * 灯光的颜色 * 灯光的衰减 (模拟漫反射的过程)

7.镜面反射:

R:代表灯光的反射角

(1)Phone 式光照模型:

cs 复制代码
R dot E :R 点乘 E 

(2)BilingPhone 光照模型:

cs 复制代码
(E-L) dot N == H dot N dot表示点乘

镜面发射颜色计算公式:镜面反射 * 灯光颜色 * 灯光的衰减值

8.终级公式:镜面反射的颜色 + 漫反射的颜色 + 自发光+ 环境光

相关推荐
心前阳光4 小时前
Unity WebGL文本输入
unity·游戏引擎·webgl
天涯过客TYGK5 小时前
unity A星寻路
unity·游戏引擎
KhalilRuan5 小时前
Unity Demo——3D平台跳跃游戏笔记
笔记·游戏·unity·游戏引擎
AA陈超1 天前
虚幻引擎UE5专用服务器游戏开发-20 添加基础能力类与连招能力
c++·游戏·ue5·游戏引擎·虚幻
ttod_qzstudio1 天前
Unity中使用EzySlice实现模型切割与UV控制完全指南
unity
南無忘码至尊1 天前
Unity 实现与 Ollama API 交互的实时流式响应处理
unity·游戏引擎·交互
平行云1 天前
如何实现UE程序大并发多集群的像素流部署
unity·ue5·图形渲染
mit6.8242 天前
[shad-PS4] Vulkan渲染器 | 着色器_重新编译器 | SPIR-V 格式
c++·游戏引擎·ps4
向宇it2 天前
【unity小技巧】在 Unity 中将 2D 精灵添加到 3D 游戏中,并实现阴影投射效果,实现类《八分旅人》《饥荒》等等的2.5D游戏效果
游戏·3d·unity·编辑器·游戏引擎·材质
向宇it2 天前
Unity Universal Render Pipeline/Lit光照材质介绍
游戏·unity·c#·游戏引擎·材质