Water Flow For UDK (комментарии)
Это сообщение сгенерировано автоматически.
Вообще классно выглядит! Сколько старания приложено! Жаль, по-английски плохо понимаю, придется долго разбираться в доке :)
redbox
Я правильно понимаю, что ты прочитал о том, как работает Water Flow у Valve, немного подглядел у Naughty Dog, и
сделал примерно тоже самое, но на UDK, попутно создавая пошаговое руководство в pdf? Если да, то очень круто.
ну да, по их подсказкам сделал по сути просто имплементацию для UDK.
redbox
Can't find file for package 'Snippets' while loading E:\UDK\UDK-2013-02\UDKGame\Content\Maps\UT3\FlowTest.udk
версия UDK февраль 2013
мда, ошибочка вышла. перезалил.
redbox
теперь норм, только тормозит у меня на ноуте.
redbox
Впечатляет pdf'ка.
обновил файлы, там минорные фиксы с английским, хотя вряд ли он стал лучше, добавил пару картинок, и сделал небольшое описание в readme.txt как исправить потерянные пути к файлам с геометрией в TestMap.hip, для тех кто с Houdini совсем не знаком...
А зачем было доку в пдфку пихать, когда всем удобнее было бы на сайте это прочитать - написанное нашим человеком и на нашем языке, а не валвовцами на вражеском? )))
Либо непонятно почему называется "туториал" - его-то, получается, нету ))) Просто опубликовал ссылку на чужую доку и видео. Где тут туториал? 8-)
это моя дока и видео.
а фигачить сюда 80 страниц... ну опубликуйте...
Обновление 15/04/2013. Наверно теперь это можно обозначить версией 1.0.
- изменена структура документа, добавлено оглавление, дополнительные картинки, описания, формулы, etc. Все разделы теперь расположены в логичной последовательности.
- исправлена проблема с вращением текстур, теперь вращение не влияет на поток.
- добавлено описание создания потоков в Houdini с помощью кривых (см. Appendix A).
- к ассетам приложена сцена с примером по кривым.
- паки и карта UDK пересохранены в версии February 2013 UDK BETA2.
- ВАЖНО! изменен принцип воспроизведения потоков с флоу мапы.
если раньше флоу мапа создавалась по формуле:
($NX*0.5 + 0.5, -$NZ*0.5 + 0.5, 0)
и домножалась на (1; -1) в шейдере,
то теперь формула:
($NX*0.5 + 0.5, $NZ*0.5 + 0.5, 0)
и на -1 домножается FlowPower.
старый вариант тоже рабочий, но этот немного оптимальнее.
ссылки те же.
Мне пришло письмо с вопросом можно ли рисовать flowmap с помощью mesh paint.
Выложу ответ здесь, на случай если кому интересна эта тема.
Этот принцип основан на цветовом представлении векторного поля. И в соответствии со схемой, получается что определенный цвет задает определенное направление потока, а точнее искажения UV координат.
Я думал насчет mesh paint, но там есть несколько проблем, из-за которых я отказался от этой идеи.
Во первых в UDK не получится рисовать направление, проводя кистью в нужную сторону. Кисть там просто рисует цвет.
Это в Houdini можно использовать инструмент Comb чтобы наклонять нормали размахивая кистью как захочется.
Конечно, будь исходники редактора, можно было бы написать свою кисть, с блекджеком и блудницами, но увы...
Если же рисовать именно цветом, то нужно постоянно смотреть на схему, пробовать, переделывать, а это лишние заморочки.
Также из-за того что UV искажается, могут проявляться некоторые артефакты и проблемы.
Вообще текстура должна быть:
- Распакована от -1 до 1
- не быть sRGB
Все это легко достигается при помощи компрессии в NormalMap или NormalMapUncompressed.
Последний кстати дает лучший визуальный результат.
А чтобы это работало правильно, нужно в материале использовать для такой текстуры сэмплер Normal.
А вы не можете использовать mesh paint на семплах типа Normal.
То есть чтобы начать рисовать, вам нужна простая текстура, в компрессии Default, с отключенным sRGB, и вам возможно придется распаковывать ее в (-1;1) уже в шейдере, т. к. непонятно как именно будет записываться в нее рисуемый цвет, если поставить (-1;1) в свойствах текстуры.
И, как я уже сказал, пробовать, переделывать, и снова пробовать...
Есть еще вариант с vertex color, но опять же из-за искажения UV и связанными с ним артефактами, нужно достаточно высокое разрешение сетки.
Valve говорят что flowmap "relatively low resolution", всего 4 текселя/метр, но это заявление немного "relatively".
С нормал мапами еще куда ни шло, но на цветных (диффузных) текстурах артефакты искажения ОЧЕНЬ заметны.
Я использовал flowmap по 1024*1024, и не сказал бы что этого достаточно, а т.к. UDK не поддерживает импорт моделей больше 64К треугольников, все что вам максимум светит это сетка 256*256.
В свете всего этого, вариант с использованием Houdini, в котором уже есть эффекты вортексов, отражения и замедления потока, значительно проще и быстрее.
Вам достаточно просто экспортировать сцену, подставить модели в соответствующие узлы Houdini, поменять несколько параметров и все.
Тема в архиве.