Как использовать настройку «Park (Day)» для среды в разделе «Освещение» от средства просмотра gltf до A-Frame? - PullRequest
0 голосов
/ 17 июня 2019

Я пытаюсь загрузить модель GLTF ( ссылка ) в A-кадр, но она выглядит темной, я проверила ее, используя ссылку , и разница в том, чтов программе просмотра gltf, при освещении, есть поле с именем environment, для которого установлено значение «Park (Day)».

со средой, настроенной на: Нет

enter image description here

со средой, настроенной на: Парк (день) enter image description here

Как применить этот параметр к моей модели в A-Frame?

Другим отличием является свойство gammeOutput, которое я уже исправил с помощью «colorManagement: true» в рендере a-scene.

В настоящее время используется версия 0.9.0 A-Frame

1 Ответ

0 голосов
/ 17 июня 2019

Если вы видите изображение, отражаемое моделью, это карта окружения .Он используется, когда вы хотите, чтобы ваш объект отражал его окружение или любое другое окружение.

Вы можете установить его для примитивов с помощью свойства envMap (cubemap) или sphericalEnvMap (360 image):

<a-sphere material="roughness:0; sphericalEnvMap: #myImage>

Проверьте это в этой скрипке.


В моделях вам нужно будет покопаться немного глубже.Вам нужно traverse модель и установить каждую сетку envMap свойство:

let texture = THREE.TextureLoader()
const mesh = element.getObject3D('mesh');
const envMap = texture;
if (!mesh) return;

mesh.traverse(function (node) {
  if (node.material && 'envMap' in node.material) {
    node.material.envMap = envMap;
    node.material.needsUpdate = true;
  }
});
...