3

HelixToolkit を使用して、以下に示す 3D モデルを表示しようとしています。(次のスナップショットは SolidWorks から取得したものです。)

ここに画像の説明を入力

DiffuseMaterial使用済みMaterialBackMaterial私のブラシの色を透明色に設定しGeometryModel3Dました。

Model3DGroup faceVisualEntity = ModelFaces.First(modelFace => modelFace.Content.GetName() == faceName).Content as Model3DGroup;

// Breaking the 3D-model down to the constituting mesh..
//
foreach (var child in faceVisualEntity.Children)
{
    if (child is GeometryModel3D)
    {
        GeometryModel3D body = child as GeometryModel3D;
        body.Material = new DiffuseMaterial(new SolidColorBrush("#40FF0000"));
        body.BackMaterial = new DiffuseMaterial(new SolidColorBrush("#40FF0000"));
    }
}

しかし、私が見ることができるのはHelixViewport3D以下のようなものです。

ここに画像の説明を入力

箱の側面は透明に見えるのに、なぜ箱の中のパイプが見えないのだろう。パイプの壁の色も不透明な値に変更しましたが、まだ見えません。

ここに画像の説明を入力

4

1 に答える 1

3

実際には、HelixToolkit の透明度機能を使用することは、モデル フェース マテリアルのアルファ チャネルを変更するだけでは達成されません。SortingVisual3D実際、モデルの透過性をサポートするには が必要であることを示す HelixToolkit コードの例があります。そのため、まず のインスタンスをSortingVisual3Dに追加し、HelixViewport3D次に 、 などの Visual3D オブジェクトを追加しました。その結果、私が今見ることができるのは以下のようなものです。ModelVisual3DLinesVisual3D

ここに画像の説明を入力 ここに画像の説明を入力

于 2016-02-05T00:51:06.057 に答える