blog

2012/08/01

にわかスクリプト~移り気ストーキングカメラ

人が何かに乗ってビューンっていったり、
ロボ的なのがなんか噴射してビューンっていったり、
まぁよく動く。

アニメーション付けるときフレームごとにソイツの所に飛んでいくの
が煩わしかったのです。キャラごとにカメラ付けたらゴチャついて使いづら。。

てことで選択したヤツをストーキングするカメラを作りたかったんです。

なんか、標準機能で良い方法がありそうなんですけども(´・ω・`)

var oSel = Selection(0);
var oSelName = oSel.fullname;
var oCamModel = Dictionary.GetObject("Follow_Cam",false);

if ( oCamModel == null )
{
 var oModel = ActiveSceneRoot.AddModel(null,"Follow_Cam");
 var oNull = oModel.AddNull("Follow_Cam_Cons");
 var oCam = oNull.AddCamera("camera","Follow_Cam");
 SetValue("Follow_Cam.Follow_Cam.kine.local.posz", 20, null);

 AddExpr("Follow_Cam.Follow_Cam_Cons.kine.global.posx", oSelName + ".kine.global.posx", null);
 AddExpr("Follow_Cam.Follow_Cam_Cons.kine.global.posy", oSelName + ".kine.global.posy", null);
 AddExpr("Follow_Cam.Follow_Cam_Cons.kine.global.posz", oSelName + ".kine.global.posz", null);
}
else
{
 AddExpr("Follow_Cam.Follow_Cam_Cons.kine.global.posx", oSelName + ".kine.global.posx", null);
 AddExpr("Follow_Cam.Follow_Cam_Cons.kine.global.posy", oSelName + ".kine.global.posy", null);
 AddExpr("Follow_Cam.Follow_Cam_Cons.kine.global.posz", oSelName + ".kine.global.posz", null);
}


とまぁこんな感じで。if文的なモノの練習がてら。

内容は
-----------------------
ストーキングしたいオブジェクトを選択して実行。

もし"Follow_Cam"っていうモデルが無かったら"Follow_Cam"っていうModel作る
"Follow_Cam"の子に"Follow_Cam_Cons"ってヌル作る
"Follow_Cam_Cons"の子に"Follow_Cam"って名前のカメラを作る
"Follow_Cam_Cons"のGlobalポジション選択したオブジェクトのGlobalポジション
にExpressionで固定する。

"Follow_Cam"っていうモデルが存在していたら、カメラ構造の作成はせずに
だけ実行。
-----------------------
こんな感じ・・になってるハズ。多分きっとMaybe。

さて次は何を試してみようか(´・ω:;.:...

0 件のコメント:

コメントを投稿