WaterSpaceWarp: SpacewarpObject
 
 
 

   

WaterSpaceWarp - superclass: SpacewarpObject; super-superclass:Node - classID: #(1192955369, 72894388) 	 

リアクタ ダイナミクス システムは廃止され、3ds Max 2012 から削除されました

   

> MAXWrapper > ノード > SpacewarpObject > WaterSpaceWarp

   

説明:

WaterSpaceWarp を使用して液体のボディの動作をシミュレートできます。水のサイズや、濃度、波の速度、粘性などの物理的なプロパティを指定できます。

   

コンストラクタ:

WaterSpaceWarp ... 	 
rctWaterWSMObject ...   

   

プロパティ:

.sizeX (Size_X) : float 
.sizeY (Size_Y) : float 

水の次元を取得/設定します。

   

.subdivisionsX (Subdivisions_X) : integer 
.subdivisionsY (Subdivisions_Y) : integer 

水のサブディビジョンを取得/設定します。

   

.useLandscape (Landscape) : boolean 

true に設定すると、横置きのリジッド ボディが考慮されます。

   

.landscape: node 

横置きのリジッド ボディを取得/設定します。

   

.waveSpeed (Wave_Speed) : float 

波頂が水のサーフェス全体に伝播する速度を取得/設定します。

   

.minRipple (Min_Ripple) : float 
.maxRipple(Max_Ripple) : float 

水中で生成される水のサイズの境界を取得/設定します。

   

.density: float 

液体の濃度を取得/設定します。これによって、水中に沈められるオブジェクトや、濃度の低いオブジェクトが浮き上がってくる高さを決定します。既定値の密度は、実際の水の濃度である 1.0 です。

   

.viscosity: float 

流れに対する抵抗、つまり、オブジェクトが液体中を移動するときの難易度を取得/設定します。値が大きいと、水中のオブジェクトのモーションが大きく減衰することになります。

   

.showText (Show_Text) : boolean 

true (既定値)に設定すると、ビューポート内のスペース ワープのそばに[水]というラベルが表示されます。

   

.useCurrentState (Use_Current_State) : boolean 
.disabled: boolean 

true に設定すると、シミュレーションではスペース ワープが考慮されません。

   

.useDepth(Use_Depth) : boolean 

true に設定すると、シミュレーションでは深度の値が考慮されません。

   

.depth(Density) : float 

水の深度を取得/設定します。浮力は、水の深度内にあるオブジェクトだけに適用されます。

   

インタフェース:

Interface:rctWaterInterface 

メソッド:

<float>getNumKeyframes() 

キーフレームの数を返します。

   

<time by value array>getKeyframeTimes() 

キーフレーム タイムの配列を返します。

   

<float by value array>getWaterHeightsAtTime <time>time 

指定した時間の高さの値の配列を返します。

   

<boolean>setWaterHeightsAtTime <time>time <&float array>heights 

heights は入/出力パラメータです

指定した時間の高さの値を、参照渡しの配列によって指定された値に設定します。

   

<void>clearStoredKeyframes() 

保存されているキーフレームをクリアします。

   

<integer>getPointIndex <integer>xIndex <integer>yIndex 

行 xIndex および列 yIndex のポイントのインデックスを返します。

例:

w = $Water01--既存の WaterSpaceWarp を取得します。
w.clearStoredKeyframes()--既存のキーフレームをすべてクリアします。
fort = 0to100by2do--フレーム 0 ~ 100 をステップ 2 でアニメートします。
(
heights = #()--  高さを保存するための整数の配列を初期化します。
forx = 0tow.subdivisionsXdo--X サブディビジョンをループします。
(
fory = 0tow.subdivisionsYdo--Y サブディビジョンをループします。
(
--指定した X および Y サブディビジョンにある頂点のインデックスを取得します。:
index = w.getPointIndex x y
--時間の sin および X 位置に基づいて高さの値を計算します。
newheight = 10 * sin ((10.0*t+x*20.0))
append heights newheight--配列に高さを追加します。
)--y ループ終了
)--x ループ終了
w.setWaterHeightsAtTime t &heights--現時点の高さを割り当てます。
sliderTime = t--ビューポート内の処理を確認します。t
)--t ループ終了
 
w.getNumKeyframes()-キーフレームの数を表示します。
print ( w.getWaterHeightsAtTime 0 )--フレーム 0 の高さを出力します。
関連事項