販売します(零戦A6M232)の詳細

コメントを残して頂ければこちらから正式にメール致します'(アニメーションに特化した専用モデル)貴方にとり最良の教材になると思います。

コックピット内からの視認

アニメーションの例を最初から説明いたしますが本講座は一切キーフレームは使用していませんがキャラクターセットを使いアニメーションを付けていきたいと思います、一つの例として参考にしてください。

機体の状況をグロ-バル変数に追加

エックスプレションの詳細

数多くの制御項目がエックスプレションにすでに登録してありますのでA6M232の姿勢を自動的読み取りながら計算を行い各所定のメータパネルの指針を動かす事を行います。車輪の等の状態及び制御はフラグを立てると勝手にフレーム数を確認しながら引き込み・引き出しも行います。

航空母艦 赤城からの「タッチ&ゴ-」をアニメーションしたいと思います。お楽しみに!

舵を動かしています

赤城から離陸指示を待つ零戦です。

航空母艦の赤城甲板上で離陸体制を見る

上記画像のOBJは非常に大きいファイルですがご覧の様に何の問題も有りません、リファレンスエディタ-は本当に素晴らしい物なんです!

沈む夕日を背景に赤城を!

これなんかも難しいと思いますが?

赤城を浮かべる海洋です

これもエックスプレションで作成しています。

これでレンダーレイヤーは単純に70枚(マスク含まず)ですがまだまだ増えます、凄い枚数です。トランスフォマーなどの映画では更に物凄く桁が違う事でしょう。


上記画像での海洋を実現するエックスプレションへのプログラム、リストです

//=======================================================
//==================== 海洋シェーダ =======================
//=======================================================
/*
if(frame==1){//White Caps
//========================================================
//==================海洋アートリビュート==========================
Destroyer_oceanShader1.waveSpeed =1.0;//波のスピード 1.0
Destroyer_oceanShader1.observerSpeed =0.0;//オブザーバーのスピード 0.0
Destroyer_oceanShader1.numFrequencies=12.0;//周波数の値 0.0
Destroyer_oceanShader1.waveDirSpread =0.2 ;//波の方向スプレッド 0.33
Destroyer_oceanShader1.waveLengthMin =0.3;//波長の最小 0.3
Destroyer_oceanShader1.waveLengthMax =40.776;//波長の最大 34.048
//================= 波のピーキング ===========================
Destroyer_oceanShader1.foamEmission =0.291;//波の放出 1.0
Destroyer_oceanShader1.foamThreshold=0.615;//波のしきい値 0.0
Destroyer_oceanShader1.bumpBlur =0.050;//バンプのブラー 0.0
Destroyer_oceanShader1.horizonFilter=1.0;//水平線フイルター 1.0
//========================================================
//========================================================
}
*/
if(frame==1){
//========================================================
//==================海洋アートリビュート==========================
Destroyer_oceanShader1.waveSpeed =1.0;//波のスピード 1.0
Destroyer_oceanShader1.observerSpeed =0.0;//オブザーバーのスピード 0.0
Destroyer_oceanShader1.numFrequencies=12.0;//周波数の値 0.0
Destroyer_oceanShader1.waveDirSpread =0.2 ;//波の方向スプレッド 0.33
Destroyer_oceanShader1.waveLengthMin =0.3;//波長の最小 0.3
Destroyer_oceanShader1.waveLengthMax =40.776;//波長の最大 34.048
//================= 波のピーキング ===========================
Destroyer_oceanShader1.foamEmission =0.0;//波の放出 1.0
Destroyer_oceanShader1.foamThreshold=0.510;//波のしきい値 0.0
Destroyer_oceanShader1.bumpBlur =0.050;//バンプのブラー 0.0
Destroyer_oceanShader1.horizonFilter=1.0;//水平線フイルター 1.0
//========================================================
//========================================================
}

if(hazeFluid.Kep_Frame==0.0) hazeFluid.Kep_Frame=frame;
else {
if(hazeFluid.Kep_Frame!=frame) ;
}


設定状況です

レンダリングの方法は色々あります。雇えばマルチパスラインとかシングルパスラインとかですがどの様な時に使い分けるのでしょうか。例えば簡単な例では零戦は甲板で待機中の場合には機体は動きませんがプロペラは回転しているかも知れませんしまたエンジンの回転の為に機体は振動しているかもしれません、色々なスチエーションがあります。この様な場合は静止画で可能な場面もありますし動画の必要性もあるかもしれません。ですから私はレンダリングの自由度が高いシングルパスラインを好みますこれならば部品の追加とか変更にも対応が大きく利きます、更に好みでも大きく変化すると思います。レンダリングに掛かる処理時間(コストパフォーマンスが変化)も大きく影響を与えます。あ!それと動的にカメラが動き回る場合に被写体の前後関係もめまぐるしく変化しますのでマスクも動的に変化していきますその点からも自由にマスクだけ作りこむ事が可能になります、但し画像の枚数は必然的に多くなります。

バッチレンダーで此処まで出来ればOK

後は作りこんで行けば良い、パスラインをですがね。

マスクは必要に応じて作れば問題は有りません・

作成されたマスク

なぜこのような複雑で面倒くさい事が必要なのでしょうか?皆さんは解りますか?このマスクに赤城の船体を重ね合わせ各ピクセル毎に掛けてやるのです、そうすると黒は0ですからどんな値を掛けても0ですから船体の海面の下にくくれる部分が消されて来ます、じょれで海面と船体を重ね合わせることが可能になります、所で細かく分割してレンダリングする方が断然処理時間は軽くなり又変更が応じた場合でもその部分だけレンダリングすればOKになります。

赤城の船部分です

×

海洋です

試験中のシーンです