SoftimageRu Форум -> Всякие самописные штуки

Новости • Форум • Помощь • Поиск • Участники • Календарь • База


Страницы: (10) [1] 2 3 ... Последняя »  ( Перейти к первому непрочитанному сообщению ) Ответ в темуОтвет      Создание новой темыНовая тема    Создание опросаОпрос

> Всякие самописные штуки   
Angel 07
Профиль
Статус: слон
Группа: Артисты
Рейтинг: 7
Пора тему создать, чтобы в одно место выкладывать всякие наработки небольшие. Тут некоторое время назад таки решил взяться и посмотреть, что такое скриптинг в Ксях. Ну и питон тоже посмотреть, что это такое. Противная вещь такая, скажу без обиняков (это про питон).

В общем сделал в качестве тренировки кастомный деформер типа Deform by Cage. Основная идея такая: скриптом собираем с объектов необходимую информацию (ну там индексы ближайших точек, барицентрические координаты и прочее), пишем ее в атрибуты, а потом применяем айсовский компаунд, который и осуществляет деформацию на основе собранных данных. Просто раньше примерно то же самое вручную приходилось делать, а теперь раз - запустил скрипт, и готово.

Ссылка на видео: https://vimeo.com/68399228

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


Login require!
Персональное сообщениеПисьмо на e-mail пользователю
Цитировать сообщение Дата 14.06.2013 - 22:39 Top
Angel 07
Профиль
Статус: слон
Группа: Артисты
Рейтинг: 7
Следующая попытка приблизиться к пониманию Ксишного СДК. Сделанный скрипт просто округляет выделенные полигоны, вершины или рёбра. Ну, чтобы дырки там делать в поверхностях ровненькие, или еще для чего. Вроде MX_Roundish от maxFox-а, только попроще и всего одним скриптом, ничего устанавливать не надо.

Видос: https://vimeo.com/70202019

ссылка на скрипт: https://dl.dropboxusercontent.com/u/1144626...sh%20script.txt


Login require!
Персональное сообщениеПисьмо на e-mail пользователю
Цитировать сообщение Дата 12.07.2013 - 21:18 Top
camer
Профиль
Статус: слон
Группа: Модераторы
Рейтинг: 6
:clapping:
Персональное сообщениеПисьмо на e-mail пользователю
Цитировать сообщение Дата 13.07.2013 - 12:56 Top
RoN43
Профиль
Статус: слон
Группа: Артисты
Рейтинг: 3
1 Скрипт не всегда делает ребра одинаковой длины
2 Пример нерабочего момента
(IMG:http://clip2net.com/clip/m92170/1374011320-clip-14kb.png)
Персональное сообщениеПисьмо на e-mail пользователю
Цитировать сообщение Дата 17.07.2013 - 00:51 Top
Angel 07
Профиль
Статус: слон
Группа: Артисты
Рейтинг: 7
Ну да, странный эффект. Не получилось воспроизвести ошибку. Однако верно, что в этом случае не будет ровной окружности. Причина в том, что окружность старается сохранить форму поверхности, и для этого проецируется на исходную поверхность. Поэтому и возникает сплющенность в этом случае. Вот как у меня на картинке.

Но стоит понимать, что это же однокнопочный скрипт, у него всегда будут ограничения и глюки в работе из-за того, что все ситуации предусмотреть довольно сложно.
Login require!
Персональное сообщениеПисьмо на e-mail пользователю
Цитировать сообщение Дата 17.07.2013 - 11:51 Top
Angel 07
Профиль
Статус: слон
Группа: Артисты
Рейтинг: 7
Так как старый компаунд обмотки в некоторых случаях оказывался неэффективным, сделал аналогичный, только обход осуществляется вдоль заранее нарисованной кривой. Использование происходит в три шага (см. рисунок):

1. Рисуем любую кривую на поверхности объекта

2. Применяем компаунд

3. Немножко ручных твиков, и можно радоваться

Ссылка на компаунд: https://dl.dropboxusercontent.com/u/1144626...rve.xsicompound
Login require!
Персональное сообщениеПисьмо на e-mail пользователю
Цитировать сообщение Дата 30.08.2013 - 20:44 Top
Angel 07
Профиль
Статус: слон
Группа: Артисты
Рейтинг: 7
Итак, следующий проект: Мицуба и Софтимаж синхронизатор (Mitsuba and Softimage Syncronizator, коротко MaSs)

Всё началось с того, что захотелось разобраться с тем, что это за рендер такой, Mitsuba (https://www.mitsuba-renderer.org/). Ну и чтобы тестировать было удобнее, пришлось сделать некое дополнение к Софтимажу, для экспотра сцен. Вот это оно и есть. Конечно, уже есть несколько других подобных экспортеров. Один, к примеру, здесь: http://www.si-community.com/community/view...php?f=13&t=3163 Но я с ним попробовал разобраться - что-то там не работало, поэтому плюнул и решил сделать свой, на Питоне и с Гуем.

Ссылка на плагин: https://dl.dropboxusercontent.com/u/1144626...Ss%20plugin.zip

После установки в верхнем меню появится пункт MaSs menu. В нем следующие команды:

1. В группу Primitives создаются примитивы, которые понимаются Мицубой. То есть сфера, к примеру, будет не полигональной, а параметрической.

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

3. Команда в гурппе Properties добавляет на выбранную камеру свойства, которые будут использвоаться Мицубой при рендере. Если этого свойства на камере нет, то при экспорте оно добавляется автоматически

4. MaSs window открывает главное окно с настрйоками экспорта.

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

1. Sources - выбираем, экспортировать всю сцену, только выбранную модель (вместе со всеми дочерними), или же только выделенные объекты.

2. Path - путь до папки, куда будет сохранен xml файл.

3. File name - имя сохраняемого файла.

4. Если поставить птицу для Should increment, то каждый раз при экспорте будет создаваться новый файл (а не перезаписываться старый) с увеличивающимся номером.

5. Should export geometry говорит, стоит ли при экспорте еще и экспортировать всю полигональную геометрию в отдельные файлы. Дело в том, что Митсуба поддерживает импорт геометрии из ply-формата. Собственно такие файлы и создаются при экспотре для каждого полигонального объекта. Формат текстовый, их создание занимает нкоторое время. Особенно, если в объекте много полигонов. Поэтому стоит делать так: один раз экспортировать всю нужную геометрию, потом снять птицу, и дальше все свойства объектов будут экспортироваться, но сам файл с геометрией переписываться не будет. Файлы создаются в указанной ранее папке.

6. Should export strands аналогичен предыдующему пункту. При включенной птице создается файл с описанием каждого стрэнда. Процесс очень долгий (если стрэндов много), поэтому экспортировать их надо только один раз, а потом отжать птицу и производить все необходимые настройки шэйдеров. К примеру, 4 тысячи стрэндов по 10 сегментов в каждом экспортировались 7 часов. Это те самые синие стрэнды, что на картинке ниже. Конечно, это всё Питон виноват, но на c++ я не умею.

7. Image properties содержит ширину и высоту картинки при рэндере.

8. В списке Camera выбирается камера, из которой будет осуществляться рэндер. На ней и должно быть свойство для камер.

9. Во вкладке Types отмечаются птицами типы объектов для экспорта. Если тут снять птицу с Polymesh, то геометрия вообще не будет рассматриваться (и она не будет экспотрироваться в частности).

10. Кнопка Export XML осуществляет непосредственно создание нужного xml файла. Потом этот файл надо открыть в Мицубе и уже там подбирать настройки рендера.

Теперь несколько слов о том, что можно рендерить Мицубой, а что нельзя. В принципе для простых задач возможностей хватает. Есть много разных типов шэйдеров для разных типов поверхностей. Их можно смешивать между собой по маскам из текстур. Однако нет (пока, как говорит разработчик) дисплэйса и sss чрезвычайно медленный. Наверное это из-за того, что он считается физически корректно, но совершенно неприемлемо по времени. Более того, для sss-шэйдеров нет поддержки никаких текстур. Но для архитектуры, наверное, всё необходимое есть. Модели шэйдеров все физически корректные (что называется physically based). В частности, нет никаких спекуляров, но есть размытость отражений и преломлений. Чтобы лучше понять, как работают шэйдеры - это надо просмотреть мануал по Мицубе.

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

Еще на каждый объект можно повесить светящийся шейдер, и тогда он станет источником света.

Далее, что не реализовано в экспортере. Собственно все то, что связано с рендером волюметриков и ткани. Для ткани нужны какие-то файлы, с описанием ее структуры, которые непонятно, откуда брать и как генерировать. Волюметрики тоже использоуют какое-то свое описание, которое не ясно как устроено. Поэтому для этих шэйдеров заготовки хоть и есть, но они никак не работают. Также нету никаких настроек рендера. По идее они должны делаться в gui-интерфейсе, который идёт с Мицубой. Хотя, там в настоящий момент не все функции отражены. К примеру, нет возможности задать какие каналы выводить при рендере.
Login require!
Персональное сообщениеПисьмо на e-mail пользователю
Цитировать сообщение Дата 29.03.2014 - 18:08 Top
Angel 07
Профиль
Статус: слон
Группа: Артисты
Рейтинг: 7
Два рендера:
Login require!
Персональное сообщениеПисьмо на e-mail пользователю
Цитировать сообщение Дата 29.03.2014 - 18:10 Top
grifgont
Профиль
Статус: Футролль
Группа: Заслуженные артисты
Рейтинг: 4
Рукоплещу!
Персональное сообщениеПисьмо на e-mail пользователюСайт пользователяICQ
Цитировать сообщение Дата 4.04.2014 - 15:55 Top
Wats
Профиль
Статус: слон
Группа: Модераторы
Рейтинг: 17
Angel 07
Здорово! :good:
Персональное сообщениеПисьмо на e-mail пользователюСайт пользователя
Цитировать сообщение Дата 5.04.2014 - 17:36 Top
Angel 07
Профиль
Статус: слон
Группа: Артисты
Рейтинг: 7
Небольшой маленький апдейт предыдущего инструмента по экспорту в рендер Mitsuba.

https://dl.dropboxusercontent.com/u/1144626...gin%200.1.5.zip

Что нового (его немного):
1. Так как предыдущая версия не хотела заводиться на 2015-ой Ксе из-за дополнительного модуля lxml, покопал и понял, что он на самом деле и не нужен. Так что теперь просто все файлы кидаются в папку \Application\Plugins какой-нибудь ворк-группы - и готово.

2. Добавил параметр "Стандартный интегратор" (см. один из рисунков ниже). По сути это алгоритм рендера, который будет использоваться по умолчанию. Сделал для того, чтобы при открыывании сцены в Мицубе он сразу рендерил пас-трэйсером со всеми отражениями, а не Direct Illumination-ом, без отражений, и не приходилось каждый раз лазить в настройки и переключать алгоритм.

3. Добавил возможность каждому объекту добавлять (что за каламбур!) дополнительное свойство (см. один из рисунков ниже). Если стоит птица Is subdivide, то перед экспортом модель будет сабдивайдиться до указанного уровня (сохраняя текстурные координаты), и лишь потом только сохраняться в ply-формат. Птица Is solid говорит о том, как сохранять в ply формат. Если она стоит, то при экспорте будут игнорироваться информация о нормалях вершин (вернее будет указываться усредненная нормаль) и текстурных координатах. При этом файл получается гораздо меньшего размера и быстрее загружается в рендер. Поэтому функция полезна. При отжатой птице модель экспортируется со всей необходимой информацией, как то текстурные координаты и локальные нормали каждой вершины (читай группы сглаживаний). Но и объем файла получается гораздо больше.

Ну и самое главное - тест работы экспортера и рендера не на шариках, а на реальном примере (см. тритий рисунок снизу). Сцена из Evermotion Archinteriors vol. 24. Конечно, это не ВиРей и не Арнольд, даже сравнивать не корректно. Но тем не менее работает. Что можно сказать:

1. Вся геометрия сцены экспортировалась в ply-формат около трёх часов. Общий объем моделей - 600 Мб. Это не критично по сути, один раз сделал и всё.

2. Загрузка сцены в Мицубу занимала где-то по полторы минуты. Это время, чтобы загрузить в себя все эти модельки. Это не очень удобно.

3. Время рендера велико. Так как сцена освещается HDR-картинкой, то неизбежно возникают яркие точки (их видно на приведенном рендере). От них можно избавиться, увеличивая число сэмплов, но величина, приводящая к адекватному времени рендера их не убирала вовсе. Пробовал разные алгоритмы - примерно одно и то же везде. Помог алгоритм Photon Mapper (который сначала стреляет фотонами, а потом собирает из них итоговую освещенность сцены). С ним таких ярких точек гораздо меньше. Но все равно, чтобы еще чище сделать картинку надо было рендерить более трёх часов, чего не стал делать.

4. Зато использовал крутецкую фишку, которая нравится в этом рендере - очень простое добавление вычислительных мощностей. Рядом стоит второй компьютер (тоже i7, все дела, 8 потоков). Просто запускаешь не нем демона, указываешь сетевой адрес этого второго компьютера, и он начинает рендерить уже в 16 потоков (вместо изначальных 8-ми). Были бы еще машины, можно было бы вообще большие настройки ставить, все бы отрендерилось быстро.
Login require!
Персональное сообщениеПисьмо на e-mail пользователю
Цитировать сообщение Дата 2.05.2014 - 21:38 Top
Mr.Core
Профиль
Статус: -
Группа: Модераторы
Рейтинг: 17
Angel 07
три часа экспорта мне кажется очень критично, по сути сводит всю работу на нет. Может эту часть лучше переписать на плюсах ?

в любом случае спасибо за коннектор, волумы и прочая интересная шняга из митсубы не планируется ?

(IMG:http://www.mitsuba-renderer.org/devblog/wp-content/uploads/2013/11/teaser_hd.jpg)
Персональное сообщениеПисьмо на e-mail пользователюСайт пользователя
Цитировать сообщение Дата 3.05.2014 - 03:11 Top
Angel 07
Профиль
Статус: слон
Группа: Артисты
Рейтинг: 7
Ну это же надо разбираться, как там чего. В смысле писать на плюсах, методы вызывать, не знаю даже, что еще. Но так-то да, нынешнее положение дел никуда не годится.

Что касается приведенной картинки (со стаканами). Это уже есть. В Мицубе по сути только один sss шэйдер - SSSDipole. У него не очень много параметров, вся сложность в том, чтобы их правильно подобрать. Технически для этого есть все возможности.

Волюметрики - не знаю. Для этого надо ведь еще разобраться с форматом их хранения, научиться Айсом генерировать, и только потом отдавать на рендер.
Персональное сообщениеПисьмо на e-mail пользователю
Цитировать сообщение Дата 3.05.2014 - 10:16 Top
Mr.Core
Профиль
Статус: -
Группа: Модераторы
Рейтинг: 17
Angel 07
не так страшно, как кажется на самом деле - сложнее всего будет расчехлиться с компилером и подключением либ первый раз. Исходники можно подглядеть в ситоа экспортере, он на плюсах и пара жскрипта для шейдердефов и тд тп.
Персональное сообщениеПисьмо на e-mail пользователюСайт пользователя
Цитировать сообщение Дата 3.05.2014 - 17:15 Top
Angel 07
Профиль
Статус: слон
Группа: Артисты
Рейтинг: 7
Очередной небольшой апдейт:

https://dl.dropboxusercontent.com/u/1144626...lugin%200.2.zip

Что нового:

1. Экспортировать модели можно теперь на только в текстовый ply-формат, но и в бинарный, а также в наиболее совместимый с Мицубой формат serialized-mesh. Эти файлы занимают гораздо меньше места и грузятся существенно быстрее. Время экспорта прежнее, довольно большое.

2. Hight field объект.

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

4. Homogeneous-шэйдеры. Это по сути sss и те бутылки с водой, что в примере Mr. Core.

Попробовал отрендерить хоть какой-то пример.
Login require!
Персональное сообщениеПисьмо на e-mail пользователю
Цитировать сообщение Дата 10.05.2014 - 13:22 Top
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Опции темы Страницы: (10) [1] 2 3 ... Последняя » Ответ в темуОтвет      Создание новой темыНовая тема    Создание опросаОпрос

 

Текстовая версия