当我通过透明表面MeshGeometryVisual3D元素点击我的可点击的蓝色立方体时,我想让它改变颜色。当多维数据集容器是ViewPort类的子类时,一切正常,但通过表面不可见(没有排序),但当它是Helixtoolkit.SortingVisual3D的子类时,单击事件停止工作,但通过表面可见!这是我使用的SortingVisual3D元素的代码:
<helix:SortingVisual3D x:Name="sortingVisual1" Method="BoundingSphereSurface" SortingFrequency="5" >
<helix:MeshGeometryVisual3D x:Name="_visual" MeshGeometry="{Binding objectGeometry}" Visible="{Binding IsChecked, ElementName=MeshVisible}" >
</helix:MeshGeometryVisual3D>
</helix:SortingVisual3D>多维数据集添加到SortingVisual3D元素的代码如下:
AddCubePoint cpsorting = new AddCubePoint(middle, defaultMaterial);
sortingVisual1.Children.Add(cpsorting);

我试着在相同的位置使用两个相同的立方体(一个是ViewPort的子级,第二个是SortingVisual3D的子级),但在表面后面单击时颜色发生了变化,只有ViewPort的子级(见图)!

我刚接触helix-3d-toolkit,经过2天的研究,我找不到任何可行的解决方案或想法来解决这个问题!求求你救救我!
发布于 2021-07-21 22:57:25
您需要将立方体放在半透明网格之前,以便首先渲染立方体。将透明网格点击测试可视设置为false
https://stackoverflow.com/questions/68410150
复制相似问题