![]() |
Копание земли...
Здравствуйте!
Возник следующий вопрос: Как делать копание земли эсковатором? Т.е. имеется модель эскаватора, при неких манипуляциях с управлением он должен ковшом хапнуть кусок земли. Какие решения были предложены мозгом: 1) Делать землю кубиками, подключать физ. движок. Но тут получается столько кубиков, что как бы процессор на расплавился. 2) При опускании ковша в меш земли, по опред радиусу вырезать из меша земли куб, вставлять идентичный куб в ковш и деформировать его по рандому. Проблема в том, что я не представляю до конца как это в блице реализовать, но может этот способ достоен существования? Хочется услышать ваши мнения и предложения по этому поводу =) |
Ответ: Копание земли...
Мне мозг подсказывает ещё одно решение -
3) Сделать землю террайном, вычислить место где экскаватор копнул, продавить и перекрасить в этом месте террайн так как нужно. Радиус ямы легко вычислить через cos,sin... Ну а модель куса земли смоделировать в 3d max. Правда это решение тоже не без изъянов. |
Ответ: Копание земли...
FireOwl, очень интересное решение, думаю что из всех 3 оно самое оптимальное. Не подскажешь каким образом в блице производится "продавка" террейна? И я в тригонометрии нуб, каким образом вычислить радиус ямы? =)
|
Ответ: Копание земли...
это не интересное, а нормальное решение, а вот чтоб додуматся до решений 1 и 2 это ещё нужна большая креативность.
радиус ямы видимо ненужен, ибо надо просто двигать вертексы на плейне, в справке всё есть. |
Ответ: Копание земли...
Нет проблем! =)
Я имел ввиду, что надо создать стандартный Blitz-террайн. Затем получить координаты ямы, взять ближайшуу вершину террайна, высчитать остальные вершины в радиусе ямы и опустить их по очереди вниз. Мой грубый и неоптимизированный вариант таков: =) Код:
for r=0 to radius depth - глубина ямы radius - само собой радиус Кстати, если не проверять вершины на "уже опущеность" некоторые будут опущены вниз по нескольку раз... З.Ы. Проверить ничего не могу - сейчас нет под рукой компилятора, и не будет ближайшие 2 часа... =( |
Ответ: Копание земли...
Используй команду (MODIFYTERRAIN). Поищи в ее в справке. Я сейчас с телефона сижу кажется там еще пример есть. Приду дамой скину. А на счет того что земля в ковше эт лучш смоделить и обрабатывать физическим движком когда высыпаеш. Или еще тебе как вариант можно использовать тот же модифитерраин в месте высыпания земли из ковша (только наоборот не углубление а выдавливание)
|
Ответ: Копание земли...
MoifyTerrain - вроде то что нужно! Большое Спасибо =))
|
Ответ: Копание земли...
Вот как и обещал, справка по команде с примером (если у кого нет)
ModifyTerrain terrain,grid_x,grid_z,height#[,realtime] Параметры terrain - указатель ландшафта grid_x - координата x в сетке ландшафта grid_y - координата y в сетке ландшафта height# - высота точки ландшафта. Должна быть в пределах 0-1. realtime (не обязательно) - True - изменить ландшафт немедленно. False - изменить ландшафт при очередном выполнении команды RenderWorld. Значение по умолчанию - False. Описание Устанавливает высоту точки ландшафта. Код:
Example |
Ответ: Копание земли...
Еще в примере castle земля деформировалась, советую его тоже посмотреть
|
Ответ: Копание земли...
Ы, а если нужна реалистичность - булеан используй) хотя, чтобы его написать, ппц сколько затрат надо).
ну, и в реалтайме не получится) |
Ответ: Копание земли...
Я конечно извиняюсь, но на сколько реалистично нужно сделать "копание грунта"? и какого?
просто общий принцип ресурсонеемкой обработки грунта тоже интересует! |
Ответ: Копание земли...
2 Dr.Evil:
Представь, что сидит человек за тренажером, и у него есть два рычажка он копает землю как будто на экскаваторе, кароч реалистичность на уровне симулятора т.е. средняя. Если быть точнее, мне желательно чтобы повлялась яма при копании, вышеприведенная мысль о булеане - это офигенное решение, но его реализация силами блица по моему мнение не достижима. Если тебе нужна ресурсонеемкая визуализация "копания грунта", то используй принцип, применямый в редакторах ландшафтов(описано выше). Если нужно реалистично очень, то я лично вижу лишь вариант, подключения очень качественного физ. движка и заполнение ямы кубиками, которые экскаватор будет в последствии выкапывать. |
Часовой пояс GMT +4, время: 16:53. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot