как устранить ошибку (чтение «элементов») при использовании FBXLoader()

#three.js #loader #fbx

Вопрос:

Я получаю неперехваченную ошибку типа: Не могу прочитать свойства неопределенной ошибки (чтение «элементов») и не вижу свое колесо и плоскость с теневой текстурой на полу: введите описание изображения здесь

Вот мой код:

 const loader = new FBXLoader(); @foreach ($files as $file)  @if (strtolower(pathinfo($file, PATHINFO_EXTENSION)) == 'fbx')  loader.setResourcePath('storage/models/{{ $modelId }}/').load('storage/{{ $file }}', function ( object ) {  object.traverse( function ( child ) {  if ( child.isMesh ) {  if ( child instanceof THREE.Mesh ) {  // child.material.color.setRGB (1, 0, 0);  child.material = new THREE.MeshPhongMaterial( {  color: 0xffffff,  map: child.material.map  } );  }  }  } );  object.receiveShadow = true;  object.castShadow = true;   scene.add( object );  } );  @endif @endforeach  

вот как должна выглядеть эта машина: введите описание изображения здесь

Комментарии:

1. Я думаю, что это map: child.material.map вызывает проблему. но я не понимаю, почему и как это решить. кто-нибудь знает?

2. Если в этом проблема, почему бы вам не загрузить текстуру отдельно THREE.TextureLoader , а затем назначить map: newTexture , вместо того, чтобы выполнять самореферентное назначение?

3. @Marquizzo, мой frined помог мне настроить сервер, на который я загружаю txt со списком прямых ссылок на ресурсы (fbx/png), чтобы все можно было перевести по этой схеме, и я не хочу это портить. Я просто хочу настроить материал. Я почти на месте, потому что все текстуры и сетки работают до сих пор, но выглядят не так, как я хочу, чтобы они выглядели

4. итак, вот как это работает прямо сейчас, и все выглядит нормально: i.imgur.com/57irz4t.png . Но мне не нравится, что он выглядит таким темным (потому что в нем используется оригинальный цвет материала от 3ds max) и слишком блестящим. Итак, я подумал, что это можно решить, создав еще один материал для каждого «ребенка»

5. по-видимому, у меня есть массив из 2 материалов на каждом колесе: i.imgur.com/3OgfBFH.png . Может быть, это моя проблема? Как в таком случае применить фонг к каждому материалу? Нужно ли мне что-то конкретное?