Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Меняется масштаб объекта, если меш является root объектом #802

Closed
PavelBlend opened this issue Sep 5, 2024 · 5 comments
Labels
bug Что-то не работает export Касается операторов экспорта object Формат *.object ogf Формат *.ogf

Comments

@PavelBlend
Copy link
Owner

PavelBlend commented Sep 5, 2024

Нужно сделать экспорт в ogf или object из этой сцены: test_root_mesh.zip

В качестве root-объектов может выступать как арматура, так и пустышка. Вот все варианты (см. скриншот):
https://github.com/PavelBlend/blender-xray/wiki/Root-Object

Но если root-объект - это меш, то масштаб будет не корректным:
001

Нужно дать возможность установить меш в качестве root-объекта и чтобы это не влияло на масштаб.

@PavelBlend PavelBlend added bug Что-то не работает export Касается операторов экспорта ogf Формат *.ogf object Формат *.object labels Sep 5, 2024
@igelbox
Copy link
Collaborator

igelbox commented Sep 5, 2024

А у меня оно в object в любом случае (даже если пустышки или арматуру выбирать) с неправильным масштабом выгружается. Ну, т.е. потом при импорте меш - помасштабирован в 1.5+раза, но арматура - нет.

@PavelBlend
Copy link
Owner Author

@igelbox У меня такой результат:
111

@igelbox
Copy link
Collaborator

igelbox commented Sep 6, 2024

А в каких-то случаях надо, чтоб объект экспортировался не в 0,0,0 координат и/или повёрнутый (если он повёрнут в блендер)?
У меня просто идея что удобно импортировать несколько объектов в сцену, расставить их чтобы они друг на друга не залезали, настраивать/редактировать, НО, чтоб при экспорте они были будто бы в нуле координат и с вращением по-умолчанию.

Это я всё к тому, что в коде меня пугают get_obj_scale_matrix и get_object_world_matrix, которые как-то хитро получают отдельные матрицы для смещения/вращения, а я бы просто брал world-матрицу у объекта т.к. в ней уже все родительские преобразования учтены и использовал только её.. ну разве что сделал бы так, что сам общий/корневой объект будто бы в нуле оказался и не повёрнут.

@PavelBlend
Copy link
Owner Author

PavelBlend commented Sep 6, 2024

@igelbox я думаю, что нужно сделать так: меш и скелет экспортируются так, как они выглядят во вьюпорте. Если объект перемещён и повёрнут, то он сохранится перемещённым и повёрнутым (во время экспорта сохранятся объекты с применёнными трансформациями).

Мне в принципе всё равно, как оно будет, так как у меня все объекты имеют позицию 0,0,0 вращение 0,0,0 и масштаб 1,1,1. Это я из-за пользователей хочу такое поведение. Потому что пользователи редко вообще следят за трансформациями. Может пользователь переместил и повернул объект не для того, чтобы он не мешал другим объектам, а потому что хотел, чтобы объект так и выглядел.

Аддон должен учитывать все случаи и варианты трансформаций у всех объектов: root-пустышки, арматуры, мешей с разными родительскими связями. Вот issue, где были проблемы с экспортом из-за трансформаций: #786

И мне ещё много раз попадали в руки примеры файлов, где пользователи не применяли масштабы, вращения, позиции.

Нужно, чтобы аддон применял трансформации, но не портил анимации. Ещё нужно учитывать, что для object экспорта есть позиция и вращение: #5 #62 и их применять не нужно. Их нужно записывать в Transforms чанк.

А у ogf позицию и вращение нужно применять.

В общем во время экспорта нужно применять все трансформации, но для object формата не применять позицию и вращение для root-объекта.

Ещё есть масштабирование меша, скелета и анимаций: https://github.com/PavelBlend/blender-xray/wiki/Scaling
Масштабирование нужно не сломать.

@PavelBlend
Copy link
Owner Author

Если объекты мешают друг другу, то их можно расставить с помощью оператора: https://github.com/PavelBlend/blender-xray/wiki/Panel-Batch-Tools#place-selected-objects

Но перед экспортом сделать Alt+G.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Что-то не работает export Касается операторов экспорта object Формат *.object ogf Формат *.ogf
Projects
None yet
Development

No branches or pull requests

2 participants