Pull to refresh
0
0
Светлов Александр @Mehalich

Пользователь

Send message

Система событий и откликов или задатки Visual Scripting для Unity3D

Reading time10 min
Views12K

Введение


В прошлой моей статье были приведены способы обеспечения “мягкой” связи между компонентами игровой логики, основанные на уведомлениях и подписки на них. В общем смысле подобные уведомления можно посылать на любое, какое нам захочется, действие или событие, возникающее в работе компонента: от изменения переменной, до более сложных вещей. Однако зачастую определенные события требуют от нас выполнить ряд действий, которые нецелесообразно делегировать. Самым простым примером является звуковое оформление — в компоненте возникло событие, которое требует звукового сопровождения. В простейшем варианте мы вызовем функцию AudioSource.Play(), в чуть более сложном, функцию обертки над звуковой системой. В принципе ничего страшного в этом нет, если проект небольшой и в команде мало людей, которые совмещают в себе множество ролей, но если это проект крупный, где есть несколько программистов и саунд-дизайнер, то, в частности, настройка звуков превратится для программиста в кошмар. Не секрет же, что мы стараемся абстрагироваться от контента и поменьше с ним работать в плане настройки, ибо правильнее, если этим будут заниматься ответственные специалисты, а не мы.
Читать дальше →

Устройство акустического подавления реальности, или музыка из 3D принтера

Reading time5 min
Views14K


Доброго вам времени суток, уважаемые гики и сочувствующие!

Согласно моим наблюдениям, практически все владельцы 3D принтеров делятся на две группы: те, кому он нужен, и те, кому он нужен на самом деле. Именно с целью стимуляции роста количества граждан во второй группе и была написана эта публикация.

Всем, кому интересно, что связывает 3D принтер и музыку, почему некоторые старые поговорки потеряли актуальность, и как превратить простую картонку в стальную болванку — добро пожаловать под кат!
Осторожно, трафик!

Естественная анимация в интерфейсах

Reading time6 min
Views15K

\begin{tikzpicture}
\def\t{0}
\def\r{3.1415}
\begin{axis}[width=12cm,height=7cm,
    ticks=none,
    xmin=-0.5, xmax=3.8,
    axis y line=left,axis x line=bottom,
    xlabel=$t$,ylabel=$x$, 
every axis x label/.style={at={(current axis.south east)},anchor=south},
every axis y label/.style={at={(current axis.north west)},anchor=west},
enlargelimits=true,mark size=1
    ]
\addplot[smooth,blue,domain=\t:\r,samples=80] {1-cos(deg(x*3))};
\addplot[mark=*] coordinates {(\t,0)};
\addplot[mark=*] coordinates {(\r,2)};
\end{axis}
\end{tikzpicture}


Рис. 0. КДПВ


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


Без анимации сложнее воспринимать резкие и внезапные изменения. Вместе с тем анимация должна быть короткой и ненавязчивой, чтобы не мешать пользователю.


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

Читать дальше →

Подставка для инструментов ver. 2

Reading time1 min
Views24K
Вот собственно, сделал еще в новогодние праздники. А недавно немного переделал до второй версии.



На мой взгляд достаточно гиковская самоделка, позволившая победить бардак, освободить пространство на столе, и упорядочить инструменты.
Читать дальше →

Старый друг лучше новых двух

Reading time4 min
Views6.6K
После переезда в новую квартиру, первым делом решил установить звонок. Но эта задача оказалась непростой. Дело в том, что застройщик установил кнопку звонка только у входной двери, а у входной двери тамбура кнопки не было. Так как старый звонок был электромеханическим и включался по схеме через кнопку, для него требовалась прокладка дополнительного провода. Но попытка проложить в тамбуре провод увенчалась неудачей. Стены тамбура были сделаны из прочного бетона, и обычная дрель с функцией перфоратора просто отскакивала от стены. Дабы не тратить деньги на приобретения дорогостоящего профессионального инструмента, было принято решение, купить простой китайский беспроводной звонок. Плюс отсутствие лишних проводов на виду. Но это тоже оказалось непросто. Недорогие звонки имели плохое качество звука и банальный набор мелодий, которые надоест после первого месяца эксплуатации. В конце концов, удалось найти подходящий звонок с боле менее приятным звуком. Как ни странно, он был электромеханическим, только со встроенным беспроводным модулем. Все замечательно, но разочаровала цена данного звонка, он стоил 9000 рублей.



В итоге решили временно оставить свой старый добрый электромеханический звонок. На этом бы все и закончилось, но нехватка внешней кнопки у двери тамбура периодически давала о себе знать. Было решено сделать беспроводное включение звонка.
Читать дальше →

ESP8266 с чего начать или первый опыт

Reading time7 min
Views338K
В этой статье я хочу поделиться опытом того, что делать, когда в руки впервые попадают платки ESP8266. Сразу оговорюсь, что ковыряние в таких железках, равно как и программирование, это моё хобби за мои деньги и в свободное от основной деятельности время. Поэтому прошу отнестись с определенной скидкой к степени критики данного материала.

Почему я это решил написать? Всё просто: я убил 3 недели времени на то, чтобы разобраться с чего начинать и как это работает. Кроме того, попробую собрать небольшой каталог ссылок по работе с ESP8266. Надеюсь, что эта информация поможет сэкономить вам хоть толику времени.

image

Итак, приступим!
Читать дальше →

UX для начинающих: практическое руководство. Часть 2

Reading time16 min
Views22K
image

В первой части материала речь шла о том, что такое UX, чем юзабилити отличается от визуального/графического дизайна, и что нужно сделать, начиная работать над интерфейсом продукта – будь то почтовая рассылка, веб-приложение или оффлайн-услуга. Во второй части перевода автор расскажет о том, из чего состоит процесс проектирования UX: начиная с информационной архитектуры и заканчивая тестами. Кроме того, речь пойдет и о роли юзабилиста в команде – что должен знать начинающий проектировщик интерфейсов, принимая решение о работе с стартапе или соглашаясь на место в крупной компании – обо всем этом читайте ниже.
Читать дальше →

Как не создать продукт для людей, которых не существует

Reading time8 min
Views5.3K
Статья содержит вольный перевод-конспект выступления Arthur Bodolec, product designer в Facebook, в прошлом design co-founder в Feedly.

Статья будет полезна тем, кто связан с проектированием интерфейсов. Материал нам кажется важным, потому что многие говорят «общайтесь со своими пользователями», «слушайте своих пользователей». Arthur Bodolec рассказывает, как он это делает, делится практическими шагами из своего опыта.

image
Читать дальше →

Качественные методы в UX-исследованиях: как начать разговаривать с пользователями

Reading time12 min
Views26K
image

Социальные науки и UX-исследования: ближе, чем вы думали


Начнем с вопроса. Можно ли сделать действительно качественный IT-продукт без пользовательской аналитики? Да или нет? Кто выбрал «да»? Если вы и так знаете, что на самом деле нужно вашим пользователям, дальше можете не читать. Сэкономите свое время. И деньги на аналитику. Правда, зачем оно вам?
Читать дальше →

Методы определения принадлежности точки многоугольнику

Reading time9 min
Views79K
Недавно на хабре была статья, в которой описывалось как можно определить, где находится точка по отношению к многоугольнику: внутри или снаружи. Подобная проблема встречается в геометрическом моделировании и в компьютерной графике достаточно часто. А так как метод, описанный в статье, был несколько не оптимален, а в комментариях был небольшой хаос, возникла мысль написать эту статью. Итак, какие алгоритмы существуют в современной компьютерной графике, чтобы определить, принадлежит ли заданная точка многоугольнику или нет.
Читать дальше →

Оптимизация игры на Unity и dev story Tap Tap Builder

Reading time9 min
Views22K
В копилке каждого инди-разработчика должен быть свой сити-билдер, может быть поэтому я решился «сконструировать» свой велосипед. Конечно же, с квадратными колесами и креслом-качалкой вместо седушки. Работаю я один, поэтому никаких дизайнеров, художников, и тем более моделлеров, в проекте нет. Кроме того, в общем-то, это моя первая игра с трехмерной графикой. Дабы не утруждать себя изучением продвинутых инструментов для создания трехмерных моделей, я решил все сделать своими руками и средствами игровой среды Unity. Там есть только примитивы, вроде кубов да цилиндров, а также возможность их раскрасить. Что ж, следовало запастись терпением и начать «творить», погрузившись в роль архитектора. Полезной информацией для начинающих инди-разработчиков может оказаться мой опыт работы с издателем, а также способы оптимизации игры.

image
Читать дальше →

UX для начинающих: практическое руководство. Часть 1

Reading time13 min
Views93K


В первой части перевода речь пойдет о том, что такое UX, чем юзабилити отличается от визуального/графического дизайна, и что нужно сделать, начиная работать над интерфейсом продукта – будь то почтовая рассылка, веб-приложение или оффлайн-услуга. Это – хороший материал для тех, кто приступает к освоению данной области, и хочет разобраться, «как тут все устроено».
Читать дальше →

Ленивый event sourcing или как жить сегодняшним днем

Reading time3 min
Views13K
Перевод статьи опубликованной на Eventsourcing Publications. Статья описывает некоторые из идей примененных в проекте Eventsourcing.

Если вы читали статью Фаулера или подобные источники на тему event sourcing, у вас в мозгу могла остаться вот приблизительно такая картинка:

image

Общая идея такого подхода заключается в том, что пользователь (или любая другая внешняя система) генерирует команды, мы их обрабатываем, складывая полученные события в event store и обновляя «состояние мира» в базе данных, данные из которой запрашивает пользователь.

Этот подход выглядит просто и красиво. У нас есть достаточно данных чтобы «переигрывать» события, у нас есть откуда запрашивать данные о состоянии мира и мы можем использовать проверенные временем базы данных. С другой стороны, я обратил внимание что я хотел немного другого от концепции event sourcing. Мне хотелось избежать предугадывания будущего и эта модель как-то не очень подходила, потому что мне приходилось записывать обновленное состояние в мою базу данных «для чтения».

Читать дальше →

Быстрые движения под высоким напряжением, или почти вся правда об управлении шаговым мотором

Reading time7 min
Views85K


Доброго вам времени суток, уважаемые гики и сочувствующие!

В этой публикации я хочу поделиться своим опытом управления. Точнее – управления шагами. А уж если быть совсем точным, речь пойдёт об управлении замечательным устройством – шаговым электродвигателем.
Осторожно, трафик!

Тепловизор на платформе Arduino UNO

Reading time4 min
Views33K

Предисловие




Шел 6-й семестр обучения, перед нами (т.к. над проектом работали 3 человека) стала серьёзная задача — необходимо сделать аппаратный курсовой проект. Было много различных идей: автопилот для автомобиля, прибор ночного видения и др. Но выбор пал на тепловизор, так как он получался не сильно простым и не сильно затратным. Да и кто не мечтал о своем личном тепловизоре? В данной статье мы расскажем о том, как нам удалось собрать тепловизор с довольно неплохими характеристиками в домашних условиях.
Читать далее...

Самодельный тепловизор на базе Arduino менее чем за 100$

Reading time4 min
Views320K

Не секрет что каждый из нас хоть раз но мечтал получить в свои руки настоящий тепловизор. Ведь это уникальный шанс взглянуть на мир вокруг совершенно «другими глазами», увидеть скрытое и возможно даже глубже познать суть некоторых явлений. И единственной преградой к этой мечте служит цена подобных устройств. Несмотря на весь прогресс, она остается непомерно высокой для простого смертного.
Однако подобно лучу света в непроглядном мраке безысходности на свет появилась разработка двух студентов из Германии. Их устройство на базе микроконтроллера Arduino является довольно простым в изготовлении и существует аж с 2010 года.
Читать далее

Dagger 2. Лечим зависимости по методике Google

Reading time11 min
Views38K

Автор: Константин Марс
Senior Developer @ DataArt,
Co-Organizer @ GDG Dnipro


Dependency Injection



Что, зачем и когда это нужно


Сегодня мы поговорим об инструменте, который помогает улучшить качество разработки для Android. Решить эту задачу можно с помощью Dependency Injection (DI). Обычно этот термин ассоциируется с инъекциями, шприцами и немножко с «зависимостями». На самом деле, Dependency Injection — паттерн проектирования, обеспечивающий реализацию принципа инверсии зависимостей и реализующий правила создания объектов и независимость реализаций.
Итак, у нас есть класс, у класса есть конструктор, и есть несколько членов класса. Когда вы создаете сущность этого класса, вам необходимо обеспечить класс инстансами тех самых типов, которые объявлены для его членов класса. В данном случае, это имя машины и тип двигателя Engine. Вы будете использовать ссылки на объекты, соответственно, ссылки внутри вашего класса не будут пустовать.
Таким образом, вы реализуете ОOП и можете создавать объекты.
Читать дальше →

Самодельный 3D принтер на SCARA механике, v3

Reading time2 min
Views24K

Самодельный 3D принтер на SCARA механике, v3


Видео работы v3 на скоротях 100+ mm/sec.


Предыдущие версии v1 и v2


Детали о предыдущем принтере можно почитать тут.
Видео печати предыдущей версии


Предыдущая механика в OpenScad

Читать дальше →

5 достойных изучения проектов с открытым исходным кодом на React Native

Reading time2 min
Views41K
Изучение открытого исходного кода – это лучший способ научиться писать качественный код, особенно если речь идет о новом инструменте с не полностью сформировавшимися стандартами. Одним из таких инструментов является React Native. Он постоянно дорабатывается, функциональность его API расширяется с каждым релизом, а количество библиотек растет. В то же время большинство обучающих ресурсов по работе с React Native очень поверхностны и не идут дальше вступительных рекомендаций. Но даже несмотря на это, изучение исходного кода должно быть нормой для каждого разработчика.

Я хочу представить 5 проектов с открытым исходным кодом, которые я изучаю сам и советую остальным.

Читать дальше →

Приводим данные и код в порядок: оптимизация и память, часть 1

Reading time10 min
Views27K
В этой серии из двух статей говорится о том, как структура данных и памяти влияет на производительность. Предлагаются определенные действия для повышения производительности программного обеспечения. Даже простейшие действия, показанные в этих статьях, позволят добиться существенного прироста производительности. Многие статьи, посвященные оптимизации производительности программ, рассматривают распараллеливание нагрузки в следующих областях: распределенная память (например, MPI), общая память или набор команд SIMD (векторизация), но на самом деле распараллеливание необходимо применять во всех трех областях. Эти элементы очень важны, но память также важна, а про нее часто забывают. Изменения архитектуры программ и применение параллельной обработки влияют на память и на производительность.

Читать дальше →

Information

Rating
Does not participate
Location
Таллин, Эстония, Эстония
Date of birth
Registered
Activity