Метка «unity» - 4

Введение

В этой статье я расскажу про Data Dependency шаблон реализации компонентов в условиях Dependency Injection. В примерах буду использовать язык C# и Unity.
Начнем с описания ситуации, в которой Dependency Injection оказывается недостаточно, и возникает потребность прибегнуть к Data Injection.
Читать полностью »

Цель урока: Изучение DI (Dependency Injection). Пример на Ninject и Unity (Autofac, Winsor).

Во многих случаях, один и тот же экземпляр класса используется в вашем приложении в разных модулях. Простым способом реализации является применение шаблона Одиночка (Singleton).

Но рассмотрим эту ситуацию с другой стороны. Так как данный объект создается при первом обращении к нему, мы не можем контролировать его время жизни. При модульном тестировании (unit-test) нет необходимости использовать этот объект (или это может быть невозможно). Чтобы избежать этого, мы не напрямую вызываем объект, а через интерфейс. И реальный экземпляр класса, и экземпляр-заглушка для тестирования будут реализовывать этот интерфейс. А логику создания мы поручаем DI-контейнеру.

Читать полностью »

Кросс платформенная мобильная игра и палки в колеса от AndroidВ этой статье я хочу поделиться с вами нашем опытом разработки мобильной кросс-платформенной (iOS/Android) игры.

Игру мы писали на Unity, а сама графика — спрайтовая. Но многое из сказанного ниже будет справедливо также и для других кросс-платформенных движков, а так же — для полноценного 3D.

Начну я свой рассказ с заблуждения.

Миф о кросс-платформенности.

Когда мы с командой начинали разработку этого проекта на большом и очень кросс-платформенном движке Unity (который также поддерживает Win, Mac, XBox, PS3, PSP, и т.п.) — то мы надеялись на то, что Unity возьмет всю заботу о кросс-платформенности на себя, а наша задача будет только жать «publish» под разные платформы и пить кофе.

Да, конечно же, мы знали о фрагментации платформы, но по большей части заточку под андроид мы ожидали увидеть в области графики (адаптация под разные разрешения, диагонали и dpi) и быстродействия (ясно, что то, что потянет один дроид — другому не под силу).

Но не все так просто.
Читать полностью »

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

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

image
Читать полностью »

Делаем простую игру с кнопками, ящиками и дверями на Unity

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

Для самых нетерпеливых по ссылкам ниже находится готовый прототип.
Скомпилированная версия для Windows [Зеркало] ~7.5 МБ
Unity Web Player [Зеркало] ~25 КБ

Что мы собираемся делать? Двумерную головоломку с колобком в роли главного героя, который может двигать ящики, которые могут нажимать кнопки, которые могут открывать двери, за которыми скрывается выход из уровня, который построил я. Или вы, у нас же здесь туториал как-никак.

Подразумевается, что вы уже успели скачать Unity и поигрались немного в редакторе. Нет? Сейчас самое время, я подожду.
Читать полностью »

В ноябре компания Mozilla выпустила Firefox 17. В релизе, помимо прочего, появилась поддержка так называемого Social API. Этот API позволяет социальным сервисам (тем, где фигурирует постоянное взаимодействие с другими пользователями) удобным для пользователя способом привлекать его внимание даже тогда, когда у него открыта другая вкладка с другим сайтом. Более того, присутствует возможность добавлять в браузер свой sidebar (боковую панель) и всё время отображать там что-то, вне зависимости от того, какая вкладка открыта у пользователя на данный момент (внешне это чем-то напоминает фреймы, которые раньше очень много испольовались на многих сайтах для того, чтобы отдельно отобразить основное содержимое, и независимо от него отобразить отдельную боковую панель).

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

Тем не менее, хотя в блоге Mozilla и пишут о том, что ожидается поддержка большего количества провайдеров («провайдерами» в контексте Social API называют те веб-приложения, которые предоставляют браузеру специальный структурированный текстовый файл, где указывается, какие возможности Social API приложение хочет запросить), а Facebook — это первый поддерживаемый провайдер, там не упоминается тот факт, что даже те веб-разработчики, которые хотят добавить поддержку Social API для своего сайта, сейчас сделать этого не могут. Вернее, конечно, могут, но для этого всем пользователям, которые захотят ей воспользоваться, будет необходимо открыть about:config и вручную добавить адрес сайта в параметр social.activation.whitelist (по умолчанию там задан один-единственный сайт: https://www.facebook.com).
Читать полностью »

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

В новой версии

Новое ядро WPF обфускации

  • Теперь классы, задействованные в WPF, не исключаются, а обфусцируются наравне со всеми остальными. WPF ресурсы при этом пересобираются
  • Поддерживается линкинг сборок содержащих WPF (что невозможно сделать в ILMerge)
  • Умные автоматические исключения классов и полей недопустимых к переименованию, в том числе для сложных выражений типа PropertyPath
  • BAML ресурсы переименовываются

image
(нажмите для увеличения)

Поддержка Unity 3D

  • Переименовываются все внутренние методы, поля и классы
  • Поддерживаются все режимы, включая String Encryption, External Method Call Hiding, Decomposition

Для того, чтобы защитить Unity 3D приложение, достаточно отправить на обфускацию сборки с пользовательским кодом из папки Managed, и затем заменить их на защищенные версии.

Полная совместимость с .NET Framework 4.5

  • Теперь обфускатор одинаково хорошо работает с .NET 2.0, 3.0, 3.5, 4.0, 4.5.
  • Корректно обфусцируется код с async/await
  • Осуществлен переход на последнюю версию Mono Cecil

Читать полностью »

Требования

Итак, для создания линзы, нам понадобятся:

* Ubuntu 12.04 LTSполучить Ubuntu
* Quicklyустановить свободный quickly
* шаблон Quickly Lensустановить шаблон Quickly Lens

Создание линзы

Для начала напишем линзу, которая ищет среди статей Википедии. Создание линзы начинается с простого шага — создания проекта. Читать полностью »

Скажем прямо без всяких предисловий: мы ошиблись. Unity Unite вживую — это мероприятие настолько широкое, что рассказывать о нём в подробностях, выкладывать резюме каждого доклада — практически невозможно, да и ненужно. Каждый из них можно будет посмотреть в записи (скорее всего, заработает такая ссылка).

Передать атмосферу праздника и кайф от нетворкинга (зачем и нужны, собственно, отраслевые конференции) тоже достаточно сложно.

Поверьте, этого хватало!

Unity Unite: Никто не обнимет необъятного!
На фотограмме наши бойцы вместе с Давидом Хельгасоном, бокалом шампанского и Йоакимом Анте на вечеринке во второй день конференции. Крайний слева — явно дух Unity Unite.

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

Читать полностью »

imageLinux на моём компьютере уже 5 лет стоит как основная операционная система. Пришлось проходить через всякое: ставить разные дистрибутивы, как для фана, так и для работы. Почти все шесть лет я сидел на Gnome 2, и сейчас бы сидел, если бы не новый ноутбук, нормально работающий только на третьем ядре из-за каких-то драйверов. А с новым ядром пришла новая проблема: новые оболочки. В этом топике я просто опишу свои мысли насчет оболочек, чем они удобны или не удобны лично для меня. Так что, можете сразу ставить после каждого предложения ИМХО.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js