海洋モディファイアー
(出典:Blender.org )
公式サイト:
Ocean Modifier | Blender Manual [Official]
使い方
参考:
海洋モディファイアー – リアルな海を簡単作成 | ほろほろりドットコム
How to Make a Cyberpunk Ocean with EEVEE | Wintermute Digital
設定
- ジオメトリ (Geometry)
- 生成 (Generate):メッシュを生成する
 - ディスプレイス (Displace):既存のメッシュを変形させる
 
 - リピート X / Y (Repeat X / Y):X 軸方向及びY軸方向の繰り返し回数
 - 解像度 (Resolution):指定した値の2乗で一辺の分割数を指定する
- ビューポート (Viewport)
 - レンダー (Render)
 
 - 時間 (Time):シミュレーションにおける経過時間/必要に応じてキーフレームを打つ (単位:秒)
 - 深度 (Depth):海の深さ (単位:m/デフォルト:
200) - サイズ (Size):水平方向のスケール (デフォルト:
1.0) - 空間サイズ (Spatial Size):平面の大きさ (単位:m/デフォルト:
50) - ランダムシード (Random Seed):乱数シード (デフォルト:
0) - 法線を生成 (Generate Normals):法線マップを生成する (デフォルト:
無効) - 波 (Waves):波のパラメータを設定する
- スケール (Scale):垂直方向のスケール (デフォルト:
1.0) - 最小の波 (Smallest Wave):指定した値以下の波長の波を除去する (単位:m/デフォルト:
0.01) - 波立ち (Choppiness):ピークの鋭さ (デフォルト:
1.0) - 風速 (Wind Velocity/単位:
m/s/デフォルト:30) - 配置 (Alignment):波の配向を揃える度合い (範囲:
0.0~1.0/デフォルト:0.0) - 方向 (Direction):時計回りに回転 (単位:度/デフォルト:
0) - 減衰 (Dampling):配向を揃える場合に、反射波の減衰を指定する (範囲:
0.0~1.0/デフォルト:0.5) 
 - スケール (Scale):垂直方向のスケール (デフォルト:
 - 泡沫 (Foam):泡レイヤーを生成する
- データレイヤー (Data Layer):泡データを格納する属性の名前
 - カバー量 (Coverage):泡の量を調節する (範囲:
-1.0~1.0/デフォルト:0.0) 
 - 飛沫 (Spray):飛沫レイヤーを生成する
- データレイヤー (Data Layer):飛沫データを格納する属性の名前
 - 反転 (Invert):飛沫の方向を反転させる (デフォルト:
無効) 
 - スペクトル (Spectrum)
- 荒れた海洋 (Turbulent Ocean/デフォルト)
 - 落ち着いた海洋 (Established Ocean):数日間風が吹き続けて平衡状態になった大規模な海
 - 落ち着いた海洋 – 尖ったピーク (Established Ocean – Sharp Peaks):平衡状態になった大規模な海/ピークを尖らせる
- ピークのシャープ化 (Sharpen Peak):ピークの鋭さ (範囲:
0.0~1.0/デフォルト:0.5) - フェッチ (Fetch):風下に当たる海岸からの距離、あるいは、風が一定の速度で吹く距離 (単位:m/デフォルト:
120) 
 - ピークのシャープ化 (Sharpen Peak):ピークの鋭さ (範囲:
 - 浅水域 (Shallow Water):水深が 10 メートル以下の浅瀬/風が弱い小さな湖や池に適している
 
 - ベイク (Bake):シミュレーション結果のデータを焼き付けたテクスチャマップを生成する
- 海洋をベイク (Bake Ocean):テクスチャマップのベイクを実行する
 - キャッシュパス (Cache Path):テクスチャマップを生成するディレクトリを指定する
 - 開始/終了フレーム (Start / End Frame):テクスチャをベイクするフレームの範囲を指定する
 - 泡のフェード (Foam Fade):泡が滞留する程度を指定する (範囲:
0.0~10.0/デフォルト:0.98) 
 
参考:
Options – Ocean Modifier | Blender Manual [Official]
泡沫 (Foam)
泡レイヤーを生成する。
設定
- データレイヤー (Data Layer):泡データを格納する属性の名前
 - カバー量 (Coverage):泡の量を調節する (範囲:
-1.0~1.0/デフォルト:0.0) - 泡のフェード (Foam Fade):泡が滞留する程度を指定する (範囲:
0.0~10.0/デフォルト:0.98) 
参考:
Foam | Blender Manual [Official]
Ocean modifier color and foam – Blender Stack Exchange
Ocean modifier and foam data export? – Blender Stack Exchange
飛沫 (Spray)
飛沫レイヤーを生成する。
設定
- データレイヤー (Data Layer):飛沫データを格納する属性の名前
 - 反転 (Invert):飛沫の方向を反転させる (デフォルト:
無効) 
参考:
Spray | Blender Manual [Official]
Have you used the new eigenvectors in the Ocean modifier in Blender 2.90? (@BlenderToday) | Twitter
D7182 Ocean modifier : expose eigenvectors for use as maps | Blender Developer [Official]
D8470 Ocean modifier : allow spray maps to be baked | Blender Developer [Official]
Ocean, extending the ocean modifier to support additional spectra | Blender Developer Talk
ジオメトリを生成する
- 「ジオメトリ」 (Geometry) を 
生成(Generate) にした場合に生成されるメッシュは、一辺が「空間サイズ」 (Spatial Size) で指定した長さの正方形メッシュとなる。(単位:メートル) - 「解像度」 (Resolution) で指定した値の2乗が一辺の分割数となる。「ビューポート」 (Viewport) 及び「レンダー」 (Render) 用にそれぞれ解像度を指定する。
9~12程度から試すと良い。高精細な海面が必要な場合は、18~24程度を用いる。(デフォルト:7) - UV マップは、X軸方向に沿ってU軸が 
0~1、Y軸方向に沿ってV軸が0~1となる。 - リピートを 
1より大きくした場合は、X 軸方向またはY軸方向に指定した回数だけメッシュが繰り返し生成される。また、UV マップは1を超えて延長される。 
参考:
Geometry | Blender Manual [Official]
ループさせる
動画:
										
														Easy Satisfying Stylized Ocean Loop in Eevee						
参考:
How to make Ocean Modifier Loop!? – Blender Artists Community
Ocean modifier and looping? – reddit
How to create a seamlessly looping ocean – Blender Stack Exchange
変位をテクスチャとして書き出す
- 波の進行/基準:ローカル座標系でX軸マイナス方向に進む
 - 配置 (Alignment):波の配向を揃える度合い/
0の場合はランダムで一様な波となる (範囲:0.0~1.0/デフォルト:0.0) - 方向 (Direction):時計回りに回転 (単位:度/デフォルト:
0) 
変位テクスチャ
- R: X軸方向の変位
 - G:Z軸方向の変位
 - B:Y軸方向の変位
 
保存形式
- 「解像度」 (Resolution) で指定した値を 
nとすると、一辺がn^2ピクセルの正方形テクスチャを生成する。 - アルファ (Alpha):不要
 - 32ビット浮動小数点 (32-bit Float):有効 (負の値を計算/保存するために必要)
 - 色空間 (Color Space):Raw
 - ファイルフォーマット (File Format):OpenEXR (.exr)
- カラー (Color):RGB
 - 色深度 (Color Depth):Float – Half
 - コーデック (Codec):ZIP 可逆 (ZIP – lossless)
 - Z バッファー (Z Buffer):不要
 
 
参考:
Baking Ocean sim textures – Blender Artists Community
Ocean Modifier baked EXR doesn’t match displacement – Blender Stack Exchange
法線テクスチャ
参考:
Where do the Ocean Modifier’s normals from “Generate Normals” go? | reddit
メッシュキャッシュを書き出す (.mdd)
参考:
Mesh Cache Modifier | Blender Manual [Official]
How to apply the ocean modifier to get an animated object? – Blender Stack Exchange
球体に適用する
参考:
Map ocean displacement to a sphere? – Blender Stack Exchange
繰り返しを目立たなくする
参考:
Sub Waves option for Ocean modifier | Right-Click Select (Blender.Community)
ベイク結果を削除できない/再ベイクできない
対処法:
スペクトルを一旦異なるタイプに切り替えて、元に戻すとベイク状態がリセットされる。
参考:
T80876 Blender needs restart to re-bake ocean modifier | Blender Developer [Official]
開発
Ocean Modifier Ideas - Right-Click Select
チュートリアル
										
														Easy Animated Oceans – Getting Started with the Ocean Modifier!						
										
														Ocean Modifier with Foam (Devempath)						
