平行光下的材质笔记

基本材质

l:灯光方向        n:法线方向        v:视口方向(摄像机方向)

兰伯特材质:

公式:n\cdot l\times BaseColor

n:顶点法线的单位向量

l:平行光方向取反的单位向量

所以n\cdot l= \cos \theta      ( \left | n \right |=1 且 \left | l \right |=1 )

为什么取\cos \theta来计算平行光的反射呢?因为顶点法线和光正对时是0° 也就是全部反射,顶点法线和光成90°时完全不反射为0,与\cos \theta契合

Phong材质

:高光(金属光泽)。摄像机方向和反射反向进行点成

BlinnPhong:相比Phong性能更好(不用计算反射)。灯光方向和摄像头方向的半角和法线方向进行点成

Specular:

菲尼尔(Fresnel)

:不算一种材质,更像是增加边缘光的效果

WrapLight

:(早期的模拟皮肤的方法,有点3S的效果)

L、N的点成是兰伯特材质,W是控制通透性的参数

Minnaert:月球表面、天鹅绒、黑丝

Banded:卡通

一边死黑(兰伯特思想[-1,1];):        (dot(n,l)*layer)/layer

不死黑(半兰伯特思想[0,2]/2=>[0,1]) :       ((dot(n,l)+1)*layer)/layer

边界过度效果:

Back模型

SSSValue:法线乘以的值。以此控制法线向量的长度(方向不变,大小会变),和光向量相加得到 模拟透色的射线向量(背面效果)

ModelNormal * SSSValue + NormalizeLightDirection

正面配合 wrap+Phong

各向异性(广泛用于头发)AnisotropyKajiyaKay:

TBN:X=-Z();Y=X\bigotimes Z ;Z=X        (TBN坐标相对世界坐标)

OrenNayar模型: 

参考论文:Generalization ofLambert's Refectance Model

\cos \left ( \phi _i{}-\phi _r{} \right )=两根绿色向量的模的乘积(一种代替方法,只是为了好算)

 这种代替方法:摄像机在同一个\phi _{}下的效果是一样的,不同的\Theta下就不一样。

\alpha=和法线夹角最大的(光方向和视口方向两者中)

\beta=和法线夹角最小的

PBR材质

\Phi:辐射通量——单位面积通过光的量

\Omega:欧米噶,立体角(三维空间中某个点向多个方向的集合,单位sr)——1SR代表面积=圆半径r^2{},即一个球面度

每一度对应圆的长度:\frac{\pi r}{180}

球面坐标到笛卡尔坐标:

辐射能量:Q=hv(h=6.62620\times 10^{-34}J\cdot S 焦每秒)和光的频率有关

辐射强度:I=\frac{d\Phi }{d\Omega }。即单位立体角的辐射通量。

辐射度:每秒每单位面积的击中

辐射照度:光打在一点对四面八方进行辐射,这个总和叫辐射照度。

L=\frac{d ^2{\Phi}}{dAd\Omega \cos \Theta }

Color= f_{r}*灯光强度*dot(法线,灯光)具体如图:

W_{0}是入射,W_{1}是反射

K_{s}+K_{d}=1(保证能量守恒)

漫反射K_{d}=(1-F)*(1-Metallic)(F是菲尼尔,Metallic是金属度);

f_r{}=漫反射+镜面反射(对应如下的lb、c-t项)

f_{lb}=\frac{1}{\pi }*BaseColor(兰伯特项)

f_{c-t}\frac{DFG}{4*(W_{0}*n)(W_{1}*n)}(在UE里W_{0}*n=NoLW_{1}*n=NoV来表示)

以下是求f_{c-t}

h=\frac{W_{0}+W_{1}}{2}\alpha是粗糙度(法线的凌乱程度)\alpha =r^{2}(r是粗糙度)

新菲尼尔:

两个G是考虑入射光线和反射光线被遮挡时多次反弹仍然弹不出去的情况。

v相当于x是个变量

IBK和纹理映射有关,暂时用一个值替换。

以上的兰伯特项+D项、F项、G项目合成一个公式

### Cinema 4D 学习笔记与教程资源 Cinema 4D(C4D)是一款功能强大的三维设计软件,广泛应用于影视、广告和游戏开发等领域。以下是关于 C4D 的学习笔记和教程资源的详细说明: #### 1. 界面与工具 C4D 的界面主要由菜单栏、工具栏、视图窗口、时间轴和材质编辑器组成[^1]。初学者需要熟悉这些基本布局和功能。工具栏中包含了许多常用的工具,如选择工具、移动工具、旋转工具等,可以通过单击工具栏上的图标或按键盘快捷键来切换。 此外,在视图右上方有四个按钮,点击第四个按钮可以切换到四个视图:透视视图、顶视图、右视图和正视图[^3]。这些视图帮助用户从不同角度观察模型。 #### 2. 对象创建与编辑 在 C4D 中,可以通过单击菜单栏中的“对象”菜单并选择相应的子菜单项来创建各种类型的对象,如立方体、球体、圆柱体等[^1]。选中对象后,可以使用工具栏中的编辑工具对对象进行移动、旋转、缩放等操作。 #### 3. 材质与纹理 C4D 的材质编辑器提供了丰富的材质类型和参数设置,可以通过调整颜色、纹理、泽度等参数来改变对象的表面属性[^1]。还可以通过添加纹理节点并设置映射方式,将图片或纹理文件应用到对象表面上,以增强视觉效果。 #### 4. 灯与摄像机 灯在 C4D 中起着至关重要的作用,可以模拟真实世界中的照效果。可以通过单击菜单栏中的“灯”菜单来创建不同类型的灯,如平行、聚灯等[^1]。摄像机用于控制场景的视图和渲染输出,可以通过单击菜单栏中的“摄像机”菜单来创建摄像机,并通过调整其参数来设置视图角度、焦距等。 #### 5. 动画与运动图形 C4D 支持关键帧动画,可以通过设置对象在不同时间点的属性值来创建动画效果[^1]。运动图形模块与其他 C4D 工具和功能紧密结合,可以创造出更加丰富和逼真的效果[^2]。例如,可以使用建模工具创建复杂的物体,然后使用运动图形和效果器来动画化这些物体。 #### 6. 渲染与输出 在 C4D 中,可以通过单击菜单栏中的“渲染”菜单来打开渲染设置对话框。在该对话框中,可以设置渲染器类型、分辨率、帧范围等参数[^1]。C4D 支持多种渲染输出格式,如 JPEG、PNG、TGA 等,可以在渲染设置对话框中选择所需的输出格式,并设置相应的保存路径和文件名。 #### 推荐学习资源 以下是一些推荐的学习资源: - **官方文档**:Cinema 4D 官方网站提供了详尽的文档和教程。 - **在线课程**:平台如 Udemy、Pluralsight 和 LinkedIn Learning 提供了针对不同水平的学习者设计的课程。 - **YouTube 教程**:许多创作者分享了免费的 C4D 教程视频,涵盖从基础到高级的主题。 - **社区论坛**:加入 C4D 社区论坛(如 Cinema 4D Cafe 或 Reddit 的相关版块),可以获取更多实用技巧和解答疑问。 ```python # 示例代码:创建一个简单的立方体并为其添加材质 import c4d def main(): # 创建立方体对象 cube = c4d.BaseObject(c4d.Ocube) # 创建材质 material = c4d.BaseMaterial(c4d.Mmaterial) material.SetName("Example Material") # 设置材质的颜色 material[c4d.MATERIAL_COLOR_COLOR] = c4d.Vector(0.8, 0.2, 0.2) # 将材质分配给立方体 doc.InsertMaterial(material) tag = cube.MakeTag(c4d.Ttexture) tag[c4d.TEXTURETAG_MATERIAL] = material # 插入立方体到文档 doc.InsertObject(cube) c4d.EventAdd() if __name__ == "__main__": main() ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值