Tengo un modelo de casa en mi juego, y tengo algunos materiales para la geometría de la casa. Hay un material para la pared de la casa, y tengo una imagen de mapa de textura para mostrar los ladrillos.¿Cómo se repite el mapa de texturas como GL_REPEAT?
var mat = new THREE.MeshPhongMaterial({
ambient: 0x969696,
map: THREE.ImageUtils.loadTexture('textures/G/G0.jpg'),
overdraw: true,combine: THREE.MultiplyOperation
});
De esta manera anterior, el mapa de textura se presenta como GL_CLAMP
quiero que se muestre como GL_REPEAT
.
¿Qué debo hacer?
Si no puede ver las imágenes, marque this.
He intentado configurar wrapS y wrapT así, pero no funciona. Creo que tal vez el material está mal, ahora uso el MeshPhongMaterial, ¿debería usar ShaderMaterial en su lugar? – user1497753
No sé, intentaré hacer que esto funcione. La textura debe ser una potencia de dos, ver [WebGLRenderer, l. 5721] (https://github.com/mrdoob/three.js/blob/master/src/renderers/WebGLRenderer.js). –
Tuve un problema similar, escalé un cubo y la textura se estiró. Para evitar esto, necesita establecer el nuevo tamaño de cubo en 'render()' como ese: 'texture.repeat.set (2 * cWidth, 2 * cHeight);' (entonces la textura se comporta como un patrón sin escala). Espero que ayude. –