問題タブ [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.

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

c# - 3D モデルの高さをセンチメートルに変換する方法

STL ファイルの読み込みに Helixtoolkit を使用しています。helixviewport3D シーンで、Bounds メソッドを使用してモデルの高さを計算します。Bounds メソッドは、モデルをラップする 3D Rectangle を返します。Bounds.SizeZ はモデルの高さを返します。しかし、私はそのサイズがセンチメートルまたは現実世界に存在する他の単位で欲しい. 少し調べてみると、1px は実際には 0.026458333 cm に等しいことがわかりました。すべてのビューポートまたはコンピューターで正しいですか。

その高さはどのように計算できますか? ここに画像の説明を入力

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

wpf - Helix Toolkit ViewPort で光を反射しないマテリアルを設定するには?

特定の位置を持つ 20 個のSpotLightポイントを含むリストを作成してレンダリングします。Helix ViewPortタイマーでいつもの色を変えていSpotLightます。ViewPortライトは次 のように設定されています。<helix:DirectionalHeadLight Position="2,3,0" Brightness="0.30"></helix:DirectionalHeadLight>

また、リストを作成し、20 個の球体のリストをレンダリングしますSphereVisual3DSpotLightとのSphereVisual3D位置は似ています。球体のマテリアルを設定するよりも (この場合はインディゴ)。写真を参照してください:

図 1:SphereVisual3D位置

ここに画像の説明を入力

図 2:SpotLight位置 ( ごとに異なる色を使用SpotLight)

ここに画像の説明を入力

からMaterial反射することなく、球を同じに保ちたい。の3種類すべてで試しました:lightSpotLightsMaterial

1:sphere.Material = new DiffuseMaterial(new SolidColorBrush(Colors.Indigo));

図 1.1: と を持つDiffuseMaterial球体SpotLights ここに画像の説明を入力

2:sphere.Material = new SpecularMaterial(new SolidColorBrush(Colors.Indigo),1);

図 2.1: と を持つSpecularMaterial球体SpotLights ここに画像の説明を入力

3:sphere.Material = new EmissiveMaterial(new SolidColorBrush(Colors.Indigo));

図 3.1: と を持つSpecularMaterial球体SpotLights ここに画像の説明を入力

Material光を反射せず、そのままの色に設定することはできますか?無地の色を設定する可能性はありますか?

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

c# - C# WPF での ModelVisual3D オブジェクトの操作

ちょっと私は WPF 3D シーンを使用しており、いくつかの .stl モデルを正常にロードしました。ウィンドウ内のマウスの位置に基づいて、これらのオブジェクトを選択および選択解除する方法を基本的に使用しています。

だから私は選択したModelVisual3Dを持っていて、それを保存することができました. ただし、主な問題は次のとおりです。

私のモデルは、特定のデータと関連する .stl モデルに基づいて生成されます。基本的に、.stl モデルをインポートして 3D シーンに表示しますが、他のデータをモデルに接続する方法がわからないという問題があります。

たとえば、ビジュアルを選択すると、材料、寸法、会社などの情報を含む別のウィンドウを表示したいと考えています。

しかし、現時点でどの一意の ModelVisual3D オブジェクトが選択されているかを判断する方法がわかりません。次のような利点を得るために使用できるプロパティはないようです。

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

c# - フォームで Controls.ItemsControl を取得するにはどうすればよいですか

Controls.ItemsControl (実際には a )がHelixViewport3Dあり、 a 内に追加したいと思いForms.UserControlます。

this.Controls.Add(new HelixViewport3D()); 私はすでにWhere this is a派生物 を試しましたが、これはUserControl エラーになりましたHelixToolkit.Wpf.HelixViewport3D' to 'System.Windows.Forms.Control。互いに何も継承していないことを考えると、これは理にかなっています。これらの状況で一種のラッパー クラスはありますか?

また、ElementHost.Child を使用して winform で WPF をホストできるはずであることに気付きましたが、この変数/関数を追加すると、私のコード例では見つかりません (何か不足していますか?)、 System.Windows.Forms.Integration.ElementHost は伝えます私 System.Windows.Forms.Integration がありません。

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

c# - Helixtoolkit でズーム

Leap Motion を使用して Helix Toolkit で 3D オブジェクトを制御しようとしていますが、ほぼ成功していますが、コード ビハインドで「ズーム」を行う方法を考えています。

NB 私は Caliburn (MVVM パターン) を使用しています。

時計回りの CircleAction を実行するとズームインし、それ以外の場合はズームアウトします。

そして、これが私の HelixToolkit ゾーンです。

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

c# - WPF Helix 3d「アイテム」をBillboardTextGroupVisual3Dにバインドする方法

XAML で BillboardTextGroupVisual3D のアイテムをバインドしたいのですが、次のようにアイテムの DependencyProperty に関するソース コードも確認します。

ここで、私が試したスニペット コードを過ぎましたが、それらはすべて失敗しました。List の DependencyProperty を動的に更新する方法がわかりません。

MainWindows.xaml で、項目を TextItems3 にバインドします。

MainWindows.xaml.cs で、ObservableCollection を使用するように言われましたが、それでも失敗します..

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

c# - HelixToolkit を使用して、SharpDX の他のすべてのものの前に常にオブジェクトを保持するにはどうすればよいですか

座標系 (GroupModel3D から派生した独自のクラス) をシーンに追加し、その Transform を現在選択されているオブジェクトの変換に設定しています。

オブジェクトが大きすぎる場合、座標系が内側にあるため表示されない場合を除いて、すべて正常に機能しています。だから私は、ほとんどの CAD システムと同じように、座標系を topMost にするのが好きです。

インターネットを検索したところ、z-/depth- バッファーを単純にクリアするだけで解決できることがわかりました ( http://www.gamedev.net/topic/297605-how-to-keep-an-object-always-visiblein-front -of-others/ ) しかし、HelixToolkit 内でこれを行う方法がわかりません。