Сообщения

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

Сегодня мне понадобилось написать функцию которая сделает плавный переход одного цвета в другой на движке 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) и убедитесь что ваши изображения соответствуют всем критериям...". И это при том что иногда по описанной ситуации видно что дело далеко не в из

Пишем онлайн кликер на "чистом" C#

Изображение
В прошлой статье мы рассмотрели что такое DuoCode . Сегодня мы напишем простую игру кликер без Asp.Net на чистом C# который будет транслирован в чистый JS. Посмотреть на нее можно здесь . Можно считать что появление этой статьи будет началом цикла уроков по DuoCode. Сейчас мы напишем простую игру кликер в которой нужно кликакть по красному квадратику на "чистом" C#. Ну что ж начнем...

Пишем сайты на C# или используем C# вместо JavaScript.

Изображение
   Изучая HTML мне захотелось попробовать создать веб-приложение. Но когда я увидил синтаксис javascriptа в сложном проекте желание делать сайты у меня надолго одбило...    После этого я узнал о чудесном .Net Framework и C#. И вот после долгого программирования на нем у меня выработалась непреодолимая "любов" к C#. Но веб меня тянул больше так как шанс заявить о себе в вебе больший чем просто вылаживать мелкие программки на разные форумы(разве что написать на C# свой Nginx). После не очень долгого поиска я нашел способы писать сайты на .Net а именно Asp.Net. "Ну ок подумал я", - подумал я. "Сейчас поставлю дополнение в студию и буде делать сайты на шарпе". Но писать оказалось сложно и непонятно, кучу новых требований, странных параметров и прочих закавычок. Но "желание" творит чудеса. И тут я подумал если платформа особенная то и хостинг должен быть соответствующим. И немного погуглив я узнал что таких хостингов много и они недешевые. По раска

Подключаем usb камеру к Android устройтсву

Недавно у меня появилась задача подключить веб-камеру к телевизору который работает на операционной системе андроид. Сначала я подумал что если телевизор имеет usb входа то соответственно любое usb устройство должно работать. Но почитав об этом на одном форуме я понял что наличие usb не может обеспечивать 100% поддерживание камеры. Потому я решил копнуть глубже и узнать как же организованна поддержка внешних камер на андроиде. После долгих поисков в интернете я нашел двое самых главных требований.

Выбираем адекватный VPN для Windows

После блокировки некоторых российских сайтов (особенно жизненно необходимых vk.com, htmlbook.ru, disk.yandex.ua) очень популярными стали приложения VPN. Но вовремя их выбора половина из них не работает, половина полна рекламы и платных услуг, а некоторые жрут трафик немерено и сильно садят интернет.

Мягкая тень для круглого объекта CSS

Как вы могли заметить на сайте есть кнопка наверх. Сделать кнопку было достаточно легко но вот не задача: весь сайт выполнен в стиле Material Design и на всех объектах есть мягкая тень которая рисовалась при помощи box-shadow но ведь кнопка круглая. Адекватный пользователь взял бы Photoshop или Illustrator и просто наложил тень на саму картинку. Но мне как-то эта идея пришла в голову после того как я справился с поставленой задачей. Сначала я попробовал просто наложить тень обычным box-shadow и получил круглую кнопку в квадрате с тенью. Потоп я написал следующий код border-radius: 50%; box-shadow: 0 0 15px rgba(0,0,0,0.5); Он заработал но тень была совсем не мягкая. После этого я залез в описание box-shadow и понял что эта функция не такая простая как кажется. После чтение документации и просмотра разных примеров получился вот такой код border-radius: 50%; /*обязательно указываем радиус так как объект круглый*/ box-shadow: 0 0 10px 5px hsla(0, 0%, 0%, .15),                     

Увеличиваем любое изображение без потери качества

Изображение
Часто бывает нарисовал спрайт, вставляешь в проект а он маленький. Или же сделал фото а оно слишком маленькое. Пытаешся увеличить, результат: изображение портится. С такой проблемой встретился и я... После долгих поисков в инете и уже почти смирился с тем что увеличить изображение без потери качества невозможно и тут я нашел это японское чудо - Waifu2x . Это чудесное веб-приложение которое может увеличивать картинку и убирать на ней шумы. Описание очень понятное и есть на многих языках так что разобраться с интерфейсом приложения сможет каждый. Кнопка "Скачать" означает преобразовать и сразу загрузить картинку, но чем больше выходное изображение тем дольше сайт будет торчать без отлика. Кнопка "Преобразовать" открывает преобразованную картинку в новой вкладке. Здесь есть один ньюанс, не пытайтесь сохранить изображение пока оно полностью не прогрузится иначе вы сохраните картинку с ошибкой . Также если приложение пишет ошибку то попробуйте выкючить "Устране

Добавление плавности в анимации transition CSS

Нашел статью на одном из сайтов о веб-разработке. Статья рассказывает о css анимациях.

Universal Android Editor

Долгое время я занимался ремонтом андроид устройств и изучал все его возможности. И вот набравшись знаний я создал свое первое серьойзное приложение на C# Universal Android Editor. Выложил его я на самом (как по мне) адекватном форуме, вот здесь  . Скачать его можно там же.  Что же такое Universal Android Editor? Это приложение которое при помощи adb всячески правит ваше устройство. Правки он вводит при помощи маленьких подпрограмм udit-ов. Сейчас в программе присутствует около 11 udit-ов. В скором времени я обновлю ее добавив больше udit и изменню интерфейс на более удобный чем сейчас. Описание текущих юдитов Grub build.prop file - вытягивает build.prop с устройства. Reboot device - перегружает устройство в нормальный режим. Change DPI - изменяет dpi экрана. Change resolution - изменяет разрешение экрана. Reboot to recovery - перегружает устройство в режим рекавери. Reboot to bootloader - пергружает устройство в режим бутлоадер. Delete gesture.key - удаляет графический

Меняем анимацию вкл/выкл экрана, Android

Изображение
Осторожно все действия вы проводите на свой страх и риск так как для использования данного приложения вам необходимо иметь Xposed Framework. Надоела обычная анимация вкл/выкл экрана? Хотите добвить своему телефону что-то особенное чего нет у других. Если у вас есть Root и Xposed то вам сюда. Для решения данной проблемы скачиваем ScreenOffAnimation . Вот интерфейс программы:                                                      Далее нажимаем Select Animation и выбираем анимацию.                                                            Если вам недостаточно этих анимаций то установите переделаную версию из чудесного форума 4pda . Итак продолжим. Теперь нажимаем на Preview Animation и если нужно изменяем скорость(speed). Все готово, теперь вы можете изменить стандартную скучную анимацию включение\выключения но более оригинальную и веселую.

Восстанавливаем подключение и отладку по USB на Android.

Warning:  Данная инструкция предназначена для Android 5-.... Я не отрецая возможность ее работы на версиях 4.2 и старше, но я это не проверял. И да  ВСЕ ДЕЙСТВИЯ ВЫ ДЕЛАЕТЕ НА СВОЙ СТРАХ И РИСК На андроиде 5.1 иногда появляется глюк. Суть глюка в том что при подключению телефона по USB к ПК, телефон никак не отвечает. Он поумолчанию переходит в режим "только зарядка". Пункт Отладка по USB вообще неактивен. Глюк получается вследствие конфликта разрешений андроид. Представляю два способа по решению данной проблемы.

Модифицирование APK файлов

Изображение
Не редко можно увидеть различные модифицированные приложения для Android . Например: программы с пользовательским переводом, хак в игре на бесплатные покупки и т.д. Сегодня мы попробуем сделать самое простое изменение АПК файла. Нашей жертвой будет простой vnc сервер – androidVNC . Единственный его минус отсутствие русского языка. Это мы и попробуем исправить.

Пишем невероятно простой и опасный вирус на C#.

ВНИМАНИЕ!!! ЭТО ПРОСТО ПРИМЕР. Я НЕ НЕСУ НИКАКОЙ ОТВЕТСТВЕННОСТИ ЗА ТО ЧТО ОН НАВРЕДИТ ВАМ ИЛИ КОМУ-ТО ДРУГОМУ. ИСПОЛЬЗУЙТЕ ДАННЫЙ ВИРУС ТОЛЬКО В ОБУЧАЮЩИХ ЦЕЛЯХ.   Любой программист должен написать свой маленький вирус. Сегодня я опишу свой маленький и "зубастенький"  вирус в 30 строк. Принцип роботы таков: он включается и начинает создавать пустые файли на робочем столе, и когда файлов создается больше 100 explorer.exe (проводник, процесс который управляет робочим столом и не только) начинает глючить и выключается. В конце концов он вообще перестает включатся даже после перезагрузки ПК. После этого система перестает работать или начинает страшно глючить (в зависимости от мощности компьютера). Единственный способ вылечить ПК удалить все файли из папки рабочего стола.