問題タブ [stage3d]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
actionscript-3 - この方法を最適化するにはどうすればよいですか?
TextureAtlas
必要なときにいつでも動的オブジェクトを生成できるアセット クラスの作成に取り組んでいます。具体的な方法はAssets.generateTextureAtlas()
、テクスチャ アトラスを頻繁に再生成する必要があり、53 ミリ秒の平均よりも良い時間を取得したいと考えていたため、可能な限り最適化しようとしています。
53 ミリ秒は現在、約 3 フレームのコストがかかります。これは、テクスチャ アトラス内にパックする必要があるアイテムと、それらを生成する必要がある頻度が増えるにつれて、すぐに加算される可能性があります。したがって、私のコード内のすべての落とし穴に対する答えは素晴らしいでしょう。
クラス コード全体は、こちらの github gist で入手できます。
このRectanglePacker
クラスは、(テクスチャ パッカーと同様に) 四角形をできるだけ近くにパックするために単純に使用され、ここで見つけることができます。
参考までに、方法は次のとおりです。
actionscript-3 - AS3ソフトボディテクスチャスターリング
うなじでやわらかいボディサークルを作りました。そして今、私はそれをテクスチャ化しようとしています。しかし、私は問題を抱えており、答えを見つけることができません。だから私はあなたたちに目を向けています。
私はこのObjectiveCチュートリアルで彼がしていることをやろうとしています:
http://www.uchidacoonga.com/2012/04/soft-body-physics-with-box2d-and-cocos2d-part-44/
starlingとstage3dでこれを行う方法についてのアイデアはありますか?
actionscript-3 - フレックス アプリケーションの背景の可視性を設定する
私は Flex を初めて使用しますが、Away3d を使用して Web アプリを Flex に移植しています。私は少しジレンマを持っています:
最も簡単に言えば:
背後にある必要があるアイテムのマウスイベントをブロックしているため、アプリケーションの背景を alpha=0 だけでなく、visible=false に設定する必要があります。
私が実際にやろうとしていること:
View3D をステージに追加すると、そのインデックスは表示リストとイベント (マウスなど) にのみ関連し、常に他のすべての背後でレンダリングされるため、表示するには Application タグで backgroundAlpha="0" を設定する必要があります。ただし、これには 2 つのオプションがあり、どちらも望ましくありません。
childIndex(0) に View3D を追加すると、View3D にバインドされたマウス イベントは、非表示の (ただし存在する) アプリケーション バックグラウンドによってインターセプトされます。ただし、最高のインデックスでステージに追加すると、フレックス コンポーネントは技術的にはビューの下にあるため、より高く表示されても機能しなくなります。
View3D がマウス イベントに反応する必要があり、Flex コンポーネントをオーバーレイする必要があります。イベントなどをインターセプト/再ディスパッチするために非表示のスプライトを使用したくないのですが、アプリケーションのバックグラウンドの可視性を簡単に設定する方法はありますか?
前もって感謝します
actionscript-3 - この AGAL 出力は正しいですか?
このシェーダーを変換しようとしています:
と
結果として(この出力はあなたによく見えますか?または何かが欠けています):
と
しかし、AGAL頂点シェーダーを非常に単純な作業に変更すると、何も表示できません。
次の方法で GLSL を AGAL に変換するときに、定数を追加します。
そして、次のようにすべてのバッファーを準備します。
助言がありますか?
actionscript-3 - GLSL を AGAL に移植する Stage3D
この GLSL シェーダーを Stage3D と AGAL に移植しようとしていますが、うまくいきません。
頂点シェーダー (GLSL)
フラグメントシェーダー (GLSL)
結果として:
頂点シェーダー (AGAL)
フラグメントシェーダー (AGAL)
これは、私が実行した命令のトレースです。
しかし、まだ何も見えません。
更新:どうやら問題は、三角形が切り取られていることです。乗算された配列の値は 1.0 より大きいため、切り取られます。したがって、マトリックスを正規化する方法を見つけるか、クリッピングを拡張する必要があります
なにか提案を?
3d - モデル空間ベクトルをクリップ空間に変換する
ビットマップを表示するために単純な頂点シェーダーを実装しています。4 つの頂点が定義され、各頂点シェーダーは、ビットマップの幅/高さをビューポートの幅/高さで割ったものと組み合わせて、それぞれの UV を使用して、クリップ空間の位置を変更します。かなり典型的なものです。そのためのスタブコードを次に示します。
私がやりたいことは、大きさが固定数のピクセルであるワールド空間で定義されたベクトルの方向にビットマップをオフセットすることです。ここで難しいのは、ワールド空間ベクトルをクリップ空間に変換する方法です。翻訳コンポーネントなしで objectToClipSpaceTransform を使用しようとしましたが、結果が正しくありません。それで、どうすればいいですか?
mobile - モバイルAdobeFlashAIR上のビデオカメラとStage3D。拡張現実-AIRの現実
簡単な質問
Stage3Dを使用してAdobeAIRアプリケーションでWebカメラをすばやく表示するにはどうすればよいですか?
詳細な質問
約
私の目標は、AR(拡張現実)モバイルアプリケーションのプロトタイプを作成することです。多くのモバイルプラットフォーム(iOS、Android、Blackberry Playbook)に簡単に移植できるモバイルおよびAIRアプリでの優れた3Dグラフィックスサポートのために、AdobeFlashAIRを選択しました。
目的
複雑な3Dモデルを表示したい(したがって、Stage3Dを使用する必要があります)。そして、フロントカメラからのビデオの下。いつものようにARアプリケーション。
ここに例があります
(出典:augmentedplanet.com)
問題
Stage3Dはまったく透明ではないため、StageVideoはStage3Dの下に表示されないため、カメラのコンテンツをすばやく表示するためにStageVideoを使用することはできません。
それで
そして、私が見つけた唯一の決定は、動的なテクスチャの更新で平らな表面を作成することです。
これは、webcamvideoとStarling Framework(Stage3D)の統合の例です。しかし、多くの通常のモバイルデバイスでは、非常に大きなテクスチャの更新(ほぼ画面解像度のサイズと同じくらい)が発生するため、どのアプリも低fpsに低下したり、クラッシュしたりします。たとえば、GalaxyNoteで行ったこと。320x200のテクスチャサイズで、かなり良いパフォーマンスがありますが、ARアプリでは見苦しいです。
では、AIRでARを作成するための優れたソリューションはありますか?誰かが同じ挑戦を受けましたか?
flash - Stage3D アフィン テクスチャリングと正しいパースペクティブ ディバイド
パースペクティブ マトリックスを使用する場合、Stage3D はどの程度正確にテクスチャ マッピングを行うことができますか?
UV 以外の情報はバーテックスからフラグメント プログラムに転送されないため、裏で行われているとしか思えません。
アフィン マッピング効果を回避するために 20x20 の三角形メッシュでテクスチャを歪めていますが、同じ効果のために組み込みのパースペクティブ ディバイドを使用することはできないのでしょうか?
flash - RangeError: エラー #3609: ストリーム 0 に十分な頂点がありません
stage3Dを使って3Dで回転する立方体を開発しています。
Firefox では結果を完全に確認できますが、Chrome では何も表示できません。私が設定したとき:
ブラウザからこのコールバックを受け取ります
ただし、頂点の数は問題ありません。
なにか提案を?
actionscript-3 - Stage3D が Z バッファーに書き込まないようにすることはできますか?
非表示のオブジェクトをレンダリングして、Stage3D のリンクに示されているのと同様の効果を実現したいと考えています。
私はすでに理論的にこれを行う方法を知っています。オブジェクトを 2 回描画する必要があります。
- 一度通常の設定で
- レンダリングされたジオメトリの背後にあるピクセルのみが表示される別の深度並べ替えモードで 1 回。また、後で奇妙な効果が発生するのを防ぐために、これらのピクセルを深度バッファにレンダリングすることはできません。
を使用して、Stage3D で正しい深度ソート モードを設定できますContext3DCompareMode.GREATER
。また、Stage3D のレンダリング ピクセルをバック バッファーに入れ、z バッファーには入れないようにすることはできますか?
Stage3D が深度バッファーにレンダリングされないようにすることができない場合、効果は次のようになります。