Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Форестпак стандартными средствами.
Форум .:3DCenter.ru:. > Пакеты 3D моделирования > 3ds Max
Pomidoroff
Из естественной жадности и общего нежелания обрастать излишними плагинами пытаюсь лепить лес и прочие насаждения стандартными средствами. Врай как неизбежный плагин присутствует в процесе.

Сейчас остановился на методе работы через частици и врай-инстансер. Есть некоторые минусы этого метода:
1. Не видно во вьюпорте положение обьектов
2. Ограничение в милион частиц (это актуально для всякой травы).
3. Рисовать положение можно через Вьюпорт Канвас, но этот метод не кажется оптимальным, рисовать частицами через Плайсмент Паинт - тоже немного геморно и несовсем точно.

В принципе этот не принципиальные ложности и в общем этот метод можно использовать, но надо его оптимизировать, особенно 3 пункт. Есть у кого есть идеи?

Sl1m
полипэинт ?
Pomidoroff
Всмысле Обьект Паинт?
Спецефическая штука. Главный минус что надо всё руками рисовать и нельзя влиять на массу обьектов комплексно, ориентация на обьекте относительно нормалей - плохо подходит для рельефа. Частици в этом плане гибче, можно настраивать весь масив.

Конечно, из плюсов нужно отметить контроль обьектов поштучный и отоброжение во вьюпортах. нет гемора с масками.
Sl1m
я имел ввиду вертекс колор, но обж пэйинт наверное самое то для созданиия лесного массива, а еще ориентация модели отсносительно нормалей отключается
Pomidoroff
Цитата(Sl1m @ 03/12/2017, 19:57) *
а еще ориентация модели отсносительно нормалей отключается

О точно, нашёл )))

Jahman
ты ж через pflow делаешь, да?
через birth group добавляешь нарисованное
через shape instance цепляешь свою лоупольную геометрию.
ну и дисплей врубаешь type:Geometry

рисовать можно как на гриде так и на объекте, правда только на едитабл меше
CODE
struct mousePaint (
    
    minDistance   = 12,
    delay         = 17,
    lastPaintTime = 0,
    lastPoint     = [1e5,1e5,1e5],
    
    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
                        
        )

        
        #continue
        
    ),
    
    fn start obj: = (
        
        if obj != unsupplied then (
                        
            mouseTrack on:obj trackCallback:mouseTrackCallback
            
        ) else (
            
            mouseTrack trackCallback:mouseTrackCallback
            
        )
        
    )
)

mp = mousePaint()
if isKindOf selection[1] Editable_mesh then mp.start obj:selection[1] else mp.start()



Pomidoroff
Цитата
ты ж через pflow делаешь, да?

Да
Цитата
через birth group добавляешь нарисованное

Нет. Незнаком с этой фукцией, ща гляну...
Цитата
через shape instance цепляешь свою лоупольную геометрию.

Нет. Цепляю через Врай Инстансер там можно несколько обьектов циплять.
Цитата
ну и дисплей врубаешь type:Geometry

Врай инстансер не показывает геометрию.

Что за скрипт? Аналог ОбьектПаинта?
Pomidoroff
Кароче ещё одна фича:
Можно партиклами геометрию раскидать, потом через скрипт перевести всё в геометрию и поштучно править, правда контроль над мосивом утрачивается (
Jahman
На большом количестве объектов пусть даже инстансных со сценой мне кажется уже будет невозможно нормально работать, либо выносить в отдельную сцену и xref'ом ее подключать.
Скаттеры тем и хороши, что это одна нода хранящая условно один меш и 100500 матриц транссформации и прочих аттрибутов учитываемых при самом рендере.

Можно рассадить по вершинам через data оператор. Пример приаттачил
Pomidoroff
Ребята, а есть способ в партиклах добавить несколько инстанс обьектов? Сделать список из нужной геометрии.

Цитата
Можно рассадить по вершинам через data оператор. Пример приаттачил

Надо посмотреть...
Jahman
можно из элементов объекта или из членов группы.
Pomidoroff
Класс! В группу обьеденить и катит... осталось ограничение на мильён партиклов обойти и считай форестпак ненужен!
mikinik
где ты там ограничение это нашел?
Pomidoroff
по факту... не рендерит больше. Поставить в настройках можно но рендерить не будет.
...бля нашёл! В систем менеджменте стоит ограничитель на стотыщь! Сёня день открытий ) правда система долго сцену под рендер готовит...ну это не страшно.


Так а какие там преймущества у форестпака отались? Готовые пресеты? Производительность во вьюпорте и и масочка ноиза?
cinic
Цитата(Pomidoroff @ 04/12/2017, 21:45) *
Так а какие там преймущества у форестпака отались?


С днем рождения!
Начинаем ползать



Pomidoroff
Цитата(cinic @ 04/12/2017, 23:11) *
Цитата(Pomidoroff @ 04/12/2017, 21:45) *
Так а какие там преймущества у форестпака отались?


С днем рождения!


Не, без виреевского инстансера памяти жрёт выше крыше... Циник, а ты прям всё знаешь, везде был... не выёбывайся.
cinic
Цитата(Pomidoroff @ 04/12/2017, 23:40) *
а ты прям всё знаешь, везде был... не выёбывайся.


"Не пей вина, Гертруда..."
P.S. И да, ты же кажеться потив мудаков?!
ProcXel.A
Можно сменить густой лес на пустыню с редкими вялыми кактусами. И норм будет вообще!
Pomidoroff
Можно от руки нарисовать и не мучится.
bizkitlimp1
Multiple Objects не работает?! Только на первом объекте в списке рассаживается.
Pomidoroff
Это где?
bizkitlimp1
Цитата(Pomidoroff @ 06/12/2017, 13:03) *
Это где?

В операторе Select Object:
Pomidoroff
Я так понял что большие масивы всё равно надо через врай инстансер пускать иначе памяти не напасёшся, для остольных случаев - шейп инстанс. Обьекты на которых распологаются обьекты - Позишн Обжект, там можно несколько обьектов выберать. А дата оператор... не юзал.
Jahman
да, я чет тоже забуксовал с тем как сделать чтоб через оператор узнать общее количество вертексов на выбранных мешах.

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

bizkitlimp1
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.
Отсюда: http://www.orbaz.com/forum/viewtopic.php?t=2991

И чето не работает.
cinic
Цитата(bizkitlimp1 @ 06/12/2017, 08:38) *
Multiple Objects не работает?! Только на первом объекте в списке рассаживается.

Увы! Решил только "набрасыванием" поверх "первого в списке" edit poly modifier и пристегиванием к нему всех остальных требуемых.
Тело испытуемого
Признаться, при использовании PF, про главный инструмент 3d-шника (бубен) нужно помнить постоянно. И я не склонен винить в этом Байбородина.
Пользуясь случаем, буду очень признателен всем, кто сможет внятно пояснить значение операций с векторами, подчеркнутые красным:
Jahman
Пример некорректный но наглядный smile.gif
cinic
Спасибо громадное! Правда, у меня не отображаются частицы (причем как не вертел, даже при убитом data operator и принудительным shape-овании ) huh.gif
Тем не менее, ход мысли уловил! Триггер по времени изменил на расстояние от частицы до точки столкновения, плюс по мелочевке.
Вобщем, вот:

Нажмите для просмотра прикрепленного файла
111
с партикл флоу естьещё засада с кручением партиклов (в том же лесу надо чтобы ёлки в разные стороны смотрели), как обычно в максе через кривые костыли сделано. для эпизодических вариантов или рендерфермы - вариант, кто осилит, а так лучше имхо поставить плагин и не париться.
Pomidoroff
Недопонял, вчём засада, крутить обьекты по оси Зед в разные стороны? Вроде работает нормально и постоянно стабильно.

зы. как это вы ухитрились написать комент без демонстрации абсалютного превосходства?
111
когда есть ориентация партиклов по нормалям (а она есть всегда если поверхность не плоская) то ту же травку покрутить рандомно по локальной оси стандартными средствами не получится. но можно изгаляться через данные.
Pomidoroff
Ну так растительность растёт в глобальной системе, а не в локальной... горы тому подтверждение.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2024 IPS, Inc.