重要的放前面

  1. 提高分辨率可以为海洋表面增加更多细节,但不会改变其基本形式。这意味着低分辨率可用于测试和开发,渲染时分辨率更高。
  2. 【Spectrum → 3 】相当于光谱0,但波高和chop增加的数量级 (10倍) 更强。在泡沫生成和着色器使用中特别有用。请参阅下面的 “aaocean着色器参数”。
  3. 如果需要定向波运动,Wave Reflection (Damp) 优先于 Wind Alignment

image.png

C4D aaOcean documentation:

This documentation relates to the aaOcean plugin for Cinema 4D (C4D).

The source files can be found at: https://github.com/kentbarber/c4d-aaOcean

aaOcean is a deformer / shader originally written by Amaan Akram, based on Jerry Tessendorf’s 2004 paper on simulating ocean waves. aaOcean is available as a C4D deformer through the Extensions menu : “aaOceanDeformer”, and as an RGB (object) displacement and / or colour shader: “aaOceanShader”.

The primary documentation for the original aaOcean shader resides at: https://bitbucket.org/amaanakram/aaocean/wiki/aaOcean%20Parameters

The following notes are a consolidation and interpretation of the information above, plus additional information gathered from various sources and implementations of the deformer, all coloured by my own exploration and use of the deformer / shader in C4D.

============================

aaOcean deformer parameters:

Resolution 分辨率:

===========
Default value: 2
This specifies the resolution of the procedurally generated ocean texture map.
Recommended settings are 3 through 7, generating maps of the following pixel resolutions:
默认值: 2
这指定了程序生成的海洋纹理图的分辨率。
推荐设置为3到7,生成以下像素分辨率的地图:
3 = 128x128
4 = 256x256
5 = 512x512
6 = 1024x1024
7 = 2048x2048
Resolution settings above 7 are not recommended. They do not add anything of value to the displacement, but will increase memory significantly.
不建议使用7以上的分辨率设置。它们不会给位移增加任何有价值的东西,但会显著增加内存压力。
A useful feature of aaOcean is the fact that increasing resolution adds more detail to the ocean surface, but does not change it’s fundamental form. This means low resolutions can be used for testing and development, and higher resolutions at render-time.
aaOcean的一个有用特征是,提高分辨率可以为海洋表面增加更多细节,但不会改变其基本形式。这意味着低分辨率可用于测试和开发,渲染时分辨率更高。

Spectrum 范围:

=========
Default value: 1
The basic empirical model of the shader is based on the ‘Phillips’ wave spectrum model. See note(1) below. Spectrum values range from 0 through 3. I have not been able to find documentation or description for these settings. However, my own experimentation suggests the values all generate the same basic ocean structure, but with wave frequency separation, as follows:
着色器的基本经验模型是基于 “Phillips” 的频谱模型。见下文注释 (1)。频谱值的范围从0到3。我无法找到这些设置的文档或说明。然而,我自己的实验表明,这些值都产生相同的基本海洋结构,但波频分离,如下所示:

0 Full frequency wave information - ie, 1+2 below.
1 Low frequency waves. Requires 2x wave height to match spectrum 0 values
2 High frequency waves. Requires 4x wave height to match spectrum 0 values
3 Equivalent to spectrum 0 but an order of magnitude (10x) stronger in wave height and with increase in chop. Particularly useful in foam generation and shader use. See ‘aaOcean Shader Parameters’ below.
0全频波信息-即下面的1 + 2。
1 低频波。需要2倍波高才能匹配光谱0值
2 个高频波。需要4x波高才能匹配光谱0值
3 相当于光谱0,但波高和chop增加的数量级 (10倍) 更强。在泡沫生成和着色器使用中特别有用。请参阅下面的 “aaocean着色器参数”。

This separation of frequencies can be used to break down the creation of the ocean surface into low frequency waves (spectrum 1) and high frequency waves (spectrum 2) for maximum control and/or efficiency. These layers can be created though the use of stacked deformers, or stacked displacement shaders in a material network; or a combination of both deformer and displacer.
这种频率的分离可用于将海面的产生分解为低频波 (频谱1) 和高频波 (频谱2),以实现最大的控制和/或效率。这些层可以通过使用堆叠变形器或材料网络中的堆叠位移着色器来创建; 或变形器和置换器的组合。

One example of this approach might be the creation of large wave / low resolution poly displacement for basic scene development, then adding higher frequency wave detail with render-time sub-poly displacement and shading using the aaOcean displacement shader. See aaOcean Shader Parameters below.
这种方法的一个例子可能是为基本场景开发创建大波/低分辨率多边形位移,然后使用aaOcean位移着色器添加更高频率的波细节和渲染时间亚聚位移和阴影。请参阅下面的aaOcean着色器参数。

Seed 种子:

=====
Default value: 0
Seed value for the random number generator used to calculate the wave pattern.
默认值: 0
用于计算波形的随机数发生器的种子值。

Ocean Scale 海洋比例:

============
Default value: 100
Size of the ocean patch that you are simulating in metres. The larger the ocean scale, the more waves you will see being generated in the ocean patch.
默认值: 100
你正在模拟的海洋斑块的大小 (以米为单位)。海洋规模越大,你会看到在这片海域产生的波浪越多。

aaOcean patches are fully tileable if the ocean scale is an integer multiple of the ocean patch size.
如果海洋尺度是海洋斑块大小的整数倍,那么海洋斑块是完全可平铺的。

Ocean Depth: [deprecated] 海洋深度: [已弃用] :

==========================
Default value: 10,000
Slows down waves as the depth decreases. Minor effect. It is recommended to leave this value at default and use Wave Speed parameter instead.
随着深度的减小,波浪变慢。轻微影响。建议将此值保留为默认值,并改用波速参数。

Surface Tension 表面张力:

================
Default value: 0 (off)
Used to drive the generation of small-scale, quick moving capillary waves (ripples) that travel across the ocean surface.
默认值: 0 (关闭)
用于驱动穿过海面的小规模、快速移动的毛细管波 (波纹) 的产生。

Velocity (Wave size) 速度 (波浪大小):

=====================
Default value: 10
Simulates wind velocity. The higher the wind velocity, the bigger the waves - as they get whipped up by the wind.
默认值: 10
模拟风速。风速越高,波浪越大 — 当它们被风搅动时。

Wave Smooth (Cut-off) 波浪平滑 (截止):

======================
Default value: 0
Removes waves with a wavelength smaller than the one specified in this parameter. Visually, this parameters smoothes out the surface.
默认值: 0
去除波长小于此参数中指定波长的波。从视觉上看,此参数使表面平滑。

Wind Direction 风向:

===============
Default value: 45
Wind direction, and therefore prevaling wave direction, in degrees.风向,以及由此产生的波向,以度为单位。

Wind Alignment 风向对齐:

===========
Default: 0 (off)
Stretches the waves so they increasingly align perpendicular to their direction of travel - the wind direction. Such waves are typically seen close to shore in shallow water.
拉伸波浪,使它们越来越垂直于它们的行进方向 — 风向。在浅水中,这种波浪通常在靠近海岸的地方看到。

Wave Reflection (Damp) 波反射 (阻尼):

=======================
Default value: 30
By default, Tessendorf waves splash about in two opposite directions and hence do not give the look of waves moving in any particular direction. If directional wave movement is required, use this slider to give preference to waves moving in the direction of the wind. A value of 1 will completely eliminate waves that move opposite to the wind. A value of 0 will have waves moving in towards and against the wind with equal magnitude.
默认情况下,Tessendorf波浪在两个相反的方向上飞溅,因此不会给人一种波浪在任何特定方向上移动的感觉。如果需要定向波运动,使用此滑块优先考虑沿风向运动的波。值1将完全消除与风相反移动的波。值0将使波以相同的幅度向风中移动和逆风移动。

Wave speed 波速:

===========
Default value: 1
Controls the speed of the waves traveling over the surface. Increasing the ocean size will seem to slow down the waves, as they will have a longer distance to travel.
默认值: 1
控制波浪在表面传播的速度。增加海洋的大小似乎会减慢海浪的速度,因为它们的行进距离会更长。

Wave Height 波高:

============
Default value: 1
Defines the height of the waves. Essentially a contrast control for the wave pattern.
默认值: 1
定义波浪的高度。本质上是波形的对比控制。

Chop Amount :

============
Default value: 0
Controls the sharpness of the wave peaks by applying additional lateral displacement to the vertices. A value of 0 has no chopiness, higher values sharpen the waves. Too high a value will cause the tops of the waves to self-intersect.
默认值: 0
通过对顶点施加额外的横向位移来控制波峰的锐度。值为0时没有模糊性,较高的值会使波浪锐化。值过高将导致波的顶部自相交。

Time 时间:

=====
Default value: 0
Time in seconds. Animate this to change the ocean surface over time.
时间 (秒)。对此进行动画处理,以随着时间的推移改变海洋表面。

Repeat time 重复时间:

============
Default: 1000
The time at which the ocean animation repeats, in seconds.
海洋动画重复的时间,以秒为单位。

============================

aaOcean Shader Parameters:

============================

Displacement use:
=================
The shader can be used in a displacement channel to generate render-time displacement as an alternative - or addition to the deformer. By default the shader is a 32bit / channel RGB object space displacement shader.
位移使用:
=================
着色器可以在位移通道中使用,以生成渲染时位移,作为变形器的替代或添加。默认情况下,着色器是32位/通道RGB对象空间置换着色器。

Visual shading (foam):

======================
Default value: off
With the foam checkbox enabled the shader will output ‘foam’ shading for one of the visual shading channels.

The various spectrum values can deliver ‘softer’ or ‘sharper’ foam patterns, with spectrum 3 being the sharpest. Manipulating wave height, chop, wave smooth, and surface tension can deliver a wide range of foam patterns. The useful value range of these parameters in visual shading is significantly wider than when used for deformation or displacement.
视觉阴影 (泡沫):
======================
默认值: off
启用泡沫复选框后,着色器将为其中一个视觉阴影通道输出 “泡沫” 阴影。
各种光谱值可以传递 “较软” 或 “更尖锐” 的泡沫图案,其中光谱3是最尖锐的。操纵波浪高度、切碎、波浪平滑和表面张力可以提供各种泡沫图案。这些参数在视觉阴影中的有用值范围比用于变形或位移时明显宽。

===================================================
===================================================

Further notes on ocean spectrum models:

The standard empirical model in aaOcean is the ‘Phillips’ model: (Hanson, J.L., Phillips, O.M., 1999, “Wind sea growth and dissipation in the open ocean”, Journal of Physical Oceanography, vol. 29, no. 8, pp. 1633-1648).

Additional models have been developed in more recent years:

Pierson-Moskowitz : This empirical model assumed that if the wind blew steadily for a long time over a large area an ocean, an equilibrium would be reached. This is the concept of a fully developed sea. Here, a long time is roughly ten-thousand wave periods, and a “large area” is roughly five-thousand wave-lengths on a side. The work originally took place in 1964 and saw review in 2003.

TMA : Texel MARSEN ARSLOE is suited for shallow water. (Christopher J. Horvath, “Empirical Directional Wave Spectra for Computer Graphics”)”

The Pierson-Moskowitz and TMA models have been integrated into some versions of aaOcean by Phil Stotford - aaOcean for MODO and aaOcean for Blender.
关于海洋光谱模型的进一步说明:
aaOcean中的标准经验模型是 “菲利普斯” 模型 :( 汉森,j.l.,菲利普斯,O.M.,1999 ”风浪生长放荡开放海洋”,学报物理海洋学,卷29号8,pp. 1633-1648)。
近年来开发了其他模型:
皮尔森-莫斯科维茨: 这个经验模型假设,如果风长时间稳定地吹过大面积的海洋,就会达到平衡。这是一个完全发达的海洋的概念。在这里,很长的时间大约是一万个波浪周期,而 “大面积” 的一侧大约是五千个波浪长度。这项工作最初发生在1964年,2003年进行了审查。
项目完结,系统自动填充内容克里斯多夫·J霍瓦特,“计算机图形学的经验定向波光谱”)
皮尔森-莫斯科维茨和TMA模型已经被菲尔·斯托特福德集成到aaOcean的一些版本中 — aaOcean用于MODO,aaOcean用于搅拌机。


Thanks
======
I would like to thank Kent Barber of Game Logic Design (https://www.gamelogicdesign.com/)) for his voluntary work in updating this plugin.

Documentation by: Mike Abbott (http://www.vantagegraphics.co.uk))