我有一个大的ModelVisual3D
(例如汽车),它被分成许多较小的GeometryModel3D
物体(例如轮胎、座椅、车轮等)。
我想在ModelVisual3D
单击鼠标时进行测试并确定哪个GeometryModel3D
被击中。我可以测试我的汽车(ModelVisual3D
),但无法确定汽车的哪个部分(GeometryModel3D
对象)被点击。
有人知道在处理MouseLeftButtonDown
事件(或任何其他鼠标事件)时如何确定模型的确切部分吗?
我有一个大的ModelVisual3D
(例如汽车),它被分成许多较小的GeometryModel3D
物体(例如轮胎、座椅、车轮等)。
我想在ModelVisual3D
单击鼠标时进行测试并确定哪个GeometryModel3D
被击中。我可以测试我的汽车(ModelVisual3D
),但无法确定汽车的哪个部分(GeometryModel3D
对象)被点击。
有人知道在处理MouseLeftButtonDown
事件(或任何其他鼠标事件)时如何确定模型的确切部分吗?
看看http://www.kindohm.com/technical/ComplexVisuals.htm - 我相信那里解释的机制会有所帮助。
这篇博文展示了如何使用该框架进行光线测试:
http://blogs.msdn.com/b/wpf3d/archive/2009/05/18/3d-hit-testing.aspx
回调中的结果包含相交网格的详细信息,您可以从中获取相交的网格的特定部分。