WaterSurface

WaterSurfaceの概要

WaterSurfaceは、ゲーム向けの流体表現を行うシミュレーション・レンダリングシステムです。物体が水面に落ちたり、水上を物体が移動したりする際の、物体と水面の振る舞いを、流体力学に基づいてリアルタイムに計算します。既存の簡易的な水面シミュレーションと違い、水位が大きく変化するような、よりダイナミックな水面の変化を扱う事ができます。
さらに、物体やキャラクターからの外力によって、水面の動きを変化させることも可能です。 水面が特に激しく波立つ部分では、水しぶきや水煙・泡が発生します。これらの要素も物理シミュレーションで動きを計算するため、一般的なパーティクルシステムに比べて、より水面の動きと調和した自然な水しぶきが表現できます。

WaterSurfaceの特徴

水位

水の質量移動を考慮した計算により、従来の水面シミュレーション手法と比べ、より大きな水位の変動を扱うことができます。また、「水がない」状態もそのまま扱うことができます。格子点に対して自由に水位(質量)を増減できるので、今までにない水の動きの表現が可能です。

WaterSurface水位イメージWaterSurface水位イメージWaterSurface水位イメージ

外力

外力、水しぶきイメージ水の任意の部分に力を加えて、水の挙動に影響を与えることができます。力の加わった格子点に運動量が加算され、シミュレーションの結果として波が発生するため、アーティストによる決め打ちではない、キャラクターや物体の動きにあった自然な水面の変化を実現できます。

水しぶき

水の動きが激しいときに、水しぶきを発生させることができます。発生条件はその瞬間の水面の形状と速度に基づいて調整することができます。発生した水しぶきは、軌跡が計算され、着水して消滅します。水しぶきは個々に質量をもっており、着水と同時にその質量は水場に戻されます。大きな水しぶきが、着水と同時に小さな波を起こすこともできます。

WaterSurfaceの機能リスト

シミュレーション部 水の挙動計算
水に外力を加え、水面を波立たせる
水の質量を増減する
格子単位の流動性設定(壁や氷の表現および一部水面の非表示化)
パーティクル(水しぶき・水煙・気泡)の挙動計算
水面と水しぶきの質量を相互に交換(パーティクルの生成と消滅)
レンダリング部 平面な水底へのコースティクス表現
水面の環境マップの映りこみ
水面の曲率に応じた水面法線の揺らぎによる水面のディティール表現
パーティクル(水しぶき・水煙・気泡)の描画

今後のバージョンで追加される機能

WaterSurface の今後のバージョンでは、以下のような新機能を予定しています。

凹凸のある地形と水の相互作用

凹凸のある地形に、水を流したり、水を貯めることができます。地形の形状をインタラクティブに編集できます。水は地形変化に応じて流れを変え、移動していきます。たとえば、山の中に谷を掘り、水を流し込んで池を作ったり、池の岸を崩して、川に変化させる、といったよりダイナミックな流体表現が可能です。
ハイトマップに変換できるものなら、どのようなゲーム用地形データでも利用可能です。
(画像は現在開発中のものです)

凹凸のある地形と水の相互作用

以下の画像は、水を囲む地形(境界条件)を変化させた事によって生じた水の流速の変化を、ライン表示で可視化したものです。(画像は現在開発中のものです)

凹凸のある地形と水の相互作用
凹凸のある地形と水の相互作用
  動画で観る(通常表示) 動画で観る(流速ベクトル表示)

水中に浮く物体の動きを表現

流速場と浮力から、水中の物体の軌道を計算することができます。 たとえば、水中に沈んだ物体や、水面に浮いた漂流物が水の流速にのって流れていくような表現ができます。

表現例

表現例表現例表現例
波同士がぶつかりあい、形を変えていきます。
 
表現例
ランダムな位置に力を加える事で、
雨粒が落ちて乱れる水面のような
表現ができます。
表現例
中心に上から外力を与え、
大きな波紋をつくっています 。
 
 
© Prometech Software,Inc. All rights reserved.
Tel:03-5842-4082 Fax:03-5842-4123  〒113-0033 東京都文京区本郷7-3-1 東京大学アントレプレナープラザ3階