【プラグインを使わず、マテリアルだけで「波」を作る】

$おいしいCG映像-XSI_wave01

●作り方

・平面ポリゴン 1枚  テクスチャサポート 3つ


$おいしいCG映像-XSI_wave03

各々のテクスチャに別々のテクスチャサポートを割り当てていく。

①【Cloud1】

$おいしいCG映像-XSI_wave04

②【グラディエント(Cloud1のウェイト用)】

$おいしいCG映像-XSI_wave05

③【①と②を合成させた状態】 デカールで設定

$おいしいCG映像-XSI_wave06

④【③をウェイトにして、カラーミックスしたもの】 追加で設定

$おいしいCG映像-XSI_wave06

⑤【Cloud2】

$おいしいCG映像-XSI_wave08

⑥【④と⑤を合成させた状態】 デカールで設定、④の値が強い

$おいしいCG映像-XSI_wave07

⑦【⑥をPhongのDiffuseに接続したもの】

$おいしいCG映像-XSI_wave02

これらに以前紹介した波の揺らぎを適用すれば完成


ちなみに

【アニメーションさせる場合】

Cloud1のフラクタル⇒振幅にキーフレームを入力すれば、白波が発生しているように見える。
さらにグラディエントのテクスチャサポートをアニメーションさせれば白波が移動する。

あと
 平面ポリゴンじたいをラティス変形させてシェイプアニメーションさせたり
 もしくは、ラティスのポイントを選択してセンターでクラスタの作成しNullを作って
 それをアニメーションさせれば引き潮がアニメーションが完成する。 

以上でXSIで波の作るでした。
【Ray typeシェーダを使ったマスク】


$おいしいCG映像-Ray01

[シーン構造]
$おいしいCG映像-Ray02


このようにオブジェクトを使ったマスクの作り方を紹介します。


●作り方

オブジェクトを3つ用意

・球オブジェクトのマテリアルは特に設定はしない
・平面オブジェクトにはRay Typeのマテリアルを適応する
・円柱オブジェクトはコンスタントを適用し透明度は100%にする

$おいしいCG映像-Ray03

以上で完成

次回は棒グラフの記事を書こうと思います^^;
【3DCGで棒線グラフを作る その3 エクスプレッション制御】

今回は棒線グラフ最終回。距離によってスケールが変化する方法の続きを紹介します。
$おいしいCG映像-3D_Grafh_C

■用意するもの

 ・NullA
 ・カーブ × お好みの数
 ・円形カーブ
前回と同様に“カーブに沿って押し出にし”から棒線を作成し。
続いて、2本目の棒線も“カーブに沿って押し出し”の“終了位置”に“( null.kine.local.posx - 10 ) * 2”と入力します。
$おいしいCG映像-3D_Grafh_01
続いて、3本目以降の棒線にも同様にモデリングをし、エクスプレッションを入力します。その時-10のところを-20と入力する。そうすることによって棒線のスケールを遅延させることができます。それから、4本目、5本目以降は-30,-40…と代入していきます。そうすることによって棒線のスケール制御がNullAの動きに合わせて制御できます。ちなみに数値はお好みで入力をして下さい。Illustratorで正確な棒線カーブを取得すれば均等な数値を入力することができます。
$おいしいCG映像-3D_Grafh_02



以上でSOFTIMAGEで3Dグラフ制作講座は終了です。
次回、棒グラフの作り方を紹介していきます。
【3DCGで棒線グラフを作る その2 エクスプレッション制御】

前回、距離に合わせて表示されるエクスプレッションを作りました。
今回は距離によってスケールが変化する方法を説明していきたいと思います。

【完成動画】
$おいしいCG映像-grafhB_movie


■用意するもの

 ・NullA
 ・カーブ
 ・円形カーブ

$おいしいCG映像-grafhB01

●作り方
円形カーブを選択しカーブに沿って押し出しを適用。

$おいしいCG映像-grafhB02

すると円柱の棒オブジェクトが生成される。その時、エフェクトのプロパティに“押し出し、終始位置”のところにエクスプレッションを入力するnull.kine.local.posx * 2するとNullの動きによって伸縮する棒が出来る。

$おいしいCG映像-grafhB03



その3へ続く
【3DCGで棒線グラフを作る その1 エクスプレッション制御】

●完成動画
$おいしいCG映像-グラフFinish

これから何回かに分けて紹介していきます。
まずは距離によってオブジェクトが出現するエクスプレションの作り方です。

$おいしいCG映像-グラフ01-04

■用意するもの

 ・NullとA
 ・オブジェクトB
 
$おいしいCG映像-グラフ01-01


$おいしいCG映像-グラフ01-02


<エクスプレッションの入力>

オブジェクトBのvisibilityにcond( Null.kine.local.posx >= 0, 1, 0 )と入力
すると距離よって表示されるエクスプレッションの完成です。

$おいしいCG映像-グラフ01-03


その2へ続く・・・