Сообщения

Сообщения за 2018

Переезд!

Я переехал на WordPress. О причинах читайте на новом блоге: ycatdev.wordpress.com .

Плавное изменение цвета

Сегодня мне понадобилось написать функцию которая сделает плавный переход одного цвета в другой на движке Unity. Так как вариаций подобного много я хочу предложить свою. Color32 SmoothColorChange(Color32 from, Color32 to, float speed) {    if (from!=to)    {        speed=speed*Time.fixedDeltaTime        Color32 result = new Color32        {          r = Mathf.Lerp(from.r, to.r, speed);          g = Mathf.Lerp(from.g, to.g, speed);          b = Mathf.Lerp(from.b, to.b, speed);          return result;        };    }    else        return to; } А теперь пример использования. Ну например задний фон который постоянно изменяет свой цвет. Color32 RandomColor; Camera cam; void Start() {   cam=GetComponent<Camera>();   cam.backgroundColor = RandomColor = Color32.White; } void Update() {   if (RandomColor==cam.backgroundColor)      RandomColor= GenerateRandomColor();   else   {    cam.backgroundColor=SmoothColorChange(cam.backgroundColor, RandomColor, 1f);   } } Color32 GenerateRandomColor

Микрофон и Unity

Недавно у меня появилась идея для написания маленькой простенькой игры - VoiceJump где управлять персонажем нужно при помощи голоса. Юнити даёт нам возможность записывать звук из микрофона в AudioClip с которым потом можно сделать все что угодно. Из минусов только то что он не работает на WebGL что было б мне очень кстати... Класс Microphone имеет всеволишь два главных метода: StartRecording и End. Немного... но этого хватит. Метод StartRecording возвращает AudioClip и принимает 4 аргумента: имя устройства с которого нужно записывать (можно получить из массивы Microphone.devices), сколько времени нужно записывать, закольцевать ли запись и частоту(от 16000 Гц и до 44000 Гц). Но самое интересное здесь это пост обработка звука. Дальше все нужно делать ручками. Как должна работать игра? Она должна взависимоти от громкости звуков поднимать объект вверх-вниз. Здесь уже всё идёт посложнее чем из записью звуков. Сначала нам нужно записывать звук в AudioClip и в реальном времени его обрабатыват

Улучшение трекинга изображений в Vuforia

Недавно я занимался разработкой приложения с дополнительной реальностью. В качестве основного движка использовали Unity, а для дополнительной реальности использовали Vuforia. Цель была проста - оживить страници книги. Все бы не чего но страници нельзя изменять, а вуфория давала им рейтинг от 1 до 3 звёзд, что очень мало. И была ещё одна странность: одной странице дали аж 5 звёзд но при этом вуфория на отрез отказывалась её распознавать... Я принялся гуглить что же тут не так, пересмотрел все статьи  о улучшении распознавания изображений и о работе самой вуфории. Самое интересное что на форуме о ней на подобные вопросы отвечают примерно так: "Ещё раз ознакомьтесь из статьей о улучшении распознавания объектов и улучшения стабильности (https://library.vuforia.com/articles/Solution/Optimizing-Target-Detection-and-Tracking-Stability.html) и убедитесь что ваши изображения соответствуют всем критериям...". И это при том что иногда по описанной ситуации видно что дело далеко не в из