Jump to content

ZloySkin

Members
  • Posts

    370
  • Joined

  • Last visited

  • Days Won

    3

Everything posted by ZloySkin

  1. Кстати, ВСЕМ, ВСЕМ, ВСЕМ !!! Есть просто шедевральный инструмент в списке модификаторов, сложнейшие переплёты кабин делаются за 1 секунду!!! Просто берём вырезаный переплёт и накладываем на него модификатор Shell, ковыряемся в нём, выставляя "глубину" и ВСЁ, колдунство готово!!!
  2. Касательно 6 т на колёса, мне кажется однозначный перебор, надо оптимизировать осевую часть - на сетке это явно видно.
  3. Что-что а "наплывы" по бокам стали действительно похожи на оригинал, да и по топологии весьма экономно и аккуратно. Андрей, а чуточку поближе к самим движкам и без смуса и варефрейма эти места можешь заскринить? Думаю ошибки в топологии только тогда будут видны, если они есть конечно.:) У меня ощущение, что маленькие наплывы перед створками шасси на мотогондолах имеют более акцентированную овалную форму, более выпуклы и в оригинале чуть меньше по размерам. Кроме того, обтекатель основного воздухозаборника мне показался в оригинале чуть более скруглённым и главные отверстия в нём чуть меньше размером. Возможно, что опять же показалось. В остальном мне по прежнему продолжает казаться, что присутствует некоторый перебор с геометрией, что с полигонажем? Да и это ещё, Андрей, прочитай про "деградацию геометрии" и посмотри на свои коки винтов, носовую часть фюзеляжа и колёсные оси. Я бы на твоём месте серьёзно соптимизировал именно эти места.
  4. Думаю, что универсального способа нет. Я предпочитаю лофт ещё со времён 3DStudio, хотя и в нём масса недостатков, в любом случае в итоге всё равно приходится всё доделывать руками, без этого не получается. Руками приятно делать, чередуя инструменты EditMesh и EditPoly, кое где вставляя "радикальную хирургию" Boolean и ShapeMerge, когда простым катом нужного результата добиться сложно. :) В общем все инструменты хороши только дополняя друг-друга. Это действительно так. Странно от тебя такое слышать, честное слово.
  5. Э-э-э-э, а как ты думаешь, у реальных самолётов имеются такие вот "щели" о которых ты говоришь? И по "сетке" я не совсем тоже пока догоняю. И ещё не совсем понятно, ты вродеделаешь модель игровую, а сетки у тебя нет, ты нурбсами делаешь чтоли или сюрфасами? не боишься, что потом эти методы поставят тебя в тупик?
  6. Простенький какой самолётик, а что по полигонажу? Немного не догоняю, а как ты поступил с нишами шасси, они есть вообще?
  7. Ну если ты одобряешь, тогда ладно...:)
  8. 128 там по очень простой причине. Сначала один товарищ сделал нормальный автомат перекоса, вполне себе детальный и качественный. А потом второй товарищ так увлёкся моделингом потрохов, типа креслиц в салоне, что наворотил дайбоже. Мы с Чижом посовещались и решили не упрощать - нехай будить. :) А так вообще это жесть по перебору!
  9. Сетку положи пжлст. Так сложно судить. Моё мнение такое, что движки кажутся в реале более "мясистыми" что-ли, чем у тебя, какими-то повыпуклей, покруглей, помускулистей, не такими "худощавыми". Но, повторяю, это только ощущение такое, могу взять свои слова обратно сразу, как только сможешь убедить в обратном.
  10. А вот публиковать такие скриншоты http://www.digitalcombatsimulator.com/img/products/large/9359aac9490fe6a6e04f4ab5d8ea0d1a.jpg - это всё-равно что выпихивать человека без трусов на людную улицу. Когда этот вертолёт делался, никто даже в страшных снах не мог предположить, что с этого ракурса, кто-нибудь когда-нибудь на это посмотрит. Анреспект короче!
  11. Думаю, что я ещё дам некоторые разъяснения по поводу того, что написал выше Гриша, поскольку по ходу рассмотрения, всё-равно придётся неоднократно к этому возвращаться. Сейчас несколько занят по работе, продолжу в ближайшее время, жду вопросов. В бытность мою студентом, лет 15 назад преподавал нам на 3-4 курсах такую дисциплину, как радио-технические цепи и сигналы некий профессор Соколов, весьма эпотажная личность, умница и любимец всей кафедры. В своё время он окончил Сорбонну и слушал курс небезвестного профессора Дирака, выведшего функцию Дирака и предложившего гипотезу монополей Дирака. К чему это я? У профессора Соколова была по его словам привычка Дирака говорить после лекции одну и ту же фразу: еcли нет вопросов, значит никто ничего не понял, видимо я плохо объяснял. Так что жду вопросов.
  12. Как формальное объяснение принимается, ты правда, забыл уточнить, что есть ещё поля записи vertexcolour1, vertexcolour2 по RGB компонентам, и что под текстурные координаты выделяется 16 регистров всегда, а position и normal - это float. ;) Предлагаю тему закрыть, поскольку речь шла не об этом.
  13. Я вернусь к началу своей статьи и вспомню, как бесжалостно я кастрировал маленькую сферу. Точно также, я возьму законцовку и сделаю её просто треугольной пирамидкой, ведь это не противоречит, а очень даже соответствует принципу рационального моделирования. Следующее сочленение я сделаю всего лишь шестигранником в сечении. А что мне мешает двигаться дальше, сделав следующее сочленение восмигранником, два последующих двенадцатигранниками, предпоследнее перед основным радиусом шестнадцатигранником и только основной радиус оставить таким, каким он и был, то есть 24 грани, так как показано на рисунке 13 слева? А справа виден результат упрощения, который состоит из 186 треугольников. Так что получилось в итоге? Я избавился от вырожденной геометрии, моя модель стала выглядеть лучше первоначальной, да ко всему прочему я ещё и на треугольниках сэкономил! 30 штук, те самые 16% мимо кассы!!! Всё это, благодаря золотому принципу рационального моделирования. Добавлю, что этот метод, называется методом деградации геометрии (геометрия как-бы деградирует в соответствии с принципом двух сфер :)) и применяется он не только на объектах вращения. Кроме всего прочего необходимо сделать ещё один вывод из вышеизложенного: регулярная сетка вредна тогда и с ней необходимо бороться тогда, когда она противоречит принципу рационального моделирования и полезна тогда, когда она ему следует. Необходимо также добавить, что метод деградации является одним из частных случаев корректировки топологии, о которой я расскажу ниже. Ну и в качестве дополнения, хочу ответить на вопрос Андрея Тихоновского по выбору количества граней у объектов вращения. Как следует из вышеописанного примера лучше всего для объектов вращения выбирать наиболее кратное количество граней, то есть кратным максимальному количеству простых чисел. Например 12, 24 и 36 великолепные числа, поскольку свободно делятся на 2, 3, 4, 6, а вот 10, 16 и 18 и 32 не лучший выбор, поскольку в ряду будет отсутствовать либо тройка, либо четвёрка. Объекты вращения с 12, 24 и 36 гранями наиболее пригодны для деградации и экономия полигонов после деградации будет значительно более ощутимой, если вы, скажем, предпочтёте им числа из казалось бы заведомо более "экономичного" ряда 10, 16, 18 и 32. Однако бывают исключения. Например, представьте себе циллиндрический счётчик на индикаторе какого-нибудь прибора. Понятно, что будет лучше, если он будет состоять из циллиндра с количеством граней кратным 10, поскольку на нём будут расположены цифры от 0 до 9. Но это частный случай, привожу только в качестве исключения.
  14. Для примера возмём модель носового обтекателя, как показано на рисунке 12. Хорактерно прявляется обычное явление вырожденности геометрии в концевой точке обтекателя. Что делать? Попробуем решить задачу в лоб, то есть произвести тессиляцию на самом конце. Я пропущу промежуточный вариант, и так понятно, что если добавить ещё одно сочленение практически в самой законцовке, то достичь своей цели, то есть избавиться от вырожденной геометрии мы не сможем. Почему? Да потому, что между последним и предпоследним сочленениями возникнут "длинные фасетки", а результат и в этом случае будет неудовлетворительным. Что делать? Придётся тессилировать последнее и предпоследнее колено, так, чтобы законцовка пришла к виду аккуратного скругления, как показано на рисунке 12 справа. Охренеть! - скажете вы, и будете правы, - а как же экономия полигонов, ведь вместо 216 треугольников, существовавших в исходном варианте, мы получили 360 или на 67% больше!!! фактически ничего не добавив, а всего лишь избавившись от паскудского артефакта, вызванного вырождением геометрии. Не слишком ли жирно? Да, жирноватенько, соглашусь я. Но у меня есть универсальный принцип рационального моделирования, который всегда приходит на помощь, даже в самых трудных и практически безвыходных ситуациях!!! Воспользуюсь им, пожалуй, и в этом случае. А именно применю методику деградации геометрии.
  15. Теперь, я хотел бы расширить понятие вырожденной геометрии. То есть ввести её дополнительные признаки. Вероятнее всего все моделлеры в той или иной степени сталкивались с одной неприятной тенденцией, когда пытались отмоделить кок винта или, скажем остренькую законцовку обтекателя ракеты. В момент, когда концевая точка вельдится смус конуса на этой самой концевой точке начинает вести себя так, что становится страшно. Математика этого явления элементарна, все нормали к треугольникам конуса в этой точке суммируются в одну, которая совпадает с осью кручения конуса, как показано на рисунке. Видно, что нормаль имеет чрезвычайно тупой угол с поверхностями треугольников, это и даёт настолько неудовлетварительный результат на выходе. В связи с этим, я имею намерение вывести второй признак вырожденной геометрии, а именно: на участке сглаживания, то есть в точке, где нормали к поверхности суммируются геометрия вырождается при стремлении угла суммарной нормали к поверхности к 180 или к 0 градусов хотя бы в одном из направлений суммирования. Иными словами, чем больше угол нормали к поверхности отличается от прямого, тем большую вырожденность геометрии вы получите. На практике, то есть опять же сугубо эмпирически, углы более 120 и менее 60 градусов хотя бы по одному из направлений будут вести к тем или иным артефактам, то есть явным проявлениям вырожденной геометрии. Как бороться с этим явлением?
  16. Поскольку выяснилось, что Стас, действительно случайно, что-то перепутал, а может быть имел в ввиду другое, то о чём пойдёт речь значительно ниже, когда я перейду к текстурным координатам точек, то продолжим по порядку. Как я уже отметил, для того, чтобы избавиться от вырожденной геометрии, необходимо произвести тессиляцию, то есть разбить внешние грани опор таким образом, чтобы избавиться от "длинных фасеток", как приблизительно показано на рисунке 11. Вообще-то в каждом конкретном случае тессиляцию необходимо производить по отдельному, выбранному для данного конкретного случая алгоритму. В данном случае я выбрал простейший путь, то есть привёл решётку опоры к регулярному виду. Это исключительно для того, чтобы была понятна суть борьбы с вырожденной геометрией. Вообщето я мог разбить грань и не на 8 частей, а например, на 4 или иное количество, и при этом также избавиться от вырожденной геометрии. Какой алгоритм применять решать необходимо на каждом конкретном примере, согласно принципу рационального моделирования и первому определению вырожденной геометрии. То есть следить за тем, чтобы кратчайшая высота треугольника всегда менее чем на один порядок отличалась по длинне от самой длинной стороны треугольника. На рисунке справа изображён конечный результат после назначения смус-групп. Всего смус-групп две: 1 назаначена на боковые поверхности опор и 2 назначена на ступеньки и торцы опор. Замечу, что после тессиляции количество треугольников увеличится на 64 штуки и их суммарное число составит 888. Соотнесём это число с нашим сухим остатком из 760 треугольников и получим 16типроцентный прирост геометрии. Не существенно для регулярной сетки. Такой процент, как 16 легко можно вычленить из другого места модели, так что легко можно списать!
  17. Я, честно говоря, не очень понимаю, как такое может происходить. Физические то координаты одни и те же, зачем их вызывать несколько раз? Сами точки хранятся в вертекс-буфере, вызываются только индексы точек, а они к вертекс-буферу отношения вообще никакого не имеют, будь то ЛО или вообще, что-либо ещё, процесс то происходит на апартном уровне, тут всё завязано на отрисовке, то есть на конкретном количестве фасеток. По твоему получается, что в ЛО АБСОЛЮТНО ВСЕ треугольники одного меша вызываются по отдельности. Перечитай себя ещё раз и отнеси всё сказанное тобой, например к элементарному боксу. И лесенка и бокс это ОДИН МЕШ! Помоему ты бред какой-то написал. :) Пожалуй даже проиллюстрирую рисуночком почему. Потвоему выходит, что точки 1,2,3,4,5 и 6 это РАЗНЫЕ точки двух боксов, маленького и большого, только потому, что результирующая фигура получена путём булевского вычитания? А если не булем делать а выстроить такую фигуру руками это будут одни и те же точки? Возможно, Стас, ты путаешь одни точки с другими, а именно физические координаты точек геометрии, с кординатами точек текстурных шелов на раскладке. Тогда я тебя понимаю. Текстурных координат может быть действительно сколько угодно, то есть в теории до бесконечности. Но ведь и в случае с "несращиваемой" геометрией мы имеем те же проблемы. Поясни пожалуйста поподробнее, что конкретно ты имел в виду, КАК, ЗА СЧЁТ ЧЕГО может увеличиться физическое количество точек и по какой закономерности это происходит? Ну и ко всему прочему, ты не до конца меня читаешь. Я призывал к "сращиванию геометрии" не потому, что количество физических точек остаётся прежним (это не должно подвергаться сомнению будь то ЛО или макс или ещё что-то), а по другим причинам. Перечитай меня ещё раз. Сохранение физического количества точек было только одним из аргументов того, что такое изменение не приводит к существенному снижению производительности. К слову, эмпирически этот показатель колеблется от 1 до максимум 5 процентов!!! 5 - это когда действительно чудовищно тяжёлая геометрия и количество треугольников вырастатет на 50-70% внутри одного меша. При этом я всего лишь даю весьма показательный пример. Делай я эту лестницу для ЛО, я бы вообще трёхгранных палок налепил и оттекстурил их планаром. Дело то в сути вещей, а не в конкретном примере. Тем более, что по поводу сращивания и вырождения геометрии я ещё не закончил а про корректировку топологии вообще ещё не начинал, это где-то треть того, что я хотел написать. Так что давай оставим призывы напотом, пока я не закончу. Да, пожалуй, я прокоментирую этот момент ещё раз для всех остальных, поскольку это, как оказалось, действительно чрезвычайно важно. Лесенка - это тот же бокс, поскольку представляет собой однородный замкнутый меш. Но! До поры до времени. Я неслучайно запнулся в предыдущих постах о понятии дро-кола. Достаточно назначить опорам лесенки и ступенькам разные материалы, как вы сразу получите ситуацию о, которой написал Стас, в предыдущем посте. Моментально один объект станет для апаратуры двумя объектами и моментально точки с одними и теми же физическими координатами будут дважды загружаться в вертекс-буфер. То же самое произойдёт и с боксом, достаточно наложить на каждую из сторон бокса отдельную текстуру, как он из одного объекта превратится в 6 отдельных объектов и вместо 8 точек мы получим сответственно 24!!! Чуть ниже, когда я буду исследовать топологию, я ещё раз подробнейшим образом остановлюсь на этом моменте. А на данном этапе, придётся поверить мне на слово - количество физических точек не изменилось. Поменяется оно только в том случае, если разным треугольникам одного меша будут назначены разные материалы. Существует даже такое понятие как MaterialMesh, которое практически эквивалентно понятию дро-кола. Надеюсь, теперь всем становится понятно, насколько вредно увеличение количества дро-колов и насколько несравнимо больший вред это увеличение приносит по сравнению с увеличением количества треугольников.
  18. Если мы взглянем на танк, под несколько иным углом зрения, как показано на рисунке 10, то обнаружится, что опора лестницы, а точнее её основная часть, без закруглений имеет самые что ни наесть первейшие признаки вырожденной геометрии. Мало того, эти признаки были у опор и до того, как я произвёл «сращивание» геометрии, то есть опоры состояли сплошь из «длинных фасеток», а значит, при участии в смус-группах начинали смотреться отвратительно. Далее прошу обратить ваше особое внимание на тот парадокс, который порождает в себе вырожденная геометрия. Мы упрощаем круглую вроде бы опору в четырёхгранную и видим, что участие «длинных фасеток» в одной смус-группе не приводит к удовлетворительному результату, опора по прежнему смотрится довольно горбато и совсем не круглой. А теперь, внимание!!! Маленькое колдунство, то есть на самом деле не колдунство, а всего лишь ловкость рук и элементарная математика. Что будет делать начинающий моделлер? Да, он будет увеличивать количество граней в поперечном сечении. Так будет подсказывать ему элементарная человеческая логика. Но действовать надо, не подчиняясь инстинктам. Подчиняясь инстинктам, вы совершаете ошибку. Действовать надо согласно принципу рационального моделирования, а именно, надо тессилировать опору по длине. Парадоксально? Да нисколько, простая математика. Я ещё и не такое могу показать. Ну и логический вывод, который можно сделать. Он прост: вырожденную геометрию можно убрать только посредством тессиляции длинных фасеток по их длинне. Можно даже вывести методическое правило рационального моделирования: При моделинге, увеличивая относительную разницу между сторонами одного треугольника вы совершаете методическую ошибку. Согласно принципу рацинального моделирования вы должны всеми известными методами устремлять все свои треугольники к равностороннему.
  19. Итак, что же такое вырожденная геометрия, каким образом она отрицательно сказывается на результатах моделирования и как с ней можно и нужно бороться? Для начала дам определение вырожденной геометрии. Вырожденная геометрия – это такая геометрия, в которой присутствуют треугольники, в которых все три точки расположены приблизительно на одной прямой или очень близко к одной прямой. (Далее я введу более общее понятие вырожденной геометрии, поскольку этим определением она к сожалению не ограничивается.) Что это значит? Сейчас поясню. Одним из признаков вырождения геометрии могут служить, так называемые «длинные фасетки», то есть треугольники, у которых кратчайшая высота треугольника меньше самой длинной из сторон более чем на один порядок. Надеюсь, все помнят курс геометрии за 6 класс и не забыли что такое биссектриса, медиана и высота треугольника. Кто не помнит, может взглянуть на рисунок 9, иллюстрирующий «длинные фасетки», как один из признаков вырожденной геометрии. Теперь напишу несколько слов о свойствах «длинных фасеток» и почему именно они являются основным признаком вырожденной геометрии. Из рисунка 6 видно, что все три точки треугольника расположены очень близко к прямой. Чем это чревато? Дело в том, что мы имеем конечное число разрядов при определении координат точек, то есть сами координаты всегда будут иметь ошибку дискретизации и округления до ближайшего значимого разряда. При ряде вычислений, как мы знаем, ошибка накапливается. Я уже писал в «Диалогах о нормалях» (http://forums.eagle.ru/showthread.php?t=28217), что нормали вещь в себе и зависят от формата записи объекта. Иногда нормали могут запросто не участвовать в записи, а просто вычисляться по правилу буравчика, оно же правило левой руки из координат точек треугольника. То есть треугольник записывается в виде 1.2.3, где 1, 2 и 3, это последовательность точек, а нормаль вычисляется через матрицу их координат. Почему по правилу буравчика? Да потому, что нормаль всегда смотрит в сторону, вычисляемую по правилу левой руки при нумерации точек по часовой стрелке. Например, в треугольнике 1.2.3 нормаль смотрит в сторону «от меня», а значит, я не вижу треугольника, а при нумерации 3.2.1 нормаль смотрит «на меня», а значит, фасетка является для меня видимой. Так вот, к чему это я? А к тому, что при вычислении нормали к «длинной фасетке» ошибка получается такой, что треугольник может смотреть куда угодно, только не туда, куда ему следовало бы смотреть. Думаю, что все моделлеры в той или иной степени сталкивались с этой проблемой. Мало того, если треугольник участвует в какой-то из смус-групп, то результирующие этой смс-группы будут также непредсказуемы. Надеюсь, что тоже понятно почему. Итак, проблема чётко очерчена, она проявляется в тот момент, когда моделлер начинает присваивать смус-группы своему творению и видит совершенно не то, что он ожидал увидеть. Давайте разбираться с методами борьбы с этим паскудским явлением.
  20. Не стану особо распинаться: 1. Я руками избавил Z-буфер (буфер, отвечающий за сортировку треугольников по мере удаления от точки зрения, то есть за порядок прорисовки треугольников) от необходимости сортировать перекрывающиеся части лестницы, ступеньки и опоры. На самом деле это ерунда, не сказывающаяся ни на чём. Реальный выигрыш заключается в том, что объект теперь не зависит от глубины Z-буфера, то есть того каким он будет на конкретной видеокарте 16, 24 или 32 битным. То есть прорисовка объекта не будет зависеть от того какая видеокарта занимается ею, и какие установлены драйвера. Мне будет на это глубоко плевать, а это существеннейший плюс к тому, что я называю культурой моделирования. К слову скажу ещё пару слов о культуре моделирования в этом пункте. Необходимо, чтобы все физические объекты в модели были «замкнуты», то есть не имели «надрывов». Кто гарантирует вас от того, что в самом ближайшем будущем вашу модель не захотят заанимировать? Что легче, достроить геометрию в тех местах, где появились щели и откровенные дыры в результате анимации или же по результатам убрать невидимые треугольники? Я думаю вопрос риторический… «Сращивание» геометрии методом булина практически гарантирует вас от «разомкнутости» объектов. Кстати, советую всем пользоваться 9 максом, поскольку в нём булиновские операторы работают несравненно корректнее, чем в более старых версиях, большинство «лишних» точек и граней оптимизируются. Это к слову. А по сути, использование замкнутых подобъектов также говорит о высокой культуре вашего моделинга. Если вы не уверены в том, замкнут объект или нет, просто завельдите точки и наложите оператор Cap Holes, он автоматически закроет плоскостями все имеющиеся у вас в объекте дыры. Полезный инструмент, те кто его придумал, знал толк в культуре моделирования. 2. В своей статье Небольшое пособие по "запеканию" "оклюжена" (см. http://forums.eagle.ru/showthread.php?t=27778), я упоминал о таком важном параметре, как padding. Надеюсь, никто не будет подвергать сомнению то, что я обязательно собираюсь применить этот великолепный инструмент при текстурировании своего танка. Ещё как собираюсь! Так вот без «сращивания» геометрии, падинг становится абсолютно бесполезной величиной, поскольку он будет влиять на края текстурных шеллов, которые скрыты у нас где-то под другими поверхностями. Грубо говоря, при просчёте лайтмапа перекрывающиеся части объекта, ступенек и опор будут просчитаны непредсказуемо, а результирующая текстура будет иметь в местах перекрытия чудовищного вида артефакты, которые могут навсегда оставить в вашем сердце неизгладимый след от неправильного применения «запекания» и совершенно несправедливо наложить на этот метод чёрный след «глючного» и опасного. То есть, надеюсь, все понимают, что если было принято решение при текстурировании использовать «запекание», то сращивание просто необходимо, иначе технология будет не выдержана. 3. Самый обширный пункт, которому необходимо посвятить отдельную главу, а именно: Вырожденная геометрия, борьба с ней и корректировка топологии. Почему это относится к списку выгод от «сращивания» геометрии будет понятно по ходу дальнейшего рассмотрения.
  21. Итак, приблизительного соответствия мы добились, что же дальше? Прежде всего, необходимо привести все элементы танка в соответствие с принципом рационального моделирования, в частности ступеньки лестницы. Ступеньки своим диаметром соответствуют опорам лестницы, а, следовательно, должны иметь столько же граней в поперечном сечении. Делаем, как показано на рисунке 8. Замечу, что после подобной оптимизации количество треугольников в сцене сократилось до 824. Аккуратно стыкуем концы ступенек с опорами, но не торопимся убивать торцевые фасетки. Здесь я сделаю ещё одно важное отступление, без которого дальнейшее рассмотрение моих действий будет просто бессмысленным, а сами действия могут показаться абсурдными и даже вредными. Для начала скажу, что я собрался делать. Я «врежу» булином ступеньки в опоры. Для того чтобы начинающие и кое в чём поднаторевшие моделлеры не стали сразу плеваться (а опытные зубры сразу поймут с какой целью это делается) и не начали приводить основной довод в подобных ситуациях: А как же увеличение полигонажа? Я посчитаю количество треугольников с удалёнными торцевыми треугольниками ступенек, просто для того, чтобы знать от чего мы пляшем в сторону увеличения полигонажа. А именно после удаления торцевых фасеток ступенек осталось 760. Это потому, что ступеньки были сделаны цилиндрами, и в каждой торцевой части было не 2 треугольника, а 4 из-за центральной точки. Итак, в сухом остатке имеется 760 треугольников. После того, как я произвёл операцию сложения, сцена стала весить 856 треугольников, то есть на 96 фасеток больше, чем в исходной геометрии, или на 12,6% в относительных величинах. Прирост не такой уж и значительный, но возникает вполне резонный вопрос: что мы за счёт этого выиграли? Давайте посчитаем. В первоначальном варианте, когда было 760 треугольников, количество точек равнялось 456, после того, как геометрия «срослась» количество точек не изменилось!!! А это значит, что весьма важный фактор, как вертекс-буфер, существенно влияющий на скорость рендера, остался без изменений. Пока оставлю это замечание без комментариев, поскольку углубляться в то, что такое вертекс-буфер, его склонность к переполнению, а также что такое дро-колы, рано и вообще не имеет особого смысла. Просто прошу пока поверить мне на слово, в то, что сохранение количества точек есть хорошо. Кроме того, мы ещё имеем такое свойство объекта, как сглаживание (чувствуете, что мы медленно, но верно подходим к вопросу нормалей?). Так вот количество векторов нормалей к поверхности в каждой точке выросло не больше, не меньше, а ровно на такое же количество, насколько увеличилось количество треугольников. Тоже непреложный факт, поскольку нормаль к треугольнику мы берём из точки, а количество точек осталось прежним. Таким образом, наша запись увеличилась не так уж и существенно, а именно: количество треугольников и количество нормалей к ним в точках увеличилось на 12,6 %, а вот количество точек, а именно количество относительных координат (надеюсь, все знают, что координаты точек в объекте берутся в обжекспейсе, то есть относительно центра объекта) осталось без изменений. Тут я должен заметить, что особенности работы современных графических акселераторов таковы, что основную нагрузку на их производительность оказывает как раз не количество треугольников, а количество объектов (или подобъектов), имеющих в чём-то отличающиеся при рендере свойства. Ну, например, текстуры разные, или интенсивность блика другая, или ещё какое-то свойство материала не совпадает, ну или, в конце концов, это просто отдельный объект модели. Тогда этот подобъект загружается отдельным конвейером видеокарты, как совершенно самостоятельный объект, имеющий свои уникальные свойства. Соответственно, вызов на рендер занимает значительно большее время, нежели отрисовка самого подобъекта на экран. Этот вызов и имеет жаргонное название дро-кол (draw call). При этом количество треугольников (если оно разумно) внутри дро-кола значения не имеет. Скажу лишь, что один дро-кол из трёх треугольников будет выводиться на рендер такое же количество времени, что и дро-кол из 5000 треугольников, а вот 5000 дро-колов по одному треугольнику серьёзно притормозят карточку по отрисовке, не в 5000 раз, конечно, но в разы, а значит на сотни процентов. Не знаю, насколько то, что я написал, необходимо помнить каждому моделлеру и держать это в голове, хочу, только, чтобы все уяснили для себя: в случае вывода простой геометрии на рендер (до 5-10 тысяч треугольников) изменение полигонажа на 12% практически никак не скажется на производительности, увеличение же количества дро-колов снизит производительность приблизительно на тот же процент. Тут разумные люди попытаются вспомнить о том, что я вёл речь о выгодах «сращивания» геометрии и посчитать выгоду, однако перевёл стрелки и начал «грузить откровенный левак», чтобы съехать с темы и запудрить людям мозги. Это не так, я пытался объяснить, что «сращивание» геометрии ведёт к такому увеличению полигонажа, которое вообще никак не скажется на суммарной производительности при отрисовке. Поэтому вернёмся к нашим баранам и начнём, наконец перечислять полученные выгоды, ведь помимо увеличения полигонажа, мы ещё имеем существенный геморрой.
  22. Ты её ещё не домоделил даже, внутренности ниш шасси, собственно сами шасси, винт, воздухозаборник турбин, кок винта, выхлопные патрубки, мелкие воздухозаборники. Всё это скушает поболе 2000, если ты будешь делать всё с той же степенью детализиции. Так что мой тебе совет подумать ещё раз, на всякий случай... Переделать пока легко.
  23. А в одной мотогондоле сколько на текущий момент?
  24. Ну-у-у-у что-о-о-о за вопросы, Андрей? Ну-у-у-у даже неудобно отвечать как-то... Ты пойми, что 30 т - это так мало, что икнуть не успеешь, как придётся выискивать где-бы чего сократить. На шасси и ниши шасси знаешь сколько уйдёт? А на переплёт кабины и её потроха? Да 30 т - это тфу. С таким подходом как твой на Ан-26 нужно будет тыщ 200 треугольников, да и то с натягом.
  25. Ладно, продолжим, далее, как и обещал. Недавний «Диалог о нормалях» имеет самое непосредственное отношение к тому, о чём пойдет речь ниже. Поэтому на всякий случай даю ссылку на эту ветку и, если что-то будет непонятно по ходу событий, прошу обращаться туда за разъяснениями. http://forums.eagle.ru/showthread.php?t=28217 Что касается дальнейшего рассмотрения, то для начала прошу обратить внимание на рисунок 7, в последний раз, так сказать, дабы навсегда забыть о нём. Надеюсь по очевидным для всех причинам. Причина первая и основная: Даже при таком количестве полигонов танк всё равно не соответствует принципу рационального моделирования. Почему? Очевидно, что танку в таком приближении уже не хватает именно детализации, то есть не треугольников в той геометрии, в какой он сейчас представлен, а именно новых, дополнительных деталей. Отмечу также, что дальнейшая тессиляция не даст больше никаких позитивных результатов, только негативные. Танку нужна более детальная крышка с уплотнителями, зажимами, петлями, возможно, кое-где, клёпаными усилениями, ферменных силовых конструкций, усиливающих швеллеров, более детальных креплений лестницы, и так далее и так далее и так далее до бесконечности. Танку нужна уже дополнительная геометрия, а не дополнительные треугольники. Надеюсь, всем это понятно, и каким именно образом это утверждение соответствует принципу рационального моделирования? Таким образом, я подведу некоторую черту под рисунком 7. Нас, как игровых моделлеров, такая степень детализации не интересует. Не имеет смысла строить всё, что я расписал абзацем выше, дабы добиться соответствия принципу рационального моделирования. Примем некую условность о том, что конкретно этот танк мы не сможем увидеть ближе, чем в полный размер во весь экран, всё остальное, это не наша область. Танк интересует нас только как элемент PROPS. (Жаргонное выражение, используемое гейм-девелоперами для обозначения всей «мебели». От английского театрального жаргонизма – props – «реквизит», сокращение от property, используется повсеместно даже не в англоязычных конторах.) То есть танк – это наша мебель, нас не интересует его анатомия, глубокое изучение, он необходим нам исключительно постольку поскольку, пролететь, пробежать, проехать или проползти мимо, не задерживая на нём взгляд. Всё остальное нас касаться не должно, поэтому в дальнейшее рассмотрение мы принимаем исключительно только оптимизированную модель танка, как вроде бы на первый взгляд удовлетворяющую принципу рационального моделирования. Надеюсь, такое долгое вступление до конца объясняет мой выбор? Главная мысль была: «Мы выбираем ту модель, которая на данный момент ближе всего подошла к тому, чтобы соответствовать принципу рационального моделирования». Все остальные выводы ложны.
×
×
  • Create New...