Рубрика «unity3d» - 57

Сегодня я расскажу о реализации шейдера, позволяющего сделать fade in/out по палитре, как это делалось в старых NES-играх и т.п.

Суть состоит в том, что при наличии ограниченной палитры цветов нельзя было постепенно затемнить (или наоборот вывести из темноты) картинку, т.к. просто напросто не существовало нужных цветов в палитре. И это решалось путем использования разных цветов, которые воспринимаются как более темные. То есть нужно вам сделать fade in желтого объекта, а в палитре нет темно-желтых оттенков — вот и приходится сначала делать объект синим (выглядит темным), потом — красным и т.п.

Ниже я покажу, как выглядит конечный вариант написанного шейдера:

Создание игры на ваших глазах — часть 4: Шейдер для fade in по палитре (а ля NES)

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

Игра на пустом месте

Игра на пустом месте

Пост о нелегком, но чрезвычайно интересном пути из ниоткуда к готовой игре.

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

Часть 1: заготовка персонажа и анимация покоя
Часть 2: бегущий персонаж
Часть 3: прыжки (и падения)

Всем привет. Продолжаем серию уроков по созданию 2D персонажа. В предыдущих двух частях мы сделали персонажа, который может находиться в двух состояниях: покой и бег вправо-влево. Возможно, для очень простой игры этого будет достаточно. Но мы не будем останавливаться на достигнутом и сегодня научим нашего персонажа прыгать.
Читать полностью »

Боевое знакомство с Leap Motion


Сегодня я хотел бы рассказать о простеньком приложении для небольшого, но интересного гаджета, случайно попавшего мне в руки (да еще и бесплатно!).
Рассматривать и пробовать будем девайс под названием LeapMotion, который красуется на сайте за «притягательные» 79.99$…
О нем речь и пойдет дальше.
Читать полностью »

image Да, зима — не лучшее время для статьи о молниях. Но время близится! Сезон дождей и гроз всего через каких-то 4-5 месяцев, а работы – хоть отбавляй.

Все видели молнии? Молнии красивые, витые. Вы знаете как они действительно выглядят? Да, их удается сфотографировать, но только с одной стороны, и через раз.

А мы научились ловить каждую молнию, да ещё строить полную 3d модель каждой, даже невидимой в облаках молнии! Более того, через 15 секунд после удара в любой точке над Москвой, её координаты и трёхмерный профиль сразу же обновляется у нас на сайте!
Под катом 6 мБ трафика.
Читать полностью »

Часть 1: заготовка персонажа и анимация покоя
Часть 2: бегущий персонаж

Всем привет. Продолжаем дело, начатое в первой части. Сейчас у нас есть платформа и стоящий на ней персонаж с анимацией покоя. Настало время научить нашего персонажа бегать вправо-влево по платформе.
Читать полностью »

Доброго времени суток, друзья!

Да-да, именно друзья, ведь после моего первого поста откликнулось очень много людей, кто был готов помочь всем, чем смогут. И в этом я чрезмерно благодарен Хабру — уже написаны целых две музыкальные композиции и грамотно переведен весь текст в игре на английский язык. Даже не знаю, что бы я без вас делал!

Но сам пост не об этом. Сегодня я хотел бы поделиться с вами маленькими подсказками по поводу пользовательского интерфейса. О том, чего стоит избежать уже в самом начале разработки, и что потом делать. К сожалению, мой «скилл» недостаточно высок, чтобы писать о чем-то действительно новом и неизведанном в этой области, так что пост будет больше посвящен новичкам в гейм-деве (и в первую очередь тем, кто пока еще боится NGUI), да и пост будет субъективен на все 146%.

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

Обертка над WWW в Unity3D
Всем привет! Решил поделиться своим велосипедиком для работы с WWW в Unity3D.

Что такое WWW?

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

Я остановлюсь на текстовом формате данных.

Предпосылки

Иногда возникает задача связать игру с сервером, написанном на Php(хотя можно любой другой яп использовать для развертки backend части). Все время отправлять запросы в виде new WWW(Address + "?api=login&username=..."); не удобно, хочется сделать удобнее работу с посылкой/приемом данных.

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

В итоге, созрела мысль написать нечто, что могло бы упростить жизнь для работы с WWW.text.
Читать полностью »

Основы многопользовательской игры на Unity3D

Привет!

Я, как и многие из вас, большой поклонник многопользовательских игр. В них меня прельщает в основном дух соревнования и возможность приобретать улучшения, накапливая достижения. Да и сама идея выхода в свет все большего количества игр данного типа побуждает к действию.
С недавнего времени я и сам взялся за разработку собственного проекта. И поскольку на Хабрахабре статей на эту тематику не нашел – решил поделиться своим опытом написания многопользовательской игры на движке Unity3D. Также хочу рассказать о компонентах Network и NetworkView, атрибуте RPC и встроенных методах-ивентах. В конце статьи подан пример игры и, разумеется, сам проект для Unity. Итак…
Читать полностью »

Сегодня (прим. переводчика: т.е. 6 лет назад) я перебирал список List, используя конструкцию foreach, и чувствуя небольшое самодовольство, осознавая насколько это производительнее, того что было бы, попытайся я использовать ArrayList. Благодаря чуду Generic компилятор C# аккуратно избегает многочисленные упаковочные операции с помощью экземпляров System.Collections.Generic.IEnumerator<int> вместо старых System.Collections.IEnumerator. Тогда я подумал: «действительно ли это самый быстрый способ?» По результатам расследования, получается, что, нет, это не самый быстрый способ.
Читать полностью »


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