1  |  2  |  3  |  4  |  5  |  6  |  7  |  8  |  9  |  10  |  11  |  12  |  13  |  14  |  15  |  16  |  17  |  18  |  19  |  20  |  21  |  22  |  23  |  24  |  25  |  26  |  27  |  28  |  29  |  30  |  31  |  32  |  33  |  34  |  35  |  36  |  37  |  38  |  39  |  40  |  41  |  42  |  43  |  44  |  45  | All pages

PaperVision3Dでスクリーン深度を固定してレンダリング

[2008.01.27 22:27]

オレメモ。

PV3Dにてレンダリングの深度をカメラからの深度ではなく強制的に固定させたいときに(最背面にレンダリングとか)いじるPV3Dの場所。

org.papervision3d.core.geom.TriangleMesh3D#project (line:140くらい)

	screenZs += iFace.screenZ = (vertex0.z + vertex1.z + vertex2.z)/3;
	rc = face.renderCommand;
	visibleFaces++;
	rc.renderer = mat as ITriangleDrawer;

	// ここの数値が、Meshの深度をあらわす(小さいほうが奥)
	rc.screenDepth = iFace.screenZ;

	renderSessionData.renderer.addToRenderList(rc);

ここに特定条件の際に、任意の値を入れてあげればOK。


contributor nao : thread | comment (0)

Flashの書き出せないバグ

[2008.01.04 03:18]

以前も書いたような気がするけど、ちゃんと書き出せないことがある。
書き出せないというか、エラーが出ずswfは出せるけど、スクリプトが全然動いてなくて、アニメーションが勝手に再生されるだけの状態。
大幅にクラスやMCの作りを変えたときなんかに発生するような気がする。
以下、羅列メモ。(AS3だけどAS2でも起こるような気がする。)

  • エラーは何もでないけど、書き出せてない
  • ステージがMCを継承していないような感じでstop等効かない
  • traceも効かない
  • ファイル名を変えると書き出せることがある
  • 同じファイル名に戻すとやっぱりダメ
  • ASO削除とか意味があった試しがない
  • 書き出せるようになるまで最小限に削っていくと、最後にはほとんどなくなる
  • 再起動して、↑の最小限のファイルを書き出すと書き出せる
  • スクリプトのボタンを押すとソースが見つかりませんと言われることがある
  • ソースが見つからない割には、toString()をoverrideした内容が出るけど、それ以外のメソッドはundefinedになる
  • インスタンス名をつけないと書き出せるけど、付けるとやっぱり書き出せなくなることがある
  • フレームアクションの入ったMCを消すと書き出せることがある
  • Flashを再起動するとすこし様子が変わるけど、やっぱりダメ
  • PCを再起動するともう少し様子が変わるけど、やっぱりダメ

このケースはいままでも結構あるんだけど、大概Flashを再起動したり、ゴニョゴニョしたりで乗り越えてたけど、今回のはちょっと検討が付かない。

意味が分からん。


contributor nao : thread | comment (2)

マクロのテスト2

[2007.12.01 01:37]

さっそく以下の機能を追加で実装してみた。
んー、こんなもんでコア部分はいいかな。
あとは、プロジェクトに入れよう。

  ・文字列連結 (a = 'A' + 'B')
  ・出力文内での処理 (print('A' + 'B' + (1 + 2));)
  ・true / falseの予約語 (入れ忘れた。後ほど実装予定。)
  ・コメント文の実装 (//, /* - */)

AS2だと正規表現がないからメンドイですね。






this is flash contents.

※)おかしなところ気づいたらコメントいただけるとうれしいです。


contributor nao : thread | comment (0)

マクロテスト

[2007.11.29 18:30]

Flashでマクロのパーサー見たいのを書いた。
まだテスト中なのでうまく動くか分かりませんが。。。
基本的にはECMA Scriptの書き方ですが、多くの機能はサポートしてないアルヨ。

サポートは
  ・四則演算子(+, -, *, /)
  ・比較演算子(==, <, <=, >, >=)
  ・代入演算子(=)
  ・論理演算子(and, or)
  ・条件分岐 (if, else if, else)
  ・出力(print(param);)
  ・宣言文 (var param)
  ・型 (Number, String, Boolean)

こんなところかなー。


あと非サポートは

  ・代入文の受け渡し (hoge = fuga = 3)
  ・文字列連結 (a = 'A' + 'B')
  ・出力文内での処理 (print(1 + 2);)
  ・for 文 (対応予定なし。簡易マクロなので。)
  ・true / falseの予約語 (入れ忘れた。後ほど実装予定。)

こんなのとか、ほかもろもろできないこともあるかと思います。。。
なにか挙動がおかしかったらコメントいただけると助かります。






this is flash contents.

※)最後に記入したスクリプトはSOに保存されます。


contributor nao : thread | comment (1)

ADCOLLADAテスト

[2007.11.14 02:29]

ASCOLLADAのメモと実験。






this is flash contents.

現在PV3DにはBeta1.7系とsvnのbranchで開発されているBeta1.9系(Phunky)がある模様。
ASCOLLADAにも同様に1.7系で動くものとBranchで開発されている1.9系(Phunky)で動くものがある模様。






this is flash contents.

こちらが、1.9系(Phunky)。
こっちの方がZ軸の深度の重なりがうまく表現されている。
んー、早く正式版でないかなー。


contributor nao : thread | comment (0)

 1  |  2  |  3  |  4  |  5  |  6  |  7  |  8  |  9  |  10  |  11  |  12  |  13  |  14  |  15  |  16  |  17  |  18  |  19  |  20  |  21  |  22  |  23  |  24  |  25  |  26  |  27  |  28  |  29  |  30  |  31  |  32  |  33  |  34  |  35  |  36  |  37  |  38  |  39  |  40  |  41  |  42  |  43  |  44  |  45  | All pages