[Adobe Max 1月30日] レポート2 城戸雅行さん

| コメント(0) | トラックバック(0) |
2つ目のセッションは憧れのROXIK城戸さんのセッションに参加しました。
鼻息荒くして押しかけましたw
城戸さんの一連の作品を見たときの感動は今でも覚えてますが、その経験が今の自分の気持ちを創ってるわけで、まさに憧れの存在なのです。今日ひと目お会いすることが出来て良かった。超やる気でました。

そんな城戸さんのセッションですが、今日のセッションではMCの制御と最適化についてお話されていました。今自分が3Dの作品を作る過程で悩んでいるところも大分かかわってくるので、すごい参考になりました。のでメモします。
(低脳collamoフィルターにかかっているので間違いはご了承下さい。)


■アイデアの実装:コントロールと最適化[城戸雅行さん]


MCの制御

モーションを作る際、
ステージの位置や倍率、角度が変化したときに、オブジェクトの座標の取り方が変わってくるところをどうやって制御するか、という話。
もちろん普通にオブジェクトを移動させて作ることは出来るが、これが拡大とか回転とかし始めると段々と制御が難しくなってしまうので、それを上手く制御する手法をお話されていました。

・視点を作る
人間の視点の役割を果たす、eyeというようなPointを作成し、実際の視点と同じような動きをするモノを作る。右の方を見たければ座標を右へ動かす。

・レンダリング
そしてオブジェクトの位置はその視点との関係を元に制御を行い、視点が→へ動いたならオブジェクトは←へ、というような感じで制御をする。回転、拡大も同じような要領で制御。

>3Dであればcameraのような概念がありますが、2Dの場合でも同じように考えることが出来るんですね。行き当たりばったりで作っていると後々カオスになることが多いので、この制御の手法は熱いです。

オプティマイズ

パフォーマンスを考えた最適化のお話をされていました。
最適化の3本柱
+ 見えない部分は計算しない
+ ビットマップ化
+ 補完

・見えない部分は計算しない
ステージに表示されていないオブジェクトはレンダリングの処理をしない、ということを徹底してやるといことで。
そうするとその部分の計算自体をしないことでかなり処理が軽くなる。
画面から外れているものはもちろんのこと、3Dであればオブジェトの反対側なども実際は見えないのでレンダリングからはずした方がいい。

>ActionSciript3.0アニメーションの本でも勉強しましたが、このあたりは徹底して考えて行わないと
一向に軽くなんてならなそう。

・ビットマップ化
オブジェクトの回転などのモーションをする場合、単純にrotationを使って回転することも出来るが、
実際は回転した形のそれぞれのビットマップを作って、そこからモーションを作った方が処理が軽くなるということ。

>ビットマップ化なんて逆に重くなりそうなイメージがあるし、回転するだけならrotationを使えば一発なんて思っちゃうくらいなので、かなりこれは盲点でした。

・補完
3Dでボックスを作るときの座標データなどは、1点の座標さえ計算すれば、あとの座標はその値をx,y,zそれぞれ反転させていけば全部求められるということ。
これは複雑なオブジェクトでも左右対称であれば処理の半分だけを計算するだけで、あとは座標を反転させるだけでよいので、処理が半分になる。
3Dのモーションなども、キーフレーム間の動きをエルミートと呼ばれる機能を使って補完することで処理を軽くすることが出来る。

>頂点座標の取り方までこういう考え方で制御することが出来るんだなと、かなり目から鱗。ちょうど今3Dの処理の重さで困っていたのでかなり参考になります。3Dのレンダリングについてはライブラリに頼らず一度勉強した方がいいですな。



この城戸さんのセッションは色々参考になりまくセッションで、かつ気持ち的にもグッとアゲアゲな感じになれたので出席出来て本当によかったです。
よしゃーーー頑張って早く自分のサイト作ろ!

トラックバック(0)

トラックバックURL: http://collamo.jp/mt/mt-tb.cgi/44

コメントする

About

  • Name : collamo
  • Work : WebDevelop, WebDesign, FlashDevelop, Illustration(趣味)
  • Place : Tokyo
  •  
  • Mail : info@collamo.jp