SOURCE VIDEO · course12
Tornado · opacity and color
11月9课堂4.mp4 · 00:29:05
当前完成:5 个抽样时点的内容定位。完整步骤、逐值参数和对应效果仍在补做,以下画面不冒充完整操作教程。
视频来自本机 [本机资料路径]
Color Correction:将灰色Smoke变成更明确的遮罩
已按原片07:30与07:45的两个节点面板更新。07:00的Gamma5是调试过程,后面已改为0.1;请使用本节较晚的数值。
| Parameter | Value |
|---|
| Lightness Mode | Advanced |
| Gain RGB | 200 |
| Gamma / Contrast RGB | 0.1 |
| Pivot RGB | 0.4 |
| Lift / Offset RGB | 0 |
- 在Smoke与内部Composite之间加入Color Correction。
- Smoke输出接Color Correction的Map;Color Correction输出接内部Composite的Layer2。Layer2仍是Multiply100。
- 展开Lightness,选择Advanced,输入表中参数。
- 第二组Smoke也照做。外层Composite与Mask保持原来的连接。
- 对照下图:同一帧、同一相机、同一灯光,仅新增Color Correction。
直接相乘时,Smoke的大量灰色会让条纹整体半透明。此设置重新分配Smoke的明暗,使保留区与消失区更明确。Gain控制增益;Gamma/Contrast与Pivot配合改变明暗分布;这些参数作用于Smoke贴图,不是相机曝光。

下载02_Color_Correction.max · 保存后读回参数
工程已重新打开并检查两组数值。仍未加入高度遮罩、橙色分支、底部烟雾和老师的场景灯光;继承的UV及部分条纹参数也仍有估值。
Autodesk Color Correction参数参考
原片 07:00

原片 07:15

原片 07:30

原片 07:45

Height Fade 与 Orange Palette
新增两个保存工程及实际渲染;橙色版本已重新打开验证。仍为跟课中间版本,底部烟雾、动画与最终场景尚未完成。
1. 高度遮罩
外层Composite增加Layer3,接Map28 Gradient Ramp,Blend Mode设Multiply、Opacity100。Gradient Type与Interpolation都为Linear;Coordinates的W Angle设90°。黑色部分将输出Opacity压到0,白色部分保留原条纹。
本版色标:0黑、1黑、34白、59白、98黑、100黑。其中黑1、白59在原片显示过明确数值;34与98依据色标位置估计。使用9色标模板,多余色标与右端点重合,并非老师原生色标数量。Map26也按12:30画面改为白—黑—白。
2. 颜色分支
复制双层条纹Composite作为颜色分支,不带高度遮罩。新建Gradient Ramp,Gradient Type设Mapped,Source Map接这个Composite,再把渐变输出接Arnold材质Emission Color。
本版颜色:0处(255,40,0)、81处(255,65,0)、100处(255,127.5,0)。前两处颜色与中点位置为估值;右端对应13:30色选器的Scene RGB(1,0.5,0),其Display RGB为(255,186,0),请勿混淆两种读数。
Base0、Specular0、Emission1是本版补充值,尚未确认老师权重。颜色分支暂复制已有条纹结构,老师另复制的节点参数仍需逐项核对。
03_Height_Fade
下载MAX
04_Orange_Study
下载MAX
00:45 原片依据

01:00 原片依据

01:15 原片依据

01:30 原片依据

12:30 原片依据

13:15 原片依据

13:30 原片依据

底部烟雾后续:Falloff 与更柔和的边缘
这是06工程之后的步骤。已保存07工程,实际渲染后重新打开,核对四层连接和参数。仍是中间检查版,最终橙色和场景尚未完成。
- 打开 Map48 Gradient Ramp,把 Interpolation 从 Linear 改为 Ease In。Gradient Type 仍为 Linear。这两个下拉框控制不同的事情:前者控制黑白过渡速度,后者控制渐变方向形式。
- 打开 Composite49,把 Layer2 的 Opacity 从50改为80,Blend Mode 保持 Multiply。原片24:45可见。
- 创建 Falloff:Front 为白色、Side 为黑色;Falloff Type 选择 Perpendicular/Parallel,Direction 选择 Viewing Direction (Camera Z Axis)。Mix Curve 保留直线。
- 把 Falloff 接入 Composite49 的 Layer4,选择 Multiply、Opacity100。Composite仍连接材质Opacity。
为什么这样接:Falloff根据表面朝向镜头的角度输出黑白。白色保留已有烟雾,黑色使它透明,灰色部分保留。与原有纹理Multiply后,圆筒侧缘会减弱。它不会新增烟雾几何,也不是FumeFX体积烟雾。
Layer2的80是Composite混合强度,不等于整个物体80%不透明。提高这个值会让第二层Multiply对结果的影响更强。Ease In则改变渐变色标之间的过渡。
比较图:左/上为06,右/下为07。两张使用相同诊断镜头、尺寸和帧44;本次同时修改了三项,不能把全部差异归因于Falloff一项。
下载07工程 · 参数读回与待办
未完成:Map52最终橙色、精确模型变换、动画、老师的镜头和背景。灰色Emission与当前诊断场景仍为补充设置。
22:30 原片依据

23:30 原片依据

24:30 原片依据

24:45 原片依据

底部烟雾上色:Mapped Gradient → Emission Color
08工程已保存、实际渲染、重新打开;核对了三个色标,以及颜色与透明度共用同一个Composite的连接。
- 新建 Gradient Ramp,命名 Map52。把 Composite49 同时接到材质 Opacity 和 Map52 的 Source Map。
- Map52 的 Gradient Type 选择 Mapped,Interpolation 选择 Linear,Noise Amount=0。
- 设置下面三枚色标,然后把 Map52 接到 Arnold Standard Surface 的 Emission Color。
- 材质设为 Base=0、Specular=0、Emission=1。原片27:15曾试用Emission0.2,27:45已改为1;不要把试调值当成后续值。
| Position | Scene RGB(0–255) | Scene RGB(0–1,约) | 原片 |
|---|
| 0 | 255,30,0 | 1,0.1176,0 | 26:25 |
| 50 | 255,60,0 | 1,0.2353,0 | 26:36 |
| 100 | 255,179,23 | 1,0.7020,0.0902 | 26:42 |
0–255值读自Gradient Ramp色标状态文字;颜色选择器Scene小数显示精度较低。例如右端选择器显示约1,0.701,0.089,色标状态显示255,179,23。因此本工程按整数读数复现,不声称恢复了原文件内部全部小数精度。
怎么理解:Composite的黑白信号一分为二。直接送入Opacity,决定哪里可见;送入Mapped Gradient,决定该处使用橙红、橙色还是浅黄。黑色区域虽然取到左端橙红,但Opacity同时为黑,所以不会显示成一整块橙色圆筒。
Scene与Display:请填写Scene值。截图里左端的Display是255,96,0,而Scene约为1,0.117,0;两者不是同一套数值。不要把Display的96直接填进Scene的绿色通道。
这一步只改变底部烟雾颜色。主龙卷风仍有颜色、UV和形状近似;背景、镜头、动画及考核整体效果尚未完成。原生九色标模板的多余色标重合在100,颜色相同。

下载08橙色烟雾工程 · 连接及参数读回
26:25 原片

26:36 原片

26:41 原片

26:42 原片

26:45 原片

27:15 原片

27:45 原片

补齐建模:底部烟雾的 Cylinder 不是一直保持默认圆柱
本次补看15:30–17:30每5秒画面,并对16:52–17:05逐秒检查。由此把原来仅凭形状估计的Height40与底圈缩放80%补成有原片读数的步骤;顶圈96%依据松手前最后可见读数,可信度与直接读取老师MAX不同。
| 原片时间 | 操作/读数 | 怎样使用 |
|---|
| 16:00 | Cylinder Radius40、Height20、Height Segs1、Cap Segs1、Sides32 | 初始建立状态 |
| 16:05 | Height40,Radius仍40 | 在转换Editable Poly之前改高度;此前估值40得到确认 |
| 16:10–16:20 | Editable Poly,从Polygon切换Vertex,上口已可见开口 | 本练习上下盖均移除;原片底盖的删除仍未充分确认 |
| 16:25 | 底圈32个顶点,Scale X80 / Y80 / Z100 | 只缩小底圈,半径40×0.8=32 cm |
| 16:55–17:00 | 顶圈试调139、157、123、89、105、96% | 这些是同一次拖动中的中间值,不要连续相乘,也不要把最大值当最终值 |
| 17:00–17:05 | 最后可见X96/Y96/Z100,松手后形状较原顶圈略窄 | 14工程采用顶半径40×0.96=38.4 cm;尚无老师保存工程证明最终值 |
在 Max 中自己做一遍
- 建立Cylinder,Radius40、Height40、Height Segs1、Cap Segs1、Sides32,Generate Mapping Coords开启。转成Editable Poly。
- 进入Polygon,处理开口;本练习删除上下盖以便透明材质没有盖面遮挡。随后进入Vertex。
- 在Front视图框选底排32个顶点,确认没有选到上排。使用XY平面缩放,让X/Y为80%,Z保持100%,高度不变。
- 取消选择,再框选上排32个顶点,XY设96%、Z100%。缩放围绕该圈中心;不要把整个对象Scale改成96%,否则上下两圈都会改变。
- 打开14工程与13工程比较。只修改底部模型顶圈,保留Camera、Frame0及Shader。因此差别应很小,不是另外一种特效。
子对象Scale完成后,界面回到Object层级可能重新显示100%。这不代表刚才顶点缩放被撤销;应检查实际轮廓或顶点位置。也不要把多个拖动中的读数逐个输入成累计缩放。

上图为原片裁剪对照,保留Front视图和底部Transform读数;数字标注是视频秒数。
14工程与实测尺寸
下载14_Base_TopRing96_PARTIAL.max · 保存重开后的尺寸读回

实际读取64个顶点、32个四边面;下圈Z0/半径32,上圈Z40/半径38.4。这里的32与38.4是半径,不是直径。上口缩小会改变承载烟雾的表面轮廓;Smoke/Gradient Ramp决定这个表面哪些地方可见,它们负责不同部分。
仍未完成:老师最终保存的顶圈值与物体位置、底盖操作、全部UV和动画、场景构图及最终考核。近景裁切和背景边缘问题沿用13版,并未因这次模型修正而解决。05–13旧工程保留各自阶段,不会被本次覆盖。
16:05 原片全画面

16:25 原片全画面

17:00 原片全画面

17:02 原片全画面

把主模型、底部烟雾与背景放进同一场景
这一版接续11工程,保留颜色和Opacity节点,加入Course10折叠背景。两个工程均为真实Arnold渲染,并非贴图示意图;13保存重开后检查了两个效果模型、材质引用、相机与背景8个顶点/3个面。仍属于未完成的场景练习。
先看老师实际用了什么
28:00原片的Arnold RenderView使用/viewport_camera,时间为Frame 0。可见场景列表是Cylinder001、Plane001和Tornado。这张画面不能证明老师建立了独立Camera,也不能读出镜头位置、FOV和灯光设置。下方两个Free Camera均为便于打开工程重现构图而补建,不能冒充老师原参数。
查看原片构图证据

跟做:Camera、Target direction与FOV
- 打开12工程,按C选择Front_Study_Camera_SUPPLEMENT。它位于X=0、Y=-210、Z=45 cm,水平朝向场景中心,FOV=48°。Frame设为0后渲染。
- 打开13工程,选择Close_Study_Camera_SUPPLEMENT。位置改为X=0、Y=-115、Z=35 cm,FOV仍为48°。只靠近模型,不改变材质的条纹数量。
- 比较远景与近景:移动Camera改变画面中模型的大小;FOV是镜头视野角度;Z是观察高度。近景会裁掉模型上部,用于观察交叉条纹与底部烟雾,不是模型顶部被删除。
- Key放在(-65,-60,80),Multiplier=1.6;Fill放在(65,-30,60),Multiplier=0.7,单位cm。它们移到背景内部,避免原检查灯位在顶板上方而被遮挡。灯位、强度与背景Clay材质都是补设值。
这里没有重调Emission Color或Opacity来假装构图改善是Shader改善。原11工程的材质保留;Frame 44改为0会改变原有Noise动画的形状,因此不能把新图与旧图的每一条轮廓直接逐像素比较。
正面场景观察版

下载12_Backdrop_Front_Scene_PARTIAL.max
近景条纹与底部烟雾观察版

下载13_Close_Scene_PARTIAL.max
本次实际渲染发现:12正面版顶部仍有裁切,背景左右两侧露出灰色环境;13近景顶部和底部裁切偏紧,右侧也有背景边缘。图中的颗粒来自当前渲染采样。仍需在核对原片背景与观察视角后调整,暂不能用于最终交片。
未完成:老师蓝色背景与棕色地面的真实材质/环境来源、最终Viewport构图、精确模型比例及UV编辑、全部渐变色标、完整动画关键帧与考核验收。近景只是更便于对照,不能宣称已经与老师一致。
场景参数读回记录
考核补充:场景、旋转与动态纹理
本节是补充练习,不是老师关键帧逐值复现。评分表F8要求动态纹理,F9要求场景模型,F14要求转动关键帧。以下给出一套可编辑的初版实现,不能据此宣称龙卷风考核全部完成。
场景
新增2000×2000的Plane,Z=-1,作为地面;材质Base1、Specular0、Base Color RGB65,39,20。背景RGB70,145,170。镜头Position=(160,-330,85),朝向(0,0,65),FOV40。地面、天空、镜头均为补充值,未匹配老师环境。灯光沿用前版诊断灯。
动画:30fps,Frame0–100
| 轨道 | Frame0 | Frame100 | 作用 |
|---|
| Tornado → Z Rotation | 0° | 360° | 整个模型绕竖直轴转一圈 |
| 四张主体条纹 → Coordinates → U Offset | 0 | 1 | 让颜色与透明度条纹沿UV方向流动 |
| 主体四张Smoke → Phase | 0 | 1 | 改变烟雾纹理形态 |
| 底部两张Gradient Ramp → Noise Phase | 0 | 1 | 让底部烟雾的边缘变化 |
- 先设置Time Configuration为30fps、0–100。
- 为主体使用Euler XYZ Rotation,打开Auto Key,在0帧设置Z Rotation=0,在100帧设置360,关闭Auto Key。
- 同样给上述U Offset和Phase建立0与100帧的关键帧。不要改错只控制高度裁切的Gradient Ramp。
- 在Curve Editor中将这些关键帧的In/Out Tangents设为Linear,保持匀速。本工程已写好这些控制器。
- 拖时间轴检查:0、25、50、75、100帧的Z Rotation应为0、90、180、270、360。
模型旋转、纹理平移、Noise Phase是三种不同变化。它们叠加后会产生运动,但本版不是无缝循环:Noise Phase末帧与首帧不同,纹理也存在非整数重复。
已重新打开MAX,逐帧读取101帧的Z Rotation和四张条纹U Offset并验证;渲染下面五个时刻。完整101帧视频见下方“完整练习动画”。
Frame 0(实际渲染)
Frame 25(实际渲染)
Frame 50(实际渲染)
Frame 75(实际渲染)
Frame 100(实际渲染)
场景工程 · 动画工程 · 101帧参数记录
仍待完成:完整动画渲染、老师镜头与关键帧对齐、Twist、粒子及Vortex、FumeFX、AOV与完整考核逐项验证。
Autodesk:Euler XYZ Rotation控制器
完整练习动画:101帧实际渲染
0–100帧,30fps,640×480,共约3.37秒。每一帧均由保存的原生MAX工程渲染;已逐帧读取PNG并解码MP4核对101帧。本版为考核补充动画,不是老师最终效果逐值复现,也不是无缝循环。

下载MP4 · 逐帧检查记录
橙色像素边界检查用于发现明显出框,不能替代效果审美或教师一致性验收。目前主体条纹仍偏硬、颜色饱和,底部只是程序纹理形成的烟圈。此02版视频不包含新增粒子;03版已加入并测试Particle Flow + Vortex,详见本页新增章节。FumeFX、AOV与最终验收仍未完成。
新增:Particle Flow + Vortex 粒子练习
这是已保存、重新打开并测试的原生工程。全部新增参数属于 SUPPLEMENT(补设),不声称与老师逐值一致。图中的浅棕色小颗粒是真实粒子;目前数量和尺寸较小,还不是浓密尘暴。
下载最新03工程 MAX · 查看重新打开后的参数及粒子位置记录
怎么操作:先看粒子,再看材质
- 打开03工程,回到 Frame 0,按 6 打开 Particle View,找到 Tornado_Dust_Event。按时间顺序播放到 Frame 30,避免只看最后一帧:Frame 100 时这组粒子已经全部消失。
- Birth:Emit Start = 0、Emit Stop = 60、Amount = 180。它决定何时产生粒子、总共生成多少;Amount 不是每一帧的数量。
- Position Object:选择 Vortex_Emitter_SUPPLEMENT。它是 Radius = 38 cm、Position = [0,0,80] 的 GeoSphere。发射模型不参与渲染,只负责产生位置。
- Speed:Speed = 8、Variation = 2、Divergence = 15。先给粒子初始运动;随后 Force 再改变运动。
- Shape Instance:选择 Vortex_Dust_Shape;模板 Sphere 的 Radius = 0.7 cm、Segments = 8;Scale = 100%、Variation = 30%。这是每颗粒子的可见模型。
- Material Static:使用 Vortex_Dust_Material_SUPPLEMENT。Arnold 材质 Base = 1、Base Color = RGB [205,150,70]、Specular = 0.1、Emission = 0.15,Emission Color 与 Base Color 相同。浅棕色负责尘粒颜色,少量 Emission 提高可见度。
- Force:加入 Tornado_Vortex_SUPPLEMENT,Influence = 1000。仅在场景创建 Vortex 不够,必须把它加入这个 Force 的列表。
- Delete:By Particle Age,Life Span = 40 frames、Variation = 0。粒子各自出生40帧后删除;最后一批在60帧出生,所以100帧归零。
Vortex 的三个主要参数
| English parameter / script property | 值 | 用途 |
| Axial Drop / axialstrength | 0.1 | 沿涡流轴方向的运动 |
| Orbital Speed / rotationstrength | 0.5 | 绕轴旋转的运动 |
| Radial Pull / radialstrength | 0.5 | 径向拉动,改变与轴的距离 |
| Unlimited Range / rangeless | On | 此练习不靠有限范围裁切力场 |
| Damping | 三个方向均为5 | 控制对应方向的阻尼 |
| Time On / Time Off | 0 / 100 | 力场启用时段 |
| Position | [0,0,90] cm | 涡流中心位置 |
如何确认它真的工作
重新加载同一工程,分别用 Force Influence = 0 和 1000 从头计算。Frame 30 两组都是90颗粒子,对应粒子的位置最大相差约70.74 cm,证明 Force 改变了运动。启用时 Frame 0 / 15 / 30 / 60 / 80 / 100 的数量依次为1 / 45 / 90 / 120 / 60 / 0。位置变化是功能验证,不等于教师效果一致性验收。
你可以另存练习副本,只改 Orbital Speed,再从 Frame 0 播放;观察绕轴变化。然后恢复0.5,只改 Radial Pull,再从头播放。一次只改一个值,更容易看出参数用途。
仍未完成
- 03版新粒子完整动画已输出,见本页“03版:含Vortex粒子的完整动画”;02版视频保留作历史对照。
- 颗粒密度与形状、老师动画对齐、Twist、FumeFX、AOV和最终评分项仍待补齐;本机此前未检测到可用FumeFX。
- 仅为考核F15–F19的部分功能证据,不能标记整项作业完成。
参数用途参考 Autodesk Vortex 文档。
03版:含Vortex粒子的完整动画
对应03_Vortex_Particles_SUPPLEMENT.max,Frame 0–100,30fps,640×480。101张实际渲染PNG均可读取,编码后MP4也已解码核对101帧。粒子在前60帧出生,寿命40帧,到100帧消失;龙卷风主体仍保留。本练习没有“整个龙卷风消散”或“无缝循环”的承诺。
下载新版MP4 · 检查记录

颗粒仍较小,主体条纹较硬。教师效果对齐、Twist、FumeFX、AOV及最终评分验收仍未完成。
原片画面索引




