在 Maya 中制作宝石并不仅仅是为了创建一个视觉上漂亮的模型,而是为了探索宝石材质的广泛性及其在不同渲染场景中的表现。本文将深入研究如何通过调节材质参数来模拟不同类型的宝石,从经典的钻石到彩色宝石,涵盖从折射率、透明度到颜色变化的关键设置。此外,我将分享在渲染过程中,如何巧妙地利用灯光、环境和渲染设置,来增强宝石的闪耀效果和光学特性。这些技巧不仅适用于宝石的制作,也为其他高折射率材质的表现提供了有益的参考,帮助你在项目中实现更真实和震撼的视觉效果。(技术难点待攻克,本文仅供参考,持续更新)
Maya宝石材质与渲染的秘密技巧
一、制作宝石模型
这里直接用MAYA做了一个低模,然后用Zbrush做一个高模,效果如下(创建模型不是本文的要点哈,简单跃过,需要文件可以在文末找)
像这种水晶效果不涉及贴图,所以无需烘焙贴图,低模存在的价值是补充一些光影细节。
注意,我给的是aiStandardSurface材质
二、搭建宝石场景
1. 添加背景布
2. 添加摄像机
尽量不要直接渲染透视摄像机,因为透视摄像机是操作视角,调整之后一旦想再渲染原来的角度,就回不去了
3. 添加灯光
(1)产品渲染时灯光的分类
灯光类型 | 描述 |
---|---|
主光源(Key Light) | 场景中的主要光源,用于照亮产品的正面,定义主要形状和细节。 |
补光(Fill Light) | 用于减少主光源产生的阴影,通常比主光源柔和,避免对比度过高。 |
背光(Back Light)/轮廓光(Rim Light) | 放置在产品后方或侧后方,勾勒出轮廓,增加立体感。 |
顶部光(Top Light) | 从上方照射产品,强化顶面细节,表现高度和纹理。 |
环境光(Ambient Light) | 模拟场景整体光照,填充阴影区域,增加整体亮度。 |
点光源(Point Light) | 从特定点向各方向发光,模拟局部光源,增加细节亮度。 |
聚光灯(Spotlight) | 从一点发出锥形光束,照射特定区域,强调细节或增加戏剧效果。 |
面光源(Area Light) | 从平面发光,模拟大面积光源效果,适合柔和照亮大面积区域。 |
HDRI 环境光(HDRI Lighting) | 使用高动态范围图像模拟现实光照,为产品提供自然效果。 |
(2)我这里添加了主光源、顶部光和两个补光灯,最后再加一个HDRI环境光
(3)添加灯光后就可以看到效果了
三、制作宝石表面光影(Anorid)
打开材质编辑器,我们接下来将主要研究这个面板上关于宝石材质的一些参数。
1. IOR(Index of Refraction,折射率)
IOR(Index of Refraction,折射率)是渲染中的一个重要参数,用于描述光线在通过不同介质时发生折射的程度。折射率决定了光线在穿过材料表面时的弯曲程度,这在渲染透明或半透明材料(如玻璃、水、钻石等)时尤为重要。
(1)IOR 的基本原理:
- 当光线从一种介质(如空气)进入另一种介质(如玻璃)时,光线的速度会发生改变,从而导致光线的传播方向发生弯曲。这个弯曲程度由两种介质的折射率差异决定。
- 折射率由斯涅尔定律(Snell’s Law)描述,它与入射角和折射角之间的关系有关。
(2)IOR 的数值和效果:
- 空气的 IOR 通常为 1.0,这是大多数渲染引擎的默认值。
- 水的 IOR 大约为 1.33,表示光线在水中会有一定的折射。
- 玻璃的 IOR 介于 1.5 到 1.6 之间,显示出明显的折射效果,使玻璃具有透视和光线扭曲的效果。
- 钻石的 IOR 为 2.42,其高折射率使钻石表现出强烈的光线弯曲和反射,创造出闪亮的效果。
(3)在渲染中的应用:
- 透明材质:如玻璃或水,通常需要设置合适的 IOR 值以表现出真实的透光效果和光线弯曲。
- 半透明材质:如皮肤或液体,可以通过调整 IOR值来控制光线的散射和吸收,以获得更真实的渲染结果。
- 反射表面:金属或其他高光泽材质的反射效果也会受到 IOR 的影响,较高的 IOR会导致更明显的反射。
IOR 是决定材料在渲染中如何处理光线的重要参数,正确设置 IOR 可以帮助实现更真实的材质表现。
不同的材料有不同的 IOR 值,了解这些值并正确应用它们对于高质量的渲染至关重要。
(4)MAYA中关于IOR的预设
鼠标左键单击IOR左边空白的地方,可以出现预设弹窗。
这里主要介绍一下这几种参数(方便阅读,加了音标,不客气):
序号 | 英文 | 音标 | 中文 | IOR | 描述 |
---|---|---|---|---|---|
1 | Cornea | /ˈkɔːrniə/ | 角膜 | 1.376 | 模拟眼球表面的光线弯曲效果,适合渲染眼球材质。 |
2 | Diamond | /ˈdaɪəmənd/ | 钻石 | 2.42 | 高折射率,适合模拟钻石的高反射性和光线散射特性。 |
3 | Ethanol | /ˈɛθənɒl/ | 乙醇 | 1.36 | 用于渲染液体材料,尤其是化学和制药相关场景中的乙醇。 |
4 | Flint Glass | /flɪnt ɡlɑːs/ | 燧石玻璃 | 1.6 - 1.7 | 适合模拟光学玻璃材料的清晰度和光线弯曲特性。 |
5 | Glass | /ɡlɑːs/ | 玻璃 | 1.52 | 常见的透明材料,适合用于窗户玻璃或容器玻璃的渲染。 |
6 | Ice | /aɪs/ | 冰 | 1.31 | 用于模拟冰块或冰层的透明度和光线穿透效果,适合冬季场景。 |
7 | Olive Oil | /ˈɒlɪv ɔɪl/ | 橄榄油 | 1.47 | 适合用于渲染食用油类液体,带有微黄色调。 |
8 | Plastic | /ˈplæstɪk/ | 塑料 | 1.45 - 1.55 | 模拟各种类型的塑料材质,从透明到半透明的塑料制品。 |
9 | Sapphire | /ˈsæfaɪər/ | 蓝宝石 | 1.77 | 适合用于渲染宝石类材料,表现出其光泽和颜色的深度。 |
10 | Skin | /skɪn/ | 皮肤 | 1.4 - 1.55 | 用于模拟人体或动物的皮肤材质,帮助实现真实的次表面散射效果。 |
11 | Water | /ˈwɔːtər/ | 水 | 1.33 | 适用于渲染各种形式的水体,如海洋、河流、湖泊或水滴。 |
(5)给模型添加一个Diamond的IOR
高光反射初步成型
2. Transmission(透明度)
在 Maya 渲染中,Transmission 参数是用于控制材质的透明度或透光性的一个重要属性。它主要用于模拟光线通过半透明或透明物体时的行为,如玻璃、液体或其他透明材料。Transmission 参数与折射率(IOR)等属性结合使用,可以创建复杂而逼真的透明材质效果。
(1)Transmission 的主要功能和应用
功能与应用 | 描述 |
---|---|
光线穿透 | Transmission 参数定义了光线在材质内部穿透的程度。较高的 Transmission 值使材质更透明,较低值则更不透明。 |
透明材质 | 通过调整 Transmission 参数,可以控制材质的透明度,适合模拟玻璃、水、冰等透明材料。 |
次表面散射 (SSS) | Transmission 与次表面散射结合,模拟光线在皮肤、蜡等半透明材料内部的散射效果,呈现出微妙的光透过感。 |
颜色和光散射 | Transmission 控制材质内部的光散射颜色,模拟带有颜色的透明材料,如有色玻璃或液体。 |
反射与折射的配合 | Transmission 通常与反射和折射参数结合,创建完整的透明材质表现,控制光线的反射和通过材质的弯曲程度。 |
渲染时间 | 高 Transmission 值的材质通常需要更长的渲染时间,特别是在复杂的光照条件下,因为光线需要多次穿过材质。 |
光照模型 | 渲染场景中的光照设置应与 Transmission 效果相匹配,如使用全局照明(GI)或光线追踪(Ray Tracing)来处理光线透过。 |
厚度与深度 | 材质的厚度和模型的几何深度会影响 Transmission 的效果,较厚的材质可能需要更高的 Transmission 值才能表现透明性。 |
(2)实际使用中的注意事项
- 渲染时间:高 Transmission 值的材质通常需要更长的渲染时间,特别是在复杂的光照条件下,因为光线需要多次穿过材质。
- 光照模型:确保渲染场景中的光照设置与 Transmission 效果相匹配,例如使用全局照明(Global Illumination)或光线追踪(Ray Tracing)来正确处理光线的穿透和散射。
- 厚度与深度:材质的厚度和模型的几何深度也会影响 Transmission 的效果,较厚的材质可能需要更高的 Transmission 值才能表现出透明性。
Transmission 是 Maya 渲染中控制材质透明度和透光性的关键参数。
通过调整 Transmission 值,可以模拟从透明玻璃到半透明皮肤的多种材质效果。
结合其他参数如折射率和反射,可以实现复杂而逼真的透明材质渲染。
(3)MAYA中关于Transmission 的参数(没有中文对照,建议使用英文MAYA)
参数名称 | 解释 |
---|---|
Weight | 控制材质中透明度的权重,决定了材质的透明度与不透明度的比例。较高的 Weight 值表示更高的透明度。(可以理解为开关) |
Color | 定义通过材质传输的光的颜色。通常用于模拟带有颜色的透明或半透明材质,如有色玻璃或液体。 |
Depth | 控制光线在穿透材质时可以传播的最大深度。较高的 Depth 值允许光线穿透更深,适用于厚度较大的透明材质。 |
Scatter | 控制光线在材质内部的散射程度,用于模拟像皮肤、蜡等材质的次表面散射效果。Scatter 值越高,散射越明显。 |
Scatter Anisotropy | 控制散射光线的方向性。正值导致光线偏向入射方向,负值导致光线偏向离开入射方向。用于模拟不同的散射行为。 |
Dispersion Abbe | 用于模拟光的色散效应,特别是在钻石或其他高折射率材料中。Abbe 值越低,色散效应越强,表现为彩虹色光。 |
Extra Roughness | 增加材质表面的粗糙度,导致光线在表面上的散射更为分散。适用于模拟磨砂玻璃或粗糙的透明材料。 |
Dielectric Priority | 控制不同透明材质之间的优先级,决定光线如何在它们之间传播和反射。优先级高的材质会更影响光线行为。 |
(4)给模型的weight值拉满(就是打开通透属性的意思)
如果说背景布太亮的话可以减淡一点,调整背景布的颜色就可以了
(5)此时的模型表面有些粗糙,可以将粗糙度降低为0.015,这个时候就比较通透了(没有宝石的粗糙度为0哈,尽量真实一点,我这个地方背景色稍微又改了一点,黑偏蓝)
(6)宝石的颜色也可以做成偏蓝色的,蓝宝石嘛
这个颜色不太对哈,是因为我们背面用了一面墙,挡住光了,可以试着把背景去掉,水晶就体现的淋漓尽致
(7)接下来把厚度调整一下,就是让厚的地方颜色深一点,薄的地方颜色浅一点(如果数值太大,就会出现特别厚的地方才会出现一点蓝色)
这是我给到3的效果
四、制作宝石内部花纹(Anorid)(有问题)
这里用到了之前的低模,所以接下来把高模隐藏低模展示,然后对低模进行操作。
1. 给一个aiStandardVolume材质
给上去之后是这个样子的,而且渲染器渲染显示为黑色(如果渲染器没有显示物体,可以关闭渲染器,重新加载一下【换了模型后需要把渲染器重启一下,因为我的是多多屏,经常出现这个问题),但是不要慌,我们先来了解下什么是aiStandardVolume材质。
(1)关于aiStandardVolume材质
aiStandardVolume 是 Arnold 渲染器中用于体积渲染的材质。它主要用于创建各种体积效果,如烟雾、云朵、火焰、雾霾、液体内部光散射等。与传统的表面材质不同,aiStandardVolume 专门用于定义光在三维空间内的行为,而不仅仅是表面上的反射和折射。
(2) aiStandardVolume 材质的主要特征和用途
特征与用途 | 描述 |
---|---|
体积散射 (Volume Scattering) | 模拟光在体积内的散射效果,适用于光线穿过烟雾或雾霾时的柔和散射。 |
体积吸收 (Volume Absorption) | 设置光线在体积内的吸收程度,决定光线的传播距离,适用于厚重的烟雾或液体效果。 |
体积发射 (Volume Emission) | 定义体积内的光发射效果,适用于模拟火焰或发光的气体,通过调节参数控制发光强度和颜色。 |
异向性散射 (Anisotropy) | 控制光在体积内散射的方向性,适用于模拟烟雾中的光线、光晕效果等。正值使光向前散射,负值使光向后散射。 |
雾化效果 (Fog) | 用于创建环境中的雾效果,通过调节散射和吸收参数,模拟薄雾或浓雾的效果。 |
光线追踪 | 需要使用光线追踪技术准确计算光线在体积内的路径,渲染时可能会增加渲染时间和计算资源需求。 |
烟雾和火焰 | 创建真实的烟雾和火焰效果,模拟光线在这些体积内的散射和发射。 |
云朵和雾霾 | 通过调整体积散射和吸收参数,生成逼真的云朵或雾霾效果。 |
液体内部光散射 | 模拟光线在浑浊水中传播的效果,适用于液体内部的光散射。 |
(3)常见的应用场景
- 烟雾和火焰:使用 aiStandardVolume1 可以创建真实的烟雾和火焰效果,模拟光线在这些体积内的散射和发射。
- 云朵和雾霾:通过调整体积散射和吸收参数,可以生成逼真的云朵或雾霾效果。
- 液体内部光散射:该材质还可以用来模拟液体内部的光线散射,比如在浑浊的水中光线的传播。
(4)要点速记
aiStandardVolume 是 Arnold 渲染器中专门用于体积效果的材质,适合创建烟雾、火焰、雾霾等复杂的三维体积效果。它通过体积散射、吸收、发射等参数的调节,能够模拟真实的光线在体积内的行为,使得渲染结果更加逼真和细腻。
(5)关于渲染器中黑色的解决
给体积采样一些采样步长值,如果采样值为0的话系统默认不开启对体积的光线追踪,所以渲染出来就是黑色的(Arnold渲染是基于物理世界的光线追踪,没有光线追踪就没有渲染效果)。
(6)关于Volume Attributes(体积属性)中的 Step Size 和 Volume Padding 参数深入理解
关于Step Size(步长)
Step Size 决定了在渲染体积效果时,渲染器在体积内进行光线追踪时的采样步长。简单来说,它控制了光线在体积内移动时的采样频率。较小的步长意味着更密集的采样,能够捕捉到更多的细节;较大的步长则减少采样次数,可能导致细节丢失,但渲染速度会更快。
关于Volume Padding(体积填充)
Volume Padding 是一个用于扩展体积边界的参数。它通过增加几何体的虚拟边界,使得体积效果在渲染时能够向外扩展。这在某些情况下,比如光线需要在体积边界之外进一步散射时,可能会用到。
2. 添加ramp投影节点(添加杂质感)
在材质编辑器中的节点界面,选择空白的地方按下tab,输入ramp[Projection],会出现这几个节点:
(1)关于MAYA中的ramp节点
在 Maya 中,Ramp 节点是一种用于创建渐变色或纹理的节点,而 [Projection]、[Stencil]、[Texture] 是与不同用途结合使用 Ramp 的节点。
序号 | 节点 | 作用 | 应用场景 | 特点 |
---|---|---|---|---|
1 | Ramp [Projection] | 通过投影方式将渐变应用到几何体上 | 在复杂几何体表面均匀地应用渐变纹理,如球体或其他复杂形状 | 支持多种投影方式,投影比例和旋转可调 |
2 | Ramp [Stencil] | 将渐变作为遮罩,控制其他纹理或材质显示 | 创建混合效果,控制在几何体上显示特定颜色或材质的区域 | 使用渐变色控制透明度或遮罩效果,适合分层或逐渐过渡的效果 |
3 | Ramp [Texture] | 直接将渐变作为纹理应用到几何体表面 | 在几何体表面直接应用颜色过渡效果,如天空渐变或表面渐变色 | 可直接编辑渐变节点,控制颜色标记点,适合创建渐变纹理 |
(2)添加Ramp [Projection]节点,记得把颜色输出勾选一下,连接到aiStandVolume节点中的density属性(体积的密度属性)
(3)修改投影节点的投影类型为透视(就是基于摄像机)
这里是各种投影类型的介绍(整理不易,点赞收藏不迷路)
投影类型 | 描述 |
---|---|
Off | Off 投影类型表示没有进行任何投影。这通常用于默认状态或不需要特殊投影的情况。 |
Planar | Planar 投影将纹理平面映射到几何体上,类似于用一张纸贴在物体的表面。适用于平面表面或简单的几何体。 |
Spherical | Spherical 投影将纹理映射到球体表面,适用于需要围绕球形几何体均匀分布纹理的情况,如地球或行星纹理。 |
Cylindrical | Cylindrical 投影将纹理映射到圆柱体表面,适用于圆柱形状的几何体,如瓶子或柱状物体。 |
Ball | Ball 投影将纹理以球形方式映射到几何体,适用于需要类似于球体的均匀映射效果的情况。 |
Cubic | Cubic 投影将纹理映射到立方体的每个面,适用于立方体形状的几何体,如箱子或建筑物。 |
TriPlanar | TriPlanar 投影通过三个平面将纹理映射到几何体上,这种方法通常用于避免纹理接缝。适用于不规则形状的对象。 |
Concentric | Concentric 投影创建从中心向外的渐变效果,适用于模拟同心圆或从中心辐射的纹理效果。 |
Perspective | Perspective 投影模拟相机的透视效果,适用于需要逼真透视投影的情况,如在建筑物或场景中创建远近效果。 |
(4)投影匹配一下摄像机
(5)调整渐变并添加一点噪波,增大噪波的频率,就可以了(我们可以把这个当做外壳的芯,让宝石看起来有杂质的真实感)
【2024.8.13 当前存在的问题:】
水晶中的体积物体无法显示,改变高模材质为全通透或者薄壁属性时才可以看到内部物体,但会影响表面的光影效果。
当前成果如下:
我想在水晶中添加杂质效果,看起来更真实一点,毕竟没有自然界中没有水晶这么透亮,或多或少都会有一些杂质。
经过三天的研究,决定放弃这个问题,若有知情者欢迎联系,有偿回答。
五、文章最后
注意咯,我在这里,有问题或有需要可以随时联系。
(若找不到可以在DP类别下搜"第五设计")