2012-01-29 86 views
0

我有一個Viewport3D對象,其中包含分層Model3D對象(分組在Model3DGroups中)的場景。
我需要將2D對象「附加」到場景中的3D元素。
我讀了一些關於3D投影的文章,但我無法完全理解如何將WPF場景數據應用到這些解決方案。
這樣做的正確方法是什麼?我也試過Petzold.Media3D庫,但我不知道如何使用它...將2D對象附加到WPF中的3D對象

感謝

+0

[將三維點投影到二維屏幕座標]的可能副本(具體請參見http://stackoverflow.com/questions/519106/projecting-a-3d-point-to-a-2d-screen-coordinate) [使用'TransformToAncestor']檢查此答案(http://stackoverflow.com/a/2037128/7116)。 – user7116 2012-01-29 16:02:19

+0

不完全是,我在這些解決方案中缺少的是如何獲得我想附加到的對象在3D空間中的位置... – Oren 2012-01-29 17:41:35

+0

您的標題說明了3D對象的2D位置,這是其他答案需要。然後,您可以使用2D位置將對象放置在3D對象頂部的畫布或網格中。如果這不是你想要的,你應該相應地修改你的標題。 – user7116 2012-01-29 17:44:19

回答

1

我認爲你正在尋找Viewport2DVisual3D class。它允許您將任何Visual2D渲染到3D空間中。

在網上搜索關於這門課程的更多信息將會給你解釋它如何工作的例子和視頻。

無論如何,如果你正在做任何WPF 3D,你還需要知道Helix Toolkit - 一個很棒的(免費的)WPF 3D工具包。

它最近增加了兩個類,也可能是有關你在做什麼:

  • BillboardVisual3D(四是始終面臨着攝像頭)和
  • TextBillboardVisual3D(文字總是面向相機)。

如果您想製作一些必須始終面向3D相機的2D圖像,這些功能非常有用。

+0

謝謝,似乎解決了我正在尋找的內容 - 我需要顯示附加到3D對象但始終面向相機的對象。我會研究它並更新... – Oren 2012-01-30 09:01:49

+0

我檢查了這個工具包,雖然它非常豐富,但它沒有解決這個問題 – Oren 2012-01-31 16:42:52