* Test

Автор: Гость Тема: hard, вопрос для всех программ  (Прочитано 3087 раз)

0 Пользователей и 1 Гость просматривают эту тему.

SiG

  • Гость
hard, вопрос для всех программ
« : Январь 07, 2016, 18:06:32 »
нужно ли делать жесткими ребра полигонов лоупольки перед запеканием? или же это нужно только для рендера?! по моему запекается не сглаженная модель?



Оффлайн bcecbit

  • Легенда
  • *****
  • Сообщений: 1356
Re: hard, вопрос для всех программ
« Ответ #1 : Январь 07, 2016, 18:10:48 »
где проходит жесткая грань там будет в итоге шов на нормалке, обычно группу сглаживания можно кидать распределяя по островкам развертки, но как я понял не всегда .. Вот как раз сейчас сам этим и занимаюсь.

Оффлайн Leg

  • Освоившийся
  • **
  • Сообщений: 64
Re: hard, вопрос для всех программ
« Ответ #2 : Январь 07, 2016, 20:01:42 »
вся суть в том, что игровые движки не понимают софт и хард ейджи.
для этих дел на геометрии где нужен хард эйдж, происходит разрыв. 2 ребра и 4 вершины. за счет того что нормали вершин теперь расположены под разными углами  относительно  поверхности происходит разрыв шейдинга.
поскольку UV это 2D проекция нашего меша, разрывы юви-шелов это разрывы и на 3д проекции.   в 3д софте это реализовано по другому, но при экспорте в OBJ or FBX происходит запись 2  вершин, вместо одной.
теперь про выпечку -

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

если мы делаем софт эйдж на лоу поли -
на хайрезе у нас ровная поверхность. на лоу тоже , компенсация разности не нужна, и бейкинг программа отрисует нам то, что мы задали. но если мы закинем в движок, нашей лоуполи модели присвоятся в местах разрывов жесткие ребра. шейдинг изменится и в месте разрыва мы увидим артефакт .

если мы делаем хард эйджи на лоу поли
 бейкинг программа в местах разрывов отрисует градиенты-компенсации разрыва шейдинга, и при импорте в двиг, шва уже не будет, поскольку отражение света считываемое с нормалки и нормалей  вершин лоуполи перекроют друг друга.

такая от картинка с результатами из Unreal4


технологии не стоят на месте
в современных движках артефакт, заметен только при определенных углах от источника света. и в общем то требование на разрывах юви делать жесткое ребро как то отходит
 Но бывает случаются неприятности - шов расположен под определенными углами. маленький размер текстуры и мипы..
поэтому как совет лучше делать хард эйдж на разрывах юви, это позволит сделать чутка лучше результат, поможет избежать проблем в определенных ситуациях, и упростит работу с порезкой лоддов.

Оффлайн Vesta

  • Администратор
  • Легенда
  • *****
  • Сообщений: 9421
    • vesta3d.blogspot.com
Re: hard, вопрос для всех программ
« Ответ #3 : Январь 07, 2016, 20:24:19 »
Цитировать
вся суть в том, что игровые движки не понимают софт и хард ейджи.

Для меня это новость.
мы работаем с Unreal Engine я настраиваю софт и хард  ейджи в моделях.

Оффлайн Leg

  • Освоившийся
  • **
  • Сообщений: 64
Re: hard, вопрос для всех программ
« Ответ #4 : Январь 07, 2016, 20:36:39 »
а что не так?
мы все их настраиваем. вопрос не в том, как отображается, а как это происходит. для майки нужно просто назначить хард, для unreal  разорвать шейдинг. разница в том что в майке будет по прежнему 1 эйдж и 2 вертекса. в unreal будет 2 эйджа и 4 вертекса.
достаточно посмотреть запись обж. в месте где хард  вместо одной вершины, запись пары с одинаковыми координатами. движок это понимает точно также.
думаешь откуда ноги растут про оптимизацию меша за счет уменьшения разрывов на юви?


edit
 ну а про то что разрыв на меше имеет другой шейдинг, видно визуально. отсюда и компенсаторы на нормалке для разрыва.
конечно можно настроить сами нормали вертексов на разрыве ( усреднить ) но это другой метод, по мне так более геморойный.
« Последнее редактирование: Январь 07, 2016, 20:42:24 от Leg »

Оффлайн Vesta

  • Администратор
  • Легенда
  • *****
  • Сообщений: 9421
    • vesta3d.blogspot.com
Re: hard, вопрос для всех программ
« Ответ #5 : Январь 07, 2016, 20:46:12 »
Цитировать
думаешь откуда ноги растут про оптимизацию меша за счет уменьшения разрывов на юви?
я задумалась
 как же тогда оптимизируют пушки и любые хардсёрфейсные модели, в которых раскладка юви идёт по хард ейджам ( сами разрезы) куча шелов. как быть с такими моделями?
получается , выгоднее в раскладке органика с мягкими ейджами.
но как быть с оптимизацией хардсёрфейс моделей?

Оффлайн Leg

  • Освоившийся
  • **
  • Сообщений: 64
Re: hard, вопрос для всех программ
« Ответ #6 : Январь 07, 2016, 21:16:50 »
угу,
Смотри  topogun,  автоматом  эти вещи делает, с кейджом из лоуреза. разрыв на кейдже это разрывы по ювишке. и с хардсюрфейсом он справляется плохо , не справляется он с экстремальным шейдингом. пользовательский кейдж из лоуполи с настроенными нормалями  выдает  лучший результат, но вылазят швы.
посему все хардсюрфейсчики сидят на xNormal.  он классно выпекает компенсации неправильного шейдинга ( затенения)

Насчет оптимизации можно накатать целую статью, как правильно оптимизировать и на что забить, а что нужно порезать.

вот пример
лоу  с жесткими ребрами только по разрыву юви ( юви я режу не по тому месту, где нужен хард, а чтобы получилась оптимальная развертка с минимум шинкования. об исключениях ниже) швы видно по жестким ребрам.


С сеткой


Результат с нормалкой



нужно понимать что компенсация неправильного шейдинга  записывается в пиксели. поэтому с небольшими деталями , которые занимают мало пикселей, нужно разрывать с правильным шейдингом. Просто не хватит пикселей и они будут по прежнему иметь неправильные затенения.(чернить) ну и с сложной геометрией тоже нужно смотреть, где стоит разорвать ювишку, чтобы там образовался хард и немного помочь нормалке справиться с неправильным шейдингом лоуреза.

Но где вы проставили хардЭйдж непременно нужно разрывать юви. потому что ваш хард ВСЕ равно пропечется на нормалку. Но выглядеть будет хуже, чем  если его еще разорвать на ювишке.




« Последнее редактирование: Январь 07, 2016, 21:23:50 от Leg »

Оффлайн bcecbit

  • Легенда
  • *****
  • Сообщений: 1356
Re: hard, вопрос для всех программ
« Ответ #7 : Январь 07, 2016, 21:33:50 »
нада вкумекать, пока взрослые дяди разговаривают  ;D

Оффлайн ghostdom

  • Администратор
  • Легенда
  • *****
  • Сообщений: 1367
    • ghostdom
Re: hard, вопрос для всех программ
« Ответ #8 : Январь 07, 2016, 21:37:10 »
Лег, пожалуйста, не вводи людей в заблуждение.

Цитировать
мы все их настраиваем. вопрос не в том, как отображается, а как это происходит. для майки нужно просто назначить хард, для unreal  разорвать шейдинг. разница в том что в майке будет по прежнему 1 эйдж и 2 вертекса. в unreal будет 2 эйджа и 4 вертекса.
В принципе тут ты в правильном направлении размышляешь, вот только к неправильным выводам приходишь. То что ты тут пытаешся сказать на самом деле касается видеокарты а не майки и каких либо других движков и 3д пакетов.

Лег, пойми, дело в том, что видеокарта не понимает что такое хард едж или софт едж, для того чтобы показать(отработать) эти понятия она должна добавлять вертексы в местах, которые имеют пометку хардеджа. Добавлять потому, что один вертекс имеет одну нормаль, а если у нас есть например угол, и нам надо показать резкую грань, мы показываем, что вот через этот вертекс проходит хардедж, и видяха понимает, что тут ей надо добавить столько вертексов, сколько сторон там стыкуется, и каждый смотрит в свою сторону. Так происходит всегда.

Другой вопрос что разные программы по разному работают, одни отображают всю инфу подробно, другие нет. Вот и все. И не забывай, каждый ювсет добавляет вертексов в модель.   

Цитировать
думаешь откуда ноги растут про оптимизацию меша за счет уменьшения разрывов на юви?
Думаешь ты один до этого додумался? Или может ты мне сможешь дать ответ - почему все тридшники занимающиеся хардсарфейсом делают развертки в виде "блюдо спагетти", то есть со множеством мелких шелов, вместо использования "оптимизированных больших шеллов с минимумом симов? И так происхлодит уже не один год. Так как на счет ответа?

Цитировать
технологии не стоят на месте
Ага, только ты опоздал с этой новостью, этак лет на 10.

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

Цитировать
посему все хардсюрфейсчики сидят на xNormal.  он классно выпекает компенсации неправильного шейдинга ( затенения)
Посему все 3дшники занимающиеся хардсарфейсом сидят каждый на том, чем ему удобно печь и далеко не только на хнормале. Не обольщайся.

Цитировать
Насчет оптимизации можно накатать целую статью, как правильно оптимизировать и на что забить, а что нужно порезать.
Сначала сходи подучись, а уже потом может и напишешь, хотя я сомневаюсь что даже подучившись ты сможешь добавить что-то к уже имеющимся кипам статей.

Цитировать
юви я режу не по тому месту, где нужен хард, а чтобы получилась оптимальная развертка с минимум шинкования. об исключениях ниже
Лег, запомни - сначала харды правильно расставляются дабы получить максимально правильный шейдинг, а уже потом по ним режутся ювишки и только так. Хотя ты можешь резать как тебе хочется.

И вообще - прекращай вещать

SiG

  • Гость
Re: hard, вопрос для всех программ
« Ответ #9 : Январь 07, 2016, 21:49:12 »
 ;) давайте спорьте да с примерами,только не деритесь. а мы сделаем выводы ;D

Оффлайн Leg

  • Освоившийся
  • **
  • Сообщений: 64
Re: hard, вопрос для всех программ
« Ответ #10 : Январь 07, 2016, 21:49:46 »
я понял твою мысль. за интерпритацию как это в максе или майке я не разбирался, поэтому скажу, что скорее всего так и есть.
 грубить конечно было необязательно, но не суть, это уже воспитание и чсв

вот тебе картинка, посиди подумай насчет расстановки сначала хардэйджей, а потом шинкования ювишки и зачем люди занимаются такой ерундой


http://www.farfarer.com/blog/2012/06/12/unity3d-tangent-basis-plugin-xnormal/

кстати как взрослый человек, наверное сам найдешь ссылки на Polycaunt, где хайрдсюрфейсу уделено много внимания.

Цитировать
Посему все 3дшники занимающиеся хардсарфейсом сидят каждый на том, чем ему удобно печь и далеко не только на хнормале
я себя поправлю. для геймдива
отседова наверно столько криворуких? бинормали и тангенс пространство с разностью углов в софте и движках о чем то говорит?

ну а за остальное, Ок.
честь имею, будь здоров.

Оффлайн Vesta

  • Администратор
  • Легенда
  • *****
  • Сообщений: 9421
    • vesta3d.blogspot.com
Re: hard, вопрос для всех программ
« Ответ #11 : Январь 07, 2016, 21:50:27 »
Цитировать
не справляется он с экстремальным шейдингом

что такое экстремальный шейдинг?
Цитировать
посему все хардсюрфейсчики сидят на xNormal.
Не все. Хардсёрфейс отлично печётся и в Maya.
а в xNormal с внешим кейджем--тоже отлично.

Цитировать
Насчет оптимизации можно накатать целую статью, как правильно оптимизировать и на что забить, а что нужно порезать.
Я бы почитала, мне интересно. Если будет время, напиши.

Пока мне непонятно-- что значит правильный и не правильный шейдинг?


Оффлайн bcecbit

  • Легенда
  • *****
  • Сообщений: 1356
Re: hard, вопрос для всех программ
« Ответ #12 : Январь 07, 2016, 21:54:05 »
а мне непонятно что за софтейджи  :D

SiG

  • Гость
Re: hard, вопрос для всех программ
« Ответ #13 : Январь 07, 2016, 21:55:03 »
вот тут статья есть но ктоб перевел, т.к гуглом не очень понятно.
http://www.svartberg.com/tutorials/article_normalmaps/normalmaps.html

Оффлайн bcecbit

  • Легенда
  • *****
  • Сообщений: 1356
Re: hard, вопрос для всех программ
« Ответ #14 : Январь 07, 2016, 21:57:05 »
To SiG На рендер.ру есть статья по этим вопросам. ток я про софт эджи чет упустил, может кто на пальцах объяснит ?

 

SimplePortal 2.3.5 © 2008-2012, SimplePortal