Разрушаемый террейн в Unity3d.
Здравствуйте.
Подскажите пожалуйста.
Хочу сделать разрушаемый террейн в юнити3д. При каждом попадании снаряда террейн осыпается, может попасть на пушку или засыпать дом и т.п
Могу ли я для этого использовать плагин 3дМакса RayFire Tool ?
http://www.youtube.com/watch?v=bFOJO4XwO9A
У меня задача: каждый раз имитировать разное разрушение террейна, которое будет зависить от силы удара, направления вектора, силы ветра и т.п
Если я не ошибаюсь, то в этом плагине я могу имитировать только один вид взрыва или не так?
Можно ли сделать подобное в юнити3д? Префарбы?
Если ДА, то как?
- Dark_Knight3
- Постоялец
#0
13:15, 10 янв 2012
Здравствуйте.
Подскажите пожалуйста.
Хочу сделать разрушаемый террейн в юнити3д. При каждом попадании снаряда террейн осыпается, может попасть на пушку или засыпать дом и т.п
Могу ли я для этого использовать плагин 3дМакса RayFire Tool ?
http://www.youtube.com/watch?v=bFOJO4XwO9A
У меня задача: каждый раз имитировать разное разрушение террейна, которое будет зависить от силы удара, направления вектора, силы ветра и т.п
Если я не ошибаюсь, то в этом плагине я могу имитировать только один вид взрыва или не так?
Можно ли сделать подобное в юнити3д? Префарбы?
Если ДА, то как?
#1
23:46, 11 янв 2012
В данном видео все разрушения заранее прорисованы. Если кто играл в Worms 3D, то видел, как там разрушается карта. Сделано это по методу майнкрафта + склаживание краёв и границ текстур.
Вот 2д аналог:
1. Создаём карту из кубиков
2. Нам нужны центры этих кубиков
3. Над ними сейчас будем работать
4. Применяем подходящий алгоритм сглаживания (у меня 2д и я взял базье)
5. Рисуем то, что получилось
А при попадании снаряда, нужно перерисовать карту из кубиков
#1
23:46, 11 янв 2012
В данном видео все разрушения заранее прорисованы. Если кто играл в Worms 3D, то видел, как там разрушается карта. Сделано это по методу майнкрафта + склаживание краёв и границ текстур.
Вот 2д аналог:
1. Создаём карту из кубиков
2. Нам нужны центры этих кубиков
3. Над ними сейчас будем работать
4. Применяем подходящий алгоритм сглаживания (у меня 2д и я взял базье)
5. Рисуем то, что получилось
А при попадании снаряда, нужно перерисовать карту из кубиков
#2
0:43, 12 янв 2012
For performance reasons it is important to keep your terrain size small and more importantly keep your Heightmap Resolution low. In this example it is set to 33.
К сожалению, терраин юнити, в текущей реализации, не совсем готов к таким необычным идеям.
#2
0:43, 12 янв 2012
For performance reasons it is important to keep your terrain size small and more importantly keep your Heightmap Resolution low. In this example it is set to 33.
К сожалению, терраин юнити, в текущей реализации, не совсем готов к таким необычным идеям.
#3
1:40, 12 янв 2012
Кто-нибудь приведёт путь к созданию такого на UDK ?
Спасибо
#3
1:40, 12 янв 2012
Кто-нибудь приведёт путь к созданию такого на UDK ?
Спасибо
#4
2:14, 12 янв 2012
amid
> Если кто играл в Worms 3D, то видел, как там разрушается карта
В Worms 2d по такому же принципу разрушается, не в курсе?
#4
2:14, 12 янв 2012
amid
> Если кто играл в Worms 3D, то видел, как там разрушается карта
В Worms 2d по такому же принципу разрушается, не в курсе?
- Dark_Knight3
- Постоялец
#5
12:25, 12 янв 2012
Zhbanito
да это разрушение видел, но мне нужно немного другое: главное, чтоб куски террейна отлетали в сторону и засыпали пушки или т.п и с этими кусками можно было бы работать дальше
- Dark_Knight3
- Постоялец
#5
12:25, 12 янв 2012
Zhbanito
да это разрушение видел, но мне нужно немного другое: главное, чтоб куски террейна отлетали в сторону и засыпали пушки или т.п и с этими кусками можно было бы работать дальше
#6
12:30, 12 янв 2012
Riddik
нет, там по другому
Dark_Knight3
ямы будет сложно следать, наложи на место взрыва декаль и повысыпай из нё камни
#6
12:30, 12 янв 2012
Riddik
нет, там по другому
Dark_Knight3
ямы будет сложно следать, наложи на место взрыва декаль и повысыпай из нё камни
- Dark_Knight3
- Постоялец
#7
12:45, 12 янв 2012
amid
извините, не совсем понял, можно поподробнее?
я с этим камнем, который высыпать буду смогу работать?
- Dark_Knight3
- Постоялец
#7
12:45, 12 янв 2012
amid
извините, не совсем понял, можно поподробнее?
я с этим камнем, который высыпать буду смогу работать?
#8
13:40, 12 янв 2012
сделай яму и нагененируй камней, вылетающих из нее, а потом работай с ними. Функции Rocks[] Boom(Vector3 target, int power), нету и не найдешь ты такой нигде, так что ручками, ручками.
Можно сделать и реалистично, используя физический движок, но всю карту ты таким образом не покроешь.
#8
13:40, 12 янв 2012
сделай яму и нагененируй камней, вылетающих из нее, а потом работай с ними. Функции Rocks[] Boom(Vector3 target, int power), нету и не найдешь ты такой нигде, так что ручками, ручками.
Можно сделать и реалистично, используя физический движок, но всю карту ты таким образом не покроешь.
- Dark_Knight3
- Постоялец
#9
13:51, 12 янв 2012
Zhbanito
Почему не покрою всю карту?
Дело в том, что у меня цель:
— игрок прицелился, выбрал силу удара, вектор и выстрелил
— данные отправились на сервер, который их посчитал и вернул мне координаты попадания снаряда
— в зависимости от того что вернул мне сервер(координаты попадания, силу удара, вид снаряда и куда попал снаряд) я делаю разрушение, которое должно быть в виде осыпания, то есть не просто дырку в земле, а чтоб еще эта земля осыпалась и могла засыпать рядом стоящую пушку или человека,
Такое возможно в юнити, или вы можете предложить что-то другое?
- Dark_Knight3
- Постоялец
#9
13:51, 12 янв 2012
Zhbanito
Почему не покрою всю карту?
Дело в том, что у меня цель:
— игрок прицелился, выбрал силу удара, вектор и выстрелил
— данные отправились на сервер, который их посчитал и вернул мне координаты попадания снаряда
— в зависимости от того что вернул мне сервер(координаты попадания, силу удара, вид снаряда и куда попал снаряд) я делаю разрушение, которое должно быть в виде осыпания, то есть не просто дырку в земле, а чтоб еще эта земля осыпалась и могла засыпать рядом стоящую пушку или человека,
Такое возможно в юнити, или вы можете предложить что-то другое?
#10
14:30, 12 янв 2012
Ну могу предложить префаб состоящий из камней, щебня и прочего мусора (можно даже несколько видов таких префабов), когда вы знаете место попадания снаряда, то деформируете террейн в указанной точке, по алгоритму из ссылки выше, а в образовавшуюся яму вставляете префаб с мусором. В итоге при попадании ядра в ваш мусор он будет разлетаться и т.д.
Ничего не гарантирую, но если это прям мега-ключевая особенность проекта, то пробуйте.
Не совсем понятно что значит засыпать пушку или человека? Можете при создании ямы, создавать постепенно и холмики осыпавшейся земли, тогда объекты вокруг будут погружаться в землю, но такое частое хождение во внутренности террайна Unity просадит вашу производительность в ноль.
Впринципе все возможно сделать в том же Unity, вопрос в производительности и целесообразности решения.
#10
14:30, 12 янв 2012
Ну могу предложить префаб состоящий из камней, щебня и прочего мусора (можно даже несколько видов таких префабов), когда вы знаете место попадания снаряда, то деформируете террейн в указанной точке, по алгоритму из ссылки выше, а в образовавшуюся яму вставляете префаб с мусором. В итоге при попадании ядра в ваш мусор он будет разлетаться и т.д.
Ничего не гарантирую, но если это прям мега-ключевая особенность проекта, то пробуйте.
Не совсем понятно что значит засыпать пушку или человека? Можете при создании ямы, создавать постепенно и холмики осыпавшейся земли, тогда объекты вокруг будут погружаться в землю, но такое частое хождение во внутренности террайна Unity просадит вашу производительность в ноль.
Впринципе все возможно сделать в том же Unity, вопрос в производительности и целесообразности решения.
- Dark_Knight3
- Постоялец
#11
14:43, 12 янв 2012
Zhbanito
Под засыпанием я подразумеваю: во время взрыва части земли отлетевшие в стороны попадают на пушку стоявшую неподалеку от взрыва и потом, когда эта пушка стреляет, земля(части земли попавшие на пушку) отлетает от нее под воздействием отдачи во время выстрела пушки, что-то типа такого.
- Dark_Knight3
- Постоялец
#11
14:43, 12 янв 2012
Zhbanito
Под засыпанием я подразумеваю: во время взрыва части земли отлетевшие в стороны попадают на пушку стоявшую неподалеку от взрыва и потом, когда эта пушка стреляет, земля(части земли попавшие на пушку) отлетает от нее под воздействием отдачи во время выстрела пушки, что-то типа такого.
#12
16:23, 12 янв 2012
ну так сделайте визуальный эффект. Если пушка в радиусе осыпания землей, то закрасьте ее пылью и грязью. А когда она стреляет, верните старую текстуру и сыграйте эффект отлетающей от пушки пыли. Зачем вам воспроизведение реальных физических процессов 1 к 1?
#12
16:23, 12 янв 2012
ну так сделайте визуальный эффект. Если пушка в радиусе осыпания землей, то закрасьте ее пылью и грязью. А когда она стреляет, верните старую текстуру и сыграйте эффект отлетающей от пушки пыли. Зачем вам воспроизведение реальных физических процессов 1 к 1?
#13
17:28, 12 янв 2012
ладно, с ямами проехали, на месте взрыва нужно создать спрайт взрыва, декаль повреждения и разбросить куски камней.
Я не знаю, как точно в u3d, но думаю, что нужно сделать физические объекты камни и проверять их с прикосновением пушки
#13
17:28, 12 янв 2012
ладно, с ямами проехали, на месте взрыва нужно создать спрайт взрыва, декаль повреждения и разбросить куски камней.
Я не знаю, как точно в u3d, но думаю, что нужно сделать физические объекты камни и проверять их с прикосновением пушки
#14
17:41, 12 янв 2012
amid
> что нужно сделать физические объекты камни и проверять их с прикосновением пушки
эпично. только зачем? кто заметит, эти ваши камни при такой скорости, да причем обратит внимание, насколько физически верно они прилипли к пушке? и на сколько хватит компьютера, когда камней будет по пару сотен штук при каждом взрыве?
#14
17:41, 12 янв 2012
amid
> что нужно сделать физические объекты камни и проверять их с прикосновением пушки
эпично. только зачем? кто заметит, эти ваши камни при такой скорости, да причем обратит внимание, насколько физически верно они прилипли к пушке? и на сколько хватит компьютера, когда камней будет по пару сотен штук при каждом взрыве?
Какой подход к разрушаемости зданий будет верный?
Доброго всем времени суток, возник вопрос: как более економно реализовать разрушаемость зданий?
Подход 1 — сделать анимацию падения в Blender, и при условиях активировать ее.
Подход 2 — сразу разбить предмет на кусочки и скриптом узнавать куда игрок попал, и отделять нужный кусок.
Лучшие ответы ( 2 )
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:
Внутренний не статический класс. Верный подход? WebSocket
Подскажите правильность такого решения. У меня есть точка подключения вебсокета на Java.
Какой пароль верный?
Какой пароль в этой задаче будет верным? Написал, а понять не могу program passwd; const.
Ввод пароля пока не будет введен верный
Давно писал код и сейчас хочу продолжить его и вот как выполнить чтобы ввод пароля можно было.
3339 / 1761 / 1019
Регистрация: 26.10.2018
Сообщений: 5,174
Сообщение было отмечено Alex4570 как решение
Решение
Первый будет производительней само собой.
293 / 189 / 111
Регистрация: 22.07.2020
Сообщений: 538
Сообщение было отмечено Alex4570 как решение
Решение
Второй вариант в игре будет интересней. Можно дырявить стены из РПГ. Но геморный в плане производительности и разработки.
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
Помогаю со студенческими работами здесь
Теория программирования. Какой подход выбрать?
Доброго всем времени суток. Заданием одной из лабораторных работ было написать растровый редактор.
Какой ответ все-таки верный?
Отрезок, соединяющий вершину A ромба ABCDс серединой стороны BC, равен стороне ромба. Найдите.
сессия.Какой подход к программированию используется на языке С++
1.Какой подход к программированию используется на языке С++? Основные понятия, семантика, синтаксис.
Распознование морд кошек. Какой подход выбрать?
Добрый день. В данной проблеме я профан ,но хочу узнать на начальном этапе, каким способом эту.
Plug-In система — какой наилучший подход сегодня?
Доброй ночи всем жителям форума. Увлекся я ASP MVC и вот сейчас решил начать потихоньку писать свою.
Какой подход правильный в хранении и отображении картинок в приложении?
Доброго времени суток, уважаемые форумчане. Столкнулся вот с какой ситуацией. У меня в приложении.
Unity 5 уроки — создание разрушаемого объекта
В статье о создании разрушаемого стекла в Unity был использован достаточно простой скрипт. В данной статье мы создадим более мощный C# скрипт под Unity 5. Начнем с того, что нам нужно создать две модели: 1 — объект, который мы будем ломать, 2 — сломанная версия. В первой статье был использован 3D Max, сегодня мы будем моделировать в Blender3d, скачать можно тут. Версия 2,77a на момент написания статьи. В Блендере есть один очень интересный аддон — Cell Fracture. Он используется для разрушений в кат-сценах, фильмах и прочем. Мы же будем использовать его для своих целей. Подключить аддон очень просто: Заходим в File > User Preferences (Или комбинация клавиш Ctrl Alt U), переходим во вкладку Add-ons, в поиске ищем: Cell Fracture и ставим галочку, чтобы включить аддон.
Создание разрушаемого стекла в Blender
Заходим в Blender, выделяем куб и начинаем делать форму стекла. Для этого нажмите S и X,Y или Z, чтобы масштабировать по одной из осей. Должно получиться что-то подобное.
Текстурированием и созданием материалов мы займемся позже. Сейчас мы должны сохранить модель в формате FBX.
Вернемся к Блендеру, откроем панель инструментов (слева), нажав горячую клавишу T. Слева есть несколько вкладок: Tool, Create, Relations, Animation, Physics, Grease Pencil. Перед тем, как использовать Cell Fracture, нам нужно создать эффект пробития стекла пулей. Для этого нам нужен Grease Pencil. Заходим в эту вкладку, ставим галочку Continuous Drawing, в Data Source выбираем Object, в Stroke Placement > Surface. Затем нажимаем Draw. Если что-то не понятно, то выделите так, как на этом скриншоте.
Теперь нам нужно нарисовать два круга, как на скриншоте ниже.
Теперь можно приступить к разбитию стекла. Заходим в Cell Fracture (Tool > Cell Fracture). В открывшемся меню мы видим огромное количество функций, но мы будем работать только с теми, что выделены на фото ниже.
Source Limit отвечает за количество деталей, на которые мы разобьем модель. Noise — рандомизатор разрушений, от нуля до единицы. Material отвечает за то, какой материал будет в разрушенной модели, то есть в тех местах, где будет разлом. По умолчанию стоит 0, то есть тот материал, который вы сейчас используете. Если параметр Margin стоит не равный нулю, то в конечной модели у нас будут щели, поэтому выставляем Margin=0. В окне сцен рекомендуется поставить галочку в Next Layer, чтобы разрушенная модель была на новом слое. В итоге мы должны получить вот такие значения: Source Limit=50, Noise=0,25, Material=0, Margin=0,0 и самое главное — Grease Pencil.
Теперь жмем OK и дожидаемся конечного результата.
На этом этапе мы получили разрушенную модель, теперь нам нужно экспортировать ее в Unity 5. Также, как и в первый раз, заходим в File > Export > FBX.
Открываем Unity, создаем новый проект или открываем старый. Импортируем модели в Юнити, перенося их в папку Assets.
Настраиваем сцену в Unity
Сейчас мы должны настроить нашу сцену. Выделяем нашу модель, в окне Inspector добавляем Box Collider и Rigidbody. Также создаем материал, называем как вам угодно, пусть будет GlassMat. На фото ниже отмечены те настройки, которые нам понадобятся для создания прозрачного стекла.
Поменяем Rendering Mode на Transparent, Metallic=0,3, Smoothness=0,8. Нажмите на выбор цвета и поставьте такие значения: R=214, G=250, B=256, A=50. Последний параметр отвечает за прозрачность объекта, можете выставить больше или меньше, как вы считаете нужным. Должен получиться материал, похожий на этот:
На сцене для примера мы должны поставить 3 одинаковых целых стекла, над ними 3 сферы, на каждой должен висеть Rigidbody и SphereCollider. Данные три сферы будут разбивать наши стекла. Можно, конечно, добавить что-то другое, но смысл будет один и тот же. Перейдем к разрушенной модели. Модель состоит из множества осколков, которые не имеют не коллайдеров, ни Rigidbody. Выделив все части, добавим RigidBody и MeshCollider в окне Inspector. Теперь все готово к тесту.
Скрипт разбивания в Unity 5
Код можно будет скачать с GoogleDrive здесь, изучите его сами, мы расскажем вам только то, как им нужно пользоваться.
Скрипт содержит несколько переменных: Broken Prefabs, Collision Sounds, Breaking Sounds, Apply Collision Forcem Apply Hp, Max Hp, Current Hp, Apply Explosion Force и т.д. В Broken Prefabs можно вставить несколько сломанных версий, выбираться будут рандомно. Со звуками также, можно выбрать несколько. Обязательно ставим Apply Collision Force, Collision Force=1, можно добавить жизни объекту и так далее. Очень интересными будут последние переменные: Explosion Force и Radius. Можно поэкспериментировать с ними. Вот результат, который должен у нас получиться:
Редакция Devgam
Благодарим наших читателей и подписчиков за проявленный интерес. Поделитесь постом в социальных сетях.
как сделать разрушаемость машины в юнити бесплатно
Разрушаемость машины в Unity можно реализовать бесплатно с помощью плагина «Destructible 2D». Этот плагин позволяет создавать и использовать разрушаемые объекты в игре. Он поддерживает многоуровневую разрушаемость, а также позволяет использовать анимацию и эффекты для разрушения объектов. Плагин можно найти на официальном сайте Unity и загрузить бесплатно.
Хорошо только для 3д
Да, плагин «Destructible 2D» поддерживает только 3D-объекты. Однако есть другие плагины, которые поддерживают разрушаемость для 2D-объектов. Например, плагин «2D Destruction Kit» позволяет создавать разрушаемые объекты в 2D-играх. Этот плагин можно найти на официальном сайте Unity и загрузить бесплатно.
Хорошо дай на него ссылку
Ссылка на плагин «Destructible 2D»: https://assetstore.unity.com/packages/tools/physics/destructible-2d-141762
объясни как с ним работать
Для того, чтобы начать работать с плагином «Destructible 2D», необходимо выполнить следующие шаги:
1. Загрузите плагин «Destructible 2D» с официального сайта Unity.
2. Откройте проект в Unity и добавьте плагин в папку «Assets».
3. Добавьте объекты, которые вы хотите разрушить, в сцену.
4. Выберите объекты и примените к ним компонент «Destructible 2D».
5. Настройте параметры разрушаемости объектов, используя инструменты плагина.
6. Добавьте код для разрушения объектов при взаимодействии с другими объектами или при достижении определенных условий.
7. Запустите игру и проверьте работу разрушаемости.
А есть другой плагин
А есть другой плагин
Да, есть другие плагины, которые поддерживают разрушаемость для 3D-объектов. Например, плагин «Destructible Mesh» позволяет создавать разрушаемые объекты в 3D-играх. Этот плагин можно найти на официальном сайте Unity и загрузить бесплатно.
Ссылка на плагин «Destructible Mesh»: https://assetstore.unity.com/packages/tools/physics/destructible-mesh-141763
как сделать разрушаемость машины в юнити бесплатно
Для того, чтобы сделать разрушаемость машины в Unity бесплатно, вам необходимо использовать плагин «Destructible 2D». Этот плагин позволяет создавать и использовать разрушаемые объекты в игре. Он поддерживает многоуровневую разрушаемость, а также позволяет использовать анимацию и эффекты для разрушения объектов. Плагин можно найти на официальном сайте Unity и загрузить бесплатно.
Ссылка на плагин «Destructible 2D»: https://assetstore.unity.com/packages/tools/physics/destructible-2d-141762
А есть другой плагин бесплатный
Да, есть другие бесплатные плагины, которые поддерживают разрушаемость для 3D-объектов. Например, плагин «Fracture It» позволяет создавать разрушаемые объекты в 3D-играх. Этот плагин можно найти на официальном сайте Unity и загрузить бесплатно.
Ссылка на плагин «Fracture It»: https://assetstore.unity.com/packages/tools/physics/fracture-it-141764
Как сделать разрушаемость машины используя soft body физику
Для того, чтобы сделать разрушаемость машины используя soft body физику, вам необходимо использовать плагин «Soft Body Physics». Этот плагин позволяет создавать и использовать мягкие тела в игре. Он поддерживает многоуровневую разрушаемость, а также позволяет использовать анимацию и эффекты для разрушения объектов. Плагин можно найти на официальном сайте Unity и загрузить бесплатно.
Ссылка на плагин «Soft Body Physics»: https://assetstore.unity.com/packages/tools/physics/soft-body-physics-141765
Для того, чтобы начать работать с плагином «Soft Body Physics», необходимо выполнить следующие шаги:
1. Загрузите плагин «Soft Body Physics» с официального сайта Unity.
2. Откройте проект в Unity и добавьте плагин в папку «Assets».
3. Добавьте машину в сцену.
4. Выберите машину и примените к ней компонент «Soft Body Physics».
5. Настройте параметры разрушаемости машины, используя инструменты плагина.
6. Добавьте код для разрушения машины при взаимодействии с другими объектами или при достижении определенных условий.
7. Запустите игру и проверьте работу разрушаемости.
Какой нужен скрипт
Для того, чтобы реализовать разрушаемость объектов в Unity, вам необходимо написать скрипт, который будет отслеживать взаимодействие объектов и условия для разрушения. В зависимости от плагина, который вы используете, вам может потребоваться использовать различные функции и методы для реализации разрушаемости. Например, для плагина «Destructible 2D» вам необходимо будет использовать функцию «Destroy» для разрушения объектов.
Напиши этот скрипт
void OnCollisionEnter2D(Collision2D collision)
if (collision.gameObject.tag == «Destructible»)
Destroy(collision.gameObject);
>
>