Large Ocean 大海洋工具

#30426

Hiの冰海豚
参与者

二、Large Ocean 大海洋工具

创建完整的大海洋,此海洋包含材质和深度信息。

这个工具可以创建一个大海洋,即使在非常大的距离上也没有重复的波浪(就是说这个海洋不是单纯地由小片海洋不停复制粘贴的得来的)。但是这片海洋不是DOP特效模拟,而是一个变形器。不需要模拟,我们就可以滑动时间线查看海洋演变。如果需要模拟的海洋,需要使用 Particle Fluids(粒子流体)工具架中的 Wave Tank 工具。

使用 Large Ocean

在 Oceans 选项卡中点击 Large Ocean

此工具将创建许多点,这些点分散在一个非常大的网格上,两个 Ocean Spectrum 层都将被实例到这些点上,每个点都将指定一小片海洋范围,每个点在空间上都有轻微的旋转和偏移。这种变化就打破了由于重复使用同一个范围而产生的块效应。此外,其中一个 spectrum 层上启用了 Noise,可以模拟风或深度变化的局部影响。

Ocean Evaluate SOP 可以预览最终海洋。同时还会创建 Ocean Surface Shader 节点,并连接到新创建的 ocean_surface object 上。

海洋表面上的动画是由 Ocean Evaluate 节点上的 Time 参数驱动的,默认表达式是 $T(表示当前时间),我们可以编辑此表达式来改变动画方向和速度(比如 $T*2 就会使海洋运动加快,是 $T 的两倍)。

小提示

将 shading mode(着色模式)设置为 Smooth Shaded Mode,可以获得更好的变形海洋表面效果。

ocean_preview 节点是用来预览海洋表面的,ocean_render 节点是用来渲染的。

Ocean Spectrum 节点有多种工具,可以更改海洋的外观。比如,在 Wind 选项卡上,Speed 参数会影响波浪的振幅,Directional Bias 可以在某个方向上创建或多或少的波浪,Chop 会创建波浪上的尖峰。Wave Amplitude 选项卡也有很多非常有用的参数,比如 Scale 可以控制波浪的尺寸。

小提示

  • 渲染时,此工具会在输出级(OUT)创建一个 fetch 节点。如果我们想在渲染时生成置换贴图,可以将此节点连到 Mantra 节点的输入上。如果我们点击 Mantra 节点上的 Render 按钮,Ocean Evaluate 节点会为正在预览的画面帧,生成 Ocean Surface shader 节点需要纹理贴图。

注意

一定要记住,使用 ocean_render 节点上的 Reset Simulation 按钮,确认 ocean preview 和 ocean render 节点同步。

  • 要生成频谱🌊几何体,请点击 ocean surface object 中的 save_spectra 节点上的 Save to Disk 按钮。

注意

如果我们更改过波浪参数,频谱🌊几何体需要重新生成。

  • 海洋表面会添加速度属性,以便在渲染时使用运动模糊,此信息存储在输入网格的点上。如果我们觉得运动模糊不够准确,可以改变网格上的 rows 和 columns(行和列)以增加点的数量。不过要记住,大幅增加点的数量会使渲染速度变慢。
  • 如果在海洋表面下有很重要的信息,我们还可以调节 Mantra 节点上 Sampling 选项卡中的 Volume Step RateVolume Shadow Step Rate 设置优化渲染。通常海洋的体积元素是用于生成次表面散射和衰减效应的,不一定需要非常详细。
  • 如果海洋表面下方的空间对我们最终的图像并不重要,我们可以禁用 Ocean Surface shader 上的折射(refraction),并关闭 ocean_interior object 的可见,这将大大减少渲染时长。
  • 降低 Ocean Surface shader > Foam > Streaks 子菜单上的 Frequency,可以创建更破碎的泡沫效果。