問題タブ [helix-3d-toolkit]
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.
c# - helix-3D ツールキットで実行時に 3D 要素を追加する方法
私は helix-3DToolkit を使用する小さなプロジェクトに取り組んでいます。そこで、実行時にいくつかの 3D オブジェクトを追加したいと考えています。
要素を追加し、MeshBuilder から MeshGeometry3D を追加しようとすると、次のスタック トレースで毎回同じ nullreference 例外が発生します。
xaml は次のようになります。
ビューモデル:
そして私の形で私はこれを持っています:
このコードの何が問題になっていますか? 実行時にいくつかの要素をビューポートに追加するにはどうすればよいですか? これに MeshGeometryModel3D を使用するのは正しいですか? 新しい MeshGeometryModel3D ジオメトリを追加しようとしましたが、既存のものを変更しましたが、何も機能しません。
c# - ZoomExtents メソッドの呼び出しは、ジェスチャーによる ZoomExtents のアクティブ化とは異なります
私はMVVMスタイルのアプリケーションで小さな3Dプレビューウィンドウに取り組んできました...ビューが作成され、そのデータコンテキストが設定されます。したがって、 ZoomExtentsWhenLoaded="True" は、必要なことを行うのに役立たないようです。ZoomExtentsWhenDataContextChanges のようなものが必要です。
興味深いことに、以下に定義されているようなマウス ジェスチャを使用すると、HelixViewport3D を物理的にクリックして、ZoomExtents を実行できることがわかりました。
しかし、このようなことをすると...
ビューポートはズームしますが、マウス ジェスチャを使用して ZoomExtents を有効にしたときのように、中央に配置されません。
私は ResetCamera と他のいくつかのことを試しました...毎回新しいビューポートを作成する代わりに、ビューポートを保持し、DataContext を交換する標準的な方法は何ですか?
c# - Helix Toolkit - obj サブメッシュ
ヘリックス ツールキットを使用して OBJ ファイルをインポートしています。ファイルには 4 つの 3D モデルが含まれています。OBJ をインポートするために使用しているコードは次のとおりです。
私がやろうとしているのは、オブジェクト内のメッシュを名前で選択することです。名前は v_a、v_b、v_c、v_d です
私はそれらを選択することができないようです。
helix-3d-toolkit - Helix Toolkit のカメラ ターゲットの設定方法
カメラのターゲットを設定し、ターゲットにズームするにはどうすればよいですか? もちろん変換される Point3D 位置を持つ多くの 3D ビジュアルがあるため、カメラはオブジェクトを正確に特定しません。
wpf - WPF 3D テクスチャの交差
Helix 3D Toolkit を使用して、WPF アプリケーションで 3D オブジェクトを描画しています。現在、3D (長方形) で 2D 形状を描画する作業を行っており、形状が交差するときにテクスチャに問題があります。
カメラを移動すると、交点が変化します。
あるシェイプを他のシェイプより少し高く配置しようとしましたが (Z = 0.101 および 0.102)、結果は同じです。差を大きくすると (Z = 1 と 2)、問題は解決します。しかし、それは高すぎます。シェイプの上に他の 3D オブジェクトがあり、シェイプがそれらに重なってはならないからです。
なぜこれが起こるのですか?わずかな高低差でも、どのテクスチャを表示するかが明確にわかると思いました。
私はグーグルで検索しようとしましたが、関連する結果を得るためにこの問題を正しく説明する方法さえ知りません。
c# - helix-toolki での作成後に HelixVisual3D が更新されない
らせんツールキットのビューポートに円形のトーラスを表示する必要があります。私が見つけた最も近いオプションは HelixVisual3D でしたが、それには終わりがありません。そこで、HelixVisual3D と両端を閉じる 2 つの薄い円錐を使用して、独自のクラスを作成して描画しようとしました。Building Demo のクラスを参照として使用したので、次のように思いつきました。
それを描画するには、次のコードを使用しています。
問題は、らせんがデフォルト値 (半径 = 0.35、直径 = 0.1、角度 = 90) で描画され、二度と更新されないことです。プロパティに設定した値に関係なく、同じままです。両方のシリンダーは正しく更新されていますが、Helix だけは更新されていません。
私は何を間違っていますか?
c# - Helix Toolkit ミラー X 軸
HelixViewport3D の x 軸全体をミラーリングして、別のアプリケーションの座標系と一致させようとしています。
次のように、カメラで Transform プロパティを使用してみました。
これは私が見ることができる結果を生み出しません。ビューポート内のオブジェクトの位置の値を変更せずにこれを行う別の方法はありますか?
c# - Helix - HelixViewport3D 内のオブジェクトの座標をクリックします
クリックした HelixViewport3D 内のポイントの座標を知りたいです。
私の仕事は次のとおりです。
1) RectangleVisual3D をサーフェスとして。
2) このサーフェスをクリックして、マウス ポインタの下に 3D オブジェクトを追加します。
=>this<=を見つけましたが、アイデアをさらに発展させることはできませんでした。
手伝ってくれてありがとう :)
c# - らせんツールキットでクリック可能なオブジェクトを作成する
Helix Toolkit で、ScatterPlot に呼び出される例を見つけました。これは、私が本当に必要としているものに非常に近いものです。しかし、作成されたオブジェクト (この場合は球体) に onclick イベントリスナーを追加する方法については何も見つかりません。これにより、球体が「遊び場」に追加されます。
基本的な目標は、すべての球体に onclick イベント リスナーを追加することです。ユーザーが色を選択してこれらの球体の 1 つをクリックすると、選択した色に変わります。球体に onclick リスナー (またはそれに相当するもの) を追加することができます。
c# - プリミティブ三角形を小さな三角形に分割する
Helix Toolkit で WPF を使用してパイプをレンダリングしています。提供された関数が生成する三角形プリミティブが大きすぎて使用できないことに気付きました。
たとえば、赤い三角形がプリミティブである場合、三角形の中央部分 (たとえば) を制御したいとします。私が考えることができる 1 つの方法は、示されているように、赤い三角形を青い三角形にさらに分割することです。この分割を可能にする方法またはアルゴリズムを教えてもらえますか?