問題タブ [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.
wpf - Helix Toolkit ViewPort で光を反射しないマテリアルを設定するには?
特定の位置を持つ 20 個のSpotLight
ポイントを含むリストを作成してレンダリングします。Helix
ViewPort
タイマーでいつもの色を変えていSpotLight
ます。ViewPort
ライトは次
のように設定されています。<helix:DirectionalHeadLight Position="2,3,0" Brightness="0.30"></helix:DirectionalHeadLight>
また、リストを作成し、20 個の球体のリストをレンダリングしますSphereVisual3D
。SpotLight
とのSphereVisual3D
位置は似ています。球体のマテリアルを設定するよりも (この場合はインディゴ)。写真を参照してください:
図 1:SphereVisual3D
位置
図 2:SpotLight
位置 ( ごとに異なる色を使用SpotLight
)
からMaterial
反射することなく、球を同じに保ちたい。の3種類すべてで試しました:light
SpotLights
Material
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
光を反射せず、そのままの色に設定することはできますか?無地の色を設定する可能性はありますか?
c# - C# WPF での ModelVisual3D オブジェクトの操作
ちょっと私は WPF 3D シーンを使用しており、いくつかの .stl モデルを正常にロードしました。ウィンドウ内のマウスの位置に基づいて、これらのオブジェクトを選択および選択解除する方法を基本的に使用しています。
だから私は選択したModelVisual3Dを持っていて、それを保存することができました. ただし、主な問題は次のとおりです。
私のモデルは、特定のデータと関連する .stl モデルに基づいて生成されます。基本的に、.stl モデルをインポートして 3D シーンに表示しますが、他のデータをモデルに接続する方法がわからないという問題があります。
たとえば、ビジュアルを選択すると、材料、寸法、会社などの情報を含む別のウィンドウを表示したいと考えています。
しかし、現時点でどの一意の ModelVisual3D オブジェクトが選択されているかを判断する方法がわかりません。次のような利点を得るために使用できるプロパティはないようです。
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 がありません。
c# - Helixtoolkit でズーム
Leap Motion を使用して Helix Toolkit で 3D オブジェクトを制御しようとしていますが、ほぼ成功していますが、コード ビハインドで「ズーム」を行う方法を考えています。
NB 私は Caliburn (MVVM パターン) を使用しています。
時計回りの CircleAction を実行するとズームインし、それ以外の場合はズームアウトします。
そして、これが私の HelixToolkit ゾーンです。
c# - WPF Helix 3d「アイテム」をBillboardTextGroupVisual3Dにバインドする方法
XAML で BillboardTextGroupVisual3D のアイテムをバインドしたいのですが、次のようにアイテムの DependencyProperty に関するソース コードも確認します。
ここで、私が試したスニペット コードを過ぎましたが、それらはすべて失敗しました。List の DependencyProperty を動的に更新する方法がわかりません。
MainWindows.xaml で、項目を TextItems3 にバインドします。
MainWindows.xaml.cs で、ObservableCollection を使用するように言われましたが、それでも失敗します..
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 内でこれを行う方法がわかりません。