Pull to refresh
30
0
Андрей Данилов @Andy_Ion

C# dev

Send message

Экспорт MoCap данных в Unity3d

Reading time3 min
Views17K
В этой статье я расскажу как анимировать персонажа с помощью MoCap данных, полученных с использованием ipi mocap studio и 2х сенсоров Kinect.
Для этого понадобятся:
1-2 сенсора Kinect
iPi Studio, iPi Recorder
Autodesk Motionbuilder 2013 лучше, но я использую 2012, т.к. 2013 у меня не работает

Часть 1. Получение MoCap данных


Калибрация

Устанавливаем iPi Studio и iPi Recorder, подключаем Kinect. Более подробно об этом можно прочитать на wiki ipisoft инструкция для старой версии программы, в последней версии настройка происходит немного иначе.

Для того чтобы получать MoCap данные с 2х сенсоров, необходимо записать видео для калибрации.

Сенсоры могут быть расположены в 2х конфигурациях:
Читать дальше →
Total votes 19: ↑17 and ↓2+15
Comments12

Оптимизация графики для Retina-экранов

Reading time7 min
Views210K
После недавнего выпуска Retina MacBook Pro и The new IPad, экраны с увеличенной плотностью пикселей начали активно входить в нашу жизнь. Что это значит для веб-разработчиков?

Для начала разберемся в терминологии.

Физические пиксели


Читать дальше →
Total votes 150: ↑135 and ↓15+120
Comments57

Классный оконный менеджер — Awesome WM

Reading time4 min
Views162K
imageЗдравствуйте! Прочитав недавно статью про оконные менеджеры в Linux, мне захотелось рассказать всем о менеджере, который был там упомянут — «awesome».
Это тайлинговый windows manager для unix (linux, freebsd, openbsd, netbsd).
Читать дальше →
Total votes 122: ↑114 and ↓8+106
Comments79

Разработка системы частиц на платформе DirectX 9. Часть I

Reading time7 min
Views16K
Данный пост будет о том, как разработать свою собственную, и достаточно производительную (на моем компьютере спокойно отрисовывается и анимируется 1 000 000 частиц в реальном времени), систему частиц. Писать будем на языке C++, в качестве платформы будет использован DirectX 9.

Вторая часть доступна здесь.

Пример одного из кадров визуализации (кликабельно):


Читать дальше →
Total votes 56: ↑51 and ↓5+46
Comments14

Unity3D 3.x Получение текущего активного окна

Reading time3 min
Views8.2K
Недавно перед нашей командой встала довольно простая задача. Нам нужно было сделать перетаскивание вещи из инвентаря в другие окна (эквип, сундук). Если два окна находятся друг над другом, то вещь должна упасть в то окно, которое выше.

Бегло осмотрев список свойств в классе GUI я не нашел чего-либо подходящего, потом я осмотрел GUIUtility, и даже заглянул в GUILayout. Вообщем такого свойства нигде не было. Гугление по этому запросу выдает несколько вопросов в Q&A и пару скудных постов на офф. форуме которые заканчиваются ответами в стиле «так сделать нельзя, но можно вручную отслеживать по какому окну нажали мышкой и заполнять переменную активного окна самостоятельно».
Нам не подошло ничего из того что там предлагали, но один парень натолкнул меня на интересную мысль. Мы пишем код на C#, а значит можем пользоваться всеми плюсами этого языка, в том числе и С# Reflection
Читать дальше →
Total votes 24: ↑19 and ↓5+14
Comments24

HTML5 Audio — состояние дел. Часть 2

Reading time9 min
Views21K
(Статья специалиста по фронтенду и медиатегам Марка Боаса (Mark Boas) от 8 мая 2012. Перевод заключительной части. Начало дало понять, что придётся попотеть, прежде чем освоить всю кухню, а ведь это ещё развивается… Не ждите коротких рецептов.)

Содержание первой части:
■ Типы MIME
  ● Серверная часть
  ● Клиентская часть
■ Заранее узнать тип аудио поможет .canPlayType (наверное)
■ Текущая поддержка кодеков в браузерах
■ Форматы контейнеров и расширения файлов
■ Мы имеем тег <audio> и не боимся его использовать!
■ Буферизация, поиск и интервалы воспроизведения
  ● Атрибут buffered
  ● Объект TimeRanges
    ● Атрибуты seeking и seekable
Итак, на чём мы остановились? На свойстве seekable
Total votes 30: ↑30 and ↓0+30
Comments4

Создание демон-процесса на Java

Reading time6 min
Views35K
Доброго всем времени суток.

Недавно, по долгу службы, появилась необходимость написать background process для IBM AIX 5.2 на Java с контролирующим shell скриптом.

Раз работа проделана, документация поднята, код написан, почему бы не поделиться с общественностью? По сему, переходим к делу.

читать дальше ...
Total votes 37: ↑34 and ↓3+31
Comments26

Клиент-серверное общение в Unity3d

Reading time10 min
Views50K
Всем привет! Мне всегда безумно интересно читать статьи про чужой реальный опыт, и успешное прохождение сквозь россыпи грабель или граблей. Посему, данной статьей хочу начать делиться своим скромным опытом из мира игростроя на юнити, а так же побольше узнать о чужом опыте работы с юнити.

Итак, в ноябре прошлого года наша команда начала делать клиентскую сессионную ммошечку — катайся на машинах, стреляй врагов. Надо сказать, что у команды уже был опыт не успешного проекта на юнити, это были 3д гонки для вконтакта. Так что тема машинок в юнити была уже знакома и на этом планировалось сэкономить. Cамое первое с чего было решено начать, это максимально быстро сделать пруф оф концепт — демку игры максимально точно показывающую геймплей. Цель данного мероприятия понятна — как можно раньше отсечь все то, что не впишется в игру. Кроме того, предстояло также выбрать серверный движок. С клиентом все было понятно сразу, Unity3d наше все, но что выбрать в качестве серверного движка? Вот в чем вопрос. Остановлюсь на этом по подробнее.

Читать дальше →
Total votes 26: ↑23 and ↓3+20
Comments47

Памятка пользователям ssh

Reading time13 min
Views1.5M
abstract: В статье описаны продвинутые функций OpenSSH, которые позволяют сильно упростить жизнь системным администраторам и программистам, которые не боятся шелла. В отличие от большинства руководств, которые кроме ключей и -L/D/R опций ничего не описывают, я попытался собрать все интересные фичи и удобства, которые с собой несёт ssh.

Предупреждение: пост очень объёмный, но для удобства использования я решил не резать его на части.

Оглавление:
  • управление ключами
  • копирование файлов через ssh
  • Проброс потоков ввода/вывода
  • Монтирование удалённой FS через ssh
  • Удалённое исполнение кода
  • Алиасы и опции для подключений в .ssh/config
  • Опции по-умолчанию
  • Проброс X-сервера
  • ssh в качестве socks-proxy
  • Проброс портов — прямой и обратный
  • Реверс-сокс-прокси
  • туннелирование L2/L3 трафика
  • Проброс агента авторизации
  • Туннелирование ssh через ssh сквозь недоверенный сервер (с большой вероятностью вы этого не знаете)
Читать дальше →
Total votes 360: ↑352 and ↓8+344
Comments148

Создаем шаблон Joomlа по стандартам — часть 1

Reading time6 min
Views28K
Весной 2008 года в блоге Compass Designs был опубликован неплохой цикл статей о создании «чистого» шаблона для Joomla 1.5 (под «чистым» в данном случае понимается шаблон, сверстанный по современным стандартам, т.е. без использования таблиц и с грамотным применением каскадных таблиц стилей). Первые две части цикла содержат в основном общие объяснения терминологии, советы по организации разработки на локальном хосте и т.д., поэтому я решил опубликовать переводы только основных 4-х статей, которые собственно и содержат небольшое руководство по созданию шаблона. Итак, сегодня первая часть, содержащая основные сведения о построении шаблонов Joomla.
Читать дальше →
Total votes 13: ↑7 and ↓6+1
Comments4

Реверс-инжинирим игру Hogs of War, часть 1

Reading time3 min
Views6.3K

Мотивация


В связи с испорченным местными властями отпуском приходится занимать свое время чем-нибудь интересным. Например, подлечить старую игрушку, косяки которой не позволяют нормально поиграть на современных ОС, либо поменять несколько байтов для получения разных extra-возможностей just for fun. Подопытным будет игра из далекого 2000 года под названием Hogs of War. Если кто не знает, то это turn-based стратегия, где вам дается команда хрюшек, с помощью которых вы должны ни много ни мало, завоевать мир. В процессе игры в зависимости от результатов можно модифицировать каждую хрюшку, например повысив её в звании. В 2009 Atari объявила о продолжении игры в виде разработки HOW2, но по последним данным проект свернули из-за недостатка финансирования. Ничего приятного.

Цель этой части: исправление бага, при котором блокируется весь рабочий стол, если произошел appcrash по какой-либо причине и подготовка приложения для работы в экранном режиме для упрощения отладки.
Читать дальше →
Total votes 42: ↑32 and ↓10+22
Comments19

О прямоугольных координатах и гексагональных сетках

Reading time4 min
Views28K
Думаю, никому не нужно объяснять, насколько широко в играх (и не только) используются гексагональные сетки. Как для заданной шестиугольной ячейки найти координаты ее центра и вершин — достаточно очевидно. Обратное же преобразование (т.е. поиск ячейки, в которую попала данная точка с координатами x и y) уже не столь тривиально. О нём и пойдет речь в данном топике.
Читать дальше →
Total votes 72: ↑67 and ↓5+62
Comments51

Машина Тьюринга восстановлена из уплотнённого кода

Reading time3 min
Views6.5K
День назад праздновали день рождения Тьюринга, и на сайте Гугла был дудл с джаваскриптовой машинкой Тьюринга. Уже не первый раз поисковик показывает нетривиальные и интересные скрипты, которые потом, после дня празднования, исчезают в небытие. Странно, что на странице всех дудлов о них есть немного слов, но нет работающих моделей, как, например, по рассматриваемому дудлу машины Тьюринга (UPD4 (26.06.2012, 5:20) — по этой ссылке появился живой скрипт, можно играть; но обфусцированный ещё сильнее, чем был на странице). Возможно, они где-то есть, но поиск в интернете не привёл к результату. Такое своевольное поведение стихии интернета начало надоедать, поэтому вчера я без особого напряжения и старания, но решил извлечь работающий код и попытаться им управлять.

Для этого понадобилось деобфусцировать гугловские коды страницы поиска (которую уже и поиском не назовёшь, судя по массе скриптов) и отвязать движок от родительского сайта. Получилось запустить алгоритм счётчика, который зашит в движок по умолчанию, но не работает механизм прохождения логических задач, который, судя по коду, в нём содержится, но не стартует по клику на кнопке с треугольником. Тем не менее, процентов 20 работы сделано, и не хотелось бы, чтобы она пропадала. Возможно, в другое свободное время я им займусь, а, возможно, кто-то подхватит и сделает форк с реквестом, и у него (или у нас вместе) получится запустить задания.
Восстановленные исходники
Total votes 84: ↑75 and ↓9+66
Comments30

Модуль nginx для борьбы с DDoS

Reading time6 min
Views66K
Многие сталкивались с таким явлением как DDoS атака методом HTTP флуда. Нет, это не очередной туториал по настройке nginx, хочу представить свой модуль, работающий как быстрый фильтр между ботами и бэкэндом во время L7 DDoS атаки и позволяющий отсеивать мусорные запросы.
Читать дальше →
Total votes 142: ↑140 and ↓2+138
Comments43

Система водяного охлаждения из строймагазина

Reading time6 min
Views50K
Набор для сборки
Вступление

Построить систему водяного охлаждения для домашнего компьютера хотелось давно, и именно построить, а не купить. Причём она должна быть:
  • тихой.
  • компактной, а лучше скрытной, дабы не раздражать домашних.
  • недорогой.
  • легкой в исполнении.

На вопросы эти посматривал лет 10, и наконец, делая ремонт, созрел план, как это можно сделать в одно время. Клиент системы — маленький barebone, входной шлюз домашней сети и прочая, проживает в санузле, по причине красоты спрятан в шкаф, где невзирая на небольшой тепловой пакет в 95 ватт и регулярный обдув также регулярно зависал от перегрева по разу в несколько дней.
Читать дальше →
Total votes 92: ↑90 and ↓2+88
Comments111

Оптимизация связки Nginx, Apache, PHP, MySql

Reading time9 min
Views80K
Неожиданно поступила задача разобраться почему определенный сайт не работает столь быстро сколь хочется. В основе его CakePHP, в связке с Apache и MySQL. В статье описание процесса поиска узких мест и приведение в порядок на столько, на сколько это возможно.

Название сайта светить не буду — думаю, программисты сами узнают. Скажу лишь, что это приложение для социальной сети нагрузкой 70-150 тысяч посетителей в обычное время. Все усложняется тем, что периодически производится рекламная рассылка, которая привлекает около 200-300 тысяч посетителей за пару часов.

Итак, под катом описание всей борьбы на протяжении 4 дней.
Читать дальше →
Total votes 95: ↑79 and ↓16+63
Comments108

Отключение ClickPad'а на X220; чуть-чуть детектива

Reading time6 min
Views2.9K
abstract:
  1. Как выключить правую кнопку на ClickPad'е
  2. Что такое сниппеты для X-сервера
  3. Немного лирики о том, как в линуксе ищут решения проблем.


Вступление


X-сервер в отношении железа у меня обычно вызывает неприязнь. Потому что с одной стороны это нечто жутко консьюмерское и покрытое бесконечными тонкостями поддержки элитных ноутбуков очередного мегазасранца (Linus Loves Nvidia), который и под винды нормальных дров не может сделать, а с другой стороны, это то, что хочется, чтобы работало гладенько и само собой, ибо чинить сломавшийся X-сервер неприятно, особенно, если это единственный рабочий компьютер под рукой.

Впрочем, от лирики к хардкору.

На x220 есть такая замечательная вещь:

Посреди клавиатуры фирменный IBM'овский клитор (трекпоинт), под клавиатурой (над точпадом) кнопки от трекпоинта. Сам точпад второго комплекта кнопок не имеет и является ClickPad'ом — под ним расположена одна кнопка, нажатие которой транслируется либо в левую, либо в правую кнопки в зависимости от того, где было зафиксировано нажатие. Обработка эта софтовая (в драйвере).

Давным давно (~2.6.30) в линуксе поддержку этой штуки сделали кривыми хаками, потом выкинули (~2.6.38). В результате многие ноутбуки (например, уродливый HP, который у меня на работе) остались вообще без правой кнопки мышки.

Недавно привалили апдейты, которые «включили» это. HP такой вещи, наверное, обрадуется, однако, на X220, где есть аппаратные кнопки клитора с правой (и средней) кнопками, меня на 100% устраивало, что кликпад работает только как левая кнопка.

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

Поиск


(вместо унылого howto я лучше покажу процесс поиска варианта решения, который не только решил проблему, но вкачал мне несколько малых уровней в linux).
Читать дальше →
Total votes 70: ↑55 and ↓15+40
Comments38

CISCO ACE. Часть 2: балансировка удаленных серверов и приложений

Reading time5 min
Views12K


В первой части CISCO ACE — балансировка приложений мы немного окунулись в мир балансировки приложений и сетевых ресурсов. Познакомились с характеристиками, предназначением и возможностями семейства таких устройств. Рассмотрели основные сценарии внедрения и преимущества, которые нам приносит использование балансировщиков.

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

Читать дальше →
Total votes 5: ↑5 and ↓0+5
Comments6

Борьба с DDOS и DOS на уровне nginx

Reading time1 min
Views8.2K
FreeBSD, сетевая Intel fxp, порт 100Мбит, polling, http accept-filter
в sysctl:

sysctl kern.maxfiles=90000
sysctl kern.maxfilesperproc=80000
sysctl net.inet.tcp.blackhole=2
sysctl net.inet.udp.blackhole=1
sysctl kern.polling.burst_max=1000
sysctl kern.polling.each_burst=50
sysctl kern.ipc.somaxconn=32768
sysctl net.inet.tcp.msl=3000
sysctl net.inet.tcp.maxtcptw=40960
sysctl net.inet.tcp.nolocaltimewait=1
sysctl net.inet.ip.portrange.first=1024
sysctl net.inet.ip.portrange.last=65535
sysctl net.inet.ip.portrange.randomized=0

Читать дальше →
Total votes 48: ↑45 and ↓3+42
Comments42

Information

Rating
Does not participate
Location
Лазаревское, Краснодарский край, Россия
Date of birth
Registered
Activity