日本でハリウッドVFXを制作! 「経産省アイディアボックス」 結果:  
●まとめエントリはこちら ●FAQ ●お問い合わせは左のメールフォームから

2009年3月13日金曜日

練習 (2)

今日は、ポイントライトの点滅をアニメーションするためにMelにチャレンジした。
まず、8つのポイントライトを作り
フレーム毎に順番に光っていくようにする。
ただし次のフレームに移動したとき、前フレームで点灯していたポイントライトは消えるようにする。

エクスプレッションでいけるのではないかと思ったので試してみることにした。
まず
pointLight1.visibility =0
でライトのvisibilityがoffにできることを確認。
あとは、Lightの番号を1-8までフレーム番号に応じて変更してやれば、良いだけなので、frameとevalを使えば、なんとかなるだろうと試してみた。

$light = "pointLight"+frame+".visibility =0";
eval($light);

しかしエラーになってしまう。
// エラー: } //
// エラー: Syntax error //
// エラー: An execution error occured in the expression expression1. //
// 結果: expression1 //

$light = "pointLight"+frame+".visibility =0";
print$light;
にすればちゃんと動作しているので$light変数の中身frameはちゃんと動作している。
問題はevalの方だ。
エクスプレッションでもevalを使用できるので使うのは問題ないが、evalが評価するのはコマンドだ。
ここではノード名とそのアトリビュート名しかないのでエラーになるのだろう。

いろいろとためしたが結局諦めて、Melでキーフレームを自動的に打とうとおもいついたが、
キーフレームの打ち方がわからず、最終的には、Melはあきらめ、手でキーフレームを打った。


 

0 件のコメント:

コメントを投稿