Тема создана для обсуждения не тривиальных фич, которые в других темах игнорятся или остаются не понятыми. Или того что можно реализовать разными путями. Тот самый вопрос "как сделать правильно ?"
Лучше названия не придумал.
Можно тащить сюда видео, материалы с других сайтов и этого форума. Но лучше всё это перепечатывать что бы не потерялось.
Совершенно нубские или тупые посты буду удалять по своему усмотрению.
пост резерв
ДобрыйБарин https://gamedev.ru/code/forum/?id=280685
Про реализацию стрельбы
Используйте рейкаст. Лучше сразу учится делать правильно.
Главное чтобы он был NonAlloc. В ином случае это будет все исполняться на куче, что приведет к просадкам.
И уж тем более вы не должны использовать Instantiate в принципе в реал тайм коде проекта.
Если бы мне это кто то сказал на старте изучения, я бы сэкономил огромное кол-во времени.
Посмотрите что то из современного кодинга по Unity с рейкастами, поймете базовые принципы и зачем это нужно.
Проскальзывание не единственная проблема.
Это концептуальная разница подходов.
В случае с большим массивом обьектов, вычисления на физике будут долгими.
Есть подводные камни и с тем в какое время обьекты засыпают.
И даже когда они засыпают, это тоже определенные операции на стеке процессора.
Даже когда вы просто достаете из пулла физический обьект c коллайдером который должен лететь, в этот момент это все еще дешевле нежели Instantiate, но дороже чем простой рейкаст за один тик.
Так что скорее, я бы рекомендовал рассматривать вариант с физическим поведением обьектов-пуль в последнюю очередь. Сегодня очень многое можно переложить на предсказание, это часто используют.
Конечно справедливо многие вещи гораздо быстрее можно спроектировать на простых коллайдерах, об этом позаботилась Unity. Но, это просто разные подходы в конечном итоге.
Про реализацию боя на мечах
https://gamedev.ru/unity/forum/?id=255737
Кухня E-Cone
https://gamedev.ru/unity/forum/?id=206980
Самый популярный вопрос по Unity скорее будет что-то типа... Какую это такую иделальную архитектуру просят все рассказать на всех собесах, если GRUSP, CUPID, SOLID, MVVM и прочие Uncle Bob Clean Architecture отмемаются сразу? Префабы на эвентах?
laloka
То, что ты назвал это архитектурные принципы, а не сама архитектура. Ожидают скорее каких-то вещей, которые наиболее распространены в игрострое на юнити (ну и не только на юнити), а именно: единая точка входа, проброс зависимостей правильный, глобальная стейт машина, разбиение логики на сервисы. Где-то может использоваться ECS, тогда необходимо знать хотя бы базовые принципы работы с ним (например, что почти все ооп-шные принципы там не используются, только S из солида и KISS разве что). Но про все что ты написал желательно тоже знать или хотя бы слышать
zeffyros
Ну да. Просто везде пишут сервисы на потоках и евент-драйвен. Такой типичный подход сервисной архитектуры, когда много потоков изолированных крутится в тредпуле, которые обмениваются данными и эвентами. Как микросервисы в вебе. Если что-то отвалится, то остальное продолжит работать. Нет менеджер-хеда и коллбек-хела. Но все хотят детали реализаций тех или иных фреимворков с гитхаба.
Вот такое мне тоже попадалось https://gamedev.ru/code/forum/?id=280951
Интересует как правильно. Прогнозирование или определение траектории прыжка, но тут наверное подходит и бросок камня и прочее подобное.
Немного нубский вопрос, но интересен в плане механик, так что пусть будет здесь.
Менять направление гравитации
https://gist.github.com/keithweaver/ba378a4309508f3cfe8a06531fe92edc
Хождение по нормалям
https://discussions.unity.com/t/basic-movement-walking-on-walls/26736/6 (обсуждали тут)
Тема в архиве.