note.x

[Away3D] Tunnel

tunnel.swf(要:FlashPlayer9)

メガデモなんかでは、さんざんやり尽くされた感のあるトンネル作ってみた。

同じメッシュ構成の2つのCylinderを用意して、それぞれ別の姿勢に頂点を変換しておいて、各頂点の座標をあらかじめ設定した頂点ごとのウェイト値にしたがってブレンドする「Vertex.weighted()」ってメソッド使ってトンネルをウネウネさせてるんだけど、このウェイトの調整がアマくて、かなりビミョーな挙動になっておりますな。

Vertex.weighted()メソッドでハマったのがnamespace。Away3Dは、「arcane」っていうネームスペースが定義されてて、いくつかのメソッドがこのネームスペース内に閉じこめられてる。Vertex.weighted()もその一つ。なので、

import away3d.core.arcane;
・
・
public class hoge
{
    use namespace arcane;
・
・

って感じで、away3d.core.arcaneをインポートした上でuse namespace宣言しないと使えない。この辺の話は「BeInteractive! [Namespace]」がスバラシく参考になりました。

テクスチャのほうはTransformBitmapMaterialで、タイリングもスクロールも出来ちゃった。PV3Dだと結構メンドイのがウソのような激しい便利さであります。Bitmap系マテリアルは、precisionプロパティの設定でパースペクティブコレクトが使えるんだけど、今回のケースだと重かったんで未使用。おかげで歪む歪む。

ともあれ、ウネウネ具合をウツクシくしたいのと、もっと軽くしたいなぁ。
もっと調整すれ!>オレ


TRACKBACK

  1. [...] Graphics.drawTriangles()とテクスチャマッピングスタディ。元アイデアはFlash 10, Part 4 of testing drawTriangles, Old-school Tunnels « Pixeleroより。簡単に説明すると円錐っぽい形状の多面体の底(とんがりコーンの底)から内側を見ている状態で、多面体の各頂点をxy座標方向に曲線的に動作させつつ内側に貼られたテクスチャのUVT座標を刻々と変化させているだけ。これだけで自分がトンネル内を進んでいるように見えるから驚き。”old-school”と題されているけど古典的な手法なのかな?note.x | [Away3D] Tunnelでも同じようなムービーがある。 [...]

    [WORDPRESS HASHCASH] The comment’s server IP (219.94.163.44) doesn’t match the comment’s URL host IP () and so is spam.

Trackback URL : http://blog.r3c7.net/as3-software-rendering/189/trackback/

COMMENTS

  1. Bartek Drozdz - 2008.05.08 20:21:19

    Very nice! I need to take a look at the TransformBitmapMaterial.

  2. てんごく - 2008.05.10 23:08:57

    その昔マークフリントが作ったzoneっていうゲーム思い出しました。

  3. rect - 2008.05.12 11:42:17

    >てんごくさん

    システムサコムっすかー、こんなの出してたんですね。
    久々に懐かしい名前を見ましたよ(笑)
    当時のマシンで3Dっぽいことやってた先人達の熱意には頭が下がります。
    スタークルーザーとか、リメイクしないかなぁ。

Leave a Reply