Как стать автором
Поиск
Написать публикацию
Обновить
55.83

Unity *

Инструмент разработки 2D/3D-игр

Сначала показывать
Порог рейтинга
Уровень сложности

Особенности игрового рынка в Китае — часть 2

Время на прочтение3 мин
Количество просмотров9.6K
Многие инвесторы отказываются инвестировать в игровые стартапы из-за характера рынка игр — никогда не уверен, взлетит игра или нет, заработаешь ли ты, вернешь инвестиции или уйдешь в минус. «Индустрия игр завязана на хитах, это не бизнес, это удача», — часто приходится слышать от ИТ-инвесторов и бизнес-ангелов.

Действительно, рынок игр, а точнее, рынок мобильных казуальных игр развивается стремительно и быстро, появляются новые типы геймеров, меняются потребности и желания игроков, двигаются тренды игровой механики. И все же у опытных разработчиков и паблишеров получается понимать рынок, своего пользователя, выпускать новые всеми любимые хиты (маркетинговые бюджеты… маркетинговые бюджеты… ну да, не без них…). Но это на Западе…
Читать дальше →

Особенности игрового рынка в Китае — часть 1

Время на прочтение2 мин
Количество просмотров22K
Китай невероятно похож на Россию — пришли мы к выводу с Алленом Фу, руководителем подразделения Unity Technologies в Китае, после долгой беседы. Оказывается за 18 месяцев работы китайского офиса Юнити, Аллен встретился с теми же самыми культурными, историческими, национальными особенностями ведения бизнеса, с которыми команда Юнити встречается в России.

«Россия в сердце китайцев является частью общей истории. Я думаю наши страны должны намного больше общаться», — размышляет Синь Чжан, отвечающий за техническую поддержку пользователей Юнити в Китае. Он очень удивлен, почему Юнити до сих пор не открыла офис в России и не предоставляет техническую поддержку пользователей на русском языке…

Впрочем, приоритеты в играх у России и Китая отличаются очень сильно.


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

Получи BlackBerry Z10 и Unity BlackBerry 10 Pro add-on бесплатно

Время на прочтение1 мин
Количество просмотров8.7K
Unity и BlackBerry объявили о новой акции для владельцев Pro версии Unity.

Если до 20 ноября вашу Unity игру одобрят в BlackBerry App World то вы абсолютно бесплатно получите Unity BlackBerry 10 Pro add-on а также телефон BlackBerry Z10, обзоры которого неоднократно появлялись на страницах Хабра (например тут, тут и тут)
Читать дальше →

Unity3D и MySQL

Время на прочтение2 мин
Количество просмотров22K
Наверное каждый, кто делал игру для социальной сети или просто онлайн игру сталкивался с проблемой подключения и сохранения данных в базу данных. В этой статье я постараюсь подробно описать как установить подключение и передать данные в базу данных MySQL с помощью PHP.

Итак, приступим, для начала создайте в Unity C# скрипт, назовите его MysqlConnect и внесите в него следующий код:

using UnityEngine;
using System.Collections;

public class MysqlConnect : MonoBehaviour {

	private string username = ""; //Переменная для хранения имени
	private string pswd = ""; //Переменная для хранения пароля
	private string email = ""; //Переменная для хранения почтового ящика
	private string url = "http://www.localhost.ru/habr/connect.php"; //Переменная для хранения адреса
	
	//Создание метода, отвечающего за подключение и передачу данных
	void Connect()
	{
		WWWForm form = new WWWForm(); //Создаём новую форму 
		//Добавляем в форму новые данные
		form.AddField("username", username);
		form.AddField("password", pswd);
		form.AddField("email", email);
		//Создаём новое подключение
		WWW connect = new WWW(url, form);
		//Если удалось установить подключение
		if (connect.isDone)
		{
			//Выводим в консоль ответ сервера
			Debug.Log(connect.text);
		}
		//Если при подключении возникла ошибка
		else if (connect.error == null)
		{
			//Выводим в консоль текст Error
			Debug.Log("Error");
		}
	}
	
	//Создаём метод OnGUI()
	void OnGUI()
	{
		//Создаём текстовое поле для ввода имени пользователя
		username = GUI.TextField(new Rect(Screen.width/2-100, Screen.height/2-100, 200, 20), username, 12);
		//Создаём текстовое поле для ввода пароля
		pswd = GUI.TextField(new Rect(Screen.width/2-100, Screen.height/2-75, 200, 20), pswd, 12);
		//Создаём текстовое поле для ввода почтового ящика
		email = GUI.TextField(new Rect(Screen.width/2-100, Screen.height/2-50, 200, 20), email, 50);
		//Создаём кнопку для произведения подключения
		if (GUI.Button(new Rect(Screen.width/2-100, Screen.height/2-25, 200, 20), "Connect"))
		{
			Connect();
		}
	}
}


В данном скрипте производится запрос к PHP скрипту и ему передаются данные, введённые пользователем.
Читать дальше →

Бесконечные неповторяющиеся текстуры с помощью мозаики Вана

Время на прочтение4 мин
Количество просмотров49K


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

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

Как же быть? Есть один трюк — непериодические мозаики. Они лишены проблемы повторяемости и достаточно просты в реализации. Одну из таких мозаик придумал китайский математик Ван Хао в 1961 году. Элементы этой мозаики можно представить в виде прямоугольников с разноцветными гранями. Но чтобы понять принцип её работы, надо сначала разобраться в классическом методе заполнения площадей текстурами.
А классический метод таков...

Брезенхем и У на страже диагоналей

Время на прочтение4 мин
Количество просмотров99K


На что вы сейчас смотрите? Если вы не из параллельной вселенной, где все сидят за векторными мониторами, то перед вами растровое изображение. Поглядите на эту полоску: /. Если придвинуться поближе к монитору, то можно увидеть пиксельные ступеньки, которые пытаются притвориться векторной линией. Для этой цели существует целая куча всевозможных алгоритмов растеризации, но я бы хотел рассказать об алгоритме Брезенхема и алгоритме У, которые находят приближение векторного отрезка в растровых координатах.

С проблемой растеризации мне довелось столкнуться во время работы над процедурным генератором планов зданий. Мне нужно было представить стены помещения в виде ячеек двумерного массива. Похожие задачи могут встретиться в физических расчётах, алгоритмах поиска пути или расчёте освещения, если используется разбиение пространства. Кто бы мог подумать, что знакомство с алгоритмами растеризации однажды может пригодиться?
Принцип работы алгоритма Брезенхема очень простой...

Каверзные кватернионы

Время на прочтение3 мин
Количество просмотров187K


Отгадайте загадку: в четырёх измерениях сидит и комплексными числами воротит?

Подсказка: это вектор со скаляром. И вещественная матрица. И придумал его Гамильтон.

Не помогло? Ну что вы, это же элементарно! Это кватернион! Кватернионы используют для записи вращений в робототехнике, игровых движках, ПО для моделирования и вообще везде, где не нужны проблемы с углами Эйлера или матрицами. Если вас испугала путаница выше с разными представлениями кватерниона, то можете быть спокойны. Кватернионы очень просты в использовании и их внутреннее строение может понадобиться только в очень редких случаях, где нужна тонкая оптимизация. В остальное время с помощью кватернионов можно крутить всё что угодно и как угодно, и оно будет плавно и красиво интерполироваться без шарнирных замков.
Что же такое кватернион?

Кручу-верчу, запутать хочу: углы Эйлера и Gimbal lock

Время на прочтение3 мин
Количество просмотров131K


Выставите любой палец левой руки вперед. Давайте, не стесняйтесь, никто не будет над вами смеяться. Это нужно для важного эксперимента. Выставили? Теперь представьте что вы — это ваш палец (ну и бред). Повернитесь под прямым углом направо, затем наверх, и наконец налево. Где вы оказались? Правильно, в том же месте, но уже на спине.

С некоторой натяжкой именно так работает вращение с помощью углов Эйлера. Немного непредсказуемо и неудобно, не правда ли? Углы Эйлера имеют несколько недостатков, но есть одно особенно нехорошее свойство из-за которого вы не захотите с ними связываться. Его имя — Gimbal lock.

В русском языке gimbal lock называют по-разному: шарнирный замок, блокировка осей, складывание рамок. К сожалению, по запросам в поисковике с такими ключевыми словами выдаётся много мусора, а статья в Википедии оставляет желать лучшего, поэтому я сам расскажу вам об этом феномене и предложу как с ним бороться.

Внимание! Заходя под кат вы подвергаетесь риску поломать голову.
Ха! Я ничего не боюсь! Где этот gimbal lock?

Real-time дебаг Android и iOS приложений на Unity

Время на прочтение6 мин
Количество просмотров20K
Когда разработка проекта идёт на компьютере, проблемы просмотра лога не встаёт. Но когда начинаешь разрабатывать на планшете, то всё становится гораздо печальнее. Разработчики движка добавили много разных полезных вещей в профайлер, но к сожалению забыли о простой консоли, чтобы переключившись на её вкладку разработчик мог смотреть сообщения от своей игры и отправлять какие-то консольные команды прямо с компьютера на планшет.
Это упущение мы сейчас и будем исправлять.
Читать дальше →

Spatial hashing для самых маленьких

Время на прочтение5 мин
Количество просмотров42K


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

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

Оптимизируем Boid'ов на Unity

Время на прочтение9 мин
Количество просмотров21K


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

Это вторая часть статьи, посвящённая различным хитростям оптимизации Unity и C#, которые увеличивают производительность алгоритма из первой части в пару десятков раз.
Хитрости под катом

Как создать простую Tower Defense игру на Unity3D, часть вторая

Время на прочтение9 мин
Количество просмотров70K
Здравствуйте! Весьма надолго у меня растянулась подготовка материала (жизнь давала изрядных пинков под зад), но вот я справился и готов поделиться продолжением первой статьи с вами.

Часть первая


Неудачный тест физики

В этой части мы:
— оптимизируем код из предыдущей статьи;
— создадим объект «база» и научим её чиниться время от времени;
— добавим пушкам патроны и перезарядку;
— избавимся от «неудобной» переменной gv;

А в конце статьи вас ожидает маленький бонус :)

Всем заинтересовавшимся — добро пожаловать под долгожданный кат!
Читать дальше →

Ближайшие события

Boid'ы, птички и Unity3D

Время на прочтение10 мин
Количество просмотров50K


Вторая часть: Оптимизируем Boid'ов на Unity

Задумывались ли вы когда-нибудь о то, почему птицы летая большими стаями никогда не сталкиваются и не коллапсируют в огромный галдящий перьевой ком? Хм, если подумать, это было бы круто. В любом случае, однажды в 1986 нашёлся человек по имени Крейг Рейнольдс, который решил создать простую модель поведения птиц в стаях и назвал её Boids. В модели у каждого боида есть три базовых правила: Separation, Alignment и Cohesion. Первое заключается в избегании столкновения с соседями, второе заставляет лететь примерно в ту же сторону что и соседи, а третье говорит не летать в одиночку и держаться группы. Эти простые правила позволяют создать правдоподобные стаи птиц, рыб и другой живности, чем и пользуются в кино и игровой индустрии.

В статье я расскажу как можно реализовать эту модель на практике. Для разработки я использую Unity и C#, но большинство вещей верны для других движков и языков. В этом туториале я не разжёвываю основы работы с Unity, подразумевается, что вы знаете эффект комбинации Ctrl+Shift+N на сцене, умеете работать с инспектором, дублировать и двигать объекты. Если нет, то советую начать с этой статьи. Или можете просто посмотреть на картинки.
Прошу-с проследовать под кат, только после вас!

Вечера гейм девелопмента в Петербурге с Unity Technologies

Время на прочтение2 мин
Количество просмотров4.9K
Краткий анонс: наш маркетинг-тим согласился, что слишком мало внимания уделяется русскоязычному комьюнити. Теперь изобретаем соответствующие процессы. Надеюсь, все получится :) А теперь о событиях следующей недели…

Вечера гейм девелопмента в Петербурге с Unity Technologies


Продолжая добрую традицию небольших и уютных мероприятий для игроделов Петербурга предлагаем следующую инициативу.

Три вечера подряд с 18:00 и до 21:00 в «Циферблате» можно будет найти технического специалиста компании Unity Technologies Олега Придюка. Он с удовольствием ответит на технические и безнес-вопросы про разработку игр, про использование движка Unity, про тренды мирового рынка, посмотрит Вашу игру и предложит советы по ее улучшению.
Читать дальше →

Unity3d + SQLite

Время на прочтение4 мин
Количество просмотров48K
Это будет практическое руководство по использованию SQLite в Unity3d. Я расскажу что это такое, для чего может потребоваться, как реализовать и порекомендую инструменты для удобной работы. Статья ориентирована на начальный и средний уровни. В конце Вас ждёт небольшой бонус. Всем заинтересованным добро пожаловать под кат.
Мне интересно

История плохого старта на Google Play

Время на прочтение5 мин
Количество просмотров124K

Хотел бы с Вами поделиться опытом создания своей первой мобильной игры. Весной 2012 года глядя на аркадные «мотоциклы» своего знакомого, которые занимали верхние места в рейтинге Google Play, загорелся тоже сделать нечто подобное. Выбор пал на зомбодавилку, таких игр целая масса, но я думал выделиться полноценной 3d графикой, гаражом с возможностью прокачки техники. Опыт создания игр на движке Unity3d уже был, но под мобильные устройства делал впервые. Разумеется, делал не сам, а с художником, в свободное время.
Читать дальше →

Unity для iOS и Android теперь бесплатно для инди разработчиков

Время на прочтение1 мин
Количество просмотров47K
Хорошая новость для инди разработчиков игр под мобильные платформы. Возможность паблишить из Unity под iOS и Android тепрь бесплатна.

Стоит уточнить что бесплатно отдают только base лицензию, которая стоила 400$ для каждой платформы. Если вы заинтересованы в дополнительных возможностях, таких как динамические тени, рендеринг в текстуру, пост процесс и некоторые другие, то вам всё таки придётся купить Pro лицензию, которая стоит 1500$.
Читать дальше →

Пусть будет Unity в Вашем городе

Время на прочтение2 мин
Количество просмотров5.9K
Друзья, некоторое время назад у меня получилось выбить бюджеты и внимание к русскоязычному комьюнити. Наглядные результаты —


Планируется ещё больше: мероприятия в Москве, Минске, Петербурге, Калининграде; активно работаем над курсами по Unity с частными школами и вузами.
Читать дальше →

Про Unite Nordic и мотивацию

Время на прочтение1 мин
Количество просмотров4.4K


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

По похожей формуле с 2007 года Unity проводит ежегодную конференцию Unite в разных частях света. До 2013 года Юнайт был один, теперь мы решили в каждой части света делать свою конференцию. Для Европы — это Unite Nordic, который пройдет сразу после КРИ, с 21 по 22 мая в шведском городе Мальмё, который находится недалеко от аэропорта Копенгагена. Билеты стоят около 230 USD для взрослых и 76 USD для студентов.

Зачем ехать на Unite Nordic?


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