2014-09-29 94 views
0

我試圖包裝地板的紋理,但它不起作用 - 紋理不會重複5次,因爲它應該是。這裏就是我使用的代碼:紋理環繞不會重複,因爲它應該是

var floorTexture = new THREE.ImageUtils.loadTexture('textures/floor.jpg'); 
floorTexture.wrapS = floorTexture.wrapT = THREE.RepeatWrapping; 
floorTexture.repeat.set(5, 1); 
var floorMaterial = new THREE.MeshPhongMaterial({ map: floorTexture, side: THREE.DoubleSide }); 
var floorGeometry = new THREE.PlaneGeometry(45, 44.5); 
var floor = new THREE.Mesh(floorGeometry, floorMaterial); 

你可以在這裏看到項目:http://provasitimek.herobo.com/Tesi9.2/ - 選擇此用戶組,那麼路徑:起點結束端點參觀樣板

+1

你是圖像的權力2? – gaitat 2014-09-29 13:05:22

+0

你在哪個js文件中的哪個例子是相關的代碼? – gaitat 2014-09-29 13:05:58

+0

不,圖像不是2的冪,是800x1200像素;爲什麼?這是相關的嗎?上面的代碼位於函數initFloor中的http://provasitimek.herobo.com/Tesi9.2/jsLib/functions_init.js – MarcinKwiatkowski 2014-09-29 13:21:05

回答

2

你必須確保你的紋理的尺寸是兩個冪。

通常WebGL不支持NPOT(兩個非冪次)紋理。雖然有一些例外,但列出了Non power of two textures