海洋モディファイアー
(出典: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)