Как правильно построить геометрию (low poly для игр)
|
|
new5 | Дата: Воскресенье, 09 Июля 2017, 18:50 | Сообщение # 1 |
был не раз
Сейчас нет на сайте
| Друзья, пытаюсь постигать low poly моделирование, естественно для игр, зачем же еще? И вот подвис с одним моментом.
Моделирую, допустим, перила. Верен ли такой подход: - саму форму объекта, геометрию, я не получаю из одного меша (цельной замкнутой фигуры), а делаю из составных фигур с небольшим количеством полигонов. (ABCD отдельные фигуры не имеющие общих вертексов) - после чего удаляю невидимые полигоны в местах пересечений. т.е. если бы параллелепипед C пересекал параллелепипед D, и верхний полигон параллелепипеда C оказался бы внутри D, я бы этот полигон удалил.
Т.е. в итоге я из максимально простых фигур делаю сложные объекты. Я получаю минимум проблем при создании развертки, но как мне кажется могут возникать проблемы при рендере таких моделей в движке (в частности тени).
Имеет ли такой способ право на жизнь? Если да то почему? Обязательно ли чтобы вся модель была единой формой (замкнутой сеткой)? В чем преимущество единой замкнутой формы?
Надеюсь понятно описал. Спасибо.
Сообщение отредактировал new5 - Воскресенье, 09 Июля 2017, 18:51 |
|
| |
EchoIT | Дата: Воскресенье, 09 Июля 2017, 19:21 | Сообщение # 2 |
старожил
Сейчас нет на сайте
| new5, в данном случае гораздо удобнее и быстрее всё это делается из одного кубика, нежели собиранием из нескольких разных. При единой форме в любом случае будет меньше косяков типа пустых полигонов, которые ты не заметил, например.
Долгожданный анонсик: State of War
|
|
| |
Hanzo | Дата: Воскресенье, 09 Июля 2017, 23:05 | Сообщение # 3 |
постоянный участник
Сейчас нет на сайте
| Цитата new5 ( ) саму форму объекта, геометрию, я не получаю из одного меша (цельной замкнутой фигуры), а делаю из составных фигур с небольшим количеством полигонов. (ABCD отдельные фигуры не имеющие общих вертексов) это в корне не верно. профита ноль: 1) плодите кучу лишних вертексов 2) группы сглаживания - машем им ручкой 3) это просто гемморно для развертки - долго и кропотливо стыковать
Цитата new5 ( ) Имеет ли такой способ право на жизнь? Если да то почему? Имеет, если вы готовы бесцельно убить свое время.
Цитата new5 ( ) Обязательно ли чтобы вся модель была единой формой (замкнутой сеткой)? Обязательно. Потому что вертексы - это единица входящей информации (то что мы отправляем в движок на обработку), а полигоны - исходящей (то что воспроизводит визуализатор движка). И лучше бы вертексам поплотнее стыковаться. А вообще перед тем как приступить к моделлингу, лучше подучить матчасть: свойства и атрибуты вершин, отрисовка полигонов, рендеринг шедоумапов и тд. Пригодится.
Цитата new5 ( ) В чем преимущество единой замкнутой формы? когда попробуете сделать персонажа средней сложности "незамкнутой" формой - тогда поймете.
Цитата new5 ( ) Моделирую, допустим, перила. в вашем случае перило нужно делать экструдом. а стойки отдельными полигонами.
Сообщение отредактировал Hanzo - Воскресенье, 09 Июля 2017, 23:07 |
|
| |
new5 | Дата: Понедельник, 10 Июля 2017, 07:53 | Сообщение # 4 |
был не раз
Сейчас нет на сайте
| EchoIT, в данном случае перила я привел в кач-ве примера, меня в первую очередь интересуют общие принципы, стандарты так сказать. Вообще применяется ли описанный мной подход в моделировании для игр, или нет?
Цитата Hanzo ( ) когда попробуете сделать персонажа средней сложности "незамкнутой" формой - тогда поймете. Hanzo, я понимаю, что создавая персонажа "незамкнутой" формой я получу лишь кривую модельку. Но вот как быть с техникой? Или вот нашел пример пушки, по сетке видно что это не цельный меш, а "составной" объект (некоторые отметил красным).
Я может не понимаю какого-то принципа? что стоит разбивать на отдельные фигуры, а что "лепить" из одного "куба"? Может есть статьи или видео о принципах моделирования для игр? или все своим опытом постигается...
Благодарен за ответы!
Сообщение отредактировал new5 - Понедельник, 10 Июля 2017, 07:57 |
|
| |
Vuvk | Дата: Понедельник, 10 Июля 2017, 09:08 | Сообщение # 5 |
заслуженный участник
Сейчас нет на сайте
| Цитата new5 ( ) что стоит разбивать на отдельные фигуры, а что "лепить" из одного "куба"? По твоей картинке пушки очевидно, что некоторые детали сделаны отдельными мешами во имя сокращения общего полигонажа модели. Вот и принцип - стремиться сокращать количество треугольников без конечной потери качества (насколько возможно).
|
|
| |
new5 | Дата: Понедельник, 10 Июля 2017, 09:33 | Сообщение # 6 |
был не раз
Сейчас нет на сайте
| Vuvk, т.е. в итоге делают и составные формы и формы замкнутые, а когда и что использовать, зависит от случая и предпочтений. вот к какому выводу я пришел)
|
|
| |
Vuvk | Дата: Понедельник, 10 Июля 2017, 10:26 | Сообщение # 7 |
заслуженный участник
Сейчас нет на сайте
| Решил изобразить в чем будет разница, если колесо экструдить из оси
|
|
| |
new5 | Дата: Понедельник, 10 Июля 2017, 10:34 | Сообщение # 8 |
был не раз
Сейчас нет на сайте
| Vuvk, спасибо, и я это понимаю, т.е. хотите сказать, что если при экструдировании элемента, сетка получается крайне усложненной, или "кривой", то мы от экструдирвоания отказываемся и юзаем метод "составных объектов"? так?
|
|
| |
Vuvk | Дата: Понедельник, 10 Июля 2017, 10:42 | Сообщение # 9 |
заслуженный участник
Сейчас нет на сайте
| Плюс, если есть какие-то отдельные подвижные части у модели (глаза, например) и иные ситуации.
Цитата new5 ( ) так? На этот вопрос пусть точнее ответят гуру 3D-моделлирования (я по программированию больше ). Но я так понимаю этот процесс.
Сообщение отредактировал Vuvk - Понедельник, 10 Июля 2017, 10:43 |
|
| |
Hanzo | Дата: Понедельник, 10 Июля 2017, 12:16 | Сообщение # 10 |
постоянный участник
Сейчас нет на сайте
| Цитата new5 ( ) что стоит разбивать на отдельные фигуры, а что "лепить" из одного "куба"? разбивать - то что не повлияет на освещение (блик и отражение), и вы не увидите прерывания и швы "лепить" - то что повлияет На примере пушки видно что цилиндры которые проходят сквозь лафет и оси на колесах - это вынужденная оптимизация и экструдить с общей геометрии их нет смысла. Я просто подумал, что у вас изгиб перила построен отдельными кубами, поэтому и не понял сразу о чем вы. Это все частные случаи.
Вот допустим разводка трубы, которую можно сделать 2-мя способами.
как видно это 2 одинаковых трубы с разной реализацией. правая - это для оптимизации с потерей бликового перехода (потеря качества) - 32 триса\32 вертекса левая - плавный бликовый переход (качество) но проигрыш в оптимизации - 58 трис\40 вертексов
как это выглядит на сетке:
|
|
| |
new5 | Дата: Понедельник, 10 Июля 2017, 12:43 | Сообщение # 11 |
был не раз
Сейчас нет на сайте
| Цитата Hanzo ( ) разбивать - то что не повлияет на освещение (блик и отражение), и вы не увидите прерывания и швы "лепить" - то что повлияет
Hanzo, спасибо большое за объяснение, теперь стало значительно понятнее. Отдельно благодарен за пример, в котором "жертвуется" оптимизацией ради лучшей визуальной составляющей.
А что посоветовали бы в таком случае относительно диагональных перекладин:
Их лучше "лепить" из общей геометрии ящика, или логичнее сделать их "составным" способом? И если делать их составным методом, то необходимо ли убирать невидимые полигоны?
Сообщение отредактировал new5 - Понедельник, 10 Июля 2017, 12:44 |
|
| |
Hanzo | Дата: Понедельник, 10 Июля 2017, 13:35 | Сообщение # 12 |
постоянный участник
Сейчас нет на сайте
| Цитата new5 ( ) А что посоветовали бы в таком случае относительно диагональных перекладин: Посоветовал бы сначала поискать нормальные рефы и сделать хай поли. Если штамповать ящики аля Контр-Страйк 1.6 вы ни разу не вырастите как моделлер. Тут даже конструкция не правильная. Вот референс из реального мира:
как видно по диагонали доски не накладываются друг на друга. Вообщем лучше изучить объекты реального мира и разбираться в их конструкции (тогда будете знать где оптимизировать).
Сообщение отредактировал Hanzo - Понедельник, 10 Июля 2017, 13:36 |
|
| |
new5 | Дата: Понедельник, 10 Июля 2017, 13:48 | Сообщение # 13 |
был не раз
Сейчас нет на сайте
| Цитата Hanzo ( ) Тут даже конструкция не правильная. Hanzo, возможно не так меня поняли, те самые ящики я нашел в интернете и выбрал их как раз из-за такого положения диагональных перекладин. Предположим что нужно сделать именно как на моем примере, как поступать в таком случае? "экструдировать" или моделить "составными" примитивами?
спасибо)
|
|
| |
Hanzo | Дата: Понедельник, 10 Июля 2017, 14:20 | Сообщение # 14 |
постоянный участник
Сейчас нет на сайте
| Цитата new5 ( ) Предположим что нужно сделать именно как на моем примере, как поступать в таком случае? "экструдировать" или моделить "составными" примитивами? такой ящик могу сделать как минимум 2-мя способами, как максимум 4-мя (все зависит от требований). Если вы хотите делать именно как на рисунке - делайте как на рисунке. Там же есть сетка. В чем проблема?
|
|
| |
new5 | Дата: Понедельник, 10 Июля 2017, 14:45 | Сообщение # 15 |
был не раз
Сейчас нет на сайте
| Hanzo, я спрашивал совета. Понимаю что отнял у вас достаточно времени и спасибо за помощь!
|
|
| |
Hanzo | Дата: Понедельник, 10 Июля 2017, 14:58 | Сообщение # 16 |
постоянный участник
Сейчас нет на сайте
| Цитата new5 ( ) Hanzo, я спрашивал совета. Я вам дал дельный совет: не страдать ерундой, а начинать с хай-поли. В определенный момент вы просто упретесь в ограничения, из-за которых не сможете дальше продолжать свое развитие\работу. Хотите потерять свое время, как это было у меня (в районе 3х лет) - тогда вперед на амбразуру) потом "ломать" себя и переучиваться будет сложнее... Могу пожелать только удачи.
|
|
| |
new5 | Дата: Понедельник, 10 Июля 2017, 15:22 | Сообщение # 17 |
был не раз
Сейчас нет на сайте
| Цитата Hanzo ( ) начинать с хай-поли Моя ошибка, упустил мысль. Обязательно приму к сведению.
|
|
| |
Hanzo | Дата: Понедельник, 10 Июля 2017, 15:37 | Сообщение # 18 |
постоянный участник
Сейчас нет на сайте
| Цитата new5 ( ) Обязательно приму к сведению. из своей практики (чтобы не быть голословным) хай-поли
лоу
после текстурирование в сабстенсе, движок
вот вам стимул к изучению хай-поли
Сообщение отредактировал Hanzo - Понедельник, 10 Июля 2017, 15:37 |
|
| |