問題タブ [scenegraph]

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.

0 投票する
1 に答える
1774 参照

javafx-2 - 非表示ノードのJavaFX 2.2 Mouseevent

JavaFX 2.2 で非表示ノードの MouseEvents を受信しようとしています。たとえば、マウスがホバーしたときにアクションをトリガーする必要がある、インタラクティブだが目に見えないゾーンと考えてください。問題は、これが静的に定義されたゾーンではなく、アプリケーションによって移動およびサイズ変更できる複数のゾーン (多数) があることです。したがって、私のユースケースでは、マウスの動きをグローバルにリッスンし、MouseMove-Events の手動検出を実行すると、多くのオーバーヘッドが発生します。

現在、私は透明な Rectangle ( new Rectangle(200, 100, Color.TRANSPARENT)) を試していますが、実際の / 最終的なアプリケーションは、実際には他のコンポーネントのドラッグ可能なコンテナーであるため、ある種のペインを使用します (コンポーネントでいっぱいでない場合、透明な領域があり、これらの透明な領域でも MouseMoves を検出する必要があります)。

さらに、ノードの可視性に応じてJavaFX 2.2が一般的にMouseEventsを処理する方法をよりよく理解するのに役立つ回答をいただければ幸いです。

私の実験は、これまでのところ次の一般的な洞察を示しています。

  • 透明なシーンの場合: マウス イベントは、ユーザーが透明な領域をクリックしたときに、外部アプリケーション (視覚的にはシーンの下) にのみ渡されます。ユーザーがシーンの可視ピクセルをクリックしたときに、マウスイベントを「OS に」渡す方法はありません。右?

  • 他のノードの上のペインは、MouseTransparent であるか、MouseClick が非表示 (透明) 領域に表示されない限り、デフォルトですべての MouseEvent を飲み込みます。

  • pickOnBounds(true|false)trueMouseEvents の境界ベース (四角形) 検出を有効にする( ) か、または無効にする ( false) ためにあります。後者は、可視ピクセル/領域に対してのみマウスイベントを効果的に処理します。pickOnBounds(true)完全に見えないノードでは機能しないようです。右?

  • 私の実験では、ノードが表示されると見なされるには、少なくとも - の塗りつぶしが必要であることが示されましたnew Color(1,1,1,0.004)。低いアルファ値は不可視と見なされるため、MouseEvents が呼び出されたとしても処理されませんpickOnBounds(true)

私はこれを正しく理解しましたか?その場合、不可視の Node が MouseEvents を受け取る方法はありません。

それとも働くために特別な要件がありpickOnBoundsますか?ノードが表示された後などにのみ呼び出す必要がありますか? 他の提案はありますか?

0 投票する
1 に答える
257 参照

javascript - この目的には、どの HTML5 Canvas ライブラリを使用すればよいですか?

私は HTML5 と Javascript の初心者ですが、それらを使用して視覚化する必要があります。

これが私のドメイン/問題です:

  1. グラフ ノードの大規模なセットを視覚化する必要があります。視覚的に、ノードは色と透明度を備えたサイクルになる可能性があります。

  2. includeinteractの 2 つの関係があります。

  3. include1 つのノードが他の異なるタイプのノードを含むことを意味します。視覚的には、ユーザーは大きなノードの中に小さなノードが含まれているのを見ることができます。

  4. interact単純に、線が異なるノードを接続することを意味します。線には、矢印、ラベル (テキスト)、および太さが必要です。

  5. 効果については、ノードが静的ではないなどのアニメーションが必要ですが、一部のノードには浮遊するアニメーションが必要です (中央の場所の周りの少量の定期的な浮遊移動)。または、一部のノードに呼吸のようなパルス効果が必要です。

  6. ユーザーはいくつかのノードをドラッグできます。ノードをドラッグすると、接続されているすべてのノード/グラフが接続に従って移動するはずです。

  7. 衝突を自動検出する必要があります。また、衝突が発生した場合、すべてのノードは適切に分散するためにいくつかのアルゴリズムに従う必要があります。


ここに私の質問があります:

  1. どの Canvas ライブラリを使用すればよいですか? とにかく私は初心者なので、私のニーズに合った素敵でシンプルなものが最適です.

  2. 浮遊アニメーションとパルス (呼吸) アニメーションを実行するには、どのアルゴリズムを探す必要がありますか?

  3. ノードをドラッグすると、接続されたすべてのノードが蛇のように追従するためにどのアルゴリズムを使用すればよいですか?

  4. 衝突と分散にはどのアルゴリズムを使用すればよいですか?

ありがとう

0 投票する
1 に答える
1923 参照

qt - QSGSimpleTextureNode の使用方法は?

QSGSimpleTextureNode の使用方法を理解しようとしていますが、Qt のドキュメントは非常に曖昧です。シーン グラフにテキストをレンダリングしたいので、基本的には、すべてのグリフでテクスチャを描画し、そのテクスチャを QSGSimpleTextureNode に設定します。私の考えは、標準の OpenGL コードを使用してテクスチャを作成し、作成したばかりのデータにテクスチャ データを設定することでした。これを達成する方法を示す例が見つかりません。

0 投票する
0 に答える
712 参照

libgdx - libGDX の 3D シーン グラフ

JOGL を 6 か月近く使用した後、libGDX を試すのは今日が初めてです。

問題: 実行時に 3D モデルを他のモデルに動的にバインドするソリューションが必要です。シンプルな 3D ドッグ ファイト ゲームを設計していますが、ハード ポイントの武器をゲーム中に変更する必要があります。

私が試したこと: JOGL のバックグラウンドから来て、Matrix スタックを使用して独自のシーン グラフを実装すると考えました-libGDX には 3D シーン グラフがありません。しかし、libGDX が OpenGL 1.0 を減価償却したため、プッシュ/ポップ マトリックスが見つかりません。また、instance.transform を介してオブジェクトに変換を適用できることはわかっていますが、それを使用してシーン グラフを実装する方法が思いつきません。

これには libGDX が組み込まれていますか?

0 投票する
1 に答える
88 参照

c++ - シーン グラフとグラフ エッジについて

そのため、コード (C++ でのゲーム コーディング) でシーン グラフとノードを使用することに慣れようとしています。それらの基本と使用方法を理解していると思います (そして、その利点を確実に見ることができます)。 「グラフ エッジ」という用語に出くわしましたが、それらが何であるか、オブジェクト階層構造のシーン グラフ/ツリー/ノードとどのように適合するかを正確に説明している読み物が見つかりません。

誰かが良い資料を知っているか、グラフのエッジとは何か、それらがどのように(使用および実装において)どのように適合するかについて独自の答えを持っている場合、それは素晴らしいことです。

ありがとう

0 投票する
0 に答える
53 参照

opengl - OpenGL のシーン グラフのさまざまなデータ型

開発中の都市の簡単なシーン グラフを作成しました。平面である地面と建物(立方体の体とピラミッドの屋根で構成されている)があります。それらはすべてモデル型であり、すべて同じデータ型であるため、シーングラフに追加できます。モデル型ではないものをシーン グラフに追加したい場合、どのようにすればよいでしょうか? たとえば、ライトを追加したかった。

これを使って始めました: http://research.ncl.ac.uk/game/mastersdegree/graphicsforgames/scenegraphs/Tutorial%206%20-%20Scene%20Graphs.pdf

私の質問をよりよく説明するために、そのチュートリアルから、シーングラフに追加したいメッシュ以外のものがあるとしたらどうでしょうか?