3D-моделирование для игры; использовать только одну сетку?
Я только начинаю создавать модели для моей новейшей игры, которая станет моей первой игрой в полном 3D.
В нескольких ненадежных местах я прочитал, что гораздо лучше создать все трехмерные объекты как одну сетку и применять различные материалы к сетке с помощью рисования весов и т. Д., А не создавать несколько сеток и помещать их в одну арматуру для анимации.
Согласно этим источникам, это из-за УФ-картирования.
Это правда?
На том этапе, на котором я нахожусь в процессе создания своих моделей, мне было бы намного проще сделать каждую отдельную деталь (руки, ноги, колени) из отдельных ячеек и связать их все с одной и той же арматурой. Если я сделаю это (не объединяя вершины, просто оставляя каждую часть отдельной и перекрывая, связывая их с одной и той же арматурой), 2 вопроса:
Будут ли анимации работать в игровом движке, перемещая все части и сохраняя их все прикрепленными, где они должны быть?
Если это так, замедлит ли это производительность моей игры до значительной (заметной) степени, потому что персонажи состоят из 7 или 8 отдельных сеток?
ПРИМЕЧАНИЕ. На данный момент я планирую использовать игровой движок OpenGL для запуска своей игры.
2 ответа
Что вы можете сделать, это создать свои модели из отдельных сеток, развернуть каждую UV, текстурировать ее, применить ее материал, а затем, когда вы закончите, и только потом, объединить сетки в одну и связать эту одну сетку с вашей арматурой. Я думаю, что для блендера это Ctrl-J для присоединения.
Я знаю, что это не обязательно отвечает на ваш вопрос, но это то, что я бы сделал.
Что вы должны сделать, зависит от того, что вам нужно, чтобы ваша модель делала с моделью. Если вашему персонажу необходимо настроить свое снаряжение или внешний вид или если вам нужно делать специальные эффекты, связанные с изменением внешнего вида игрового персонажа, разделение частей тела может быть более идеальным решением. Team Fortress 2 делает это с помощью своей системы настройки (иначе вы не сможете делать такие вещи, как замена перчаток Пулеметчика чем-то другим или давать им птичьи головы), в то время как игры Super Smash Brothers используют их в своих интересах. сделать анимацию персонажа хорошей.
А потом бывают случаи, когда дизайн персонажа делает анимации относительно них очень сложными для управления, если все их соединения находятся в одной модели. Примеры таких персонажей включают в себя Гумбы из Марио и Кирби из игр Кирби.
И затем есть художественный выбор этого. Например, нет причин отделять уши Пикачу от остальной части модели, но тот, который использовался в Pokémon Gen VI и далее (включая Pokémon Go), делает это в любом случае. Если вы посмотрите очень внимательно, вы даже можете увидеть шов, где заканчивается модель уха и начинается часть головы.
Чтобы ответить на ваши вопросы относительно технических деталей, обратите внимание, что, поскольку вы используете низкоуровневый API, такой как OpenGL, для своей игры, сможете ли вы сделать это, зависит только от ваших навыков. Что касается затрат на производительность, это зависит только от количества вершин, которые у вас есть, а также от того, как вы делаете шейдеры. Все, что OpenGL когда-либо видит, это группа вершин, для которых определены "грани". Он передает указанную информацию тем шейдерам, которые вы кодировали (затем обрабатывает отправленные вами данные).
Конечно, я не эксперт по API, но даже те, кто начинает знать современные формы OpenGL, знают это.