Saltar al contenido

Material reflectante en TRES.js

Si encuentras alguna incompatibilidad en tu código o proyecto, recuerda probar siempre en un ambiente de testing antes aplicar el código al trabajo final.

Para entrar un poco en la teoría: un reflejo es básicamente una imagen de la escena tomada desde una determinada posición. Entonces, si desea que una malla plana sirva como espejo, deberá agregar una cámara en esa posición, hacer que represente la escena en una textura en el ciclo de animación y luego usar esa textura en el material para la malla plana. . También recomendaría mirar http://stemkoski.github.io/Three.js/Reflection.html además de los ejemplos que mencionó WestLangley.

Además, juegue con la configuración; para un efecto menos reflectante, por ejemplo, intente:

var mirrorMaterial = new THREE.MeshBasicMaterial(  color: 0x111111, envMap: mirrorCamera.renderTarget  );

o

var mirrorMaterial = new THREE.MeshPhongMaterial(  emissive: 0x111111, envMap: mirrorCamera.renderTarget  );

https://tresjs.org/ejemplos/#webgl_materials_cubemap
Lo hice con el ejemplo anterior:

new THREE.MeshLambertMaterial (
    map: texture,    
    envMap: scene.background,      
    combine: THREE.MixOperation,     
    reflectivity: .5     
)

los key variable, según tengo entendido, es TRES.MixOperation

Te mostramos las reseñas y valoraciones de los usuarios

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)


Tags :

Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *