Вопросы по написанию плагинов

Список разделов Blender 3D Плагины

Описание: Обсуждение расширений для Blender
Модератор: exooman

Сообщение #101 Korchy » 09.05.2020, 08:59

ZiCVIZ писал(а):А вот как заставить пайчарм автоматом исполнять код в блендере ?

Если PyCharm - про, то можно настроить запуск Блендера срвером, будет как в вышеприведенном аддоне под VSC.
Если Комьюнити - то я делаю так https://b3d.interplanety.org/otladka-mnogofaylovogo-addona-v-blender-bystroy-pereustanovkoy/
Korchy M
Аватара
Сообщения: 2808



Сообщение #102 ZiCVIZ » 09.05.2020, 09:36

Вот меня совсем не радует то что VS Code отказывается исполнять скрипты ...
я понимаю что это у меня какойто касяк ... но я не понимаю где сабака порылась :(
ZiCVIZ M
Сообщения: 7

Сообщение #103 Pavel » 30.06.2020, 19:30

Как сделать преобразование нормалей из одной системы координат в другую? Я имею в виду split нормали (те нормали, которые указываются для сглаживания). Есть нормали для вершин, есть нормали для полигонов. А мне нужно преобразовать нормали для сглаживания. Количество этих нормалей равно количеству loop'ов.

У меня есть список нормалей из такой системы координат:

Ось X - смотрит вправо
Ось Y - смотрит вверх
Ось Z - смотрит вперёд

Этот список нормалей нужно преобразовать в блендеровскую систему:

Ось X - смотрит вправо
Ось Y - смотрит вперёд
Ось Z - смотрит вверх

Уже много пытался преобразовать (менял местами компоненты и т. д.), но результат не корректный получается. Либо у меня ошибка в другом месте, не в коде преобразования. Либо нормали такие странные. Не знаю.
Pavel M
Аватара
Сообщения: 1100

  • 1

Сообщение #104 mac7 » 02.07.2020, 00:16

Pavel писал(а):менял местами компоненты и т. д.

там еще инвертировать надо forward(+Y), up(Z) <-> forward(-Z), up (Y)
mac7 M
Аватара
Откуда: Луцьк
Сообщения: 315

Сообщение #105 Pavel » 02.07.2020, 00:30

mac7, что-то не помогло. Наверное ошибка в другом месте. Или нормали изначально такие. В общем, завтра посмотрю, может не правильно конвертирую нормали из byte в float. Просто в этом формате компонент нормали хранится в 8 битах.
Pavel M
Аватара
Сообщения: 1100

Сообщение #106 Korchy » 02.07.2020, 08:47

Pavel писал(а):Просто в этом формате компонент нормали хранится в 8 битах.
Ты их из бинарника читаешь? Тогда проверь, что байты в обратном порядке не хранятся.
Korchy M
Аватара
Сообщения: 2808



Сообщение #107 Pavel » 02.07.2020, 09:12

Korchy, в этом ошибки точно нет. Так как я импортировал другие данные из этого же файла и они загрузились корректно. В этом формате порядок байтов одинаков для всех данных (в том числе и нормалей).

Добавлено спустя 3 часа 28 минут:
Посмотрел эти нормали. Заметил одну вещь. Если создать кастомные нормали у меша и значения нормалей будут идентичными, то кастомные нормали будут смотреть в разные стороны. Вот код:
Код: Выделить всё
import bpy


m = bpy.context.object.data
norms = [(1.0, 1.0, 0.0), ] * len(m.loops)
m.normals_split_custom_set(norms)
Изображение

Почему это происходит? Как вообще эти нормали вычисляются? Они имеют глобальное пространство? Или домножаются на нормаль полигона?
Pavel M
Аватара
Сообщения: 1100

Пред.

Вернуться в Плагины

Кто сейчас на форуме (по активности за 5 минут)

Сейчас этот раздел просматривают: 1 гость