Воскресенье, 24.09.2017, 12:47
Under sky of Half-Life
Приветствую Вас Гость | RSS
Главная | Subdivide - Форум USofHL | Регистрация | Вход
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 1 из 11
Модератор форума: plazmer 
Форум USofHL » Мэппинг в SSDK » Вопросы по мэппингу » Subdivide
Subdivide
GhaydnДата: Вторник, 18.08.2009, 02:53 | Сообщение # 1
Сержант
Группа: Зарегистр. пользователи
Сообщений: 69
Репутация: 1
Статус: Offline
Quote (LexxoR)
И нафик вальвам выделять весь дисплейсмент на уровне и применять сабдивайд? допустим, есть стенка, которая повторяется на уровне - можно создать один блок допустим 512*512 который по сути повторяется, погнуть его кистями, размножить, затем немного придать частям уникальность (пройтись пару раз кистями по клонам) и затем склеить (sew)? Всё равно придётся работать "Paint Geometry" чтобы дисплейсмент не выглядел искуственно, поэтому не вижу саму проблему - или сабдивайд + время на обработку кистями или сразу всё сделать красиво руками а потом просто склеить.

Легко сказать. Да вот только после сабдивайда работа кистями облегчается в несколько раз: полностью сглаживаются все острые углы. В случае каналов - там огромные площади, на весь допустимый размер карты (для примера можно посмотреть d1_canals_10, а ещё лучше d1_canals_13, где уничтожаем вертолёт), соответственно, огромное количество дисплейсментов. Сейчас я нечто аналогичное делаю сабдивайдом по частям, по нескольку рядом лежащих дисплесментов. Но на стыках возникают острые углы: дело в том, что сабдивайд по умолчанию приводит края выделения к нулевому положению (а иногда ужасно глючит, выставляя длиннющие острые углы), тут уже приходится работать вручную. И это очень геморно, потому как высока вероятность где-нибудь такой вот угол упустить.
Метод "скопировать, а потом сшить" в данном случае не сработает, слишком много разных положений берега, повторяются лишь небольшие участки, которые и вручную обработать сравнительно недолго.


— Доктор, меня не понимают…
— вРН БШ ЯЙЮГЮКХ?
 
LexxoRДата: Вторник, 18.08.2009, 04:03 | Сообщение # 2
Рядовой
Группа: Проверенные
Сообщений: 41
Репутация: 2
Статус: Offline
Ghaydn
можно просто в процессе работы менять площадь действия и силу кисти, и быстро сгладить углы, и никаких артефактов не должно быть. ставим большой диаметр и быстро проходимся по углам, создаём впуклости\выпуклости, потом маленькими если что нужно рисуем. Я всегда так делаю
 
JOHNДата: Вторник, 18.08.2009, 22:44 | Сообщение # 3
Майор
Группа: Проверенные
Сообщений: 263
Репутация: 4
Статус: Offline
Может переименовать в "Работа с дисплейсментом" или как-то так?
Не жирно одному сабдивайду целую тему? smile
 
monolifeДата: Вторник, 18.08.2009, 22:49 | Сообщение # 4
Admin
Группа: Администраторы
Сообщений: 146
Статус: Offline
Разберутся, кому надо
 
GhaydnДата: Среда, 19.08.2009, 02:46 | Сообщение # 5
Сержант
Группа: Зарегистр. пользователи
Сообщений: 69
Репутация: 1
Статус: Offline
Только счас сообразил, какой есть чудесный метод в замену сабдивайду. Зовут его "поворот на 45 градусов"!
Основная проблема, которую легко решить сабдивайдом, это углы. Кистью их приходится сглаживать по двум осям координат одновременно, что очень неудобно. Но если повернуть участвующие плоскости на 45 градусов вокруг оси стыка, то сглаживать надо будет только по одной оси координат! По окончании сглаживания возвращаем исходную позицию и имеем красиво смотрящийся стык.

Может, конечно, и переименовать тему. Она просто предполагалась продолжением соответствующего обсуждения.


— Доктор, меня не понимают…
— вРН БШ ЯЙЮГЮКХ?
 
LexxoRДата: Среда, 19.08.2009, 03:12 | Сообщение # 6
Рядовой
Группа: Проверенные
Сообщений: 41
Репутация: 2
Статус: Offline
Ghaydn
можно даже и без поворотов - просто изначально создавать геометрию в виде примитивной версии будущего ландшафта используя вертекс и клиппинг тулы, тогда всё будет ещё проще
 
JOHNДата: Среда, 19.08.2009, 03:51 | Сообщение # 7
Майор
Группа: Проверенные
Сообщений: 263
Репутация: 4
Статус: Offline
Что-то я потерялся о чем речь пошла. smile
Может быть кто-нибудь снизойдет и пояснит мне цель и проблемы?
Я понимаю что вручную сводить два дисплейсмента по двум осям это жуткий гемор, но не вижу как может помочь поворот на 45 градусов.
С другой стороны, я не могу представить как может быть ручное сведение быстрее сабдивайда?
 
GhaydnДата: Среда, 19.08.2009, 16:47 | Сообщение # 8
Сержант
Группа: Зарегистр. пользователи
Сообщений: 69
Репутация: 1
Статус: Offline
Попробую выложитьподробно и со скринами.
Дано: яма из 53 дисплейсментов, каждый 2х мощности

Выделяем это всё, выбираем Texture Application, вкладку Displacement, жмём Subdivide и ждём... Довольно долго ждём. Скорость обработки этим модификатором зависит от количества обрабатываемых поверхностей и плотности их разбиения. При чём зависимость квадратичная. Если делать большую карту, состоящую из дисплейсментов, то выделить всё и сгладить таким образом не получится: во-первых, придутся очень долго ждать (даже если у вас несколько ядер процессора, используется только одно), во-вторых, в результате может вылезти какая-нибудь гадость в виде очень длинного угла, уходящего куда-нибудь в нулевую точку координат.
Но, в общем, если всё правильно обработалось, то получаем примерно такую картинку. Осталось обработать кистью, сделать неровности - и, в принципе, можно пользоваться.
Прикрепления: 5091647.jpg(222Kb) · 2704576.jpg(242Kb)


— Доктор, меня не понимают…
— вРН БШ ЯЙЮГЮКХ?


Сообщение отредактировал Ghaydn - Среда, 19.08.2009, 17:12
 
GhaydnДата: Среда, 19.08.2009, 17:00 | Сообщение # 9
Сержант
Группа: Зарегистр. пользователи
Сообщений: 69
Репутация: 1
Статус: Offline
Однако, как уже было сказано, "это не наш метод", потому что не годится для больших площадей. Можно, конечно, сглаживать их по частям, но получим вот такое:

Это происходит в любом случае, даже если пробовать обрабатывать уже сглаженные части. Дело в том, что модификатор Subdivide приводит края выделения к нулевому положению; сглаживает он только стыки выделенных поверхностей. Конечно, гораздо проще обработать кистью такие выступы, чем целый длинный горный хребет; однако и тут загвоздка. Загвоздка такая, что приходится переключаться туда-сюда ось воздействия кисти. На картинке ниже типичный пример: угол надо сдвинуть одновременно по осям X и Z, только тогда он будет расположен примерно так же, как после сабдивайда. Однако для такой операции приходится несколько раз переключиться между этими осями, чтобы получилось как надо. Это жутко неудобно.
Прикрепления: 4215236.jpg(210Kb) · 1667728.jpg(79Kb)


— Доктор, меня не понимают…
— вРН БШ ЯЙЮГЮКХ?
 
GhaydnДата: Среда, 19.08.2009, 17:10 | Сообщение # 10
Сержант
Группа: Зарегистр. пользователи
Сообщений: 69
Репутация: 1
Статус: Offline
Но если гора не идёт к... В общем, если не можем повернуть ось воздействия, повернём сам объект! И все проблемы решены.

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

Осталось таким же образом обработать другие выступающие участки:
1. Subdivide к группам примерно по 10 поверхностей.
2. Выделять стыки, поворачивать их на 45 градусов, чтобы они были направлены углом вдоль любой оси координат.
3. Обрабатывать стыки методом Paint Geometry, чтобы не отличались от окружающих.
4. Ставить стыки на место.

Хм. Получился тутор, сам того не ожидая.

Прикрепления: 3596529.jpg(240Kb) · 9309745.jpg(232Kb)


— Доктор, меня не понимают…
— вРН БШ ЯЙЮГЮКХ?
 
JOHNДата: Четверг, 20.08.2009, 07:45 | Сообщение # 11
Майор
Группа: Проверенные
Сообщений: 263
Репутация: 4
Статус: Offline
smile Я же попросил объяснить чтобы я понял.
Тутор конечно красивый, с картинками там, и с текстом. И мне вроде как неудобно еще приставать, но какой выход?

Во первых непонятно про сведение сторон. Чем здесь не подходит кнопочка Sew? Тем более что стороны в примере равные, и уровень дисплейсмента на них тоже.

Во вторых чем все-таки помогает разворот на 45 градусов? Мне остается только самому развернуть и тыкать в надежде увидеть положительный результат чего-то.

Quote (Ghaydn)
Можно, конечно, сглаживать их по частям, но получим вот такое:

А чем это плохо?

Добавлено (20.08.2009, 07:45)
---------------------------------------------
Вместо Sew прекрасно подходит и режим Smooth у Paint Geometry. Но это если с осями все в порядке, а иначе тоже гемор с переключением.

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

 
GhaydnДата: Четверг, 20.08.2009, 11:49 | Сообщение # 12
Сержант
Группа: Зарегистр. пользователи
Сообщений: 69
Репутация: 1
Статус: Offline
JOHN, декомпилируй d1_canals_10, осмотрись там внимательно и попробуй сделать нечто похожее. Тех же масштабов.
А Sew тут вообще ни при чём, он ведь исправляет только края и только если между ними дырка. Острые углы, подобные обнаруженным на рис. 3, ему не поддаются.
Чем это плохо? Обработали Subdivide'ом две группы дисплейсментов. между ними остался шов с совершенно не обработанными точками, расположенными на прямых линиях, пересекающихся под углом овно в 90 градусов. Идёт ровный, гладкий склон и вдруг - на вешине удеальной формы выступ, а на дне такая же идеальная канава.

Smooth вообще странно себя ведёт в таких местах: без поворота на 45 градусов он просто сгребёт всё в одну точку. А если повернуть, то Paint Geometry становится даже и удобней, у него хотя бы сила воздействия регулируется.


— Доктор, меня не понимают…
— вРН БШ ЯЙЮГЮКХ?
 
JOHNДата: Четверг, 20.08.2009, 15:08 | Сообщение # 13
Майор
Группа: Проверенные
Сообщений: 263
Репутация: 4
Статус: Offline
Звучит ужасающе.
Ну вот декомпильнул, не плохо конечно. Только не совсем ясны условия.
Делать уровень тех же масштабов просто для пробы у меня дури не хватит. Может выложишь проблемный участок своей карты?
В планах есть нечто похожее, как раз хотел посмотреть как оно сделано. Посмотрел :).
Халтура!
nature/rockwall006a которая должна верхом бесшовно стыковаться с nature/blenddirtgrass008b, по части стыковки имеет отражение а не бесшовное продолжение второй текстуры... Так я и не понял, это кто текстуру делал накосячил, или кто накладывал где-то ее развернул... Но это фигня, по большому счету прикольно.
 
GhaydnДата: Пятница, 21.08.2009, 03:38 | Сообщение # 14
Сержант
Группа: Зарегистр. пользователи
Сообщений: 69
Репутация: 1
Статус: Offline
Проблемный участок - все дисплейсменты вместе взятые. Их так много, что руки опускаются при одной мысли о том, чтобы проделать такой объём работы. Поэтому всё вышеизложенное - это хоть какая-то оптимизация данного процесса.

— Доктор, меня не понимают…
— вРН БШ ЯЙЮГЮКХ?
 
JOHNДата: Пятница, 21.08.2009, 05:27 | Сообщение # 15
Майор
Группа: Проверенные
Сообщений: 263
Репутация: 4
Статус: Offline
Блин, ну дай 25%, этого хватит чтобы меня ужаснуть.
 
monolifeДата: Суббота, 22.08.2009, 15:53 | Сообщение # 16
Admin
Группа: Администраторы
Сообщений: 146
Статус: Offline
Статейка по теме http://cs-mapping.com.ua/articles/subdivide/
 
JOHNДата: Воскресенье, 23.08.2009, 14:39 | Сообщение # 17
Майор
Группа: Проверенные
Сообщений: 263
Репутация: 4
Статус: Offline
Ты хоть бы почитал :). По теме...
 
monolifeДата: Воскресенье, 23.08.2009, 17:51 | Сообщение # 18
Admin
Группа: Администраторы
Сообщений: 146
Статус: Offline
Почитал - название:)
 
Форум USofHL » Мэппинг в SSDK » Вопросы по мэппингу » Subdivide
Страница 1 из 11
Поиск:

© 2017, MonoLife   Сайт создан в системе uCoz