Away3D v2.1.0の使い方(15)- 3D座標を読み込んでレディオヘッド
July 16, 2008

前のエントリーで書いたように、レディオヘッドのPVに使われた3Dデータが公開された。
レディオヘッドのファンとしては、じっとしているわけにはいかず、Away3Dを使って3Dデータをレンダリングしてみた。
使ったのはHoC_AnimationData1_v1.0.zipに含まれているCSVデータで、ヴォーカルのトム・ヨークの顔を座標化したもの。
Away3DのLineSegmentを使ってCSVデータの一部を使って線画に。
手順
1.CSVデータを読み込み、x,y,z,強度に分解して配列に格納
vertex = [];
var arr1:Array = e.target.data.split("\n");
for(var i:int=0; i {
var arr2:Array = arr1[i].split(",");
vertex.push({x:arr2[0],y:arr2[1],z:arr2[2],i:arr2[3]});
}
2.LineSegmentを使って前の座標と次の座標を線で結んでいく
for(var i:int=0; i < 11000; i++)
{
var _alpha:Number = vertex[i].i * 0.005;
var line:LineSegment = new LineSegment({ownCanvas:true,alpha:_alpha});
line.start = new Vertex(0-vertex[i].x,0-vertex[i].y,vertex[i].z);
line.end = new Vertex(0-vertex[i+1].x,0-vertex[i+1].y,vertex[i+1].z);
line.rotationX = 90;
line.rotationY = 90;
view.scene.addChild(line);
}
LineSegmentのalphaはownCanvasをtrueにしないと有効にならないので注意。
LineSegmentのrotationX、Y、Zをいろいろ変えると好きな感じになった。

1回レンダリングするのがやっとで、とても動かせる重さではないのだけれど、rotationX、Y、ZをTweenerで変えれたらカッコよさそう。
レディオヘッドのPVでほかに3Dを使った作品だと、Pyramid SongやGo to Sleepが思い浮かぶ。
特にPyramid Songは曲のすばらしさもさることながら、PVの印象も相当強い。
レーベルを離れてからはインターネット社会を縦横無尽といった感じだけれど、今回のGoogle Codeでのデータ公開もレーベルに所属していたらできなかっただろうな。
10月の来日、楽しみです!
タグ:
Trackback
Trackback URL for this entry:


















