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

SOURCE VIDEO · course07

Water surface · layered maps

11月5日教学4.mp4 · 00:32:26

已增加源工程节点、渐变色标、真实动画关键帧及学习副本。已补充观察镜头并核对三帧渲染;本水面时间线的 101 帧已完成;不是最终考核交件。

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

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

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

Cellular water — source scene recovered

这节课换成 Cellular 水面,然后把上一节的线性条纹少量混回来。先学灰度图案,再学蓝色映射,最后加动画。以下数值来自本机 [本机资料路径] 的实际读取;它是包含后续水滴的保存版本,不代表视频每个中间时刻。

Download editable Test4_Source_Study.max · Full parameter and key readback

原工程未修改,SHA-256 前后相同。学习副本已通过 Max 的 Save As 保存。下方另有水面观察镜头副本和三帧渲染。水面 101 帧已完成;雨滴考核仍未完成。

1 · Create the surface

Plane 名称 Wave,Length / Width = 400 cm,Length Segs / Width Segs = 1 / 1,Z = 5 cm。保留 Generate Mapping Coords。源场景还有 LightRoom、两个 Arnold Lights 和 Sphere001 水滴;没有保存 Camera 对象,不能声称恢复了老师镜头。

2 · Make the cell pattern

在 Slate 创建 Cellular #36,复制为 #37。两者 Size = 0.2,Spread = 0.5,Fractal = Off,Coordinates 使用 Explicit Map Channel 1。#37 的 Offset = (0.5, 0.5, 0.2),W Angle = 90°(Frame 0)。黑色中心和亮边界形成不规则区域。两个方向叠加,使水面不只是一排重复图案。

3 · Composite #38

LayerMapBlend ModeOpacity
1Cellular #36Normal100%
2Cellular #37Overlay100%
3Smoke #39Multiply70%

Smoke #39 使用 Explicit Map Channel 1、Size 0.2、Iterations 5、Exponent 1.5。Multiply 层把部分区域压暗。练习时先关闭 Auto Key,把这一层 Opacity 改为 0,观察差异,然后恢复 70。

4 · Add fine details

Noise #40 → Source Map of Gradient Ramp #41。#41 用 Mapped,把 Noise 的灰度重新分配为多条明暗带。源工程保存的 #41 Noise Amount 是 0.12,Size = 0.8;视频中途出现的 0.1 不等于最后保存值。

CompositeLayer 1Layer 2Layer 2 Opacity
#42#38 / Normal#41 / Linear Dodge5%
#44#43 / Normal#30 / Screen10%

#42 的细节只混 5%,不要用课堂试调时的 100% 替代最终值。#44 的 #30 是上一节线性水面,不是新建的空白贴图。

5 · Turn grayscale into blue

#36 + #37 + #39 → Composite #38 ─┐
Noise #40 → Mapped Ramp #41 ────┤ Composite #42
                               ↓
                    Mapped blue Ramp #43
                               ↓
             Composite #44 (+ previous #30 at 10%)
                               ↓
                  Water → Emission Color

Water 是 Arnold Standard Surface。Base = 0,Specular = 0,Emission = 0.5。蓝色来自 Emission Color 的节点链。此路径不能单独证明有几何起伏或 Displacement。

6 · Animate the texture

下面是实际 Controller 的关键帧,不是仅凭截图猜的数值。建议先保存副本,在 Frame 0 建第一个值,开启 Auto Key,移到 Frame 100 设置第二个值,再关闭 Auto Key。在 Curve Editor 核对 Tangents。

MapTrackKeysIn / Out Tangent
#36贴图 #36/Coordinates/offset0f = [0,0,0]; 100f = [0,0,0.3]linear/linear
#37贴图 #37/Coordinates/offset0f = [0.5,0.5,0.2]; 100f = [0.5,0.5,0.5]linear/linear
#39贴图 #39/phase0f = 0.0; 100f = 0.5linear/linear
#40贴图 #40/phase0f = 0.0; 100f = 1.0linear/linear
#25贴图 #25/Coordinates/U_Offset0f = 0.0; 100f = 0.25linear/linear
#25贴图 #25/parameters/phase0f = 0.0; 100f = 0.5linear/linear
#26贴图 #26/Coordinates/U_Offset0f = 0.0; 100f = 0.30000001192092896linear/linear
#26贴图 #26/parameters/phase0f = 0.0; 100f = 0.30000001192092896linear/linear
#28贴图 #28/Coordinates/U_Offset0f = 0.0; 100f = 0.18000000715255737linear/linear
#28贴图 #28/parameters/phase0f = 0.0; 100f = 0.6000000238418579linear/linear
#29贴图 #29/Coordinates/offset0f = [0,0,0]; 100f = [0,0.5,0]linear/linear
#29贴图 #29/phase0f = 0.0; 100f = 0.10000000149011612linear/linear

Offset 让纹理采样位置改变;Phase 让噪波形态演变。它们不移动 Plane。Cellular #36 在 Frame 18 的 W Offset 实读 0.054,在 Frame 66 是 0.198,在 Frame 100 是 0.3,与线性变化一致。

Exact saved-node values

展开查看原生属性。数值保留浮点精度;颜色是源工程存储的通道值,不是从截图吸取的屏幕颜色。Gradient Ramp 的第一个/第二个端点 Position 固定为 0/100,未暴露 Position 属性时按端点标明。不要把这些色标的列表顺序当位置排序。

#36 · Cellular · saved values
PropertyStored value
cellColor(color 0 0 0)
divColor1(color 127.5 127.5 127.5)
divColor2(color 255 255 255)
CellMapNone
divMap1None
divMap2None
map1EnabledTrue
map2EnabledTrue
map3EnabledTrue
variation0.0
size0.20000000298023224
spread0.5
lowThresh0.0
midThresh0.5
highThresh1.0
type0
fractalFalse
iteration3.0
roughness0.0
smooth0.10000000149011612
adaptiveTrue
coordsMtlBase:Placement
outputMtlBase:Output

Coordinates

PropertyStored value
blur1.0
offset[0,0,0]
angle[0,0,0]
coordType2
mapChannel1
Blur_Offset0.0
Tiling[1,1,1]

Coordinates

PropertyStored value
blur1.0
offset[0,0,0]
angle[0,0,0]
coordType2
mapChannel1
Blur_Offset0.0
Tiling[1,1,1]
#37 · Cellular · saved values
PropertyStored value
cellColor(color 0 0 0)
divColor1(color 127.5 127.5 127.5)
divColor2(color 255 255 255)
CellMapNone
divMap1None
divMap2None
map1EnabledTrue
map2EnabledTrue
map3EnabledTrue
variation0.0
size0.20000000298023224
spread0.5
lowThresh0.0
midThresh0.5
highThresh1.0
type0
fractalFalse
iteration3.0
roughness0.0
smooth0.10000000149011612
adaptiveTrue
coordsMtlBase:Placement
outputMtlBase:Output

Coordinates

PropertyStored value
blur1.0
offset[0.5,0.5,0.2]
angle[0,0,90]
coordType2
mapChannel1
Blur_Offset0.0
Tiling[1,1,1]

Coordinates

PropertyStored value
blur1.0
offset[0.5,0.5,0.2]
angle[0,0,90]
coordType2
mapChannel1
Blur_Offset0.0
Tiling[1,1,1]
#39 · Smoke · saved values
PropertyStored value
size0.20000000298023224
iterations5
Exponent1.5
phase0.0
color1(color 0 0 0)
color2(color 229.5 229.5 229.5)
map1None
map2None
map1OnTrue
map2OnTrue
coordsMtlBase:Placement

Coordinates

PropertyStored value
blur1.0
offset[0,0,0]
angle[0,0,0]
coordType2
mapChannel1
Blur_Offset0.0
Tiling[1,1,1]

Coordinates

PropertyStored value
blur1.0
offset[0,0,0]
angle[0,0,0]
coordType2
mapChannel1
Blur_Offset0.0
Tiling[1,1,1]
#40 · Noise · saved values
PropertyStored value
color1(color 0 0 0)
color2(color 255 255 255)
map1None
map2None
map1EnabledTrue
map2EnabledTrue
size0.20000000298023224
phase0.0
Levels4.0
thresholdLow0.0
thresholdHigh1.0
type1
coordsMtlBase:Placement
outputMtlBase:Output

Coordinates

PropertyStored value
blur1.0
offset[0,0,0]
angle[0,0,0]
coordType2
mapChannel1
Blur_Offset0.0
Tiling[1,1,1]

Coordinates

PropertyStored value
blur1.0
offset[0,0,0]
angle[0,0,0]
coordType2
mapChannel1
Blur_Offset0.0
Tiling[1,1,1]
#41 · Gradient_Ramp · saved values
PropertyStored value
size0.800000011920929
phase0.0
amount0.11999999731779099
Levels4.0
Low_Threshold0.0
High_Threshold1.0
Threshold_Smoothing0.0
Gradient_Type5
Noise_Type1
Source_Map_On1
CoordinatesMtlBase:Placement
outputMtlBase:Output
Gradient_RampReferenceTarget:JData
Source_Map贴图 #40:Noise

Coordinates

PropertyStored value
blur1.0
mapping0
mapChannel1
mappingType0
UVW_Type0
U_MirrorFalse
V_MirrorFalse
U_TileTrue
V_TileTrue
showMapOnBackTrue
Noise_OnFalse
Noise_AnimateFalse
UVTransform(matrix3 [1,0,0] [0,1,0] [0,0,1] [0,0,0])
realWorldScaleFalse
realWorldHeight1.0
realWorldWidth1.0
phase0.0
U_Offset0.0
V_Offset0.0
U_Tiling1.0
V_Tiling1.0
U_Angle0.0
V_Angle0.0
W_Angle0.0
Noise_Amount1.0
Noise_Size1.0
Noise_Levels1
Blur_Offset0.0

Gradient flags

FlagPositionColor
标志__10 (endpoint)[13.0361,13.0361,13.0361]
标志__2100 (endpoint)[15.3081,15.3081,15.3081]
标志__350.0[31.875,31.875,31.875]
标志__48.7542085647583[255,255,255]
标志__521.212121963500977[21.0156,21.0156,21.0156]
标志__636.70033645629883[255,255,255]
标志__772.05387115478516[255,255,255]
标志__880.8080825805664[6.17685,6.17685,6.17685]
标志__991.919189453125[255,255,255]
标志__1026.93602752685547[0.942796,0.942796,0.942796]
标志__1145.11784744262695[31.8089,31.8089,31.8089]
标志__1260.26936340332031[122.898,122.898,122.898]
标志__133.0303030014038086[0,0,0]
标志__1496.63299560546875[0,0,0]
标志__1555.21885681152344[11.3609,11.3609,11.3609]
标志__1665.31986236572266[255,255,255]
#43 · Gradient_Ramp · saved values
PropertyStored value
size2.0
phase0.0
amount0.10000000149011612
Levels4.0
Low_Threshold0.0
High_Threshold1.0
Threshold_Smoothing0.0
Gradient_Type5
Noise_Type0
Source_Map_On1
CoordinatesMtlBase:Placement
outputMtlBase:Output
Gradient_RampReferenceTarget:JData
Source_Map贴图 #42:Composite

Coordinates

PropertyStored value
blur1.0
mapping0
mapChannel1
mappingType0
UVW_Type0
U_MirrorFalse
V_MirrorFalse
U_TileTrue
V_TileTrue
showMapOnBackTrue
Noise_OnFalse
Noise_AnimateFalse
UVTransform(matrix3 [1,0,0] [0,1,0] [0,0,1] [0,0,0])
realWorldScaleFalse
realWorldHeight1.0
realWorldWidth1.0
phase0.0
U_Offset0.0
V_Offset0.0
U_Tiling1.0
V_Tiling1.0
U_Angle0.0
V_Angle0.0
W_Angle0.0
Noise_Amount1.0
Noise_Size1.0
Noise_Levels1
Blur_Offset0.0

Gradient flags

FlagPositionColor
标志__10 (endpoint)[3.22925,38.5198,161.171]
标志__2100 (endpoint)[162.889,241.986,255]
标志__38.08080768585205[32.5201,91.4568,227.272]
标志__455.21885681152344[86.502,161.171,255]
标志__53.7037036418914795[11.768,54.0713,223.16]
标志__624.91582489013672[88.9605,144.537,255]
标志__743.43434143066406[0.253055,51.2794,180.616]
标志__846.12794494628906[4.09726,80.5195,255]
标志__937.03703689575195[71.7632,122.938,232.307]
标志__1030.639732360839844[48.568,107.23,241.986]
标志__1172.7272720336914[25.1657,173.405,255]
#30 · Gradient_Ramp · saved values
PropertyStored value
size1.0
phase0.0
amount0.0
Levels4.0
Low_Threshold0.0
High_Threshold1.0
Threshold_Smoothing0.0
Gradient_Type5
Noise_Type0
Source_Map_On1
CoordinatesMtlBase:Placement
outputMtlBase:Output
Gradient_RampReferenceTarget:JData
Source_Map贴图 #27:Composite

Coordinates

PropertyStored value
blur1.0
mapping0
mapChannel1
mappingType0
UVW_Type0
U_MirrorFalse
V_MirrorFalse
U_TileTrue
V_TileTrue
showMapOnBackTrue
Noise_OnFalse
Noise_AnimateFalse
UVTransform(matrix3 [1,0,0] [0,1,0] [0,0,1] [0,0,0])
realWorldScaleFalse
realWorldHeight1.0
realWorldWidth1.0
phase0.0
U_Offset0.0
V_Offset0.0
U_Tiling1.0
V_Tiling1.0
U_Angle0.0
V_Angle0.0
W_Angle0.0
Noise_Amount1.0
Noise_Size1.0
Noise_Levels1
Blur_Offset0.0

Gradient flags

FlagPositionColor
标志__10 (endpoint)[34.7051,91.4568,255]
标志__2100 (endpoint)[239.853,252.805,255]
标志__335.69023513793945[28.3814,136.589,255]
标志__456.56565475463867[248.447,252.805,255]
标志__581.81818389892578[41.7284,195.52,255]
标志__615.15151596069336[118.509,187.987,255]
#25 · Gradient_Ramp · saved values
PropertyStored value
size5.0
phase0.0
amount0.5
Levels4.0
Low_Threshold0.0
High_Threshold1.0
Threshold_Smoothing0.0
Gradient_Type4
Noise_Type0
Source_Map_On1
CoordinatesMtlBase:Placement
outputMtlBase:Output
Gradient_RampReferenceTarget:JData

Coordinates

PropertyStored value
blur1.0
mapping0
mapChannel1
mappingType0
UVW_Type0
U_MirrorTrue
V_MirrorFalse
U_TileFalse
V_TileTrue
showMapOnBackTrue
Noise_OnFalse
Noise_AnimateFalse
UVTransform(matrix3 [10,0,0] [0,1,0] [0,0,1] [-4.5,0,0])
realWorldScaleFalse
realWorldHeight1.0
realWorldWidth0.10000000149011612
phase0.0
U_Offset0.0
V_Offset0.0
U_Tiling10.0
V_Tiling1.0
U_Angle0.0
V_Angle0.0
W_Angle0.0
Noise_Amount1.0
Noise_Size1.0
Noise_Levels1
Blur_Offset0.0

Gradient flags

FlagPositionColor
标志__10 (endpoint)[0,0,0]
标志__2100 (endpoint)[255,255,255]
标志__350.0[127.5,127.5,127.5]
#26 · Gradient_Ramp · saved values
PropertyStored value
size5.0
phase0.0
amount0.5
Levels4.0
Low_Threshold0.0
High_Threshold1.0
Threshold_Smoothing0.0
Gradient_Type4
Noise_Type0
Source_Map_On1
CoordinatesMtlBase:Placement
outputMtlBase:Output
Gradient_RampReferenceTarget:JData

Coordinates

PropertyStored value
blur1.0
mapping0
mapChannel1
mappingType0
UVW_Type0
U_MirrorTrue
V_MirrorFalse
U_TileFalse
V_TileTrue
showMapOnBackTrue
Noise_OnFalse
Noise_AnimateFalse
UVTransform(matrix3 [11.2583,0.5,0] [-6.5,0.866025,0] [0,0,1] [-1.87916,-0.183013,0])
realWorldScaleFalse
realWorldHeight1.0
realWorldWidth0.07692307978868484
phase0.0
U_Offset0.0
V_Offset0.0
U_Tiling13.0
V_Tiling1.0
U_Angle0.0
V_Angle0.0
W_Angle30.000001907348633
Noise_Amount1.0
Noise_Size1.0
Noise_Levels1
Blur_Offset0.0

Gradient flags

FlagPositionColor
标志__10 (endpoint)[0,0,0]
标志__2100 (endpoint)[117.434,117.434,117.434]
#28 · Gradient_Ramp · saved values
PropertyStored value
size5.0
phase0.0
amount0.5
Levels4.0
Low_Threshold0.0
High_Threshold1.0
Threshold_Smoothing0.0
Gradient_Type4
Noise_Type0
Source_Map_On1
CoordinatesMtlBase:Placement
outputMtlBase:Output
Gradient_RampReferenceTarget:JData

Coordinates

PropertyStored value
blur1.0
mapping0
mapChannel1
mappingType0
UVW_Type0
U_MirrorTrue
V_MirrorFalse
U_TileFalse
V_TileTrue
showMapOnBackTrue
Noise_OnFalse
Noise_AnimateFalse
UVTransform(matrix3 [8,0.866025,0] [-13.8564,0.5,0] [0,0,1] [3.4282,-0.183013,0])
realWorldScaleFalse
realWorldHeight1.0
realWorldWidth0.0625
phase0.0
U_Offset0.0
V_Offset0.0
U_Tiling16.0
V_Tiling1.0
U_Angle0.0
V_Angle0.0
W_Angle60.000003814697266
Noise_Amount1.0
Noise_Size1.0
Noise_Levels1
Blur_Offset0.0

Gradient flags

FlagPositionColor
标志__10 (endpoint)[0,0,0]
标志__2100 (endpoint)[174.474,174.474,174.474]
#29 · Smoke · saved values
PropertyStored value
size0.05000000074505806
iterations5
Exponent1.0
phase0.0
color1(color 0 0 0)
color2(color 255 255 255)
map1None
map2None
map1OnTrue
map2OnTrue
coordsMtlBase:Placement

Coordinates

PropertyStored value
blur1.0
offset[0,0,0]
angle[0,0,0]
coordType2
mapChannel1
Blur_Offset0.0
Tiling[1,1,1]

Coordinates

PropertyStored value
blur1.0
offset[0,0,0]
angle[0,0,0]
coordType2
mapChannel1
Blur_Offset0.0
Tiling[1,1,1]

Follow the source video

本次已检查 97 个约 20 秒间隔画面,并以源工程补齐数值;尚未逐帧审阅所有鼠标操作。以下时间为章节定位入口。

Cellular: first pattern

Copy and combine Cellular

Animate offsets

Smoke layer / Multiply 70%

Noise detail

Mapped Gradient Ramp

Composite blend experiments

Blue palette

Water render

Mix the earlier linear water

版本差异:用户截图在 Frame 100 显示 #25 U Offset 0.5 / Phase 0.25;此 Test4 源文件则保存 U Offset 0.25 / Phase 0.5。两者分别记录,不能互相冒充。

Complete saved-timeline animation

Frame 0–100, every frame rendered in interactive Max, 30 fps, 640×480. Duration 3.37 seconds. Camera is supplemental. Playback does not imply a seamless loop. Frame verification

Water-only camera study · rendered in Max

已在现有 Max 窗口通过脚本渲染 Frame 0、50、100,检查到水面纹理随时间变化。无 batch license 水印。下方另有完整 101 帧动画。

Download water-focused MAX · Supplementary camera settings

观察镜头为补充设置:Position (460, −600, 490),Target (0, 0, 5),FOV 45°,640×480。原材质和关键帧保留;其他几何体的 Renderable 在这份单独副本中关闭,以看清水面。原教学副本仍保留。

Source water rendered at frame 0
Frame 0
Source water rendered at frame 50
Frame 50
Source water rendered at frame 100
Frame 100

原片画面索引

11月5日教学4.mp4 source frame at 01_155.75s
11月5日教学4.mp4 source frame at 02_584.06s
11月5日教学4.mp4 source frame at 03_1070.77s
11月5日教学4.mp4 source frame at 04_1557.49s
11月5日教学4.mp4 source frame at 05_1849.52s