カテゴリ:Alternativa3D 8 の記事一覧
| | 古い記事一覧へ≫
demo ( 要 Flash Player 11 )
たまにはAlternativa3D 8.17で軽くデモを。
表現に使った手法
Sprite3Dクラスについて。
Meshではなく、Object3Dの継承クラス。GeometryやSurfaceは持っていないようだ。
常にカメラのほうを向くPlaneのようなもの。3次元上の回転情報を持たないので計算が速くなるとか。
3Dの世界ではビルボード、なんて呼ばれてたり。
なにをするかっていうと、ポリゴンを描く代わりにそれっぽいテクスチャを貼ったビルボードを使うことでそれなりに見栄えがし、かつ軽い。らしい。
あとはパーティクルにも使うみたい。
このデモは実は地面以外は全部Sprite3D。
ポリゴンの代わりとして球体を、パーティクルとして音符をSprite3Dで表現してる。
球体はどの角度から見ても同じに見えるからよくビルボードが使われるとか。もっとうまいテクスチャ貼ったら完全に球に見えるよきっと。
続きを読むTweet
前回のトランジション効果をちょっといじってフォトスライドショーのようなものを。
連番jpgをLoaderでリアルタイムに読み込むのだが、Loader.load()が重いのかload中に一瞬止まってしまう。
なのでカメラやコンテナはアニメーションさせなかった。カメラをぐりぐり回してると一瞬止まる瞬間がわかるだろう。
あと回線によっては切り替わるタイミングが波紋が広がるときになったり戻ったり。
サイズのある画像だとなかなか切り替わらなかったりするかも。
ネットから連番jpgを持ってくるにあたってきれいな画像を探してて、こちらのまとめブログさんから無断でいただくことにしました。ありがとう。
続きを読むTweet
新しいPlaneを使って画像のトランジション効果のようなものを作ってみた。
参考はClockMaker.jp "Papervision3D演出サンプルNo.04:細切れフォトグラフ"
続きを読むTweet
以前作ったPlaneを使ってて思ったこと
手直ししてみよう。
続きを読むTweet
すでにupload()されているmaterialなら動的変更にラグはないっぽい。
private function _onClick(e:MouseEvent3D):void { (e.currentTarget as Mesh).getSurface(0).material = material;//material is made from uploaded Resource }
こいつのmaterialはこれだよ!って情報はCPU側が持っていてレンダリングのたびに指定しているのだろうか。
あらかじめupload()することさえ忘れていなければ好きなSurfaceを好きなマテリアルに一瞬で変えられる。
それからFillMaterialはTextureResourceを引数にとらないが、どうやらGPU の資源を使わないっぽい。
内部的に単色塗りのBitmapDataでも作ってるのかと思っていたけど、TextureMaterialを設定したBoxはgetResources()するとlengthは2だがFillMaterialのほうはlengthが1だった(Geometryデータのみ)。
フラグメントシェーダに直接色を指定してるのかな?
Tweet
Alternativa3D 8.8.0で透明マッピングでopacityMapに代入する話をしたけど、もっと簡単な方法があったみたい。
useDiffuseAlphaChannelプロパティを設定するだけでも良かった。
var material:TextureMaterial = new TextureMaterial(new BitmapTextureResource(bd)); material.useDiffuseAlphaChannel = true;
これだけ。
でも先の方法もこの方法も、透明度を設定するとソートがおかしくなることがあるみたい。
2011/7/2時点で開発者がそう仰ってるので注意。
Tweet
Alternativa3D 8.8.0でTextureMaterialのBitmapDataを動的に変更してみる。
textureウィンドウをクリックする
TextureMaterialをBitmapDataから作るにはBitmapDataからBitmapTextureResourceを作り、それを使うのでちょっとひと手間。
このBitmapTextureResourceはdataプロパティを持ち、ここからテクスチャのBitmapDataをget/setできる。
ところが、CPU側で書き換えただけではGPUに伝わらず、変更が反映されない。
Resourceを変えたときは必ずupload()しましょう。それだけの話。
続きを読むTweet
Alternativa3D 8.8.0で追加されたWireFrameクラス。
このクラスは大きく分けて2つの機能がある。
単純に3D空間上に線を引く機能と、ワイヤーフレームマテリアルのようなものを実現する機能だ。
続きを読むTweet
Alternativa3Dにも慣れてきたところで、 PV3DのBasicViewのようなものが欲しくなった。
どうせ毎回やる処理はクラスにして継承したいよね。
BasicViewだとPV3DとかぶるからABasicView!
と思いきやAway3Dでも同じの作ってた。じゃあAlBasicViewで。
それから、なんかオブジェクトを作って挙動を見る際にカメラは自由に動かしたい。
Alternativa3D 8.8.0にはSimpleObjectControllerがあって、これでカメラの操作もできるんだけどなんか直感的に操作しにくい。
マウスだけでぐるぐる自由に操作したいから原点を見つめてカメラをドラッグとホイールで操作できる簡単なクラスを作って使ってる。
いくつか注意点もあるけど。
続きを読むTweet
Author:9ballsyn
ActionScriptについて
最近はMolehill