Radiohead の HOUSE OF CARDS その2
2008/07/31 23:17 - AS3.0
先だって他人様のソースコードを拝借して、ちっとばかり試してみた Radiohead の google のアレでやんすが、ByteArray も、ちっとばかり囓ってみたことですし、ちっとばかり改造して、3D 回転系の動きばさせてみたとです。
前回は Flash Player 9 でも見られるようにしていましたが、今回はトバして Flash Player 10 コードをバリバリ使ってます。
前回からの改変点
csv 処理
- x、y、z 座標値の ByteArray への書き込みの型を Double から Float に変更した
- Array に格納していた個々の ByteArray を Vector に格納するようにした
- 読み込み csv 数を 50 個から 240 個に増やした
1. について。
前回は ByteArray の知識がほとんどないまま挑んだので、とりあえず Number 型で一番桁数の多いデータ型(Double)を使いました。
でもたぶん Double までの精度はいらんだろうから、Float 型にしてみました。
2. について。
このコードでは csv ファイル1個に記述されたデータが一つの ByteArray オブジェクトに格納されています。 よって ByteArray オブジェクトは読み込んだ csv ファイル数だけ生成されます。
それらの ByteArray オブジェクトを前回は Array に push しましたが、今回は Vector に push しました。
3. について。
前回は 251.csv から 50 個の csv ファイルを読み込みました。
今回は 1032.csv から 240 個の csv ファイルを読み込みました。
240 とは何とも半端な数ですが、目パチ、口パク含めて、何となくイイ感じで、なおかつ、キリが良かったのが 1032 から 240 フレームだったのです。
パーティクル動作
- Vector3D と Matrix3D を使い、3D 回転をするようにした
- トム・ヨークの頭部データがステージ中央になるよう、座標値を調整した
1. について。
以前、Astro 対応 3D 表現についていろいろ試行しましたが、そのときの知識を突っ込んで 3D 回転系の動きをさせました。
なお、Astro 対応 3D 表現の詳細は 3D タグで表示されるエントリーの中から、随意選んで、ご参考ください。
マウスカーソルの位置でトム・ヨークの頭部が動きます。 ってもグルグル回転するようにはしていません。 普通に人間が頭を動かす程度の首振りレベルの動きです。
degreeX、degreeY の数値を計算する部分を = から += or -= にするとグルグル回るようになります。
2. について。
csv に格納された座標値をそのまま使うと、ステージ左上と、トム・ヨーク表示部の左上とがほぼ重なるような感じになります。 しかしその座標値のまま Matrix3D で回転させると、回転角度によっては像がかなり歪みます。
前回のコードではそのへんの調整をしていませんでした。 トムの顔が画面右下に移動したときに、ものすごく歪んでいるのがおわかりかと思います。
今回はコチラが公開なさっているコードを参考に座標値を調整、頭部がほぼステージ中央に配置されるようにしました。
結果、右を向かせても左を向かせても、上を向かせても下を向かせても、像の歪みがあかり気にならない程度にまで小さくすることができました。
なお、クリックするとパーティクルの色が変わる小ネタも仕込んであります。
(要 Flash Player 10)
- ソース(ZIP 7.84KB)
なお、今回のソースにも Queue.as と座標データ csv は含まれていません。
試す場合は、前回のエントリーを参考に、それぞれ所定の場所から入手してください。