海洋シェ-ダ Ocan

パラメータをまとめて設定する

海洋シェ-ダ(ダイナミック・パラメータ全てが対応します)をまとめて設定を行う事が出来るのを皆さんご存知ですか?それが!出来るんですよ、ダイナミックなどの数字を覚える事は無意味だと皆さんは思われないのでしょうか?、その都度刻々とパラメータが変わるのは当然でその度に何百回と調整を行うこの様な事に皆さん馬鹿くさいと思われないのが不思議です、やたら自慢げに数値を述べている方がいますが、そのような事は皆さんやらなくていい、もっと応用が利き理想的な値を求める方法を皆さんに伝授します、皆さんもっとこう!要領よく勉強しましょうヨ!時は金成。

パラメータが非常に多いようですが海洋シェダーには本当はこれしかないんですよ!パラメータはこれで海洋シェーダが制御出来てしまうのです。ダイナミックのパラメータ設定はは同じ様に皆簡単に出来てしまいます、しかもリアルタイムにですよ!。これらの数値を手動で変更するのが如何に面倒くさい事か?これらがダイナミックを難しく理解しにくく見せているだけなのですよ!。下記の様に注訳付きで出来ますねこれならば一括に簡単に試験が出来ます。

上記画像の和文を見て下さい例えば「波のスピード」と有りますがこれは一目瞭然でしょうでは波のスピードに関係ある項目は何でしょうか?他の和文も一連で皆さんどのような影響を与えるのか想像が出来ると思いますが如何でしょう、本来この様にパラメターは皆関係しているのです、肝心なのはこれらの値がどの様に干渉しているのかが重要であり数字の値では無いんです、ましてや従来の方法ではこの項目を修正するのに項目にたどり着くのがまた大変でしたがこれならばこの項目とこの項目を変えるとどうなるのかが簡単に把握出来るでしょ!ですから理想的な関係がリアルタイムで簡単に設定が行えてしかもリアルに確認出来るんですから、そりゃ~この効果と言うか利点は計り知れない物があるのは皆さん理解できるでしょう!。

海面と戦艦大和

貴方にも煩わしいダイナミック・パラメータの設定値調整からサヨナラが出来る方法を伝授します。もうパラメータのある位置など覚える必要も無くなります、ましてや数値の値など覚える必要も無い、だって値は刻々と状況で絶えず変化する物ですから皆さんもう馬鹿な苦労は辞めてしまいましょう、MAYAはもっと自分の頭を使い簡単にやれ!と言っているのですから。

さてでは始めたいと思います。

  • MAYAの動作はフレーム毎に初期化される為に値をキープ出来ない。
  • 外部に変数を設置して行く(意味は状況のモニター+変数設定+制御管理)。
  • 変数の種類(INT+BOOL+FLOAT)があり型を指定する必要が有る。
  • 簡単なMEL言語を理解する必要が有る。
  • ブレーク機能が無い為に評価を如何に行うか?検討する必要がある。

海洋のサンプルを組み込み

アセットとして定義します

ファイルを保存します

現在の状況

アセット内部の状況

すべてデファルトで定義しています、MAYAが勝手に付けた名前です。

さ!この海洋にパラメータを設定して行くのですが、皆さんとはやり方が大分違います。最初から手順を追いながら実戦して行きます

変数を追加

float型グローバル変数をアセット内部に変数を追加します。

追加された変数を表示しています

この変数は初期の確認用に利用します。

ちょっとややこしいですが落ち着いて設定して下さい。

  • 一番上のExpuretion NameにはOcanExpresionと記載しました
  • 紫色(最初は背景色は黒色です、紫色には後から変化します)のヶ所を選択してEDITを選びExportを選択します。
  • Attribute内部のfloatVal1をクリックするとSelectobjectにOcanAST.floatVal1表示される
  • その項目を選択してコピーを行いExprestionの内部にペーストして0を挿入
  • Editボタンを押して書き込む、すると右のFloatVal1が0で紫色に変化します
  • この紫色のマークは外部から更新された事を表しています
紫色ヶ所は変数確認用に使用します、現状のモニターで使います

試験をする為に4を127に変更を加えて見ます。

モニター部も127に変更されています、モニター機能が働いて居ます、勿論この逆も行う事が出来ます、試験は確認したので127を4に戻しておきます。変数の名前の付け方に注目して下さい「・」により区切られて文字列が形成されていますがこの型式が基本の命名規則です、現時点で注目するヶ所は紫色のヶ所です、それ以外は単に手順の重要性だけを意味しています、単にモニターを行う為に基本を構築しました今後この基本に機能を拡張して行きます難しくは無いと思います。

Expuresionに記載したMEL言語が機能してモニター(紫色部に)へ書き込んでいます。

短いサンプルすが。フレームが1の時に4の値に初期化を行う物です、それ以外は変数の値が代入される処理を行います、この機能がやがて半自動でパラメータを動的に修正して行きリアルな波を再現して行くのですが。まだ!ピントこないでしょうね!。

フレームの変化と変数値の変化に注目して下さい。

変数の値が変化しています、そうなんです。このプログラムは常時起動されているのです。