Треугольники или прямоугольники??
- Автор темы hermione
- Дата создания
- Рейтинг
- 314
прямоугольник - это фигура, имеющая прямые углы. Полигон может являться прямоугольником только в частных случаях. Полигон может иметь сколько угодно углов, теоретически от трёх до бесконечности, и может быть поделен на треугольники (кол-во треугольников = кол-во вершин - 2). А количество треугольных полигонов (треугольников) в одной моделе является постоянным. Поэтому бюджет _всегда_ указывают в треугольных полигонах.
прямоугольник - это фигура, имеющая прямые углы
Поэтому бюджет _всегда_ указывают в треугольных полигонах
Правильно?
- Рейтинг
- 11
Миша Ершов
когда нужно явно определить направление разделения.
Не могли бы вы на пальцах (картинках) объяснить, что за "направление разделения"?
А то я сейчас нахожусь в растерянности, пытаюсь замоделить заз-965, и хоть ты тресни, выходит так, что надо вставить треугольник!
То есть, получается, что треугольники можно в некоторых местах вставлять?
Имеет ли значение где этот треугольник буде стоять, на виду или нет?
когда нужно явно определить направление разделения.
Не могли бы вы на пальцах (картинках) объяснить, что за "направление разделения"?
А то я сейчас нахожусь в растерянности, пытаюсь замоделить заз-965, и хоть ты тресни, выходит так, что надо вставить треугольник!
То есть, получается, что треугольники можно в некоторых местах вставлять?
Имеет ли значение где этот треугольник буде стоять, на виду или нет?
ой... чтож.. немного поправлю Михаила, хоть он и давно давал этот ответ. треугольники допустимы там где они не мешают, например при сглаживании, или текстурировании... НО желательно их вообще не делать...
треугольники допустимы и даже желательны в лоу поли моделировании тоесть для игр и архитектурном моделировании, в персонажах и авто они не желательны.
треугольники допустимы и даже желательны в лоу поли моделировании тоесть для игр и архитектурном моделировании, в персонажах и авто они не желательны.
Примет прост, сделайте 2 простых полигональных куба, с одним сделайте триангуляцию, сделайте смус обоих и впечатлитесь результатами. Я конечно могу ошибаться, но любая хай поли модель получается путем смуса из лоу/мидполи модели, поэтому так важно чтобы полигоны имели четырехугольную форму, причем чем более прямоугольной она будет - тем лучше.
Тоже долго не мог понять, почему надо делать четырехугольники. Для себя понял проблему так: для моделинга удобнее и проще использовать четырехугольники. Для рендеринга теоретически лучше - треугольники.
Четурехугольники (быстрее писать "квадраты") делают сетку более красивой, что делает возможной работу множества полезных в моделировании алгоритмов (от вставления edge loop до смуса). В квадрате, например, алгоритму edge loop легко понять направление разбиения. В треугольнике этот алгоритм невозможен. Именно поэтому, при моделировании треугольников нужно избегать. Но если при этом, сетка все равно не выглядит красиво ("изопармисто" - сам придумал слово), то большая часть этих алгоритмов работать все равно будет неправильно, и тогда уже все равно - треугольники ли кавдраты.
С точки зрения рендеринга, в общем случае квадрат отрендерить невозможно по двум причинам: планарность и UV. Непланарный квадрат невозможно отрендерить, потому что он неоднозначно определяет себя в пространстве. Иными словами, его можно разбить на два треугольника двумя разными способами. И эти два способа дадут абсолютно разную геометрию на выходе. Треугольник же определяется в пространстве всегда однозначно, так как три любые точки в пространстве всегда лежат в одной плоскости. Если они при этом не лежат на одной прямой, то они однозначно задают едиственную плоскость в пространстве. Именно поэтому, при рендеринге любая геометрия сначала триангулируется (квадрат не всегда возможно однозначно визуализировать, а треугольник - всегда однозначен).
На тему UV. Даже если квадрат планарен, но его диагонали пересекаются не в середине самих диагоналей (либо в пространстве, либо в UV раскладке), то на нем нельзя однозначным образом определить UV-координаты. В треугольнике - всегда можно. Если попытаться порендерить квадрат с неправильными диагоналями (см. выше), то расположение текстуры на нем непредсказуемо и зависит от того, каким именно способом рендер разобъет этот квадрат на два треугольника. Треугольник в этом смысле всегда однозначен и предсказуем. Я с этой проблемой сталкивался даже при простых UV (когда углы квадрата имеют UV: (0;0), (0;1), (1;0) и (1;1)).
На счет ментал рея. Могу ошибаться, но на сколько я помню, он легко работает и с квадратами и с треугольниками. Единственное, геометрия либо вся должна быть из треугольников, либо вся из квадратов. Если есть и то и другое, то будут глюки.
Вывод. Навреное, можно работать и с тем и с другим. И у треугольников и у квадратов есть и плюсы и минусы. Если их понимаешь (и если понимаешь, что будешь делать с геометрией потом), то можно использовать и то и другое. Если не понимаешь, то наверное нельзя использовать ни то, ни другое
Четурехугольники (быстрее писать "квадраты") делают сетку более красивой, что делает возможной работу множества полезных в моделировании алгоритмов (от вставления edge loop до смуса). В квадрате, например, алгоритму edge loop легко понять направление разбиения. В треугольнике этот алгоритм невозможен. Именно поэтому, при моделировании треугольников нужно избегать. Но если при этом, сетка все равно не выглядит красиво ("изопармисто" - сам придумал слово), то большая часть этих алгоритмов работать все равно будет неправильно, и тогда уже все равно - треугольники ли кавдраты.
С точки зрения рендеринга, в общем случае квадрат отрендерить невозможно по двум причинам: планарность и UV. Непланарный квадрат невозможно отрендерить, потому что он неоднозначно определяет себя в пространстве. Иными словами, его можно разбить на два треугольника двумя разными способами. И эти два способа дадут абсолютно разную геометрию на выходе. Треугольник же определяется в пространстве всегда однозначно, так как три любые точки в пространстве всегда лежат в одной плоскости. Если они при этом не лежат на одной прямой, то они однозначно задают едиственную плоскость в пространстве. Именно поэтому, при рендеринге любая геометрия сначала триангулируется (квадрат не всегда возможно однозначно визуализировать, а треугольник - всегда однозначен).
На тему UV. Даже если квадрат планарен, но его диагонали пересекаются не в середине самих диагоналей (либо в пространстве, либо в UV раскладке), то на нем нельзя однозначным образом определить UV-координаты. В треугольнике - всегда можно. Если попытаться порендерить квадрат с неправильными диагоналями (см. выше), то расположение текстуры на нем непредсказуемо и зависит от того, каким именно способом рендер разобъет этот квадрат на два треугольника. Треугольник в этом смысле всегда однозначен и предсказуем. Я с этой проблемой сталкивался даже при простых UV (когда углы квадрата имеют UV: (0;0), (0;1), (1;0) и (1;1)).
На счет ментал рея. Могу ошибаться, но на сколько я помню, он легко работает и с квадратами и с треугольниками. Единственное, геометрия либо вся должна быть из треугольников, либо вся из квадратов. Если есть и то и другое, то будут глюки.
Вывод. Навреное, можно работать и с тем и с другим. И у треугольников и у квадратов есть и плюсы и минусы. Если их понимаешь (и если понимаешь, что будешь делать с геометрией потом), то можно использовать и то и другое. Если не понимаешь, то наверное нельзя использовать ни то, ни другое
геометрия либо вся должна быть из треугольников
Процитированная фраза "геометрия либо вся должна быть из треугольников" относилась не к рендерингу, а к Approximation Editors ментал рея (просто выше было сказано, что эти Approximation Editors не работают с треугольниками). Эти Approximation Editors работают с геометрией еще до ее триангуляции, и они могут работать либо только с квадратами, либо только с треугольниками. Смешанная геометрия не подходит для них (если я правильно помню, и если с тех пор ничего не поменялось). А уже после их работы, геометрия триангулируется и рендерится.
А когда я говорил про рендеринг, что там лучше треугольники, я говорил, о том, что только треугольники могут порендериться однозначно и предсказуемо (с точки зрения UV и с точки зрения однозначности геометрии). Квадраты не всегда однозначно определены в пространстве и не всегда на них однозначно определены UV-координаты. Соответственно, при использовании квадратов, на рендере будет не всегда получаться то, что хочется, а будет получаться то, что получится.
А когда я говорил про рендеринг, что там лучше треугольники, я говорил, о том, что только треугольники могут порендериться однозначно и предсказуемо (с точки зрения UV и с точки зрения однозначности геометрии). Квадраты не всегда однозначно определены в пространстве и не всегда на них однозначно определены UV-координаты. Соответственно, при использовании квадратов, на рендере будет не всегда получаться то, что хочется, а будет получаться то, что получится.
Про то, что квадраты могут быть непланарными и в этом случае они принципиально не могут быть однозначно определены в пространстве (а значит и не могут быть однозначно порендерены), я думаю, это понятно.
На счет неопределенности UV у квадратов - вот скриншот планарного четырехугольника.
Это - обычный плейн с обычной UV-раскладкой. Токльо одна вершина перемещена по одной координате. (UV я не трогал)
По картинке надеюсь понятно, что если бы при визуализации триангуляция прошла бы по другой диагонали, текстура легла бы совсем по-другому.
Соответственно, предсказать, как текстура будет лежать на таком фэйсе при рендере - НЕВОЗМОЖНО.
Более того, при анимации (например, при перемещении камеры), рендер может принять решение триангулировать данный фэйс по-другому. Это приведет к тому, что текстура может просто начать скакать по фэйсу.
С треугольниками такие ситуации исключены
(тоже самое можно сказать и про планарность: непланарных треугольников не существует)
На счет неопределенности UV у квадратов - вот скриншот планарного четырехугольника.
Это - обычный плейн с обычной UV-раскладкой. Токльо одна вершина перемещена по одной координате. (UV я не трогал)
По картинке надеюсь понятно, что если бы при визуализации триангуляция прошла бы по другой диагонали, текстура легла бы совсем по-другому.
Соответственно, предсказать, как текстура будет лежать на таком фэйсе при рендере - НЕВОЗМОЖНО.
Более того, при анимации (например, при перемещении камеры), рендер может принять решение триангулировать данный фэйс по-другому. Это приведет к тому, что текстура может просто начать скакать по фэйсу.
С треугольниками такие ситуации исключены
(тоже самое можно сказать и про планарность: непланарных треугольников не существует)
Вложения
-
29,1 КБ Просмотров: 1 037
Это все ясно и некоторые может даже скажут спасибо за такой обзор =), но речь сейчас не идет о полной триангуляции. Конечно логично, что mr Approximation хорошо работает с однородной треугольной топологией. Но я выше не про этот случай писал. Неоднородные изменения в структуре, по-моему, всегда приводят к косякам в процедурах, основанных на интерполяции - те же, например, сабдивы. Насчет картинки: таких случаев надо избегать хорошей разверткой, после этого заметных проблем не должно возникать.
Имхо, направление триангуляции всегда постоянно, если ее не изменять вручную.
Более того, при анимации (например, при перемещении камеры), рендер может принять решение триангулировать данный фэйс по-другому.
На счет направления триангуляции - согласен, но я нигде в документации не видел, чтобы это было явно написано. А раз не написано, значит нельзя это утверждать наверняка. Более того, скорее всего, решение о направлении триангуляции скорее всего принимается на основе углов фэйса. А если ситуация почти симметричная, но от направления триангуляции сильно зависит, например, UV? Тогда - случай скакания текстуры при анимации.
На счет таких случаев, еще раз скажу, что у этого фэйса UV я не трогал. Они очень даже хорошие. Попробуйте замэпить такую трапецию "хорошо" - т. е. так, чтобы текстура шашечек легла тоже по трпеции. Не выйдет (если не разбивать на более мелкие фэйсы). Проблема не в UV, а в форме самого фэйса. Такой фэйс невозможно однозначно замэпить никаким способом (кроме может быть планарной проекции, но это - не то, что требуется в данном случае). Это принципиально.
А на счет избегания таких фэйсов - это не возможно. Подобное искажение есть везде. Может быть не такое сильное (я так сильно исказил, чтобы было четко видно проблему). Под эту проблему попадают все фэйсы, у которых попарно противоположные эйджи не равны друг другу (я имею в виду только планарные четырех-угольники).
Т. е. нормально мэпятся только: прямоугольники, параллелограммы, равнобокие трапеции. Все остальные четырехугольники невозможно замэпить правильно. Больше чем уверен, что эти "все остальные" имеются в любой геометрии (стандартные плейн, сфера, куб - не в счет).
Предлагаю дальше не спорить (хотя мы даже и не спорим, так как не противоречим друг другу). Просто тема четырех-угольников / треугольников мне самому очень долго была непонятна и вот я решил высказать все, что сам понял для себя.
На счет таких случаев, еще раз скажу, что у этого фэйса UV я не трогал. Они очень даже хорошие. Попробуйте замэпить такую трапецию "хорошо" - т. е. так, чтобы текстура шашечек легла тоже по трпеции. Не выйдет (если не разбивать на более мелкие фэйсы). Проблема не в UV, а в форме самого фэйса. Такой фэйс невозможно однозначно замэпить никаким способом (кроме может быть планарной проекции, но это - не то, что требуется в данном случае). Это принципиально.
А на счет избегания таких фэйсов - это не возможно. Подобное искажение есть везде. Может быть не такое сильное (я так сильно исказил, чтобы было четко видно проблему). Под эту проблему попадают все фэйсы, у которых попарно противоположные эйджи не равны друг другу (я имею в виду только планарные четырех-угольники).
Т. е. нормально мэпятся только: прямоугольники, параллелограммы, равнобокие трапеции. Все остальные четырехугольники невозможно замэпить правильно. Больше чем уверен, что эти "все остальные" имеются в любой геометрии (стандартные плейн, сфера, куб - не в счет).
Предлагаю дальше не спорить (хотя мы даже и не спорим, так как не противоречим друг другу). Просто тема четырех-угольников / треугольников мне самому очень долго была непонятна и вот я решил высказать все, что сам понял для себя.