6

Нарезка врагов в 3D экшене про помидор с тесаком⁠⁠

Серия Veggies Bloody Rampage

*Основной цикл статей разработки Veggies Bloody Rampage*

В опросе прошлого поста победил пункт "Как работает нарезка врагов?".

Нарезка врагов в 3D экшене про помидор с тесаком

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

Итак, для этой темы я просто использовал бесплатный плагин MeshSlicerFree от Hanzzz!

Нооо, немного теории (совсем немного, так как читателям это наверняка не будеть особо интересно (да и мне лень разбираться во всей этой геометрии))

В инспекторе, в скрипте MeshSlicerTest нужно заполнить:

Slice Plane - плоскость пересечения меша, по которой будет резаться сам меш.

Slice Target - префаб или просто меш (как просто MeshRenderer, так и возможен SkinnedMeshRenderer).

Intersection Material - материал, который будет применен К НОВЫМ ПЛОСКОСТЯМ ПОВЕРХНОСТИ ОТСЕЧЕННЫХ ЧАСТЕЙ НА МЕСТЕ НАРЕЗКИ (не знаю, как описать лучше, но думаю понятно о чем это).

Split Distance - расстояние в float, на которое части разделятся.

Нарезка врагов в 3D экшене про помидор с тесаком

При ПКМ по скрипту в меню есть опции нарезки. Slice - для обычных MeshRenderer, Slice Skinned - для SkinnedMeshRenderer. И те же методы, но асинхронные.

Нарезка врагов в 3D экшене про помидор с тесаком

Далее при вызове метода нарезки (любого из), выполняется алгоритм поиска 3 точек пересечения плоскости и меша.

Получение 3 точек пересечения плоскости и меша

Получение 3 точек пересечения плоскости и меша

И PostSliceOperation(), где result.Item1 - первая нарезанная часть, result.Item2 - вторая нарезанная часть.

Здесь кстати видны мои попытки сделать динамическую резку в PlayTime, от которой я позже отказался... ну об этом ниже

Здесь кстати видны мои попытки сделать динамическую резку в PlayTime, от которой я позже отказался... ну об этом ниже

(На этом теорию можно закончить, я показал отрывисто и не ВЕСЬ код, это было бы слишком много, а я не уверен, что кто-то дочитал даже до сюда, так что вот так)

ГЛАВНОЕ - как же сделать нарезку? ДИНАМИЧНО какой-нибудь плоскостью, которая бы крутилась при свайпе в разные стороны и резала бы при атаке (так кстати, было раньше).

Или заранее приготовить варианты, но много разных?

Я выбрал второй вариант по нескольким причинам.

  1. Для нарезанного персонажа нужен RagDoll, чтобы врага можно было красиво пинать и т.д., а для динамически созданных частей это сложно реализовать!

  2. Слайсер режет всегда на две части! А в нарезках может случится, что рука, например отделена визуально, НО фактически остается под одним объектом как часть рэгдолла. (именно поэтому я потом отдельно разрезал уже разрезанный меш, чтобы рука отделилась (ну, когда готовил части)!)

  3. У некоторых игроков на слабых компах это могло бы слегка подлагивать (да, даже с асинхронной резкой), неправильно работать и т.д.!

В общем так я заготовил по 4 варианта нарезки на каждого врага и просто спавнил нужную для каждого вида атаки!

Нарезка врагов в 3D экшене про помидор с тесаком

(Кстати при резке меши хранятся только на сцене, пока она открыта. Поэтому с помощью скрипта-экспортера мешей я сохранял их отдельно и назначал в инспекторе.)

Что же в итоге...

Эхх, да, вышло не так эпично, как хотелось бы, НО динамическая нарезка еще будет, в некоторых мини-играх и сценах в дальнейшем!

Увидимся в след. постах!

Страница игры в Steam:

https://store.steampowered.com/app/5058230/Veggies_Bloody_Ra...

(Да, демо все еще не вышла (на проверке Valve пятый день))

Правила сообщества

ОБЩИЕ ПРАВИЛА:

- Уважайте чужой труд и используйте конструктивную критику

- Не занимайтесь саморекламой, пишите качественные и интересные посты

- Никакой политики


СТОИТ ПУБЛИКОВАТЬ:

- Посты о Вашей игре с историей её разработки и описанием полученного опыта

- Обучающие материалы, туториалы

- Интервью с опытными разработчиками

- Анонсы бесплатных мероприятий для разработчиков и истории их посещения;
- Ваши работы, если Вы художник/композитор и хотите поделиться ими на безвозмездной основе

НЕ СТОИТ ПУБЛИКОВАТЬ:

- Посты, содержащие только вопрос или просьбу помочь
- Посты, содержащие только идею игры

- Посты, единственная цель которых - набор команды для разработки игры

- Посты, не относящиеся к тематике сообщества

Подобные посты по решению администрации могут быть перемещены из сообщества в общую ленту.

ЗАПРЕЩЕНО:

- Публиковать бессодержательные посты с рекламой Вашего проекта (см. следующий пункт), а также все прочие посты, содержащие рекламу/рекламные интеграции

- Выдавать чужой труд за свой

Подобные посты будут перемещены из сообщества в общую ленту, а их авторы по решению администрации могут быть внесены в игнор-лист сообщества.


О РАЗМЕЩЕНИИ ССЫЛОК:

Ссылка на сторонний ресурс, связанный с игрой, допускается только при следующих условиях:

- Пост должен быть содержательным и интересным для пользователей, нести пользу для сообщества

- Ссылка должна размещаться непосредственно в начале или конце поста и только один раз

- Cсылка размещается в формате: "Страница игры в Steam: URL"

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества

Недвижимость и ремонт

Теги

Популярные авторы

Сообщества