ダイナミックな表現に挑戦

ダイナミックな表現に挑戦

 それではもう少し深く掘り下げたダイナミックな表現に挑戦していきたいと思います。前のページで作成した5パターンのDisplayObject3Dを、ランダムに10個生成し、円を描くように配置してみます。そして、これまでのサンプルと同様にマウスの位置によってDisplayObject3Dを変化させます。ダウンロードしたサンプルの「07Circle3D」フォルダ内の「Circle3D.as」を参照してください。

 生成したいDisplayObject3Dの個数は「objLength」で指定します(30行目)。

private var objLength : int = 10;

 rootNodeという名前のDisplayObject3Dを生成し、これをベースにしてその中に複数のDisplayObjectを配置していきます(68行目)。

rootNode = new DisplayObject3D();

 数パターンのDisplayObject3Dをランダムで生成する関数randomCreateDiplayObject3D()を呼び出します(80行目~85行目)。

 rootNodeの中心に対して円を描くようにDisplayObject3Dを配置させます。(87行目~105行目)

 関数update3D()内で、マウスの位置によってrootNodeの回転速度と方向を変化させます(152行目~163行目)。これで完成です。

 次に複数のPlaneオブジェクトを螺旋状に配置していきます。ダウンロードしたサンプルの「08Spiral3D」フォルダ内の「Spiral3D.as」を参照してください。

 生成したいPlaneオブジェクトの個数は「objLength」で指定します(28行目)。ここでは100個のPlaneオブジェクトを生成することにします。

private var objLength : int = 100;

関数createPlaneObject()を呼んで、100個のPlaneオブジェクトを生成します(77行目)。

for (i = 0; i <= objLength; i++) {
createPlaneObject();
}

 螺旋状に配置します(82行目から95行目)。

 Planeオブジェクトは10度ずつ角度をずらして配置させます(93行目)。これで完成です。

まとめ

 今回はpublic beta1.7を使用しましたが、前述した最新のpublic alpha2.0 GreatWhiteは大幅に機能が追加され、正に今この時も開発が進んでいます。そして、FlashPlayer10のパフォーマンス面では、GPUに描画を一部負担させるハードウェアアクセラレーション機能「GPU Compositing」の追加により、CPUの負荷が軽減され、複雑な計算を必要とするグラフィックの処理性能が大幅に向上するとのことです。このように日々の技術の進歩により表現の可能性も広がってきています。

 今後、より深くPapervision3Dを理解したいという方は、「オフィシャルサイト(http://papervision3d.org/)」「APIドキュメント(http://www.papervision3d.org/docs/as3/)」「Papervision 3D Blog(http://blog.papervision3d.org/)」「Papervision 3D Wiki(http://wiki.papervision3d.org/)」「note.x(http://blog.r3c7.net/)」「Mr.doob's blog(http://mrdoob.com/blog/)」を参考にさまざまな表現に挑戦されてみてはいかがでしょうか。

人気記事トップ10

人気記事ランキングをもっと見る

企画広告も役立つ情報バッチリ! Sponsored

ClickHouse Cloudが実現した広告運用SaaS「ATOM」のデータ基盤革新、パフォーマンスを向上しながら、運用負荷とコストを削減 11月11日 6:20 AIで開発が加速する時代、品質保証はどう変わる? Tricentisが示すAIエージェント活用の実像 11月9日 6:45 悪用までの猶予が「1分」に迫るフロンティアAI時代に開発と本番を貫く脆弱性管理が必要 10月29日 8:30 欧州CRA対応とSBOM運用。AI生成コードのOSS混入問題の対策とは ――スニペット単位で検出する「FossID」「Insignary Clarity」によるSBOM運用 9月16日 6:40 PostgreSQLからTiDBへ、稼働中SaaSで進める段階的DB移行の実践と再設計への展望 9月7日 6:30 機能安全開発におけるGoogleTestの活用を支援!「Parasoft C/C++test CT」で実現する効率化&AI連携 4月14日 6:30 【CNDW2025】Grafanaが明かす「オブザーバビリティの哲学」ー最小限の労力で実用的なインサイトを得るには 1月23日 6:30 【CNDW2025】プロダクト急増に備える基盤刷新 ーウェルスナビがECSからEKSへの移行で得た知見とは 1月15日 6:30 【CNDW2025】250環境を5人で運用、構築時間は30分に ーKINTOテクノロジーズが語るインフラ基盤組織の作り方 2025年12月18日 6:30 新たな自動化で熱視線! AIエージェントの「推論能力」を支える2つのコンポーネントとは? 2025年11月28日 6:30