note.x

[PV3D2.0] 3DSprite Study

e_billboard.jpg

sp3D_test.swf(要:FlashPlayer9)

自身の法線とカメラの法線の角度や、自身のrotationに応じて表示を変化させることで、3D空間になじむスプライト表現がPapervision3Dでもできないもんかと実験中。

この機能はAway3Dだと実装されてるし、(Sprite2DDirクラスだったかな)確かSandyにも同様のものがあったと思う。何故かPV3Dにはオフィシャルな実装が無くって、 PV3D1.5用としてならBlitz Labsの中の人が公開してたものがあったけど、DO3Dを継承する方法は2.0だと描画オブジェクトをRenderListに渡せないのでZ-Sortで困ったことになる。いろいろやってみたけどオレには移植は無理だった。また、自身のrotationYとカメラのrotationYに応じた変化にしか反応せず、対象とカメラの法線の角度には反応してくれなかったので、使いどころが限定的すぎな点も残念な感じ。

無いなら作るしかねーってのがX68Kユーザーの心意気でしょってことで、Particlesクラスをベースに作った俺クラスでもって2.5D的スプライト表示をやってみたのが上記のデモ。地形はBlenderで作ったDAEオブジェクト。いい加減デモに使うエレメントもオリジナルのみで勝負しないとイカんですな;

9個のスプライト(木もそう。こっちは単純にParticlesベースのビルボード)を並べてみたんだけど、1個だけ配置した場合とほとんど負荷が変わらない。今のところ問題なく動いてそうな印象。「背景3D+キャラ2D」の道が開けて感無量だわ〜。でもまだ、ひとまず表示できたっていうだけの段階で、今の実装だとアニメーションとかできない。この辺をなんとか改善したいところ。けど正直、キチンとしたものをオフィシャルで実装して欲しいなぁ。


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

COMMENTS

  1. felix - 2008.04.05 5:22:56

    sweet! Now I want to fight monsters :)

  2. +39 - 2008.04.08 9:46:30

    おぉ。これでタクティクスオウガがネットで出来ますね!

  3. rect - 2008.04.08 23:28:32

    >felix

    me too :)

    >トザキさん

    そこまで出来たらスゴイんですけどねぇ;
    地道に積み上げます。

  4. たけし - 2008.04.11 5:44:30

    はじめまして。

    高度なことをされてますね。

    まだPV1を使ってるのですが、PV2はZバッファですか?Zソートですか?

  5. rect - 2008.04.11 11:44:25

    >PV2はZバッファですか?Zソートですか?

    Zソートです。

  6. たけし - 2008.04.12 0:56:57

    ありがとうございます。

    やっぱり処理を早くするにはZバッファは無理ですね。

  7. arkw - 2008.04.18 13:36:33

    これのソースとか公開予定ありますかー?
    自分も同じようなことをやっていまして、勉強させていただきたいです。

  8. rect - 2008.04.18 17:41:15

    >arkwさん

    超使いにくいオレオレクラスになってしまってるので、
    とりあえず公開の予定は無いです。
    SpriteとかMovieClipをパーティクルとして扱うのが最終目標で、
    そっちは公開するかもしれません。

  9. ronald - 2008.09.20 6:51:53

    Is it possible for you to post the Blender file for that 3D background? I am trying to create it myself, I attach material with image texture, and it looks ok in Blender. But when I export it to Collada (and I need to disable the “Use UV Image Mats” option), and then import it to Papervision3D, the face that is supposed to have the ground material is showing just one color of that image. My ground image sprite is 16×16 in size, it seems that Pv3D is not displaying the whole image.

    thx.
    ronald

  10. ronald - 2008.09.20 23:29:33

    Hi rect,

    Actually, let me ask the question in another way.. without asking you to post the Blender file.

    For the 3D background, do you just wrap the terrain model with 1 single image map?

    I am asking this because the terrain looks like it is applied by image sprites on top, like the 2D games. So I am just wondering how you create that model.

    Another way to build a terrain model like that, is to have individual 3D blocks, in different shape and size, and put them together to form a terrain, like Lego.

    thx
    ronald

  11. rect - 2008.09.21 0:00:37

    ronald,

    >the terrain model with 1 single image map?

    This terrain mesh is modeling by the Blender.
    It only UV mapping by single texture image.
    The special thing is not done.

    thx

Leave a Reply