• Перестаньте использовать UnityEngine.Random
    0
    начать читать документацию и использовать инструменты для тех целей, для которых они предназначены

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

    Нет никаких проблем с тем чтобы использовать ГПСЧ, seed для которого задаётся глобально

    Согласен, но проблема появится тогда, когда он перестанет быть единственным.
  • Перестаньте использовать UnityEngine.Random
    0
    Проблема придет оттуда, откуда ее не ждут.
    В моем случае она пришла, когда проставили seed в UE.Random.

    Я хотел привлечь внимание к тому, что сделать случайность не случайной проще через реализацию, предоставляемую разработчиком движка. Я предоставил интерфейс, который можно свободно использовать и добавлять реализации, которые будут удовлетворять критериям доменной области.

    Подумать за всех? Окей, добавлю SLPNG, но это не поможет решить проблему с использованием UE.Random.
  • Перестаньте использовать UnityEngine.Random
    0
    Да, именно. Самый тупой, самый простой.
    Если нужно больше, сделайте собственную реализацию интерфейса IRandom.
    Долго выбирая сколько реализаций предоставлять (я рассмотрел около 10), остановился на том, что чем проще, тем лучше. Для всего остального есть интерфейс.
  • Перестаньте использовать UnityEngine.Random
    0
    Исправил. Но такие вещи, лучше всего писать в issue на github.
    Спасибо.
  • Перестаньте использовать UnityEngine.Random
    0
    Верно. Ошибка, поправил.
    Спасибо!
  • Перестаньте использовать UnityEngine.Random
    0
    var start = GC.GetTotalMemory(true);
    var rnd = new Random();
    var rnd2 = new Random();
    var rnd3 = new Random();
    var rnd4 = new Random();
    var rnd5 = new Random();
    var stop = GC.GetTotalMemory(true);
    Console.WriteLine(stop - start); // 1400 получается
    

    Либо так, либо я что-то не правильно делаю.
  • Перестаньте использовать UnityEngine.Random
    0
    Согласен, поинт валидный, можно не делать как указано в примере. Основная задача была акцентировать внимание на том, что UnitiEngine.Random — static и к каким проблемам это может привести.
  • Век живи — век учись. Часть 2. Вуз: 5 лет или 5 коридоров?
    +2
    Перевёлся на 5 курс по специальности «прикладная геодезия». Работаю удаленно в 2 компаниях разработчиком приложений дополненной реальности на unity3d. В одной с третьего курса, в другой с 4.

    Добавлю:
    1. Деление на троечников и отличников бессмысленно. Важен факт наличия корочки, а не средний балл.
    2. Говорил с HR альфа страхования, Касперского, майл и все как один говорили: «без высшего не берём. Только если уникум, шанс найти которого выходит за 3 сигма». Из примера: парень 27 лет, более 10 лет опыта работы и портфолио более чем из 50 проектов, часть из них при работе на компании из индекса МосБиржи.
    3. ВУЗ даёт самое важное — время. Если не играть в доту в свободное время, то можно очень много выучить параллельно с учебой.
    4. При переводе в другой ВУЗ, как я слышал, слетает отсрочка. Потому если поступил и боишься армии (как я), учишься в свободное от учебы время самостоятельно.
    5. Все университетские активности отнимают драгоценное время. Поучаствовать в организации 2-3 мероприятий — полезно, больше не имеет смысла. Пустая трата времени, выхлопа мало. Но это по моему опыту.
  • Отображаем контент на распознанном изображении по определенным правилам
    0
    Что должно было стать конечным продуктом?

    Конечным продуктом было приложение дополненной реальности для мероприятия «Времена и Эпохи», которое проходило в Москве с 6 по 16 Июня. Предполагался простой квест. Ты покупаешь части открыток и постепенно разблокируешь персонажей, которых потом можно более детально просмотреть в каталоге (раздел приложения в котором отображены все персонажи). Так же можно сделать селфи с персонажем и поделиться этим в соц. сетях. Все открытки были разбиты по временным эпохам, каждый персонаж на ней ей соответствовал.
    Или отображает поверх некоего листа бумаги с определенными метками на экране устройства дополнительные картинки (ес-но при наведении камеры смартфона, например)?

    Да именно так и было. Видео есть в статье с финальной работой алгоритма.
  • Как сделать мобильную игру командой из 2 человек с нулевым бюджетом и получить фичеринг в Google Play
    +4
    Не нашел ничего (кроме главного изображения), что призывает пойти и купить/скачать данную игру, ни слова, ни намека.
    Дело все в том что эта статья в 2 словах описывающая процесс придумывания-создания игры и более менее подробно раскрывающая суть продвижения и сопровождения своей игры до/после релиза. Достойных описаний этого процесса не так уж и много (по крайней мере мне не встречались).
    Конечно, когда множество статей о: «Как вращать кубы на 360», «Собираем пример из SDK», ты никогда не дойдешь до полноценного релиза, а если так, значит и статьи эти все один сплошной «Я пиар»
  • Действительно ли Unity медленный? Осторожно, LINQ
    0
  • Действительно ли Unity медленный? Осторожно, LINQ
    0
    Есть что-то похожее.
    C# Job System
  • Действительно ли Unity медленный? Осторожно, LINQ
    0

    Как я понимаю в Unity вообще своя система работы с многопоточностью. И если Вам надо написать производительное приложение консольное, то вы можете использовать System.Threading.


    Программа на C# запускается как единственный поток, автоматически создаваемый CLR и операционной системой (“главный” или первичный поток), и становится многопоточной при помощи создания дополнительных потоков.

    В Unity же дела обстоят совсем иначе. Там исконно все объекты являются производными от MonoBehaviour, что создает разного рода накладки. Не шибко производительным код считается из-за плохой организации хранения объектов в памяти и доступа к ним. Так же многие встроенные методы (Start, Update, Awake) работают по принципу черного ящика и где именно находится точка входа сложно понять как и понять в каком порядке они вызываются. По хорошему посмотреть Ваш проект на Unity, посмотреть на то как там вызываются все методы, как Вы адоптировали код. Если вы импортировали библиотеки, то имеет место overhead вызова метода и загрузки библиотеки, а если вы в каждом кадре такое делаете, то не мудрено что производительность упала многократно. Так же возникают и свои накладки в работе Garbage Collector'а, если у вас создается слишком много объектов, которые потом редко используются.
    Писать приложение в консоли и писать в Unity это 2 разные вещи. В помощь могу Вам посоветовать вот эту статью, которая, возможно, поможет ответить на Ваши вопросы.
    https://software.intel.com/en-us/articles/putting-your-data-and-code-in-order-data-and-layout-part-2