Из естественной жадности и общего нежелания обрастать излишними плагинами пытаюсь лепить лес и прочие насаждения стандартными средствами. Врай как неизбежный плагин присутствует в процесе.
Сейчас остановился на методе работы через частици и врай-инстансер. Есть некоторые минусы этого метода: 1. Не видно во вьюпорте положение обьектов 2. Ограничение в милион частиц (это актуально для всякой травы). 3. Рисовать положение можно через Вьюпорт Канвас, но этот метод не кажется оптимальным, рисовать частицами через Плайсмент Паинт - тоже немного геморно и несовсем точно.
В принципе этот не принципиальные ложности и в общем этот метод можно использовать, но надо его оптимизировать, особенно 3 пункт. Есть у кого есть идеи?
Sl1m
03/12/2017, 20:13
полипэинт ?
Pomidoroff
03/12/2017, 20:37
Всмысле Обьект Паинт? Спецефическая штука. Главный минус что надо всё руками рисовать и нельзя влиять на массу обьектов комплексно, ориентация на обьекте относительно нормалей - плохо подходит для рельефа. Частици в этом плане гибче, можно настраивать весь масив.
Конечно, из плюсов нужно отметить контроль обьектов поштучный и отоброжение во вьюпортах. нет гемора с масками.
Sl1m
03/12/2017, 20:57
я имел ввиду вертекс колор, но обж пэйинт наверное самое то для созданиия лесного массива, а еще ориентация модели отсносительно нормалей отключается
Pomidoroff
03/12/2017, 21:06
Цитата(Sl1m @ 03/12/2017, 19:57)
а еще ориентация модели отсносительно нормалей отключается
О точно, нашёл )))
Jahman
03/12/2017, 22:43
ты ж через pflow делаешь, да? через birth group добавляешь нарисованное через shape instance цепляешь свою лоупольную геометрию. ну и дисплей врубаешь type:Geometry
рисовать можно как на гриде так и на объекте, правда только на едитабл меше
fn mouseTrackCallback msg ir obj faceNum shift ctrl alt = (
ts = timeStamp()
case msg of (
#freeMove: () -- means the mouse is moved without a button being pressed #mousePoint: () -- means the left mouse button has just been pressed #mouseMove: ( -- means the mouse is being dragged with the left button down
if ir.pos != undefined and (ts - lastPaintTime) > delay do (
lastPaintTime = ts
if distance lastPoint ir.pos > minDistance do (
GeoSphere pos:ir.pos lastPoint = ir.pos
)
)
) #mouseAbort: ( return ok ) -- means the right mouse button was clicked, normally meaning cancel
mp = mousePaint() if isKindOf selection[1] Editable_mesh then mp.start obj:selection[1] else mp.start()
Pomidoroff
04/12/2017, 11:29
Цитата
ты ж через pflow делаешь, да?
Да
Цитата
через birth group добавляешь нарисованное
Нет. Незнаком с этой фукцией, ща гляну...
Цитата
через shape instance цепляешь свою лоупольную геометрию.
Нет. Цепляю через Врай Инстансер там можно несколько обьектов циплять.
Цитата
ну и дисплей врубаешь type:Geometry
Врай инстансер не показывает геометрию.
Что за скрипт? Аналог ОбьектПаинта?
Pomidoroff
04/12/2017, 11:38
Кароче ещё одна фича: Можно партиклами геометрию раскидать, потом через скрипт перевести всё в геометрию и поштучно править, правда контроль над мосивом утрачивается (
Jahman
04/12/2017, 12:20
На большом количестве объектов пусть даже инстансных со сценой мне кажется уже будет невозможно нормально работать, либо выносить в отдельную сцену и xref'ом ее подключать. Скаттеры тем и хороши, что это одна нода хранящая условно один меш и 100500 матриц транссформации и прочих аттрибутов учитываемых при самом рендере.
Можно рассадить по вершинам через data оператор. Пример приаттачил
Pomidoroff
04/12/2017, 15:51
Ребята, а есть способ в партиклах добавить несколько инстанс обьектов? Сделать список из нужной геометрии.
Цитата
Можно рассадить по вершинам через data оператор. Пример приаттачил
Надо посмотреть...
Jahman
04/12/2017, 17:04
можно из элементов объекта или из членов группы.
Pomidoroff
04/12/2017, 20:32
Класс! В группу обьеденить и катит... осталось ограничение на мильён партиклов обойти и считай форестпак ненужен!
mikinik
04/12/2017, 22:40
где ты там ограничение это нашел?
Pomidoroff
04/12/2017, 22:45
по факту... не рендерит больше. Поставить в настройках можно но рендерить не будет. ...бля нашёл! В систем менеджменте стоит ограничитель на стотыщь! Сёня день открытий ) правда система долго сцену под рендер готовит...ну это не страшно.
Так а какие там преймущества у форестпака отались? Готовые пресеты? Производительность во вьюпорте и и масочка ноиза?
cinic
05/12/2017, 00:11
Цитата(Pomidoroff @ 04/12/2017, 21:45)
Так а какие там преймущества у форестпака отались?
Так а какие там преймущества у форестпака отались?
С днем рождения!
Не, без виреевского инстансера памяти жрёт выше крыше... Циник, а ты прям всё знаешь, везде был... не выёбывайся.
cinic
05/12/2017, 00:47
Цитата(Pomidoroff @ 04/12/2017, 23:40)
а ты прям всё знаешь, везде был... не выёбывайся.
"Не пей вина, Гертруда..." P.S. И да, ты же кажеться потив мудаков?!
ProcXel.A
05/12/2017, 10:53
Можно сменить густой лес на пустыню с редкими вялыми кактусами. И норм будет вообще!
Pomidoroff
05/12/2017, 15:27
Можно от руки нарисовать и не мучится.
bizkitlimp1
06/12/2017, 09:38
Multiple Objects не работает?! Только на первом объекте в списке рассаживается.
Pomidoroff
06/12/2017, 12:03
Это где?
bizkitlimp1
06/12/2017, 16:34
Цитата(Pomidoroff @ 06/12/2017, 13:03)
Это где?
В операторе Select Object:
Pomidoroff
06/12/2017, 18:38
Я так понял что большие масивы всё равно надо через врай инстансер пускать иначе памяти не напасёшся, для остольных случаев - шейп инстанс. Обьекты на которых распологаются обьекты - Позишн Обжект, там можно несколько обьектов выберать. А дата оператор... не юзал.
Jahman
06/12/2017, 19:26
да, я чет тоже забуксовал с тем как сделать чтоб через оператор узнать общее количество вертексов на выбранных мешах.
ps.. хотя не, гоню, как заспавнить понятно. осталось понять как на нужные места рассадить
bizkitlimp1
06/12/2017, 21:01
8 лет назад:
Цитата
You need to turn On "I3 Designates Objects" in the Object suboperator, and wire-in data from an Input Standard sub-op (with ID = Birth Index). This way to control the correspondence between particles and the objects.
Multiple Objects не работает?! Только на первом объекте в списке рассаживается.
Увы! Решил только "набрасыванием" поверх "первого в списке" edit poly modifier и пристегиванием к нему всех остальных требуемых. Тело испытуемого Признаться, при использовании PF, про главный инструмент 3d-шника (бубен) нужно помнить постоянно. И я не склонен винить в этом Байбородина. Пользуясь случаем, буду очень признателен всем, кто сможет внятно пояснить значение операций с векторами, подчеркнутые красным:
Jahman
07/12/2017, 11:47
Пример некорректный но наглядный
cinic
07/12/2017, 22:03
Спасибо громадное! Правда, у меня не отображаются частицы (причем как не вертел, даже при убитом data operator и принудительным shape-овании ) Тем не менее, ход мысли уловил! Триггер по времени изменил на расстояние от частицы до точки столкновения, плюс по мелочевке. Вобщем, вот:
с партикл флоу естьещё засада с кручением партиклов (в том же лесу надо чтобы ёлки в разные стороны смотрели), как обычно в максе через кривые костыли сделано. для эпизодических вариантов или рендерфермы - вариант, кто осилит, а так лучше имхо поставить плагин и не париться.
Pomidoroff
19/12/2017, 23:40
Недопонял, вчём засада, крутить обьекты по оси Зед в разные стороны? Вроде работает нормально и постоянно стабильно.
зы. как это вы ухитрились написать комент без демонстрации абсалютного превосходства?
111
20/12/2017, 00:10
когда есть ориентация партиклов по нормалям (а она есть всегда если поверхность не плоская) то ту же травку покрутить рандомно по локальной оси стандартными средствами не получится. но можно изгаляться через данные.
Pomidoroff
20/12/2017, 01:10
Ну так растительность растёт в глобальной системе, а не в локальной... горы тому подтверждение.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.