#javascript #three.js
Вопрос:
Я новичок в threejs. Я экспортировал модель в GLTF из Blender и импортировал в threejs(v93). Но эффект рендеринга в threejs сильно отличается от эффекта в blender. Как я могу это исправить?
код threejs-это:
const loader = new THREE.GLTFLoader();
loader.load(url,function(gltf){
let model = gltf.scene;
model.scale.set(3.5,3.5,3.5);
model.traverse(function(child){
if(child.isMesh){
child.material.emissive = child.material.color;
child.material.emissiveMap = child.material.map;
}
})
model.name = 'truck';
scene.add(model);
})
Комментарии:
1. Почему вы устанавливаете эмиссионное свойство материала на его цвет (и эмиссионную карту на его текстуру)? Это может испортить ваше освещение.
2. Это проявляется по-другому, потому что с Three.js, вы должны вручную добавить освещение. Вот краткая демонстрация того, как осветить сцену, но возможности безграничны.
3. Если не установить эмиссионное свойство материала в его цвет, импортированная модель будет выглядеть полностью черной. @Роберт Мэй
4. Спасибо за ваше руководство. Я сначала прочту это. @Маркиззо
5. @Marquizzo Я добавил к модели прожектор, потому что думаю, что он лучше подходит для внутренней сцены. Но, похоже, я должен придать прожектору сильную интенсивность около 4~5, чтобы модель выглядела лучше. Но это повлияет на всю сцену. Есть ли какие — нибудь способы сделать это?