我在我的遊戲中有一個房子模型,我有一些房子幾何的材料。房子的牆壁有材料,我有一張紋理貼圖來顯示磚塊。如何重複像GL_REPEAT那樣的紋理貼圖?
var mat = new THREE.MeshPhongMaterial({
ambient: 0x969696,
map: THREE.ImageUtils.loadTexture('textures/G/G0.jpg'),
overdraw: true,combine: THREE.MultiplyOperation
});
在上面這種方式,紋理貼圖看起來像GL_CLAMP
我想讓它顯示像GL_REPEAT
。
我該怎麼辦?
如果看不到圖像檢查this。
我試着設置wrapS和wrapT那樣,但它不起作用。我認爲也許材料是錯誤的,現在我使用MeshPhongMaterial,我應該使用ShaderMaterial嗎? – user1497753
不知道,我盡力讓這個工作。紋理必須是二的冪次,請參見[WebGLRenderer,l。 5721](https://github.com/mrdoob/three.js/blob/master/src/renderers/WebGLRenderer.js)。 –
我有一個類似的問題,我縮放了一個立方體,並且紋理被拉伸了。爲了防止這種情況,你需要在'render()'中設置新的多維數據集大小:'texture.repeat.set(2 * cWidth,2 * cHeight);'(然後紋理的行爲像一個未縮放的模式)。希望有所幫助。 –