En ThreeJS (JavaScript/WebGL) ¿cómo puedo crear una imagen de fondo estática que sea parte de la escena pero que cambie el tamaño para que se ajuste a la ventana interna completa del navegador exactamente? Funciona cuando uso CSS pero luego la imagen de fondo no se muestra al hacer una "captura de pantalla" a través de renderer.domElement.toDataURL ('image/png'), que quiero. ¡Gracias!ThreeJS: ¿Crear una imagen de fondo que se ajuste exactamente a la ventana?
Respuesta
Puede usar una escena de fondo separada para representar la imagen de fondo.
var bg = new THREE.Mesh(
new THREE.PlaneGeometry(2, 2, 0),
new THREE.MeshBasicMaterial({map: backgroundTexture})
);
// The bg plane shouldn't care about the z-buffer.
bg.material.depthTest = false;
bg.material.depthWrite = false;
var bgScene = new THREE.Scene();
var bgCam = new THREE.Camera();
bgScene.add(bgCam);
bgScene.add(bg);
Luego, en su ciclo de renderizado, dibuje bgScene antes de su escena real.
renderer.autoClear = false;
renderer.clear();
renderer.render(bgScene, bgCam);
renderer.render(scene, cam);
¡Muchas gracias intentaré esto! –
no funciona para mí, estoy usando 'OBJMTLLode'r, sin que esto funcione bien, ¿qué se supone que debe hacer para' OBJMTLLoder' y 'OBJLoder' ??? –
sí, finalmente funcionó .... –
No estaba claro para mí si usted está tratando de hacer un visor panorámico o algo por el estilo ...
Si ese era su objetivo, he aquí una respuesta que he dado para resolver el problema de la insertar una imagen equirectangular a la esfera prestados (que puede ser controlado por el ratón y/o deviceOrientation [acelerómetro en los teléfonos inteligentes]):
- 1. css imagen de fondo ajuste a DIV
- 2. ¿Crear imagen de fondo CSS que se superpone al borde?
- 3. ajuste de imagen de fondo de UISegmentedControl
- 4. Imagen de fondo que se extiende
- 5. ¿Cómo hacer que la imagen de fondo se ajuste a toda la página sin repetir usando css simple?
- 6. Otorgue a NSWindow una imagen de fondo
- 7. iTextSharp: ¿Cómo cambiar el tamaño de una imagen para que se ajuste a un tamaño fijo?
- 8. jquery cambiar el tamaño de la ventana para que se ajuste a los contenidos
- 9. Transformación de distancia OpenCV que da salida a una imagen que se ve exactamente como la imagen de entrada
- 10. Establecer imagen de fondo de una ventana OpenGL
- 11. Cómo crear una imagen con fondo transparente
- 12. envolver el texto de la leyenda para que se ajuste a la ventana del gráfico
- 13. Imprimir imagen con PrintDocument. cómo ajustar la imagen para que se ajuste al tamaño de papel
- 14. Uso de una imagen XAML como fondo de ventana WPF
- 15. Imagen de fondo cortó más allá de la ventana gráfica
- 16. ¿Cómo cambiar el tamaño de la imagen para que se ajuste a la celda UITableView?
- 17. ¿Cómo puedo imprimir una ventana abatible para que se ajuste bien en una sola página?
- 18. C# - Cómo extender un cuadro de texto para que se ajuste a la ventana contenedora
- 19. ajuste del título de la ventana/foto
- 20. Agregar una imagen de fondo a UIScrollView
- 21. Crear una ventana en qt con forma de una imagen
- 22. ¿Cómo puedo colocar una imagen en un recuadro de manera que se ajuste exactamente a su ancho o alto, lo que sea más pequeño?
- 23. Crear una página maestra que se ajuste a cualquier resolución de pantalla
- 24. Tamaño de fondo de CSS3: la cubierta no hace que la imagen se cubra verticalmente
- 25. Posible crear una sombra css sobre fondo transparente Imagen PNG?
- 26. Ajuste color de fondo en Extjs Textfield
- 27. Imagen de fondo de CSS URL que no se carga
- 28. ¿Cómo creo un UITextView que se ajuste exactamente sobre el teclado?
- 29. ¿Crear imagen con fondo transparente usando GDI +?
- 30. cómo agregar una imagen de fondo a la actividad?
va a la cámara ser estática en la escena, o va a ser capaz de moverse ? ¿Has pensado en intentar hacer un palco? –
¿Qué tipo de renderizador usas? –
Cory, actualmente tengo una cámara estática. Estoy colocando una caja texturizada en la parte posterior de la escena, pero no sé qué dimensiones darle a la caja para que llene exactamente la pantalla con su textura. Danny, estoy usando WebGLRenderer. ¡Gracias! –