お久しぶりです。
久々すぎて、MovableTypeの使い方分からなくなってる。。
少し前からwonderflでコード書いてたんだけどね。
それを記事にしようとすると結構面倒くさくて、、まとめるのムズカシイ

そうそうタイトルの件です。いつのまにか昔の記事のFlashが見れなくなってたっていう。見れないっていうかくるくる回るローディングが途中で止まってました。以前は見れたのに。

それでしばらく調べてわかったこと。
結論から言うと、どうもFirefoxの一部のバージョン(1.5、2.0、3.6.4、3.6.6)でhtmlに埋め込んだFlashを再生するとLoader.load()で空文字や半角スペースのパスをロードした時にエラーイベントも完了イベントも発生しないというのが原因だったらしい。

そんなルールあったんだ・・・

ふんふん

2009年11月23日
最近ちょっと更新が滞ってます。
バンドの手伝いとか、手伝いじゃないのとか、色々もさもさしてて。

久しぶりに記事みなおしてみると色々直したいとこがあるなあ。。
とりあえず気になったのは、レンズフレアの記事で
もしかして黒に塗ってる意味ない?とか、
記事ではチャンネルコピーしてるけど
画像そのままコピーしてぼかしてアルファ値調べればいいだけ?とか・・・
負荷はあまり変わらないのかもしれないけどね。
落ち着いたら修正するかもしれません。
Flashコンテンツ(AS3)のステージ内で
マウスを押した(MouseEvent.MOUSE_DOWN)ままFlashの領域外までドラッグした時、
そのままではマウスを離したイベント(MouseEvent.MOUSE_UP)を検出できないんだけど
マウスがFlash領域から出た時を検出できるEvent.MOUSE_LEAVEを使うと
マウスダウン→領域外までドラッグ→マウスアップのタイミングでもイベントが取れるので
これを利用してボタンの表示を元に戻したりドラッグ処理を停止したりできます。
ただ、swfをhtmlに埋め込む時にwmodeを指定していると
環境によってはEvent.MOUSE_LEAVEイベントが発生しない事があるっぽい。。。
renderer.clipping = new FrustumClipping(~);
とかやっていると、
カメラを高速で回転した時とかに画面の端でポリゴンが
一瞬カリングされてしまう謎の現象があったんだけど
jp.ferv.blogさんの記事でやっと対処法がわかりました。

FrustumClippingを使うときはCamera3D.targetは使わず
代わりにCamera.lookAt()を使えば解決するようです。

で、これでめでたしめでたしと思いきや何故か上手くいかなくて、
結構長い間フガフガしてたんだけど
BasicViewクラスを使う時に
new BasicView(640, 480, false, false);
って第五引数を省略してたせいで
カメラタイプがデフォルトの"Target"になってしまってて
コンストラクタでcamera.target = DisplayObject3D.ZERO;されてたのが原因だった。。
いつも省略してたから全然気付かなかったよ・・・

new BasicView(640, 480, false, false, CameraType.FREE);
こんな風に第五引数を"Free"にして解決。

PV3D2.1: レンズフレア

2009年10月27日
Papervision3Dでウォークスルーの実験中。
walkthrough5.jpg
レンズフレアエフェクトをつけてみました。
海面のウネウネはなんか失敗。キラキラさせたかったんだけど・・・

太陽の部分は3dsMaxのレンズエフェクトでレンダリングしたもので、
画面全体にかかる光の輪はFlashの放射グラデーションです。
レンズフレアの仕組みはよくわかってないんだけど、
光の輪が複数個あって、それが画面中央の座標と光源を結ぶ直線上に並んでるって
イメージはあったのでそんな感じで表現してます。

PV3D2.1: 背景と高さ判定

2009年10月17日
Papervision3Dでウォークスルーの実験中。
walkthrough4.jpg
背景をつけてみました。
大きい一枚の画像をカメラの角度に合わせて上下左右にスクロールさせてます。
あと、高さ判定処理を組みなおして少しそれっぽく動けるようにしました。
高い所のモデルの下をくぐったり、高い所から落ちたりできます。
過去の記事を見直してたら追記したはずのテキストがいつのまにかごっそり抜けてた。
キャッシュから修正しておいたけど、なんだったんだろう。。
再構築した時になんかおかしくなっちゃったのかな・・・

あと最近Alternativa3Dを勉強しようか迷ってます。
作りこんでくるとどうしてもPapervision3Dは表現的な制約が多くて。。
かといってAlternativa3Dは国内の記事が少なくて行き詰った時に大変そうだし、
頑張って使えるようになった後にPapervision3Dがバージョンアップしたら虚しいし。
とりあえずクリッピングといい感じのポリゴンソート(っていうの?)とテクスチャの歪み補正が
常に使える状態になってくれれば幸せになれそうなんだけどなあ。ふがふが。

PV3D2.1: 水の流れの表現

2009年10月 7日
前回のエントリーの続きです。
滝と川を作ったんですがそのアニメーションのさせ方なんかをメモしておきます。

walk3takitsubo.jpg
Papervision3Dでウォークスルーの実験中。
今回は島を作ってテクスチャ貼ってみたよ。
足元の高さ判定の処理はまだちゃんと組んでないので
穴が開いた地形の下もくぐれないし、高い所から落ちると一瞬で着地します。

walkthrough3.jpg
矢印キー:移動
SHIFT+矢印キー:カメラ回転
F:FPSの限界切り替え
W:ワイヤーフレームON/OFF
M:テクスチャの歪み補正ON/OFF
1~4:レンダラ切り替え(デフォルトは1)

PAGE UP:カメラズームイン
PAGE DOWN:カメラズームアウト
HOME:カメラズームリセット

視線とメッシュの交差判定を高速化してみました。
サンプルのポリゴン数は前回と同じにしてあります。
walkthrough2.jpg
矢印キー:移動
SHIFT+矢印キー:カメラ回転
右上MAPクリック:地形変形
FPSクリック:FPSの限界切り替え