Здравствуйте, делаю 3д игру и вот сейчас на этапе создания проверки на земле ли персонаж или нет. Так вот что будет более производительным: Пускание луча от перса в низ каждый кадр, или проверку соприкасается ли колайдер перса с колайдером под тегом "Ground"?
Ну хрен знает, сделай тест, проверь скорость. Я думаю просто пускание луча будет мало, нужно же будет еще и дистанцию вычислить. А колайдеры тоже разные бывают, bbox с bbox'ом довольно быстро просчитывается.
А вообще это смешно, вы используюте юнити, а эта помойка изначально не может быть производительной. Пустой проект без ничего жрет столько, сколько занимает вычисление миллиона лучей. Это смешно думать о производительности какой-то проверки на соприкосновение, это просто иголка в стоге сена. Хотите производительность, не используйте юнити.
twobomb, ну я только недавно начал освоение области гэйм дэва по этому любой опыт хорош. Это как с ПК. Например у меня мой первый пк был очень слабый 2 гб озу 2 ядра и встроенная графика проца, по этому я перерывал инет в поисках спосоов поднятия фпс улучшения производительности и т.д. Этим самым я нехило поднял свои познания в ПК. А те у кого изначально мощный пк они нифига не понимают в нём и чуть что бегут в сервисный цент из за всяких пустяков. По этому не научившись на плохом - не будешь блестать на хорошем. Кстати что посоветуете взамен юнити раз она помойка ?
KraGenDeveloper, эмм..никакой. Бери например ту же open gl и какой нибудь физический движок(потому что сам охренеешь его создавать), Покрути поверти, пойми что сложно для тебя и вернись к мощному компу ( Unity и другие движки) где можно мышкой клацать и создавать свои игры не написав не строчки кода и не имея понятия как оно работает внутри, ну и естевенно расплачиваясь производительностью.
Ну я бы сразу в 3д не лез, лучше начать с 2д, там будет проще .
twobomb, перед тем как говорить, что юнити медленный, стоит разобраться, что его таким делает. В большинстве случаев - это неправильно настроенный проект. Есть множество статей по оптимизации проекта юнити и настройки использования ресурсов. Но сразу отмечу, что оптимизацию стоит проводить только при наличии подвисаний или проседаний кадров. (В пустом проекте юнити ограничения небольшие, сделано это для того, чтобы новички не жаловались на слабые возможности движка. К примеру пункт "Размытие картинки" отвечает за точность изображения, также есть дальность прорисовки, кадры в секунду юнити по умолчанию выставляет в максимум, есть методы, которые требуют большой производительности и т.д.)
Lesh48, медленным его делает универсальность., все эти надстройки фичи для облегчения разработки. Я не спорю, что можно оптимизовать, но вот даже если ваш юнити проект станет в 5 раз быстрее он всеравно будет меделнным (((
Вот взять даже тот факт что мы пишем на C#, да конечно у них есть какая-то умная технология под названием il2cpp, которая переводит C# код в C++, но вот только нужно не забывать что C# это язык с управляемой памятью, у него свои причуды типа сброщика мусора, который естественно нельзя выкинуть и они каким-то образом опять же написали свои библиотеки на C++ которые работают с этим генерированным кодом, тот же сборщик мусора. А еще же не нужно забывать что это мультиплатформа и это еще один виток нагрузки. А внутри самого движка целая куча таких витков, которые нужны для той же универсальности или дают функционал который вы даже не используете. Это как писать на том же электроне, даа очень удобно, веб языки , да вот только не задача, код хеллоу ворд на три строчки превращается в 20 миллионов строк(движка хрома) и выходным размеров более 100 мбайт. Зато удобно, чё.
Естественно лучше писать сразу на C++ и под конкретную платформу. Ну это долго, сложно и не всегда оправданно. Нам хочется быстро и в два клика, но за всё всегда нужно расплачиваться, в юнити мы расплачиваемся производительностью как ни крути....