2013-06-30 3 views
1

Я пытаюсь применить текстуру к плоскости. Я использую и изображение, которое составляет 256x256. В настоящее время он просто черный. Может кто-нибудь сказать мне, где я ошибаюсь?Threejs - Применение текстуры к плоскости всегда делает черным,

//create the floor 

var floorTexture = new THREE.ImageUtils.loadTexture('carpet.jpg'); //256x256 
floorTexture.wrapS = floorTexture.wrapT = THREE.RepeatWrapping; 
floorTexture.repeat.set(10, 10); 
var floorMaterial = new THREE.MeshBasicMaterial({ map: floorTexture, side: THREE.DoubleSide }); 
var floorGeometry = new THREE.PlaneGeometry(1000, 1000, 10, 10); 
var floor = new THREE.Mesh(floorGeometry, floorMaterial); 
floor.position.y = -0.5; 
floor.rotation.x = Math.PI/2; 
scene.add(floor); 

При необходимости я могу добавить больше кода.

Спасибо!

ответ

0

Это может быть из-за того, что текстура будет уменьшена (так что ее можно повторить 100 раз на поверхности), и вы просто не можете увидеть ее детали? Если текстура темная сама по себе, это может быть вопросом. Возможно, вы попробуете его с floorTexture.repeat.set(1, 1);, чтобы узнать, действительно ли он применяется.

Также вы можете подумать о включении своей текстуры, чтобы каждый мог протестировать ее. Я просто запустил ваш код в r.58 с помощью настраиваемой текстуры, и он отлично работал для меня.

0

Я как-то боролся с этим сам на некоторое время. Проверьте разрешения файловой системы изображения. Мой был установлен на 640. Когда я изменил их на 664, изображение получилось так, как должно.

0

Возможно, в вашей ситуации может возникнуть недостаток окружающего света, попробуйте добавить белый окружающий свет, чтобы узнать, разрешает ли он вашу проблему.

Смежные вопросы