2015-07-31 2 views
1

Я пытаюсь создать текстуру с помощью Three.js.Three.js MeshBasicMaterial не работает как аспект

Мой источник texture_f1 - это .png-файл, означающий, что вы можете видеть фон через него.

Проблема в том, что если я попытаюсь установить фон color: 0xffffff, это не Работа в сочетании с картой :.

Если я установил только color:0xffffff, он возвращает белый, но при использовании с картой: вот так var material_f1 = new THREE.MeshBasicMaterial({ map: texture_f1, color: 0xffffff}); я могу видеть фон через .png черный.

ответ

1

Если у вас есть прозрачная текстура, вы должны установить material.transparent на true.

var material = new THREE.MeshBasicMaterial({ 
    color: 0xffffff, 
    map: texture, 
    transparent: true 
}) 

Обратите внимание, что цвет материала не «проступает» прозрачную текстуру - это оттенков текстура.

Если вы хотите, чтобы цвет материала «показывал» прозрачную текстуру, вам нужно вместо этого использовать ShaderMaterial и создать собственный шейдер.

Существует пример этого в this stackoverflow answer.

three.js r.71

+0

Thx, который работал просто отлично. –

+1

, пожалуйста, согласитесь, тогда ответ также поможет вам найти неотвеченные здесь :) – antont

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

  • Нет связанных вопросов^_^