Визуализация объектов в Qframework, импортированных обычным способом (как в Q3d4 и ранее)

Наш телеграм канал:
@ShvedkovPRO
Viewing 2 posts (of 2 total)
barmadjar
пользователь
Post count: 2
#1

Столкнулся с такой проблемой. При работе с Qframework после импортирования через новый интерфейс большого количества сложных объектов канал MyContent, в котором содержатся все импортированные объекты, сохраняется с ошибкой.
Кроме того, несмотря на явные преимущества нового способа импорта (возможность клонирования объектов в сцене, возможность выбирать и трансформировать каждый объект в сцене, работать с текстурами тоже удобно), существует и ряд недостатков в работе с импортированными данным способом объектами.
Поэтому возникает необходимость иметь возможность работы с объектом именно в виде канала 3d object с соответствующими чайлдами, иметь доступ к параметрам его материала, к текстуре и т.д. Копаться в ОО структуре совершенно неудобно, особенно когда не особо в этом разбираешься. При этом, конечно, не хочется отказываться от красивой картинки, обеспечиваемой люмионовским движком.
К счастью, возможность визуализировать объекты, импортированные "старым индейским способом", есть. Они будут освещаться, отбрасывать тень. Их, конечно, нельзя будет в сцене выделить, подвигать, отмасштабировать, поменять им текстуру, используя новый интерфейс. Но это и не важно, это можно сделать и старым способом.
Но есть один неприятный момент. Если объект сложный, имеющий много поверхностей с разными текстурами, его нельзя будет визуализировать, как один 3d object с кучей текстур. Он будет оттекстурен какой-то текстурой, которая была перед этим выбрана в качестве текстуры, используемой Global Shader'ом. Поэтому сложный объект приходится разбивать на большое количество 3d object'ов, состоящих из одной поверхности, и в определенном месте программы, отвечающем за визуализацию, по очереди устанавливать глобальную текстуру командой Set Global Shader Texture, визуализировать поверхность, к которой должна быть применена данная текстура и т.д. с каждой текстурой, используемой в сцене.
Метод жутко громоздкий и неудобный, особенно когда объекты сложные, с большим количеством текстур. К тому же, как мне кажется, сказывается на производительности. Но может кто-то знает более легкий и правильный метод?

Комментарии (2)

Аватар пользователя Lord Lord
пользователь
Post count: 8
#2

barmadjar а что Вы конкретно делаете? Если игру, так здесь есть масса примеров решения Вашей проблемы. Один из которой, наиболее популярный - создание отдельных нодов. Ноды затем можно "прикреплять" в отдельном редакторе созданном при помощи SDK. А косяки между нодами можете скрыть туманом, так делают во многих играх. Или создать переходы между уровнями. Вся эта манипуляция в значительной степени уменьшит нагрузку на железо.

Аватар пользователя barmadjar barmadjar
автор
Post count: 2
#3

Мы занимаемся визуализацией заводов. Помимо всей архитектуры необходимо также показывать все инженерные сети. Но данная проблема как раз относится к архитектуре, поскольку используется много текстур. И визуализировать по отдельности каждую поверхность с отдельной текстурой - весьма неудобно.
Про создание отдельных нодов - боюсь, я не совсем понял.

Viewing 2 posts (of 2 total)

Магазин готовых сайтов