↓ 快轉到主要內容

火焰与火球

Flame · layers and warm colors

教学2.mp4 · 部分核对,完整复刻仍在进行

SOURCE VIDEO · course31

教学2.mp4 · 00:30:48

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

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

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

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

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

Fire layers: shape → detail → color

本节已核对下面13个原片时点,尚未逐帧完成。下方提供含补设值的可编辑MAX与分层渲染。这里记录的是各时间点真实显示的值,不把不同阶段的试验拼成一个“最终参数”。

先认识三件事

  1. Shape:先把火苗的黑白轮廓做出来。
  2. Detail:用Smoke产生另一张纹理,再经Mapped Gradient Ramp分成灰度层次,接入Composite。
  3. Color:最后用Mapped Gradient Ramp把灰度换成火焰颜色。颜色不能代替缺失的轮廓处理。

原片能确认的连线

Gradient Ramp #2 ─→ Composite #3 Layer 1
Gradient Ramp #4 ─→ Composite #3 Layer 2
Composite #3 ─────→ Composite #9 Layer 1
Smoke #7 → Gradient Ramp #8 Source Map
Gradient Ramp #8 ─→ Composite #9 Layer 2
Composite #9 ────→ Gradient Ramp #10 Source Map

07:50补核:Cellular #1和Gradient Ramp #5进入Composite #6,#6接到#2的Source Map。所有完整色标和最终材质插槽仍待继续核对。本图只画清楚可见的连接。

为什么之前的练习边缘偏软?

当前Course30练习把Cellular与噪波渐变的Multiply结果直接接到Emission Color;它缺少这里可见的后续Gradient Ramp和Composite处理。因此它只是中间纹理练习,不是老师完整火焰。缺少灰度重映射是边缘差异的候选原因,仍需在MAX中补齐并进行同条件渲染才能确认。

跟着画面核对

07:50 · Confirmed upstream connection

现在能看到完整主分支:Cellular #1与Gradient Ramp #5进入Composite #6;#6输出接Gradient Ramp #2的Source Map;#2再进入Composite #3 Layer1,Gradient Ramp #4进入Layer2。这是当前Course30练习缺失的后续连接。

Confirmed upstream connection
07:00 · Animate the height texture

Gradient Ramp #5:Frame100,U Offset0.5、V Offset0,U/V Tiling1/3,W Angle90;Linear、Ease In;Noise Amount0.5、Size3、Phase5、Fractal、Levels4。动画起点和完整关键帧仍待核对,不把这一帧当完整动画。

Animate the height texture
10:00 · Preview Smoke alone

Smoke #7暂时直接接到材质 Emission Color。Object XYZ,Offset0/0/0、Tiling1/1/1;Size101.6、Iterations5、Exponent0.1、Phase0,Color1白、Color2黑。这是中途预览,不能当作最终连线。

Preview Smoke alone
15:00 · Turn soft noise into bands

Smoke #7 → Gradient Ramp #8 Source Map。Gradient Type=Mapped,Interpolation=Solid,选中的白色色标Position20、RGB255/255/255,Noise Amount0。Solid把连续灰度分成阶梯色块;此时并未完成最终火焰混合。

Turn soft noise into bands
16:40 · Trace the downstream graph

Gradient Ramp #2 → Composite #3 Layer1;Gradient Ramp #4 → #3 Layer2;#3 → Composite #9 Layer1;Smoke #7 → Gradient Ramp #8 → #9 Layer2。#9此时两层均Normal、Opacity100、Mask=None。#2更上游的源连线在画面外,仍需继续追踪。

Trace the downstream graph
18:20 · Blend mode experiment

Composite #9 Layer2此时为Hard Light,Opacity100,Layer1 Normal。RenderView显示Render Aborted,因此不把它当成功最终渲染,也不能把这个试验模式当片尾设置。

Blend mode experiment
20:00 · Adjust Cellular shape

Cellular #1:Frame100,Object XYZ Offset0/-150/100,Tiling2/0.4/1;Circular、Fractal On、Size50、Spread2.5、Iterations3、Adaptive On。与上一节Spread3、Y Tiling0.5不同。

Adjust Cellular shape
22:30 · Reduce Smoke size

Smoke #7 Size此时已为20,Iterations5;其余右侧参数被RenderView遮挡,不从遮挡画面猜值。

Reduce Smoke size
25:00 · Later blend mode

Composite #9 Layer2显示聚光,练习使用Spotlight;不要误写为Pin Light,两者是不同模式。Layer1 Normal、Opacity100可见,Layer2的Opacity被渲染进度窗遮挡。需要更晚的无遮挡画面确认片尾状态。

Later blend mode
27:00 · Later threshold flag

Gradient Ramp #8仍为Mapped、Solid、Source Map=Smoke #7、Noise Amount0;白色色标Position23、RGB255/255/255。其他灰色色标的完整位置/RGB尚未全部确认。

Later threshold flag
29:00 · Color the grayscale flame

新增Gradient Ramp #10,Source Map=Composite #9,Gradient Type=Mapped、Interpolation=Ease In、Noise Amount0。选中Position70色标,RGB218/117/0。黑色、红色、黄色和白色的其余色标仍需逐项核对。

Color the grayscale flame
30:00 · Height gradient adjustment

Gradient Ramp #4:Linear、Ease In,W Angle90,Noise Amount0.1、Size1、Phase0、Regular;选中左端点Position0、RGB0/0/0。它接入Composite #3 Layer2,用于改变不同高度的灰度分布。

Height gradient adjustment
30:30 · Later height settings

Gradient Ramp #4在30:30变为V Tiling4、Noise Amount0.05,W Angle90、Size1、Phase0。这个画面晚于30:00的Amount0.1。练习采用这组更晚的数值。

Later height settings

练习时怎么判断每一步

另存副本,关闭Auto Key,在同一Frame和Camera下依次查看Smoke、Gradient Ramp #8、Composite #9、Gradient Ramp #10的输出。每次只换一个输出,保留前一张渲染作比较。先确认黑白轮廓,再调整颜色。正式动画关键帧需要另行核对。

待补:所有色标位置/RGB、最终Blend Mode和Opacity、动画起止值/曲线、原场景镜头灯光及完整动画。本节部分MAX已完成保存读回与分层渲染。

Editable fire layers + real render comparison

已在现有3ds Max窗口内执行构建、另存MAX和MAT、重新打开并追踪节点连接;以下五张是同一Camera、Frame100的实际Arnold渲染。工程仍含明确标注的补设色标和镜头,不是完整逐值复刻或最终考核交付。

Download editable MAX · Material library · Readback + supplements

已修正的实际错误:Interpolation

第一次构建时,名为Solid的旧模板实际显示Ease In。通过Slate界面直接把Gradient Ramp #2改为Solid,再用这个经过界面确认的原生节点建立#8。修正后重新保存、打开并渲染。节点名称不等于实际参数,必须检查右侧Interpolation下拉框。

Before: Ease In incorrectly used
Before · 实际为Ease In,仍有大片灰度过渡
After: Solid threshold
After · Solid,黑白轮廓明确

每一步到底做什么?

Multiply
Multiply — Cellular与噪波渐变混合后的原始灰度。
Mapped + Solid
Mapped + Solid — 把原始灰度分成黑白,建立清楚的火苗轮廓。
Darken + height gradient
Darken + height gradient — 用高度渐变改变火苗不同高度的亮度。
Smoke + Solid + Soft Light
Smoke + Solid + Soft Light — 加入第二条纹理分支,改变火苗内部细节。
Mapped color ramp
Mapped color ramp — 把最后的灰度换成红、橙、黄等颜色。

在Max里跟着看

  1. 打开下载的MAX。按M进入Slate Material Editor,用Pick Material from Object拾取Plane001的材质。
  2. 找到02_Solid_Threshold,双击节点,展开Gradient Ramp Parameters,确认Gradient Type=Mapped、Interpolation=Solid。
  3. 先看Source Map的连线:它应来自06_Multiply,而不是直接来自Cellular。
  4. 沿输出依次找到03_Darken_Height、09_SoftLight_Detail和10_Fire_Color。改变颜色前,先确认黑白轮廓。
  5. 若要自己比较,先另存副本、关闭Auto Key,把同一个材质的Emission Color Map临时接到各阶段输出;保持Frame100和Camera不变。最后恢复10_Fire_Color。

仍需继续完成

Gradient #4、#5的部分色标以及#8、#10端点仍是补设值,已列入Readback;原片完整动画关键帧、灯光与镜头尚未还原。当前火苗分布比原片稀疏,橙色摄影棚背景也不同于老师的灰色背景。本轮只渲染了Frame100的五个处理阶段,不能当作整段动画已完成。

更正:原片25:00的“聚光”在练习中使用Spotlight,先前页面误写Pin Light已纠正。Autodesk Composite说明列出了两个不同模式。后续截图已确认改为Soft Light,现有工程采用该更晚设置。

Later values: replace the intermediate blend

重新检查已保存的原片证据后,已将MAX更新为更晚出现的Soft Light,Smoke改为Size15 / Exponent0.09。文件已另存保留修正前版本,保存后重新打开验证,并重渲染Detail与Color阶段。

ParameterPrevious studyUpdated study
Composite #9 Layer2SpotlightSoft Light, Opacity100%
Smoke Size2015
Smoke Exponent0.10.09

这次更改保留主轮廓,改变内部灰度和颜色分布。它不会自动修复所有火苗形状差异。Gradient #5右端点及完整动画仍需核对。

Earlier Spotlight trial
Earlier study · Spotlight, Smoke20/0.1
Later Soft Light settings
Updated · Soft Light, Smoke15/0.09

Color Ramp #10: verified intermediate flags

PositionRGB in ramp
6127 / 1 / 0
26190 / 28 / 0
70218 / 117 / 0
96231 / 161 / 0

这些值已从原片画面重新确认;端点0与100仍保留补设黑/白,不能把整条色带称为完全核实。

Smoke: later settings

原始PTS1460.031873:Object XYZ,Offset0/0/0,Tiling1/0.2/1,Size15、Iterations5、Exponent0.09、Phase0,Color1白/Color2黑。

Smoke: later settings
Composite #9: Soft Light

此前保存的原片截图已重新目视核对:Layer1 Normal100%,Layer2 Soft Light100%,两层Mask=None。这晚于Spotlight/Spotlight Blend试验,应更新练习工程。截图文件名是早期OpenCV近似定位秒数,不能当作准确PTS。

Composite #9: Soft Light
Ramp #8: gray flag

Position17,RGB58/58/58;颜色选择器同时显示Scene0.227与Display130。不要把显示RGB130直接填回场景值58。

Ramp #8: gray flag
Color ramp: Position6

Gradient Ramp #10,Position6、RGB127/1/0,Mapped、Ease In。

Color ramp: Position6
Color ramp: Position26

Gradient Ramp #10,Position26、RGB190/28/0。

Color ramp: Position26
Color ramp: Position96

Gradient Ramp #10,Position96、RGB231/161/0。

Color ramp: Position96

Animation correction · Gradient Ramp #5

本次逐秒回看教学1.mp4的1252–1277秒,确认老师在1265–1267秒将Position100色标设为黑色RGB0/0/0。渐变预览条的灰色外观不能证明色标值;旧工程这个端点无需改动。

教学2.mp4的150秒显示Frame0:Phase5、U Offset0;300秒显示Frame100:Phase5、U Offset0.5。旧学习工程人为补了Phase0→5,本版改为固定5。中间保持5是根据已观察端点的重建选择,并非读取了老师完整曲线。U Offset仍为0→0.5,且保存后读回Frame50为0.25。

FrameOld PhaseRevised PhaseU Offset
0050
502.550.25
100550.5

U Offset让现有图案移动;Noise Phase改变噪波形态。这里保留老师可见的移动,去掉未经确认的Phase变化。原静态工程和旧图保留供比较。

Download phase-corrected MAX · Readback

Actual render frame0
Frame 0 · Phase 5
Actual render frame50
Frame 50 · Phase 5
Actual render frame100
Frame 100 · Phase 5

这三帧是实际Arnold渲染,用于检查纹理在动画中的状态,不是完整连续动画。Frame100不因这次修正改变,末帧稀疏和黑色碎片仍需继续核对上游遮罩、镜头、灯光。

教学1 · 21:07 · endpoint100 black教学1 · 21:07 · endpoint100 black
教学2 · 02:30 · Frame0 Phase5教学2 · 02:30 · Frame0 Phase5
教学2 · 05:00 · Frame100 Phase5教学2 · 05:00 · Frame100 Phase5

Original Test.max material comparison

直接只读打开[本机资料路径]

Native-material comparison MAX · Original fire material MAT · Detailed readback

对照工程使用相同学习镜头、房间和Gobo灯,只换成Test.max的原生火焰材质,再接入第34课Color Correction遮罩(200/3/1,来源Composite #3)。此对照帮助定位材质差异,不是宣称恢复了老师完整场景。

ParameterTest.maxVideo-based study
Cellular Size / Spread70 / 1.250 / 2.5
Cellular Iterations / Y Tiling4 / 0.453 / 0.4
Gradient #29 flags including gray levelsThreshold reconstruction
Gradient #10 red flag position4.37716
Gradient #10 orange flag position18.518526

Gradient #4色标与此前补值接近,但现在能提供原生小数。Color下方为Max内部0–255线性表示,不是Display RGB色彩选择器里的屏幕编码数字。

贴图 #10 · all native color flags
FlagPositionColor
标志__10[0,0,0]
标志__2100[255,255,255]
标志__34.37710428237915[127.374,1.16274,0]
标志__495.62289428710938[231.425,161.171,0]
标志__518.518518447875977[189.855,28.3814,0]
标志__670.0336685180664[217.629,117.101,0]
贴图 #2 · all native color flags
FlagPositionColor
标志__10[0,0,0]
标志__2100[255,255,255]
标志__348.14814758300781[142.927,142.927,142.927]
标志__410.437710762023926[5.61331,5.61331,5.61331]
标志__556.9023551940918[255,255,255]
标志__639.73063659667969[60.9011,60.9011,60.9011]
标志__732.3232307434082[47.6821,47.6821,47.6821]
标志__824.579124450683594[12.8648,12.8648,12.8648]
标志__96.397305965423584[2.13515,2.13515,2.13515]
贴图 #5 · all native color flags
FlagPositionColor
标志__10[0,0,0]
标志__2100[0,0,0]
标志__373.40067291259766[255,255,255]
标志__445.79124450683594[23.3945,23.3945,23.3945]
贴图 #4 · all native color flags
FlagPositionColor
标志__10[0,0,0]
标志__2100[0,0,0]
标志__357.57575607299805[31.8089,31.8089,31.8089]
标志__49.090909004211426[0,0,0]
标志__592.92929077148438[255,255,255]
标志__697.64309692382812[18.2992,18.2992,18.2992]
贴图 #8 · all native color flags
FlagPositionColor
标志__10[0,0,0]
标志__2100[255,255,255]
标志__314.478114128112793[57.9198,57.9198,57.9198]
标志__422.89562225341797[164.617,164.617,164.617]
标志__510.437710762023926[11.3609,11.3609,11.3609]
标志__627.272727966308594[255,255,255]
Native material comparison frame100
Actual Arnold render · original Test.max material with lesson34 cutout

仍需匹配视频末段材质状态、镜头、色彩管理和动画输出。此版本保留为明确命名的对照工程,未覆盖前面的按视频重建版。

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

细胞主轮廓与Smoke细节分别经过渐变重映射,再合成、映射为黑红橙黄白火焰。教师界面中的Fire是物理材质;换成Arnold Standard Surface必须标为兼容适配。

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

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

操作步骤

1. 高度遮罩变化

对Gradient Ramp #5的噪声和相位进行实验。

已有核对记录的原片截图
2. 加入Smoke

Smoke白黑噪声纵向拉伸,预览为柔和流线。

已有核对记录的原片截图
3. 主轮廓与细节分支合成

Cellular阈值轮廓加竖向Ramp,Smoke经另一个Ramp细化,两支进入Composite #9。

已有核对记录的原片截图
4. 把Smoke分段

Gradient Ramp #8使用Map和Solid,黑色旗标位置8,形成硬分段明暗细节。

已有核对记录的原片截图
5. 缩小Smoke细节

Size改为15、TilingY0.2、Exponent0.09,保留5次迭代。

已有核对记录的原片截图
6. 映射火焰色带

Composite #9作为Gradient Ramp #10的Source,将灰度转换为火焰颜色。

已有核对记录的原片截图
7. 火焰颜色预览

可看到黑红橙黄配色;颜色旗标还在调整,不能从缩略色带猜成精确RGB。

已有核对记录的原片截图
8. 继续高度渐变实验

竖向Ramp V tiling4、noise amount0.05,当前渲染仍在变化。

已有核对记录的原片截图

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

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

Gradient Ramp #10 · flag at 0
[
  0,
  0,
  0
]

用途:

记录状态:深入核对 / observed

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

已有核对记录的原片截图
Gradient Ramp #10 · flag at 6
[
  127,
  1,
  0
]

用途:

记录状态:深入核对 / observed

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

已有核对记录的原片截图
Gradient Ramp #10 · flag at 26
[
  190,
  28,
  0
]

用途:

记录状态:深入核对 / observed

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

已有核对记录的原片截图
Gradient Ramp #10 · flag at 70
[
  218,
  117,
  0
]

用途:

记录状态:深入核对 / observed

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

已有核对记录的原片截图
Gradient Ramp #10 · flag at 96
[
  231,
  161,
  0
]

用途:

记录状态:深入核对 / observed

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

已有核对记录的原片截图
Gradient Ramp #10 · type / interpolation / noise
{
  "type": "Map",
  "interpolation": "Ease In",
  "amount": 0,
  "size": 1,
  "phase": 0
}

用途:

记录状态:深入核对 / observed

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

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

用途:

记录状态:深入核对 / observed

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

已有核对记录的原片截图
Gradient Ramp #4 · final parameters
{
  "type": "Linear",
  "interpolation": "Ease In",
  "noise_amount": 0.05,
  "noise_type": "Regular",
  "size": 1,
  "phase": 0,
  "W_angle": 90
}

用途:noise .05 independently confirmed at native PTS1825+,1830+,1845+

记录状态:深入核对 / observed

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

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

用途:

记录状态:深入核对 / observed

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

已有核对记录的原片截图
Gradient Ramp #8 · flag at 10
[
  11,
  11,
  11
]

用途:

记录状态:深入核对 / observed

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

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

用途:

记录状态:深入核对 / observed

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

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

用途:

记录状态:深入核对 / observed

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

已有核对记录的原片截图
Gradient Ramp #8 · type / interpolation
{
  "type": "Map",
  "interpolation": "Solid",
  "source": "Smoke #7",
  "noise_amount": 0,
  "size": 1,
  "phase": 0
}

用途:

记录状态:深入核对 / observed

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

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

用途:Spotlight Blend at1510 is intermediate, not last shown mode

记录状态:深入核对 / observed

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

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

用途:第100帧的实验状态。

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

来源:旧版教学记录

已有核对记录的原片截图
Gradient Ramp #5 · U Offset / V Tiling
-0.5 / 3

用途:改变渐变在平面上的布局。

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

来源:旧版教学记录

已有核对记录的原片截图
Smoke #7 · Coordinate Source / Tiling / Offset
Object XYZ / (1,0.2,1) / (0,0,0)

用途:最终附近可读配置,纵向拉长纹理。

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

来源:旧版教学记录

已有核对记录的原片截图
Smoke #7 · Size / Iterations / Exponent / Phase
15 / 5 / 0.09 / 0

用途:细小流线、层次和灰度对比。

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

来源:旧版教学记录

已有核对记录的原片截图
Smoke #7 · Color1 / Color2
白 / 黑

用途:以灰度驱动下一层色带。

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

来源:旧版教学记录

已有核对记录的原片截图
Gradient Ramp #8 · Type / Interpolation / Source
Map / Solid / Smoke #7

用途:把连续Smoke亮度分成硬边区域。

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

来源:旧版教学记录

已有核对记录的原片截图
Gradient Ramp #8 · Selected flag
Position8; RGB(0,0,0)

用途:黑端阈值;其余旗标需继续核验。

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

来源:旧版教学记录

已有核对记录的原片截图
Composite #9 · Inputs
Layer1=Composite #3; Layer2=Gradient Ramp #8

用途:合成主形状与细节。

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

来源:旧版教学记录

已有核对记录的原片截图
Composite #9 · Blend / Opacity at 16:40
Layer1 Normal100%; Layer2 Normal100%

用途:中途状态;后续最终模式未确认。

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

来源:旧版教学记录

已有核对记录的原片截图
Gradient Ramp #10 · Type / Source / Interpolation
Map / Composite #9 / Ease In

用途:将灰度转成火焰色带。

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

来源:旧版教学记录

已有核对记录的原片截图
Gradient Ramp #10 · Selected flag at 28:00
Position74; RGB(190,28,0)

用途:调色过程中一个可读色标,不能当整条色带最终值。

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

来源:旧版教学记录

已有核对记录的原片截图
Gradient Ramp #4 · V Tiling / Noise Amount
4 / 0.05

用途:视频末尾的高度细节调整。

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

来源:旧版教学记录

已有核对记录的原片截图
Fire · Material class
Physical Material(物理材质)

用途:教材原节点类别;Arnold适配需明确说明。

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

来源:旧版教学记录

已有核对记录的原片截图

跟做练习

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

这组记录仍未解决的内容

  • 视频Physical Material适配为Arnold Standard Surface。
  • 火焰平面350×500、相机、未展示的动画起点及端点白色为补齐值。
  • Ramp8插值未确认,工程采用Linear;其余新增旗标数值和最终合成模式见“深入核对”。

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

原片画面索引

教学2.mp4 source frame at 01_147.90s
教学2.mp4 source frame at 02_554.63s
教学2.mp4 source frame at 03_1016.82s
教学2.mp4 source frame at 04_1479.01s
教学2.mp4 source frame at 05_1756.32s