C# wpf 3d当相机在前面时,我可以看到shpe,但当相机在后面时,我看不到

C# wpf 3d当相机在前面时,我可以看到shpe,但当相机在后面时,我看不到,c#,wpf,xaml,C#,Wpf,Xaml,你正在经历 背面消隐是3D引擎执行可见性检查的一个重要部分。它的目的是检测在特定场景中不可见的多边形,即面朝远离观看者的多边形 在大多数三维系统中,只有正面可见。正面由缠绕顺序或点决定。在这种情况下,正面的缠绕顺序为逆时针方向。如果要反转“三角形索引”属性中点的顺序: <PerspectiveCamera x:Name="camera" FarPlaneDistance="50" LookDirection="0,+10,0" UpDirection="

你正在经历

背面消隐是3D引擎执行可见性检查的一个重要部分。它的目的是检测在特定场景中不可见的多边形,即面朝远离观看者的多边形

在大多数三维系统中,只有正面可见。正面由缠绕顺序或点决定。在这种情况下,正面的缠绕顺序为逆时针方向。如果要反转“三角形索引”属性中点的顺序:

<PerspectiveCamera x:Name="camera" FarPlaneDistance="50" LookDirection="0,+10,0" 
                UpDirection="0,0,1" NearPlaneDistance="0" Position="0,-5,0"
                FieldOfView="50" />


然后你应该只在“后”摄像头中看到三角形,而在“前”摄像头中它是不可见的。

我对WPF 3D不太了解,但听起来你的正方形是单面的。您应该能够使用
MeshGeometry3D
的法线属性进行实验,使其具有双面性。欢迎使用!我在下面发布了一个答案,但请用实际问题更新您的问题。以下是提问指南:
<PerspectiveCamera x:Name="camera" FarPlaneDistance="50" LookDirection="0,-10,0" 
                UpDirection="0,0,1" NearPlaneDistance="0" Position="0,5,0"
                FieldOfView="50" />
<PerspectiveCamera x:Name="camera" FarPlaneDistance="50" LookDirection="0,+10,0" 
                UpDirection="0,0,1" NearPlaneDistance="0" Position="0,-5,0"
                FieldOfView="50" />
<MeshGeometry3D Positions="-1,0,-1 -1,0,1 1,0,1 1,0,-1" TriangleIndices="2,1,0"/>