Three.js ColladaLoader bumpScale/weighting? Способ регулировки интенсивности карты неровностей
В текущем ColladaLoader.js я не вижу ничего, что считывает или применяет значение "веса" стандарта Collada (0,0-1,0), которое указывает на интенсивность удара или "bumpScale" в материале Three.js Phong. Я заметил, что когда я экспортирую свою колладу из Blender, она мгновенно подбирает материалы для ударов в three.js (что удивительно просто - YAY!), Но мои материалы всегда получают преувеличенное значение bumpScale по умолчанию 1.0. Это дает материалам преувеличенную ухабистость.
Мне удалось немного отредактировать мой ColladaLoader и опробовать мое идеальное значение (0,05), но мне интересно, что я что-то упустил или делаю это неправильно? Кто-нибудь еще попробует это? Заметьте, что мне не повезло с экспортом json, поэтому я сейчас придерживаюсь Collada.
Спасибо
1 ответ
Вы можете установить пользовательские свойства в обратном вызове Collada. Используйте шаблон как этот:
loader.load( 'collada.dae', function ( collada ) {
var dae = collada.scene;
dae.traverse( function( child ) {
if( child instanceof THREE.Mesh ) {
child.material.bumpScale = value;
}
} );
scene.add( dae );
} );
three.js r.71