Geometría TransparenteModelo3D

Necesito crear un GeometryModel3D transparente.
Me gusta:
Me gusta:


Probé este código:

var m = new Model3DGroup();
var panelsGeometry = MyMeshGeometry3D;
        Brush br = new SolidColorBrush(Colors.Red);
        br.Opacity = 0.5;
        m.Children.Add(new GeometryModel3D(panelsGeometry, new DiffuseMaterial(br)) { BackMaterial= new DiffuseMaterial(br) });


Pero como resultado me sale esto:
enter image description here


¿Qué estoy haciendo mal? Gracias.

preguntado el 12 de junio de 12 a las 10:06

Parece que la opacidad solo mezcla el color con la apariencia predeterminada pero no afecta la opacidad de los polígonos... -

3 Respuestas

Podrías usar una imagen transparente con un ImageBrush, un píxel sería suficiente, pero deberá configurar TextureCoordinates en el objeto de malla.

Respondido el 12 de junio de 12 a las 11:06

¿Podría dar un ejemplo de esto? No puedo entender - buscador_sl

@user1159999: solo crea un png imagen con un píxel que tiene el color deseado pero con la transparencia que desea, haga un ImageBrush a partir de él, haga un material a partir de eso, asígnelo a las propiedades. Para las coordenadas, probablemente puedas usar algo simple como "0 1 1 1 0 0 1 0". - media pensión

Debe usar TextureCoordinates y tendrá que ordenar que los lados se dibujen de atrás hacia adelante para que se mezclen correctamente. WPF no hace esto.

Vea este artículo

Respondido el 12 de junio de 12 a las 11:06

Asegúrese de que la geometría de la malla de su caja contenga 24 puntos. Si su cuadro contiene la cantidad mínima de puntos (8), entonces las caras posteriores no se renderizarán.

Por ejemplo, ver aquí.

Puede descargar Normals3D.zip y cambiar la opacidad del pincel de los cuadros de malla completa para obtener el efecto deseado.

Respondido 20 Oct 13, 07:10

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.