- 2010年01月10日 (日)
- Tweet
Alternativa3Dを試してみる Part.08 : ワンダフルクエスト3D
osamXさんが nengafl |争奪10万円 FORK合戦! (wonderfl のコンテスト)に投稿されたワンダフルクエストがおもしろかったので、folkして3Dに移植してみました。
今回の3DはPapervision3Dではなく、Alternativa (オルタナティヴァ)というライブラリを使っています。当ブログでも幾度か紹介していますが、今回のデモでようやくメリットが発揮できた感がありました。
Papervision3Dが苦手とする3D
Papervision3Dは「床」が存在したり複数の3Dオブジェクトが近い位置に配置されている場合に、ポリゴン処理が苦手なケースがあります。
- ポリゴンが重なったときの前後の判断処理
- クリッピングによるポリゴン欠け
前者はQuadrantRenderEngineで、後者はFrustumClippingで解消できるのですが、それらの解決策を適用すると計算量が増え再生速度が落ち込む懸念点があります。Alternativa3Dではこの点が優れており、特にスクリプトで設定せずともディフォルトの状態でこの問題が発生しませんし、Papervision3Dほどの速度低下が発生しません(体感的には十分実用レベル)。それにAlternativa3Dはディフォルトでマテリアルが歪まないようにもなっており(Papervision3Dではpreciseを有効にする)、容易に3Dオブジェクトを正確に表示できる点がメリットだったりします。
以前に、PV3Dで飛行船:SpringCamera3Dを試してみるというデモを投稿したことがありますが、このデモも「床」が存在するためFrustumClippingの採用で処理速度の最適化に苦戦した記憶があります。床はX軸方向に傾けますが、そうすることで視点の近接に位置したポリゴンで奥行きの計算でクリッピング判定が怪しくなり(△の3頂点の単純な平均値を求めている?)、本来表示しなくてはならない△もクリッピングの対象となるケースがあります。(…と考えているのですが、ちょっと自信がないです。間違っていたらすみません)
Papervision3Dは△のZソートがベースで、Alternativa3Dは必要に応じて△を再分割するように設計されていますが、そのあたりが大きいのかと思います。
wonderflでAlternativa3Dのデモが増えている
最近、@narutohyper (@丸林商店)さんが非常に有益なAlternativa3Dのデモをwonderflに投稿されています。Alternativa3Dのデモやソースコードは少なく学習コストが高めでしたが、これを機に学習しやすくなると思います。もしこれからAlternativa3Dにも挑戦しようという方は、ぜひ参考にしてみてはいかがでしょうか。
応用例
- Alternativa3D 読み込んだ画像で、絵本を作る
- Alternativa3D であそこのアレを作ってみました
- Alternativa3D 今度はりんご旅行っぽいあれをAlternativa3Dで作ってみました
- Alternativa3D 3Dスロット
- Alternativa3D Sprite3Dを使っての、Particle処理 明日の為の第一歩
- forked from: Alternativa3D Sprite3Dを使っての、Particle処理 明日の為の第2歩
- Alternativa3D ファイアーボール Sprite3Dのネストによる軌道表現
- Alternativa3D ファイアーボール Sprite3Dのネストによる軌道表現 連射Ver
Tips系(基礎)
- Alternativa3D Tips さまざまなプリミティブを作る
- Alternativa3D Sprite3DとSpriteMaterial(SpriteTextureMateria)
- Alternativa3D テキストの表示
- [Alternativa3D] プリミティブのrollover & rollout & Click
- Alternativa3D interactiveな自作Boxクラスを使ってのrollover & Click
- Alternativa3D BoxのサーフェースごとでのrolloverとClick
- alt3D rolloverするプリミティブとrolloverしないプリミティブの混在(解決編)
- Alternativa3D フラットシェーディングプリミティブ
Tips系(応用)
- Alternativa3D EllipsoidColliderクラスを使った衝突判定
- Alternativa3D WalkControlをプリミティブに使う
- Alternativa3D LookAtするプリミティブ
- Alternativa3D WorkControllerを使ってプリミティブの簡単LookAt
- Alternativa3D Tips 平面プリミティブの頂点にアクセスして、変形する
- Alternativa3D Tips 平面プリミティブの頂点にアクセスして、変形する2
- Alternativa3D Tips 平面プリミティブの頂点にアクセスして、変形する3
- forked from: テクスチャーが上下反転する問題をPlaneのまま回避
ブログ内のAlternativa3Dの関連記事
- Alternativa3Dを試してみる Part.01 : まずはHello Worldから
- Alternativa3Dを試してみる Part.02 : PrimitiveとMaterial
- Alternativa3Dを試してみる Part.03 : CameraとCameraController
- Alternativa3Dを試してみる Part.04 : WalkControllerで迷路
- Alternativa3Dを試してみる Part.05 : テンプレートを作成
- Alternativa3Dを試してみる Part.06 : テンプレートを使ってデモを作成
- Alternativa3Dを試してみる Part.07 : カメラをぶらして残像効果
2010年01月11日(月) 23:02
[…] Alternativa3Dを試してみる Part.08 : ワンダフルクエスト3D | ClockMaker Blog [Alternativa3D] Wonderfl Quest 3D – wonderfl build flash […]