水面のプロシージャル生成
ピクセルはブラウザ内で処理
ノーマルマップ
ノーマルマップ
マテリアルのアニメーションプレビュー
3×3タイルプレビュー
3×3タイルプレビュー

同じテクスチャを9回並べます。斜めの波も含め、周波数はタイルに合う整数の周期へ丸められます。

このノーマルを異なる方向へ動かして2回参照し、ベクトルとして合成します。保存PNGは静止画像で、流体シミュレーションではありません。

ノーマルの設定
大きな波
副波
細かな波紋

設定にはパラメーターだけが含まれ、元画像は含みません。

ローカルで処理中…

水面ノーマルマップ生成

水面ノーマルマップ生成ツールは、画像を読み込まず、パラメーターから周期的な波と波紋を作ります。反復タイルと、2回のUV参照を動かす照明プレビューを確認し、マテリアル用の静止タンジェントテクスチャを保存できます。

最初の水面を作る手順

水面を生成から、穏やかな波紋、プール、湖面、小さな波、海の波、風のさざ波、様式化した水面を選びます。プリセットは波と強度のパラメーターで、完成済み画像を読み込むものではありません。主波と副波の方向を変え、細かな波紋を加えて3×3表示を調べます。PNG保存前に解像度とY規格を決めます。リセットは既定のプリセット、解像度、速度、読み込みテクスチャの解釈を初期状態に戻します。

水面のノーマルマップが保存するもの

水面テクスチャは局所的な方向を保存し、レンダラーの照明計算に使います。平らな水面でも多数の小波があるように反射や陰影を変えられますが、頂点や水平線の輪郭は動きません。輪郭を変える大きな波には形状、変位、別のシェーダー技法が必要です。このツールはスカラーの高さ解釈から正規化したタンジェント法線を求めます。生成値はマテリアル入力であって、海洋を実測したデータではありません。

シームレスな反復が必要な理由

反復マテリアルはテクスチャ端を何度も越えて参照します。不連続があると、プールや湖を横切る明るい線になることがあります。生成モードでは両軸に整数周期の波を使い、勾配計算で反対側の境界を読みます。斜め方向も適合する整数の波ベクトルへ丸めるため、小さな角度変更では模様が変わらない場合があります。この制約が高さと導関数の周期性を保ち、単にラベルで継ぎ目を隠すことを避けます。

方向のある波と細かな波紋

大きな波は全体のリズムを決め、副波は交差または追従して均一な帯を崩します。周波数はタイル当たりの周期、振幅は強度適用前のスカラーへの寄与です。弱い高調波が波頭の形を作ります。細かな波紋は指定角度の周囲に、シードで決まる複数の周期波を混ぜます。シードを変えると位相関係が変わり、同じシード、設定、解像度なら同じ結果を再生成できます。

2つのスクロール参照を重ねる

アニメーションでは同じノーマル画像を異なるUVオフセットと速度で2回読みます。デコードした法線をreoriented normal mappingでベクトルとして合成してから平面を照らします。単調な動きの反復を抑える一般的な方法の例で、流体をシミュレーションするものではありません。保存PNGは1枚の静止テクスチャです。自分のシェーダーではY規格を揃えた2回の参照を作り、別々の速度でUV座標を動かしてください。

OpenGL・DirectXの法線方向

G Y+とG Y−はタンジェントYの符号が異なります。規格の変更は緑を反転し、対応するデコードを使えば同じ方向を保ちます。プレビューは選択した形式を補正します。既知の波頭と上下に動く光で材質を確認してください。エンジン名に関係なく読み込み側に緑反転の補正がある場合があります。PNGをベクトルデータとして読み、成分をsRGBの色として変換しないようにします。

リアルタイムの水マテリアルに使う

Unity、Unreal Engine、独自レンダラーの水材質の一要素として出力を使います。実際のシェーダーに合わせ、法線入力、UVスケール、タンジェント基底、読み込み設定を揃えてください。反射、屈折、深度色、粗さ、照明、メッシュ形状が最終外観を大きく左右します。簡易的な青いプレビューはエンジンの結果を予測しません。レンダーパッケージや読み込み画面は版で変わるため、関連ガイドと現在の公式資料を確認します。

プール・湖・海・様式化した水面

プールでは交差する波を使って密な反復を作りますが、水底のコースティクスは生成しません。湖面は広い波を控えめにします。海の波は大きな振幅と傾斜から始めますが、砕ける波、泡、岸との相互作用は扱いません。風のさざ波は波方向を揃え、様式化した水面は微細成分を抑えて読みやすいリズムを強調します。いずれもシーンの尺度や画風に合わせて編集できます。

解像度とブラウザの負荷

素早い調整や小さな材質には256または512を使い、近景で必要なら1024や2048を検査します。2048四方のRGBAだけで約16 MiBを使い、さらに高さ、プレビュー、符号化のバッファが必要です。圧縮ファイルサイズは作業メモリではありません。生成はワーカーで行い、スライダー更新をまとめて古い処理を中断します。解像度に合わせ勾配強度を調整しますが、小さい画像に無制限の高周波を保持できるわけではありません。

テクスチャから表面を推定する

副モードは波紋、波、専用ハイトに近いローカル画像を既存の画像処理で読み込みます。輝度やチャンネルを選び、レベルを整え、必要ならノイズ除去や細部回復を使います。ラップ処理はフィルターと勾配で反対側の画素を参照しますが、任意の写真の継ぎ目を修復したり、反射を取り除いたり、水の実形状を測定したりはしません。境界修復には汎用シームレスツールを使い、保存前に反復を確認してください。

動きの軽減と反復の検査

一時停止すると元のテクスチャと動く材質の反応を比較できます。速度はプレビューのUV移動だけを変え、出力ピクセルには影響しません。動きを軽減する設定では停止状態で開始し、明示的な再生で動かせます。ページが非表示、またはプレビューが画面外でも停止します。3×3カードは同じ画像を9回反復して境界を確認するものです。数学的に周期的でも模様は繰り返されるため、エンジンでより広い面も確認します。

シミュレーションの限界と素材の保存

ゲーム開発者、シェーダー制作者、背景アーティスト、テクニカルアーティスト向けに、調整可能な材質ディテールを作ります。流体力学、体積保存、浮力、物理的な波予報は計算しません。設定JSONとロスレスPNGを材質と保存し、実際のカメラ距離とプラットフォーム品質で動きを評価します。ミップで細かな反射がちらつくなら波紋の振幅を減らし、他の制作者にはすべての設定も渡してください。

よくある質問

生成した水面は本当にタイル化できますか?

はい。整数の高調波でUとVの高さを周期化し、ラップ勾配でも周期性を保ちます。読み込み画像には同じ保証はありません。

PNGに水のアニメーションが入りますか?

いいえ。PNGは静止ノーマルです。プレビューは2回のUV参照を動かして合成しているため、シェーダー側で同じ手法を実装すると動かせます。

プリセットを選んだ後も変更できますか?

はい。振幅、周波数、方向、シード、強度、解像度、Y規格はすべて編集できます。

水の写真から本当の波形を復元できますか?

いいえ。テクスチャモードは明るさや指定チャンネルから高さを推定します。反射が偽の凹凸になることがあり、ラップ参照だけでは境界の不一致を直せません。