Course & assessment已有教学Particle Flow 学习页

SOURCE VIDEO · course30

Flame · elongated procedural texture

教学1.mp4 · 00:26:55

已接入旧版详细教学:7个操作步骤、33条参数记录及原片证据。整课逐帧复刻与最终考核验收仍未完成。

查看已有的详细教学与练习(仍需与当前视频核对)

下载本课原视频 MP4 · 67.7 MB ↓ · 全部原片下载

原片:教学1.mp4。请选择本机对应视频,文件只在浏览器播放,不会上传。

视频来自本机 [本机资料路径]

火焰细节:Cellular、Solid threshold 与带噪波的渐变

原片《教学1》长约26分56秒。本轮查看27个间隔画面,并核对11个原分辨率时点;尚未完成全片逐操作复刻或本节MAX验证。

先分清三个操作:Cellular的Size控制斑块大小;Coordinates Tiling改变斑块比例;Gradient Ramp的Solid插值把灰度切成黑白。之后加入另一张渐变,控制不同高度的亮度或形状分布。

  1. 先检查Plane尺寸:350×500cm、1×1 Segs、Generate Mapping Coords开启。
  2. Cellular以Size50、Spread3制作较细图案;Tiling2/0.5/1拉长形状。Fractal在后半段开启,Iterations3。
  3. Cellular接Gradient Ramp #2 Source Map,Mapped + Solid,白色色标Position11。
  4. 观察Composite #3:黑白结果再与高度渐变混合;已看到Layer2使用Darken。
  5. 再区分后半段Composite #6:它直接接Cellular和Gradient Ramp #5,不能误接成上面的黑白结果。
  6. Gradient Ramp #5后期Noise值为Amount0.5、Size10、Phase5(Frame100),Fractal、Levels4。先核对动画起点再制作动画,单独填写Phase5不会自动产生运动。

这些数值属于不同时间点。下方特意保留试验过程,避免将多个试验值拼成一个原片从未出现的设置。

06:30 · Cellular and plane

Plane:Length350cm、Width500cm,Length/Width Segs均为1,Generate Mapping Coords开启。Cellular此时Circular、Size50、Spread3、Fractal关闭、Bump Smoothing0、Roughness0,Threshold Low/Mid/High = 0.03/0.15/1。这是此时的试验值,不能当作全片最终阈值。

Cellular and plane
09:30 · Mapped Solid ramp

Gradient Ramp #2:Gradient Type Mapped,Source Map为Cellular #1;Interpolation Solid,Noise Amount0。选中白色色标Position11、RGB255/255/255。

Mapped Solid ramp
11:00 · Stretch and add detail

Cellular Object XYZ:Offset0/0/0,Tiling2/0.5/1,Angle0/0/0。窗口正在拖动,有透明叠影;坐标可读,其他被遮挡参数不据此确认。

Stretch and add detail
14:00 · Darken after threshold

Composite #3 的Layer2显示Darken、Opacity100。这时已经先做黑白形状,再用另一渐变压暗一部分区域;渲染仍在进行。

Darken after threshold
16:00 · Height gradient #4

Gradient Ramp #4:W Angle90,Gradient Type Linear,Interpolation Ease In,Noise Amount0。选中色标Position98、RGB18/18/18。还有其他色标未逐一选中,不把截图中大致位置当成精确值。

Height gradient #4
17:30 · Offset trial at Frame100

Cellular在Frame100显示Offset0/150/0,Tiling2/0.5/1;Circular、Fractal开启、Iterations3、Adaptive开启,Size50、Spread3。这是动画试验中间状态。

Offset trial at Frame100
19:00 · Another offset state

当前Frame27,Cellular显示Offset0/−150/50。老师仍在调整动画;不要把这张图误标为Frame100最终值,也不能凭它推断所有关键帧时间。

Another offset state
20:00 · Later offset state

当前Frame96,Cellular显示Offset0/−150/100;Fractal开启、Iterations3、Adaptive开启,Size50、Spread3。关键帧完整时间与切线还需更密集核对。

Later offset state
21:30 · Second Composite branch

Cellular #1直接接Composite #6 Layer1;Gradient Ramp #5接Layer2。这是另一条合成分支,不能照搬前面Composite #3的输入。此时正在打开Blend Mode菜单,不能据菜单停留画面断言最终模式。

Second Composite branch
25:00 · Noise trial on gradient #5

Gradient Ramp #5:W Angle90,Linear,Ease In;选中色标Position19、RGB23/23/23。Noise Amount0.8、Size25、Phase1.5、Fractal、Levels4。当前Frame30,RenderView显示Render Aborted,因此画面不是该组值的完成渲染验收。

Noise trial on gradient #5
26:30 · Later noise settings

Gradient Ramp #5:Noise Amount0.5、Size10、Phase5、Fractal、Levels4;Phase旁有红色关键帧标记,当前Frame100。仍选中Position19、RGB23/23/23;W90、Linear、Ease In。后续渲染出现集中在部分高度的细碎黑白形状。

Later noise settings

待补:两张高度渐变的完整色标、Cellular阈值在更晚时点是否再次修改、所有动画关键帧与曲线、相机灯光、本节原生MAX及完整渲染。

补核:Multiply 与色标

更密集的原片画面已补齐以下数值。对应练习应使用明确的阶段,不能把试验值当作最终值。

Cellular #1 → Composite #6 Layer 1 (Normal, 100%)
Gradient Ramp #5 → Composite #6 Layer 2 (Multiply, 100%)

Multiply会让黑色部分压暗输入,白色部分保留输入;所以这层渐变能控制哪些高度留下更多纹理。先单看Gradient Ramp的黑白分布,再查看Composite输出,更容易理解。

Gradient Ramp #5 FlagPositionRGB shown
Black endpoint00 / 0 / 0
Dark gray, later position1923 / 23 / 23
White, at21:1072255 / 255 / 255

右端点尚未找到单独选中的清晰画面,不能据预览估算精确RGB。白色色标72是21:10的可见值,片尾是否微调位置仍需核对。

07:30 · Fractal and thresholds

Cellular:Circular,Size50、Spread3,Fractal On、Iterations3、Adaptive On,Bump Smoothing0、Roughness0;Threshold Low/Mid/High=0.1/0.2/1。这比06:30的0.03/0.15/1更晚,并在08:00仍可见。

Fractal and thresholds
21:10 · White flag

Gradient Ramp #5:选中白色色标,Position72、RGB255/255/255;W Angle90。此时Interpolation仍为Linear;后面改为Ease In。

White flag
21:20 · Dark gray flag trial

Gradient Ramp #5:新增灰色色标Position32,RGB23/23/23;Interpolation已改为Ease In。后续该灰色色标移到Position19。

Dark gray flag trial
22:00 · Confirmed Multiply

Composite #6:Layer1为Cellular,Normal、Opacity100;Layer2为Gradient Ramp #5,Multiply、Opacity100;两个Mask均为None。不要把上一节Soft Light沿用到这个Composite。

Confirmed Multiply
22:20 · Black endpoint

Gradient Ramp #5:选中左端点Position0、RGB0/0/0。W90、Linear渐变、Ease In插值。Noise Amount正在编辑为0.2,此时还不是片尾0.5。

Black endpoint
22:50 · Move the gray flag

Gradient Ramp #5灰色色标已在Position19、RGB23/23/23;Noise此时Amount0.5、Size1、Phase0、Regular。这组噪波值仍在试验,后续会改Size及Noise Type。

Move the gray flag
23:00 · Noise scale trial

Noise Size此时输入50,Amount0.5、Phase0、Regular。不要与片尾的Size10、Fractal混为同一状态。

Noise scale trial

可编辑练习:尚有边缘差异

Download MAX study · Saved parameter readback

已在3ds Max中保存、重开并渲染Frame0/50/100。保留原生Cellular、Gradient Ramp、Composite节点。读取确认Size50、Spread3、Fractal On、Iterations3、Tiling2/0.5/1、Threshold0.1/0.2/1;Composite Normal/Multiply;Gradient W90、Noise Amount0.5、Size10、Fractal、Levels4。

复刻还没通过:本机火舌边缘比原片柔和。当前练习让Composite直接驱动Emission Color;还需追踪原片该输出之后的完整连接、阈值与模糊设置。不要把这份文件当作老师最终效果。

补充值明确列出:渐变右端100设黑;细胞边界灰色127.5;Offset动画用Frame0的0/0/0到Frame100的0/−150/100;Phase由0到5。完整动画关键帧没有逐值核准。白色色标72沿用21:10可见值,后续是否调整未核准。摄影棚和相机沿用前节,背景仍不同。

Local Arnold render frame 0
Frame 0 · 本机渲染,供差异对照
Local Arnold render frame 50
Frame 50 · 本机渲染,供差异对照
Local Arnold render frame 100
Frame 100 · 本机渲染,供差异对照

已有详细教学 · 按本课原视频整理

继承已有Loft背景和灯光,从前视图新建Length350、Width500的火焰Plane。原片主要用透视视口渲染;旧孤立平面长宽误置,新11号完整场景已修正。

以下内容来自旧版补习页已经保存的核对记录。本次按视频文件名接入,保留时间点、补充值和未知项;没有把整合网页计为新的逐帧核对或MAX完成。数值可能属于中间试验,请结合时间点与状态看。

打开旧版交互教学 · 场景、镜头与动画流程 · 按作业查看当前成果与下载

操作步骤

1. 平面与细胞贴图

建立平面,开始查看Cellular;本课基于二维贴图制造火焰形状。

已有核对记录的原片截图
2. 细胞参数实验

观察Size、Spread、Fractal及阈值对细胞轮廓的影响。

已有核对记录的原片截图
3. 拉伸和分形

Cellular设置为圆形、分形,调整阈值以得到分叉轮廓。

已有核对记录的原片截图
4. 竖向渐变

Gradient Ramp旋转W90°,将灰度变化改成高度方向;中间旗标和插值改变火焰高度分布。

已有核对记录的原片截图
5. 贴图偏移动画

第100帧Cellular坐标偏移可读为(0,-150,50),模型不必实际向上移动也能让图案流动。

已有核对记录的原片截图
6. 噪声边缘

Gradient Ramp的噪声对高度遮罩形成不规则边缘。

已有核对记录的原片截图
7. 调整动画中的纹理

查看第71帧,Gradient Ramp的噪声相位3.55;与终点相位5的样本一致,但完整控制器未核验。

已有核对记录的原片截图

参数与用途 · 33条已有记录

展开一条记录,即可同时查看数值、用途、核对状态和原片证据。

同一Cellular在第100帧改Z为100 · 场景/操作时点读值
{
  "node": "Cellular #1",
  "frame": 100,
  "Offset": [
    0,
    -150,
    100
  ],
  "Tiling": [
    2,
    0.5,
    1
  ],
  "Angle": [
    0,
    0,
    0
  ],
  "AutoKey": true
}

用途:补齐或纠正前次视频复核记录,按截图时点区分实验与最终状态。

记录状态:按原片时点核对;含中间实验,勿混为最终状态

来源:完整流程补查

已有核对记录的原片截图
用贴图坐标做火焰运动 · 场景/操作时点读值
{
  "终点帧": 100,
  "Cellular终点Offset": [
    0,
    -150,
    50
  ]
}

用途:移动噪声采样位置使火焰流动,而非移动整张卡片。

记录状态:按原片时点核对;含中间实验,勿混为最终状态

来源:完整流程补查

已有核对记录的原片截图
Cellular Offset Z50是中间试验 · 场景/操作时点读值
{
  "node": "Cellular #1",
  "frame": 100,
  "Offset": [
    0,
    -150,
    50
  ],
  "AutoKey": true
}

用途:补齐或纠正前次视频复核记录,按截图时点区分实验与最终状态。

记录状态:按原片时点核对;含中间实验,勿混为最终状态

来源:完整流程补查

已有核对记录的原片截图
Cellular初始编辑状态 · 场景/操作时点读值
{
  "node": "Cellular #1",
  "frame": 100,
  "Offset": [
    0,
    0,
    0
  ],
  "Tiling": [
    2,
    0.5,
    1
  ],
  "Angle": [
    0,
    0,
    0
  ],
  "coordinates": "Object XYZ",
  "AutoKey": true
}

用途:补齐或纠正前次视频复核记录,按截图时点区分实验与最终状态。

记录状态:按原片时点核对;含中间实验,勿混为最终状态

来源:完整流程补查

已有核对记录的原片截图
渲染检查卡片方向和高度渐变 · 场景/操作时点读值
{
  "Length cm": 350,
  "Width cm": 500,
  "段数": [
    1,
    1
  ],
  "渲染尺寸": [
    640,
    480
  ],
  "设备": "CPU",
  "相机": "/viewport_camera"
}

用途:分离检查UV方向、模型尺寸和shader形状。

记录状态:按原片时点核对;含中间实验,勿混为最终状态

来源:完整流程补查

已有核对记录的原片截图
将Fire材质指定给Plane001 · 场景/操作时点读值
{
  "视频实际材质类型": "Physical Material",
  "对象": "Plane001",
  "材质名": "Fire"
}

用途:只有把材质赋给模型,节点变化才会进入场景渲染。

记录状态:按原片时点核对;含中间实验,勿混为最终状态

来源:完整流程补查

已有核对记录的原片截图
把火焰卡片设成一片大面 · 场景/操作时点读值
{
  "Length cm": 350,
  "Width cm": 500,
  "Length Segs": 1,
  "Width Segs": 1,
  "Faces": 2
}

用途:宽500、高350的卡片提供贴图范围;无需增加网格细分。

记录状态:按原片时点核对;含中间实验,勿混为最终状态

来源:完整流程补查

已有核对记录的原片截图
火焰平面方向与背景来源 · 场景/操作时点读值
{
  "plane": "前视图可见完整矩形,顶/左视图为薄线;世界XZ方向竖直卡片",
  "Loft001": "场景载入时已存在,未见修改器参数"
}

用途:补齐或纠正前次视频复核记录,按截图时点区分实验与最终状态。

记录状态:按原片时点核对;含中间实验,勿混为最终状态

来源:完整流程补查

已有核对记录的原片截图
先认清继承的舞台与灯 · 场景/操作时点读值
{
  "对象": "ArnoldLight001",
  "形状": "Quad",
  "Quad X": 100,
  "Quad Y": 100,
  "Spread": 1,
  "Resolution": 500,
  "Roundness": 0,
  "Soft Edge": 1,
  "Intensity": 500,
  "Exposure": 6,
  "实际强度": 32000,
  "Normalize Energy": false,
  "位置cm": [
    707.468,
    -1299.118,
    292.297
  ]
}

用途:背景承接火焰和灯光;先确认有舞台可渲染。

记录状态:按原片时点核对;含中间实验,勿混为最终状态

来源:完整流程补查

已有核对记录的原片截图
继承主灯目标距离 · 场景/操作时点读值
{
  "light": "ArnoldLight001",
  "position_cm": [
    707.468,
    -1299.118,
    292.297
  ],
  "Targeted": true,
  "TargetDistance_cm": 1193.839
}

用途:补齐或纠正前次视频复核记录,按截图时点区分实验与最终状态。

记录状态:按原片时点核对;含中间实验,勿混为最终状态

来源:完整流程补查

已有核对记录的原片截图
Gradient Ramp #4 · flag at 9
[
  0,
  0,
  0
]

用途:

记录状态:深入核对 / observed

来源:深入核对:最后可见状态

已有核对记录的原片截图
Gradient Ramp #4 · flag at 58
[
  32,
  32,
  32
]

用途:

记录状态:深入核对 / observed

来源:深入核对:最后可见状态

已有核对记录的原片截图
Gradient Ramp #4 · flag at 93
[
  255,
  255,
  255
]

用途:

记录状态:深入核对 / observed

来源:深入核对:最后可见状态

已有核对记录的原片截图
Gradient Ramp #4 · flag at 98
[
  18,
  18,
  18
]

用途:

记录状态:深入核对 / observed

来源:深入核对:最后可见状态

已有核对记录的原片截图
Gradient Ramp #4 · flag at 100
[
  0,
  0,
  0
]

用途:

记录状态:深入核对 / observed

来源:深入核对:最后可见状态

已有核对记录的原片截图
Gradient Ramp #2 · threshold
{
  "type": "Map",
  "interpolation": "Solid",
  "white_flag_position": 11,
  "white_RGB": [
    255,
    255,
    255
  ],
  "source": "Cellular #1"
}

用途:

记录状态:深入核对 / observed

来源:深入核对:最后可见状态

已有核对记录的原片截图
Composite #3 · layers
[
  {
    "layer": 1,
    "mode": "Normal",
    "opacity": 100
  },
  {
    "layer": 2,
    "mode": "Darken",
    "opacity": 100
  }
]

用途:

记录状态:深入核对 / observed

来源:深入核对:最后可见状态

已有核对记录的原片截图
Cellular #1 · offset before animation
[
  0,
  0,
  0
]

用途:

记录状态:深入核对 / observed

来源:深入核对:最后可见状态

已有核对记录的原片截图
Cellular #1 · offset at frame100
[
  0,
  -150,
  50
]

用途:Y tested +150 before corrected to -150; Z later50. Tangent interpolation not shown.

记录状态:深入核对 / observed

来源:深入核对:最后可见状态

已有核对记录的原片截图
Plane001 · Length / Width
350 cm / 500 cm

用途:控制火焰贴片实际尺寸。

记录状态:视频读值(该时点)

来源:旧版教学记录

已有核对记录的原片截图
Plane001 · Length Segs / Width Segs
1 / 1

用途:贴图效果不依赖高密度几何。

记录状态:视频读值(该时点)

来源:旧版教学记录

已有核对记录的原片截图
Plane001 · Generate Mapping Coords / Real-World
开 / 关

用途:提供显式UV通道。

记录状态:视频读值(该时点)

来源:旧版教学记录

已有核对记录的原片截图
Cellular #1 · Coordinate Source / Tiling
Object XYZ / (2,0.5,1)

用途:各向异性采样,把细胞拉成长条。

记录状态:视频读值(该时点)

来源:旧版教学记录

已有核对记录的原片截图
Cellular #1 · Offset at frame 100
(0,-150,50)

用途:纹理在模型上的流动。起点仍待核验。

记录状态:视频读值(该时点)

来源:旧版教学记录

已有核对记录的原片截图
Cellular #1 · Size / Spread
50 / 3

用途:决定细胞尺度与分界宽度。

记录状态:视频读值(该时点)

来源:旧版教学记录

已有核对记录的原片截图
Cellular #1 · Type / Fractal / Iterations / Adaptive
Circular / 开 / 3 / 开

用途:生成不规则多尺度火焰轮廓。

记录状态:视频读值(该时点)

来源:旧版教学记录

已有核对记录的原片截图
Cellular #1 · Low / Mid / High Threshold
0.1 / 0.2 / 1

用途:改变细胞颜色过渡分布。

记录状态:视频读值(该时点)

来源:旧版教学记录

已有核对记录的原片截图
Cellular #1 · Bump Smooth / Roughness / Variation
0 / 0 / 0

用途:该时点可见数值;不是所有时点恒定。

记录状态:视频读值(该时点)

来源:旧版教学记录

已有核对记录的原片截图
Gradient Ramp #4 · W Angle / Type / Interpolation
90° / Linear / Ease In

用途:形成竖向而非横向高度渐变。

记录状态:视频读值(该时点)

来源:旧版教学记录

已有核对记录的原片截图
Gradient Ramp #4 · Selected flag
Position50; RGB(32,32,32)

用途:该旗标控制中部灰度。

记录状态:视频读值(该时点)

来源:旧版教学记录

已有核对记录的原片截图
Gradient Ramp #5 · Selected flag
Position19; RGB(23,23,23)

用途:调节灰度遮罩的低端分布。

记录状态:视频读值(该时点)

来源:旧版教学记录

已有核对记录的原片截图
Gradient Ramp #5 · Noise Amount / Size
0.8 / 25

用途:这是实验中间值;后面继续修改。

记录状态:视频读值(该时点)

来源:旧版教学记录

已有核对记录的原片截图
Gradient Ramp #5 · Noise Type / Amount / Size / Phase
Fractal / 0.5 / 10 / 3.55 (frame71)

用途:用于高度遮罩的动态扰动。

记录状态:视频读值(该时点)

来源:旧版教学记录

已有核对记录的原片截图

跟做练习

先复现本课黑白形状,再观察颜色或动画的作用;每次只修改一个参数,并对照对应截图。

这组记录仍未解决的内容

以上为旧版记录中的待核对项;本页其他章节若有更新证据,应按其注明的版本与时点对照,不能把所有阶段数值混成一组最终参数。

原片画面索引

教学1.mp4 source frame at 01_129.27s
教学1.mp4 source frame at 02_484.76s
教学1.mp4 source frame at 03_888.73s
教学1.mp4 source frame at 04_1292.70s
教学1.mp4 source frame at 05_1535.08s