Как сделать имитацию выстрела на модели

Обновлено: 05.07.2024

Сложность заключется в самом начале выстрела. Если вы проиграите анимацию покадрово, то заметите, что в начале пламя вырывается из дуло тоненькой ножкой которая нелинейно переходит в широкий гриб.
Я уже несколько дней пытаюсь такое сделать но ничего не получается.
Пробывал задать партиклами начальную форму пламени но у меня не получается сделать так, чтоб первые, вылетающие партиклы начали расходиться в разные стороны через определенный промежуток времени образовывая форму как в референсном видео. Вместо этого, все партиклы образующиеся в одном кадле начинют лететь сразу в стороны.
Если использовать чистый pyro без учета партиклов, то пламя начтнает расшыряться сразу с первого же кадра. А если задать высокое значение Buoyancy, то вылеттает длинная струя пламени и образованием гриба совсем не там где надо.
Подскажите, как можно сделать подобное пламе, задать форму частицами или все же без них, просто через pyro?

Андрей Бельский

Знаток

увеличивай substeps на допе, без этого не получится. В солвере в projections увелич multigrid iterations

Vit_aliK_2007

Знаток

увеличивай substeps на допе, без этого не получится. В солвере в projections увелич multigrid iterations

С substep-ами понятно. А на что влияет multigrid iterations? Насколько я понимаю, этот параметр отвечает за точность сдерживания огня в пределах ограничещего его пространства (типа калижн). Может я ошибаюсь. В любом случае, у меня пламя выходит не из дуло, а из эмитера цилендрической формы.
Хотелось бы все же знать, какой был бы подход к созданию такого типа пламени - с помощью партиклов или без.

Андрей Бельский

Знаток

тебе важно чтобы за короткий промежуток времени пламя быстро меняло форму, на это влияют substeps, но если много сабстепов то просчет долгий и вторая опция позволяет решать уравнение несколько раз за один substep, есть еще substeps внутри солвера, они тоже позволяют добавить деталей, но проблема использования substeps внутри солвера в том что вектор скорости между кадрами не меняется, поэтому надо крутить субстепы на допе и добавлять внутри солвера чтобй симуляция не была вечной

mikinik

Знаток

Vit_aliK_2007 , посмотри рефы съемочные, то на что ты ориентируешься мягко говоря не очень. взрыв должен быть сразу после ствола не отлетая на несколько метров от него.

01.jpg

02.jpg

Vit_aliK_2007

Знаток

Вот что у меня получилось. В первых 5 кадрах видно, что плямя налезает на дуло. Причина, видимо в том, что я добавил Source Volume с установленым параметром Expand в Initialize. Я это сделал потому что иначе пламя не расширяется достаточно быстно без этого параметра. Да и то, могу сказать, что оно не достаточно быстро расширяется. Иначе полностью поглощало бы дуло. Чтоб минимизировать такой ненужный эффект, я увеличивал значения velocity. Но я не могу его вечно увеличивать иначе не хватает времени для расширения пламени. В общем, приходится искать золотую середину. На данный момент, это лучший результат который у меня получился и, как вы видите, он не очень естественный.

Вложения

Shoot.jpg

виталий антоновас

Модератор форума

понимаешь, в чем закавыка: выстрел из танка, ето не просто сетап из соурса+ симуляция взрыва, ето реально целый комплекс телодвижений. То, что ты нашел референц из чужой графики, ето конечно хорошо, но делай лучше по реальным рефам, стилизация сама придет.Про сабстепы уже сказали. Теперь мои 5 копеек))
Я когда делал выстрел я использовал именно эти самые рефы, которые приведены выше(не знаю, чисто случайность, но ето именно такие). Когда я столкнулся с вопросом формирования первоночальной формы ("тоненькой ножки переходящей в гриб"), я сделал просто muzzle flash, геометрией, и заанимировал буквально 2 фрейма. Эту геометрию просто перевел в волюм с атрибутом температуры и юзал ето потом в комплексе с симуляцией взрыва. То есть: первые фреймы взрыва я НЕ симулил, у меня уже отпала головная боль. Я полностью сосредоточился уже на самой "шапке взрыва".
Дальше. Сам выстрел происходит буквально 7 фреймов. Это выведено чисто эмпирическим путем, но я работал уже дальше с етим "золотым сечением" )).У нас за ети 7 фреймов должно произойти куча всего. Так как скорости огромадные, то про сабстеп уже написали, но и вкупе с ними тут надо немного считерить.А именно: нам нужно ускорить скорость симуляции. Тайм скейл. И он отвечает не за скорость симуляции, а за скорость происходящих процессов.Немного звучит одинаково?)) Обьясню. Например, у тебя сфера, метр на метр, превращенная в соурс. Она прогорает, например за 120 фреймов, и дает столб дыма метров 15. Когда ты делаеш тайм сэйл быстрее в 2 раза, ты ожидаешь увидеть ТУ ЖЕ самую сумуляцию, но проходящую в 2 раза быстрее, а именно: 60 фреймов сгорания и те же 15 метров столб. НО. нет! И теперь собственно весь цинус тайм скейла в DOPе: он просто ускоряет прогорание, ускоряет процессы, но не саму симуляцию, в итоге, на выходе ты имеешь практически взрыв, вместо равномерного прогорания и никаких столбов. Это как в реале, представь, тебе надо "выгореть" бочку бензина,например за пол-секунды.Что на выходе? правильно--взрыв.Этот долгий тезиз был для того, чтоб ты не просто симулил взрыв, а попытался понять что ИМЕННО должно произойти за ети 7 фреймов.Да, и потом работа с партиклами, которые имеют велосити и с помощью которых ты формируешь дальнейшее облако, вернее его начальную форму, а физика уже сделает сама за тебя, как надо.Пример, начинается с 1:10

А вот Хенглоговская новинка 1/16 - пушечка Тигра более крупного калибра… см с 2:37

На первом видео - это не пушка, а пулемет просто 😁
На втором уже похоже на правду, но не показано как это сделано

На первом видео - это не пушка, а пулемет просто 😁
На втором уже похоже на правду, но не показано как это сделано

Ээээ… пушка или пулемет это каждый понимает в меру своей учености(испорченности) 😃 …
Во втором случае вероятно сделано так же как и в первом - “обратный поршень” по ссылке есть рисуночек

а дым не будет выходить из камеры просто так, через дырку в поршне??

а дым не будет выходить из камеры просто так, через дырку в поршне??

Хороший вопрос. Действительно все сложнее
Поршень при движении должен создавать перепад давления, который поднимет уровень глицерина в дымовой камере и смочит спираль накала с фитилем. Когда поршень в неподвижном состоянии то дыма практически нет.
…Как в вейпе (пароиспарителе для курения).
tehnika.expert/…/ustrojstvo-i-princip-dejstviya.ht…

цела система получается, не такая простая как на картинке. И вписать её еще надо в габариты.
В танковой башне да в масштабе 1:16 места то больше…

цела система получается, не такая простая как на картинке. И вписать её еще надо в габариты.
В танковой башне да в масштабе 1:16 места то больше…


Насчет реальной баллистической стрельбы, тоже думал сделать канонерку с башней Т-34 в 16-м масшабе.
Кстати пневмопушки для танков продаются отдельно как запчасти.

и на какое расстояние такая пневмопушка стреляет?

ээ было в старину решение за счет получения водорода , из щелочи

у меня был такой револьвер в детстве, как на картинке. Только не помню, сколько он дыма выпускал.
Звуковое оформление это вообще не проблема.
А вот электромагнит как боёк вряд ли пойдет. Усилие у него никакое, а боек в игрушке достаточно сильно бьёт по пистону.

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

с приводом от сервы

Можно. Но я бы для начала взял этот родной механизм и прикинул момент, который нужен, чтоб взвести и спустись курок. Думаю он будет не такой маленький и мини/микро-сервой не отделаешься, а это размеры. Её же вписать надо в окружающий пейзаж/модель.
По поводу “Бобра” и масштаба.
В 1:200 его водоизмещение составит всего 148 грамм. Грамм, Карл! И что в эту массу можно вписать? Ничего.

Ну так я и написал что не менее) получается 1:100 это примерно 600 мм длиной, ширина до 108 мм. В каземате естественно на пару см поменьше. В принципе влезть должен. Ну или можно растянуть до метра в нестандартном 1:60, точно всё влезет)

Привод спуска кстати через тросик можно из трюма

Про тросик не понял. Это как?

Принцип как в велосипедном ручном тормозе

Не выйдет тросиком.
В ручном тормозе, во-первых ход не большой, несколько миллиметров. Во-вторых, усилия по сути никакого не требуется.
Здесь же надо взвести курок, имеющий бОльший ход, чем ручной тормоз и приложить для этого гораздо большее усилие.
Вы про-рисуйте в объеме (3D) сам механизм и сервопривод и попробуйте одно с другим состыковать, обеспечив нужную механическую связь.
Я именно так и делаю. Сразу можно увидеть работу механизма в разных положениях, понять как это всё двигается, где что мешает, упирается и т.п.
В принципе в 1:100 носовой каземат с орудием на “Бобре” будет достаточно большой, и сервопривод в него войдет.

Ход там может быть любым если усилие на втягивание. Да и про рычаг слышали чего-нибудь? Вспомните разницу в расстоянии от оси рукоятки тормоза до места приложения силы. Разница минимум в два раза. На этих тросиках висеть можно, проверено. И уж точно хватит на привод механизма, рассчитанного (на минуточку) на детей! Ну а чтобы сомнений не осталось, если есть велосипел оцените сжимающую силу этих тормозов, сунув туда веточку). Тридэ модель это конечно очень круто, но компа нет. О масштабе буду судить после приобретения самого пугача

Как создать эффекты огня, взрыва, ледяных шипов и летящих пил.

Создание визуальных эффектов — это тонкая работа: разработчик должен сделать их правдоподобными, понятными и впечатляющими.

DTF поговорил с ведущим художником по 3D и эффектам из студии Highcore Games Владимиром Тихановым и выяснил, какие принципы должны лежать в основе визуальных эффектов.

Художник подробно описал процесс создания нескольких анимаций для Tanks A Lot! — он рассказал про огнемёт, огненную стену, ледяные шипы, взрыв и циркулярные пилы. Если вы хотите воссоздать эти эффекты в Unity, то можете использовать этот текст в качестве туториала.

Все эффекты в игре должны соответствовать нескольким ключевым правилам.

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

Силуэты спрайтов должны быть максимально простыми. Это нужно, чтобы общая композиция выглядела стилизованно, а форма легко читалась даже на небольшом экране. Один и тот же спрайт можно многократно использовать в разных эффектах, поэтому его цвет лучше настраивать в Particle System. Также постарайтесь не использовать более двух цветов.

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

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

Теперь затронем техническую сторону. В Highcore Games все эффекты создаются при помощи Particle System в Unity — стандартных средств почти всегда достаточно. Кастомные шейдеры используйте с осторожностью — только если это действительно нужно для решения задачи. Код в таких ситуациях лучше писать собственноручно, чтобы отсечь всё лишнее.

Инструменты для создания шейдеров хорошо подходят для прототипирования. Но полученный результат может привести к проблемам на разных устройствах и падению fps в игре. Поэтому применять такие шейдеры стоит только после оптимизации и существенной переработки.

Обычно в Highcore Games используют три шейдера для эффектов: Mobile Additive, Mobile Alpha Blended и Unlit Shader для мешей с текстурой.

Чем больше материалов используется, тем больше draw-calls и тем меньше fps в игре. Поэтому постарайтесь ограничиться тремя материалами для каждого типа шейдеров. Все спрайты и текстуры для эффектов храните в отдельном атласе. Чтобы выбрать нужный спрайт, используйте блок Texture Sheet Animation как показано в примере ниже.

Также художники из Highcore Games стараются не делать слишком много систем частиц. Их количество сильно зависит от конкретного эффекта: если это выстрел или попадание, то достаточно двух-трёх, если это летящий проджектайл, то можно применить от двух до четырёх, а взрыв может состоять из четырёх-пяти. Каждая система занимает определённое количество оперативной памяти устройства. Это касается даже тех систем, в которых ничего не происходит.

Когда эффект готов, разработчики выделяют в нём критически важные системы, а остальное отключают для low-end устройств — для этого есть специальный скрипт.

У огнемёта есть две ключевые атаки, для каждой из которых нужен отдельный эффект:

  • обычная атака — струя пламени из ствола орудия;
  • дополнительная атака — стена огня, которая наносит урон по области.

Первый шаг при создании эффекта — собрать и исследовать референсы, чтобы понять, как он должен выглядеть. Вы можете искать референсы, например, на Pinterest (вот пример поиска для огнемёта).

Затем нарисуйте скетч. Набросок должен быть простым и грубым, но при этом передавать суть задумки. Это черновой вариант, поэтому используйте только упрощённые формы для изображения объектов. И не тратьте слишком много времени на проработку наброска. Постарайтесь сделать так, чтобы на эту задачу у вас уходило не более 20 минут.

Следующий важный шаг — рисование частиц (спрайтов), из которых будет состоять эффект. Проще всего нарисовать их в Photoshop. Для эффекта огнемёта понадобится три вида частиц. Первые нужны для создания следа дыма. В реальности дым состоит из частиц, появившихся в результате горения, и пара, поэтому его поведение и физическая природа очень похожи на газообразное вещество.

Чтобы дым в игре был правдоподобным, разработчики использовали только закруглённые формы без углов и резких переходов. В результате частицы дыма похожи на неровный четырёхлистник.

Если вы не знаете, как должны выглядеть подобные частицы, можно поискать вдохновение на сайте Adobe Stock (вот пример поиска).

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

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

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

Когда спрайты нарисованы, разработчики собирают их в атлас, который используется в Unity. В своей работе стоит использовать атласинг текстур для эффектов, потому что у такого подхода есть несколько больших преимуществ:

  • оптимизация — вместо множества текстур у вас остаётся одна для всех эффектов, кроме тех, для которых используется покадровая анимация. Это существенно сокращает размер билда;
  • это позволяет удобно редактировать текстуры и следить за тем, чтобы они соответствовали стилю проекта;
  • можно использовать ограниченное число материалов, что важно для поддержания высокой производительности рендеринга.

Атласы удобно собирать в Substance Designer: там можно легко определить размер атласа и количество ячеек для будущих спрайтов. Всё зависит от проекта, но обычно хватает 2048 пикселей и 12х12 ячеек: в такой атлас можно поместить 144 текстуры — этого должно хватить для мобильного проекта. Также для Substance Designer есть бесплатный плагин, который позволяет легко управлять атласом.

Pavel Ivanov

😏

На последнем фото в дыме рожа чья то

Данил Заболотний

Дмитрий Крисанов


Дмитрий Крисанов

Не знаю. почему-то меня всегда смущали вот такие вот ватные балабахи в роли дыма
они прям портят впечатление. Что делать - без понятия. Можно канеш теоретически залить всё эпоксидкой прозрачной и послойно ввести этот самый клуб дыма, но проблем с реализацией там столько, что аллес.

Vasiliy Nevzorov


Vasiliy Nevzorov

Дмитрий Крисанов


Дмитрий Крисанов ответил Vasiliy

Даниил Павлов

Дмитрий Крисанов


Дмитрий Крисанов ответил Даниилу

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

Vasiliy Nevzorov


Vasiliy Nevzorov ответил Дмитрию

Дмитрий Крисанов


Дмитрий Крисанов ответил Vasiliy

да, это видел) если брать относительный уровень, то блестяще) Но как по мне, это всё равно полумера, которая не даёт реального ощущения выстрела/взрыва

Vasiliy Nevzorov


Vasiliy Nevzorov ответил Дмитрию

Дмитрий, тогда уже придумали бы производители дополнения, и моделистам хорошо и производителю прибыль)))

Дмитрий Крисанов


Дмитрий Крисанов ответил Vasiliy

Vasiliy Nevzorov


Vasiliy Nevzorov ответил Дмитрию

Arma-Models.ru - сборные модели, моделизм.

Дмитрий Крисанов


Дмитрий Крисанов ответил Сообществу

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

Олег Попов

Может с аэрогелем поиграться? Я имею ввиду для производства допов. Правда не знаю сколько он стоит. Но перспективы у него должны быть многообещающие.

Читайте также: