1

我想为对象添加透明度(不丢失点击事件)。谷歌让我试试 SortingVisual3D。如果没有 SortingVisual3D,一切(透明度除外)都运行良好,Click-Events 也一样。

现在我尝试实现它(简化代码):

Public SV3d As New HelixToolkit.Wpf.SortingVisual3D
Public Model3DUI As New ModelUIElement3D

'Apply geometry
    Model3DUI.Model = geometry 'skipped geometry code in this post
'Add Click Event
    AddHandler Model3DUI.MouseLeftButtonUp, AddressOf ClickEvent
'Add to SortingVisual3D
    SV3d.Children.Add(Model3DUI)
'Add to ViewPort
    Viewport.Children.Add(SV3d)
'Setup SortingVisual3D
    SV3d.SortingFrequency = 2
    SV3d.Method = HelixToolkit.Wpf.SortingMethod.BoundingBoxCorners
    SV3d.IsSorting = True

基本上它工作正常,一切都按原样呈现,透明度也在工作。但由于某种原因,现在点击事件不起作用。有人知道我做错了什么吗?

我对 Helixtoolkit 不是很有经验,所以我的方式可能是完全错误的。

4

1 回答 1

0

首先创建SortingVisual3D,然后在开始添加可视可点击对象,最后添加透明对象,命中测试可见设置为false!这对我有用!

于 2021-07-22T18:31:58.540 回答