Ich habe ein Hausmodell in meinem Spiel, und ich habe einige Materialien für die Hausgeometrie. Es gibt ein Material für die Wand des Hauses, und ich habe ein Textur-Map-Bild, um die Steine zu zeigen.Wie wiederhole ich die Textur wie GL_REPEAT?
var mat = new THREE.MeshPhongMaterial({
ambient: 0x969696,
map: THREE.ImageUtils.loadTexture('textures/G/G0.jpg'),
overdraw: true,combine: THREE.MultiplyOperation
});
Auf diese Weise oben, wird die Textur Karte wie GL_CLAMP
ich es wie GL_REPEAT
zeigen wollen.
Was soll ich tun?
Wenn Sie die Bilder nicht sehen können, überprüfen Sie this.
Ich habe versucht, WrapS und WrapT so, aber es funktioniert nicht. Ich denke, vielleicht ist das Material falsch, jetzt verwende ich das MeshPhongMaterial, sollte ich stattdessen ShaderMaterial verwenden? – user1497753
Ich weiß nicht, ich würde versuchen, das funktioniert zu bekommen. Die Textur muss eine Zweierpotenz sein, siehe [WebGLRenderer, l. 5721] (https://github.com/mrdoob/three.js/blob/master/src/renderers/WebGLRenderer.js). –
Ich hatte ein ähnliches Problem, ich skalierte einen Würfel und die Textur wurde gestreckt. Um dies zu verhindern, müssen Sie die neue Würfelgröße in 'render()' wie folgt einstellen: 'texture.repeat.set (2 * cWidth, 2 * cHeight);' (dann verhält sich die Textur wie ein unskaliertes Muster). Ich hoffe, das hilft. –