UnityФорумОбщее

Unity, архитектурные вопросы.Advanced FAQ, памятки и прочее нужное.

#0
19:10, 9 дек 2023

Тема создана для обсуждения не тривиальных фич, которые в других темах игнорятся или остаются не понятыми. Или того что можно реализовать разными путями. Тот самый вопрос "как сделать правильно ?"
Лучше названия не придумал.
Можно тащить сюда видео, материалы с других сайтов и этого форума. Но лучше всё это перепечатывать что бы не потерялось.

Совершенно нубские или тупые посты буду удалять по своему усмотрению.

#1
19:11, 9 дек 2023

пост резерв

#2
19:15, 9 дек 2023

ДобрыйБарин https://gamedev.ru/code/forum/?id=280685
Про реализацию стрельбы

Используйте рейкаст. Лучше сразу учится делать правильно.
Главное чтобы он был NonAlloc. В ином случае это будет все исполняться на куче, что приведет к просадкам.
И уж тем более вы не должны использовать Instantiate в принципе в реал тайм коде проекта.
Если бы мне это кто то сказал на старте изучения, я бы сэкономил огромное кол-во времени.
Посмотрите что то из современного кодинга по Unity с рейкастами, поймете базовые принципы и зачем это нужно.

Проскальзывание не единственная проблема.
Это концептуальная разница подходов.
В случае с большим массивом обьектов, вычисления на физике будут долгими.
Есть подводные камни и с тем в какое время обьекты засыпают.
И даже когда они засыпают, это тоже определенные операции на стеке процессора.
Даже когда вы просто достаете из пулла физический обьект c коллайдером который должен лететь, в этот момент это все еще дешевле нежели Instantiate, но дороже чем простой рейкаст за один тик.
Так что скорее, я бы рекомендовал рассматривать вариант с физическим поведением обьектов-пуль в последнюю очередь. Сегодня очень многое можно переложить на предсказание, это часто используют.
Конечно справедливо многие вещи гораздо быстрее можно спроектировать на простых коллайдерах, об этом позаботилась Unity. Но, это просто разные подходы в конечном итоге.

Про реализацию боя на мечах
https://gamedev.ru/unity/forum/?id=255737

#3
19:18, 9 дек 2023

Кухня E-Cone
https://gamedev.ru/unity/forum/?id=206980

#4
10:26, 10 дек 2023

Самый популярный вопрос по Unity скорее будет что-то типа... Какую это такую иделальную архитектуру просят все рассказать на всех собесах, если GRUSP, CUPID, SOLID, MVVM и прочие Uncle Bob Clean Architecture отмемаются сразу? Префабы на эвентах?

#5
11:24, 10 дек 2023

laloka
То, что ты назвал это архитектурные принципы, а не сама архитектура. Ожидают скорее каких-то вещей, которые наиболее распространены в игрострое на юнити (ну и не только на юнити), а именно: единая точка входа, проброс зависимостей правильный, глобальная стейт машина, разбиение логики на сервисы. Где-то может использоваться ECS, тогда необходимо знать хотя бы базовые принципы работы с ним (например, что почти все ооп-шные принципы там не используются, только S из солида и KISS разве что). Но про все что ты написал желательно тоже знать или хотя бы слышать

#6
12:18, 10 дек 2023

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

#7
20:42, 21 дек 2023

Вот такое мне тоже попадалось https://gamedev.ru/code/forum/?id=280951
Интересует как правильно. Прогнозирование или определение траектории прыжка, но тут наверное подходит и бросок камня и прочее подобное.

#8
16:56, 19 янв 2024

Немного нубский вопрос, но интересен в плане механик, так что пусть будет здесь.

Менять направление гравитации
https://gist.github.com/keithweaver/ba378a4309508f3cfe8a06531fe92edc
Хождение по нормалям
https://discussions.unity.com/t/basic-movement-walking-on-walls/26736/6 (обсуждали тут)

UnityФорумОбщее

Тема в архиве.