問題タブ [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 - 3D オブジェクトのマウス ホバーでツールチップを表示する
次のように単純なオブジェクトを表示するためにHelixを使用しています
ティーポットのマウス ホバー時にツールチップを表示するにはどうすればよいですか?
ありがとう
c# - HelixToolkit.SharpDX での Obj ファイルのインポートとカーソル位置
私は HelixToolkit.SharpDX の初心者で、2 つの質問があります。
最初: obj モデル (テクスチャ付き) をインポートして Viewport3DX に表示したい。正しく行う方法は?今私は次のものを持っています:
objs 変数を読み取った後、1000 近くのオブジェクトが含まれています。モデルをビューポートに表示するための次のステップは何ですか?
2 番目:もう 1 つの質問: Viewport3DX でカーソル位置を受け取る方法。HelixViewport3D に CursorPosition のようなプロパティはありますか?
前もって感謝します!
c# - らせんツールキットのsharpdxビューポートでモデルにズームする方法は?
次のセットアップ: 2 つのビューポートを持つアプリケーションがあります。メイン ビューポートで要素を選択すると、モデル ジオメトリのコピーが 2 番目のビューポートに拡大表示されるはずです。
視覚補助用にスクリーンショットをアップロードしました :-) http://imgur.com/ILG8Ylk
これに対する私の見解は (とりわけ)、ZoomExtents メソッドを使用することです。
MainViewModel.cs
どちらのオーバーロードもシーンをバインドされたモデルにうまく適合させる必要があると思いますが、常に非常にズームアウトされたビューになり、ほとんどのモデルがビューポートの中央に配置されません。
モデルを原点に変換し、ズーム力を適用することで解決策をハックしようとしましたが、結果は良くなりましたが、それでもまあまあです。
zoomExtends() メソッドが機能しない理由を誰かが知っていますか? そうでない場合は、より洗練されたハック xD の提案があるかもしれません。
私はかなりのジュニア開発者なので、改善のためのコメントをお待ちしております。ありがとうございます。
c# - HelixToolkit で HitTest から要素を除外する方法
スカイボックスのあるシーンがあり、ユーザーがクリックしたポイントをスカイボックスに投影したいと考えています。
ポイントを取得するために使用HelixViewport3D.FindNearestPoint(Point pt)
していますが、クリックとスカイボックスの間に何かがある場合を除いて、非常にうまく機能します。この状況では、スカイボックの前にあるオブジェクトに投影されたポイントを返します。
HitTests で無視されるように要素にフラグを付ける方法はありますか?
sharpdx - model3d 要素の色を効率的に更新する方法
私はViewport3DX
さまざまMeshGeometryModel3D
な要素で を使用しています。ユーザー インターフェイスにはPhongMaterials
、すべての model3d 要素の不透明度 (のアルファ値) を更新するスライダーが統合されています。
これは、不透明度を更新するコードの現在の実装です。
geometryhandler.cs
MainWindow.xaml.cs
このUpdateOpacity
関数は、スライダーの値が変化するたびに呼び出され、MeshGeometryModel3D
要素のディクショナリを反復処理し、それらのマテリアルを更新します。
私は多くの異なるバージョンを試しましたが、最終的にこれが仕事をした唯一の実装でした. ただし、リリース モードであっても、更新は非常に遅く、「ラグ」があります。
私は2つのことを認識しました:
ビューポートでマテリアルを変更するには、既存のマテリアルを複製し、更新して割り当て直す必要がありました。
のアルファ プロパティを直接設定することはできませんでした
Diffusecolor
が、代わりに新しいカラー オブジェクトをインスタンス化しました。
誰かがボトルネックがどこにあるのか考えていますか? マテリアルのクローン作成、新しい色のインスタンス化、またはその両方ですか? それともまったく違うもの?更新を行うためのより良い方法はありますか? あなたの提案を聞いて興味があります。もう本当にありがとう!
c# - Model3D を使用したレイ ヒット テスト
光線モデルの交差をテストする必要があります。Viewport3D ( https://blogs.msdn.microsoft.com/wpf3d/2009/05/18/3d-hit-testing/ )との光線の交差をテストする方法が組み込まれていることを知っています。
それを使用して Model3D をテストする方法が見つかりません。目に見える部分だけでなく、モデル全体の交差をテストする必要があります。
どんな助けでも大歓迎です。