Используя Three.js r64, я хотел бы импортировать из Blender анимированный объект с его группами сглаживания, файл экспортируется как JSON через программу экспорта Blender Three.js.
Часть анимации работает нормально.
В Blender модель выглядит нормально (вокруг центральной части есть небольшая группа сглаживания).
Изображение: http://www.defresne.fr/demo/so/three/smooth_shading/gears.png
Я могу добиться того же результата при экспорте в OBJ с отмеченными опциями «Smooth Groups» и «Include Normals». Однако я не могу заставить его работать правильно при экспорте файла JSON (с нормалями). Далее представлены фотографии сцены с живой демонстрацией.
Изображение: (добавить следующую ссылку с помощью) three_gears.png
Живая демонстрация: http://www.defresne.fr/demo/so/three/smooth_shading/
Я тщательно искал в Интернете и не смог найти правильную информацию. Best - это еще один вопрос по SO, который немного устарел (r55) и так и не получил принятого ответа.
Я пытался вычислить нормали объекта с помощью
geometry.computeFaceNormals();
geometry.computeVertexNormals();
но, очевидно, он вычисляет нормали всего объекта и приводит к полностью сглаженному объекту.
Итак, каким должен быть правильный подход, чтобы группы сглаживания JSON работали в three.js? Ждать встроенную функцию? построить сам? Изменить экспортера?
Поскольку three.js, похоже, правильно загружает модели OBJ и Collada с группами сглаживания, может быть, я мог бы позаимствовать часть кода из этих загрузчиков, чтобы получить логику?
Спасибо за вашу помощь
[РЕДАКТИРОВАТЬ]
Я только что нашел что-то отличное!
В Blender создайте 2 экспорта модели: первый файл JSON, второй файл OBJ. Загрузите второй онлайн-редактор three.js, затем преобразуйте его, чтобы получить геометрию JSON ... Я могу собрать вершины, нормали и грани этой только что экспортированной геометрии и скопировать их в первый экспортированный файл.
Работает нормально! Получились хорошие группы штриховки. Даже снятие шкуры работает нормально.
Но это утомительный способ обработки, и я хотел бы сэкономить на дополнительных преобразованиях.
Значит ли это, что при экспорте геометрии из Blender возникла проблема? Есть идеи, почему?
Любая помощь будет принята с благодарностью!