Pull to refresh
209
Karma
0
Rating
Даниил Басманов @BasmanovDaniil

Геймдизайнер-телепат

Эволюция вагона железной дороги

И про железяку не сказали

Действительно ли Unity медленный? Осторожно, LINQ

Может быть в Mono корявая реализация, как у них было с foreach? Если чистый Mono без юнити даст такие же результаты, то дело в нём.

Unity 2018 и ProBuilder: создаем, редактируем и текстурируем 3D-модели прямо в редакторе

Скорость итерации намного больше при редактировании прямо в Unity, чем при экспорте из блендера. Разумеется, что персонажей лепить лучше в специализированном редакторе, но для создания уровней круче ProBuilder ничего нет.

UE4 и мобильная разработка: мифы и реальность

Забавно, не ожидал когда-либо увидеть статью в защиту Unreal против Unity. В целом согласен, начиная с определённого масштаба игры и квалификации разработчика разница в простоте использования движков становится несущественной и на первый план выходят более продвинутые фичи. Если взять те же LOD'ы, то в юнити до сих пор реализация весьма убогая, только недавно начались какие-то подвижки в эту сторону.

Иллюзия движения

FPS ограничивается максимальной частотой обновления дисплея. Видеокарта может хоть миллион кадров в секунду обрабатывать, но если экран не может этот миллион показать, то реальный фпс будет всё равно равен частоте обновления экрана.

Иллюзия движения

HTC Vive и Oculus Rift поддерживают частоту обновления до 90 герц.

Pix2Pix: Как работает генератор кошечек

Что такое пейпер?

Приглашаем на Game Design meetup 4 февраля

А страна какая? Город? Или это у вас офис такой знаменитый, что его уже на картах рисуют.

Создание анаморфных искажений в Unity

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

VR-Design: взгляд в виртуальный мир

Уже есть такое. В настройках Vive можно включить использование картинки с камеры для chaperone.

Unity: как мы создавали генератор домов для AssetStore или возвращение к хрущёвкам

Приятно видеть, что моя статья кому-то помогла. думаю, вам может быть интересно посмотреть на мой тулкит, там генератор переписан с нуля и более аккуратный и стабильный.
Небольшое замечание по поводу генерации мешей. Если вы создаёте большие меши или делаете это часто, то лучше использовать методы Mesh.SetVertices, Mesh.SetTriangles и подобные, они загаживают меньше памяти.

Оптимизируем Boid'ов на Unity

Надо бы проверить профайлером, но, если мне не изменяет память, разрабы юнити говорили, что кешируется не всё, и в циклах и апдейтах GetComponent всё равно работает медленнее.

Как сделать шлем виртуальной реальности своими руками

В итоге у вас не получился DK2, с трекингом 3DoF это всё тот же перископ, только с экраном получше.

UnityEditor, динамическое содержимое редактора компонента

Проблему небольших отличий лучше решать наследованием, интерфейсами и прочим, ну да ладно.
А много у вас классов? Есть подозрение, что на большом количестве классов и переменных редактор будет подтормаживать при переключении между объектами: сначала будет залипать в OnEnable, а потом в OnInspectorGUI.
Я бы лучше сделал либо компонент-пустышку, который себя будет заменять на нужный, либо свою менюшку с попапом для добавления компонента. Сомневаюсь, что вам часто придётся менять тип компонента, когда он уже висит на объекте.

Unity — Концептуальные идеи и подсказки для новичков игродева. Мощная оптимизация 2D проекта

missleRed[i].transform.eulerAngles = Caller.transform.eulerAngles;

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

public Vector3 eulerAngles
{
    get
    {
        return this.rotation.eulerAngles;
    }
    set
    {
        this.rotation = Quaternion.Euler(value);
    }
}

То есть в вашем примере вы сначала конвертируете кватернион в вектор, а потом обратно. На большом количестве объектов у вас будет падение производительности и лишний мусор в памяти — не очень хорошая вещь для пула.

missleRed[i].GetComponent<DisableObject>().StartCoroutine("AblePause");

Запускать корутины по строке — плохая практика, если вы переименуете метод, то у вас где-то в другом месте что-то сломается, и вы об этом не скоро узнаете. И лучше спрятать корутину внутри класса DisableObject, а наружу отдать метод, который её сам запускает, тогда контроль над корутиной останется у класса.

float randomTime = Random.Range(cooldownMin, cooldownMax + 1);

А зачем вы добавляете единицу?

Каверзные кватернионы

Вы про эту формулу из википедии?
image
Угловая скорость есть, тензор инерции тоже есть. Что такое тензор инерции и зачем нужно его вращение я не знаю, никогда не сталкивался, так что тут я вам не помощник. А зачем вам понадобилась энергия вращения?

Оптимизируем Boid'ов на Unity

Прошу прощения за долгий ответ. Да, коллайдер в родителе, вращаемая модель внутри. Перемещение и приложение сил отдельно, визуализация вращения отдельно.

image

Information

Rating
Does not participate
Registered
Activity