Ho un modello di casa nel mio gioco, e ho alcuni materiali per la geometria della casa. C'è un materiale per il muro della casa, e ho un'immagine di mappa della trama per mostrare i mattoni.Come ripetere la mappa texture come GL_REPEAT?
var mat = new THREE.MeshPhongMaterial({
ambient: 0x969696,
map: THREE.ImageUtils.loadTexture('textures/G/G0.jpg'),
overdraw: true,combine: THREE.MultiplyOperation
});
In questo modo al di sopra, la texture map appare come GL_CLAMP
lo voglio mostrare come GL_REPEAT
.
Cosa devo fare?
Se non riesci a vedere le immagini, controlla this.
Ho provato a impostare wrapS e wrapT in questo modo, ma non funziona. Penso che forse il materiale sia sbagliato, ora uso il MeshPhongMaterial, dovrei usare ShaderMaterial? – user1497753
Non so, proverei comunque a farlo funzionare. La trama deve essere una potenza di due, vedere [WebGLRenderer, l. 5721] (https://github.com/mrdoob/three.js/blob/master/src/renderers/WebGLRenderer.js). –
Ho avuto un problema simile, ho ridimensionato un cubo e la trama è stata allungata. Per evitare ciò è necessario impostare la nuova dimensione del cubo in 'render()' in questo modo: 'texture.repeat.set (2 * cWidth, 2 * cHeight);' (quindi la texture si comporta come un pattern non ridimensionato). Spero possa aiutare. –