サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
体力トレーニング
www.morocoshi.net
Flashはアルファを含んだ画像やシェイプを重ねすぎると表示がおかしくなったり極端に重くなったりするので、拡大縮小回転しつつたくさん重ねる場合は処理の重いBitmapData.draw()を使うしかなかったんですが、FP11のStage3Dではそんな心配もいらないみたいです。 上のデモは透過画像を重ねまくる事になる煙パーティクルの負荷テストです。例によって3Dライブラリを作れるスキルはないので、Alternativa3Dにお世話になりました。煙画像のSprite3Dをぶわーって吐きだしてるだけです。 自分の環境ではパーティクル数1300でギリギリ60fpsくらい。もっと表示できると思ってたんだけど、これはSprite3Dに割り当てた透過画像が重いって事なのかな。それでも以前は100個くらいが限界だったので大分軽くなってると思うけど。 完全に忘れてたそういえば以前PV3Dで某エースコンバット
Alternativa3Dで3Dデモを作ったよ。バージョンは最近出た7.5。 なんだかゲームが始まりそうな雰囲気ですが、残念ながら眺めるだけです。(CAMERAをDRAGにすると画面ドラッグで動かせる) 参考にしたサイト今回Alternativa3Dを初めて触ってみたんですが、どうやら今回の7.5のバージョンアップでクラス構成が大幅に変更されているようで、7.5以前のTIPSだけで勉強するのはちょっと厳しかったです。 自分がこのデモを作る際に参考にしたサイトやソース Flashの3Dエンジン「Alternativa3D 7.5」を試してみた | ClockMaker Blog Altanativa3D 7.5 test | wonderfl 今回のデモを作る際に自作ライブラリをいくつか使ってしまってソースコードが公開できなくなってしまいました。でもやっている事はColladaモデルを読み込
3dsMAX + Flare3D。多分1000ポリくらい。アニメーションは全てMAX内のHAVOKによる物理演算を記録したものです。壁の陰影だけはラジオシティしたものをベイクしていて、それ以外はFlare3Dのシェーダー。環境マップとかも全てMAX内で設定しているのでスクリプトはほとんど書いていません。ハムをソフトボディにして頂点アニメーションを書き出しているんだけど、なぜかカメラアングルによっては消えてしまう上に床に影が表示されない不具合が・・・。床の影に使ったShadowPlaneは、高さを0以外にしたりちょっとでも傾けたりすると表示がおかしくなってしまうようで使いどころが難しい。
Papervision3Dでウォークスルーの実験中。 レンズフレアエフェクトをつけてみました。 海面のウネウネはなんか失敗。キラキラさせたかったんだけど・・・ 太陽の部分は3dsMaxのレンズエフェクトでレンダリングしたもので、 画面全体にかかる光の輪はFlashの放射グラデーションです。 レンズフレアの仕組みはよくわかってないんだけど、 光の輪が複数個あって、それが画面中央の座標と光源を結ぶ直線上に並んでるって イメージはあったのでそんな感じで表現してます。 太陽のスクリーン座標3D空間内にあるオブジェクトの基点の2D画面上での位置は DisplayObject3D.screenで調べられるのでそれを使ってます。 sun = new DisplayObject3D(); scene.addChild(sun); sun.autoCalcScreenCoords = true; sun.
ステージ内でマウスを押した(MOUSE_DOWN)ままFlashの領域外までドラッグした時、 そのままではマウスを離したイベント(MOUSE_UP)を検出できないんだけど マウスがFlash領域から出た時を検出できるEvent.MOUSE_LEAVEを使うと マウスダウン→領域外までドラッグ→マウスアップのタイミングでもイベントが取れるので これを利用してボタンの表示を元に戻したりドラッグ処理を停止したりできます。 ただswfをhtmlに埋め込む時にwmodeを指定していると 環境によってはMOUSE_LEAVEイベントが発生しない事があるっぽい。。。 ので、検証用にサンプルを用意してちょっと実験してみました。 全部WindowsXP、FlashPlayer10でテストしてます。ブラウザは4つだけ。 真ん中の黒いボックスがボタンになってて、 マウスを押すとオレンジに、離すと青に変化するよう
Papervision3Dでウォークスルーの実験中。 背景をつけてみました。 大きい一枚の画像をカメラの角度に合わせて上下左右にスクロールさせてます。 あと、高さ判定処理を組みなおして少しそれっぽく動けるようにしました。 高い所のモデルの下をくぐったり、高い所から落ちたりできます。 背景の追加 背景に使った空画像の全体図はこんな感じ。 手前のくっきりしてる雲だけTerragen2でレンダリング・・・というか知らない間に2出てたんだね。 カメラは横に0~360°しか動かないのでその角度と画像のX座標をリンクさせているだけです。 実際は端が切れないように画像を横方向に多めにループさせてます。 横方向は簡単だったんですが、縦方向がカメラから水平線の位置を割り出す必要があって、 今はまだ目分量による簡単な位置合わせしかしていないので正確ではないです。 ちゃんとした水平線の高さの割り出し方を調べる
このページを最初にブックマークしてみませんか?
『www.morocoshi.net』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く