воскресенье, 20 октября 2013 г.

А где Giperion? или затянувшееся молчание

 It's be a long way...


Ну что ж. Я почти уверен что никого здесь уже нету :) . Почему так долго? Так полу... Эй, эй, я ж пошутил! Ну лень взяла, тоска, жаба, или что там обычно человека берет. Ничего делать не хотелось. Получилось много букф, но я и так много чего пропустил. Но обо всем по порядку.

понедельник, 12 августа 2013 г.

Отпинговка

Чтож, можно уверено сказать, что я выдохся. Вернее я ничего не хочу делать на этом компьютере (ноутбуке, если на то пошло). До покупки остался почти ровно месяц, но я уже распланировал его использование на год вперед, если не дальше. Столько всего нужно отрендерить.... и еще много сделать чтобы отрендерить :D .
Я потихоньку удаляю игры с ноута. ТФ2, l4d2. Никогда бы не подумал их удалить, а вот подижды...
Моделирование, программирование, фракталы, рисование, разработка вебсайта - все заброшено. Но только на месяц! Честно!
Единственное чем я щас занимаюсь (из творческого) - играю в майн с другом. С модами IC2, BuildCraft, ThaumCraft, BiblioCraft, TwilightForest и еще каким то. Классический майн уже слишком прост для меня.

Как вы видите оформление просто афигенное. Да мы настолько убоги, что поселились в пещере, где даже копать почти не надо было. Зато у нас есть куча ништяков, стак алмазов, ядерный реактор генерящий 320 EU/T, масс фабрикатор и все нужное для тауматургий и зельеварения. Из ништяков - ферма пшеницы/морковки/арбузов/тыкв (спасибо Saul_Myers, главный огородник дома), редкие саженцы деревьев (мало кто знает как их достать, а я пол сумеерчного леса обшарил), собственный стол раскрафта и зачаровка. Есть все что душа пожелает, правда еще в билдкрафт не уходили. Ну и конечно же все время откладываем постройку дома, т.к. мне лень строить, а Маерсу тем более.

Такие дела.

суббота, 20 июля 2013 г.

Адресса, сигнатуры или "Как делать трейнера для игр?" часть 1

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

К примеру где хранятся значения в запущенных программах и как получить к ним доступ. Собственно ответы на эти вопросы я получил хуй знает когда, а сегодня я просто применял знания на практике (и подкреплял все это с новыми знаниями программирования).

Сначала я скачал себе OllyDbg но он видимо был создан для конченых программистов, но потом я решил по старинке обойтись CheatEngine. Скажу сразу - про Olly я тоже скажу пару слов. Поехали.

Программа намекает: "ТРАССИРУЙ, ТРАССИРУЙ МЕНЯ ПОЛНОСТЬЮ"
Как догадался ваш внутренний КЭП прогу написал я, и специально ради этого дела.
Код просто огромен, поэтому я его здесь оставлю, чтобы вы утонули в нем:


public partial class Form1 : Form
  {
int carrots = 1564;
string story = "Cool story, my friend, but where i?";
   
private void Form1_Load(object sender, EventArgs e)
{
label2.Text = carrots.ToString();
label4.Text = story;
}

private void button1_Click(object sender, EventArgs e)
{
label2.Text = carrots.ToString();
label4.Text = story;
}
}

Для экспериментаторов: я удалил InitializeComponent();. И не надо спрашивать причем тут морковь.

Олли у меня совсем не хотел работать. Уточняю: он не хотел работать в моих корявых непрограммерских руках :D . В тоже время Cheat Engine смог найти значение морковок (он нашел два адресса, но не суть).

Как работать с программами я не смогу сказать, поскольку Cheat Engine интуитивен, а OllyDbg я и сам толком незнаю :D. Единственное что надо знать: адресса заправляют всем. У каждого значение есть свои адресс, по которому его можно достать и изменить.

А теперь ближе к делу. Первое что меня удивило: я не смог отковырять адресс значения лейбла (т.е. именно то, что отображается в том небольшом окошке программы, а ведь это отдельное значение!). Отладчик смог отловить только адресс оригинального значения. Второе: отладчик не мог найти строковое значение! Не, я серьезно! Он реально не мог найти его, чтобы я не делал. Я воспользовался Memory View.... и очень быстро нашел искомое.
Для танкистов: на адрессе 025EC6B4 записан int carrots, а через 16 байтов уже начинается значение string story. При помощи функции Add Address Manually я добавил адресс и указал что это является юникодовой строкой. Сработало.
Еще один интересный момент. В строке нулевые байты означают конец символа. Я там нечайно один сделал ненулевым - в итоге в том месте у меня отобразился какой-то китайский иероглиф. В принципе логично - их же дофига.
Все что я сказал выше - просто подмена значений прямо в запущенной программе. Но можно сделать так, чтобы программа сама не изменяла значения.... или делал с ним что-то другое.
Однако тут есть еще одна проблема. Дело в том, что некоторые значения в программе появляются не сразу. И каждый раз эти значения могут находится в разных адресах.

Соответственно встает вопрос: "А программным способом найти нужный адрес"?

Для этого нам понадобится создать сигнатуру.

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

Сигнатуру можно создать с помощью отладчика OllyDbg. Но об этом я поговорю во второй части статьи.

среда, 26 июня 2013 г.

In-place to Root Motion через NLA

Когда передо мной встала задача создать Root Motion анимацию, то я уже тогда пытался делать через In-place. В декабре прошлого года (тогда я занимался экспериментами с Mecanim) мне удавалось делать это только если небыло никаких IK системы.
Собственно оно и сейчас так, однако что делать если главная кость все таки немного движется? поворачивается, незначительно меняет положение? Или у неё есть множество ключевых кадров?

вторник, 25 июня 2013 г.

Итоги июня... о черт!

Мне особо нечего рассказать/показать!
Тяжелый месяц! На работе заколебали инструкциями, у сестры экзамен, у меня болит башка от C++, сроки горят, модели горят, анимация горит, я горю,... OH SH--! И вечно хочу спать.
Все что я могу сказать - следующий месяц будет лучше. Инструкции уже почти готовы, сестра и родители уедут на отдых и я останусь дома один.

Все еще изучаю WinAPI, хотя частично залез в дебри ассемблера. Пока ничего конкретного, но понятие о регистрах процессора, стеке и разделения блоков данных и инструкции уже знаю. В голове окончательная каша, но это, как говорит мой друг, "значит она варит!" :D.
Узнал страшную тайну "слова" и "двойного слова" (WORD, DWORD). Узнал почему именно они, и как они применяются (при 16 разрядных системах int был WORD, при 32 DWORD).
Значительно разъяснилась ситуация с указателями и ссылками. Фактически уже понимаю главную задумку С++. Нужно еще узнать инфу про DLL, и больше про WinAPI, затем можно доучить DirectX API. А дальше я думаю уже смогу что-то замутить.
Ассемблер - сложная штука. Но пару функции в нем намутить нужно. Все таки прямая работа с регистрами процессора и кэшем - это вам не фиг знает что!

Новая идея для генерации! Теперь я планирую создавать модели комнат и коридоров прямо с кода (без статик моделей, ясен пень, они генерятся по 3D указателям). Сначала располагаем прямоугольные блоки (они пока существуют лишь в коде).Создаем блоки (сначала блоки этажей, затем блоки корридоров, затем блоки комнат, затем блоки специальных объектов), затем присваиваем блокам биом (согласна сгенерированой 2D карте на каждый этаж). if pixelofMap == RGB (20, 20, 20) {block -> biome = BiomeIndex.Classic;) Как то так.
Финальная стадия - создание полигонов на основе этих блоков. Присвоение каждому из них текстуре, согласно биому. Генерация 3D указателей статик моделей для каждого блока. Генерация 3D указателей для entity тригеров и источников света. Презентация всего этого добра пользователю.
Следующие слова лучше не читать, если вы любите картинки, а не кучу текста. Примерно через недельку нарисую кучу схем где наглядно видно весь процесс.
Вот смена биома еще ладно. Всем пропам говорим "Сдохни с анимацией", текстурам играть анимацию смены. Смена блоков немного затруднительно, однако все равно понятна. Для каждого старого блока нужно проверить на наличие идентичного по размером нового блока, который находится в определенном радиусе. Далее выбор: 1) Вся комната с "треском и шумом" сдвигается на новую позицию, где определен новый блок. Если размеры чуть чуть отличаются, то сдвигаются и стены. Комната может сдвинутся с одного этажа на другой, таки да. Кроме случаев с подвалом, но там своя атмосфера, да... 2) Комната тпшится на новое место, правда тоже с треском и шумом. Точнее с спецэффектами. А может и без них, тогда для игрока будет "SURPRISE MATHAFACKA".

Настоящий пздц происходит если коллапсирует корридор и лестница (лестница - отдельный спец. блок). Тогда проверяются все старые блоки которые связаны с ним, и далее происходит то что описано выше. Но может случится пиздец. Это когда комнаты коллапсирует БЕЗ смещения или телепортирования. Тогда все что находится в них - дохнет, кроме случаев с некоторыми анимациями (некоторые анимации разрушают стены или пол/потолок, позволяя перебраться в другую комнату пока не поздно).

Я вчера целый день думал над одной дилемой. Описаную выше систему можно сделать совместимой с сетевой сериализацией. Говоря человеческим языком - можно сделать мультиплеер с такой вот системой генерацией. Но надо закладывать такую систему изначально, а это дополнительный геморрой. Но потом будет весело. Или все таки не стоит?

Ориентировочная дата начала написания системы генерации: середина августа. Возможно раньше, а возможно гораздо позже. Я склоняюсь ко второму варианту, увы...
Только есть один момент. Я её напишу. Это точно. ТОЧНО! Рано.... ну или поздно.

суббота, 8 июня 2013 г.

Одна из тупость Блендера

Меня Блендер как 3D пакет устраивает, но как анимационный........
Нет, сам по себе процесс творения анимации нарекания не вызывает, проблема кроется в завершении. В чем именно? В запекании....

понедельник, 27 мая 2013 г.

Конец мая. Новости

Учу матчасть. Мозг ломаю этой штукой с начала апреля.

Я не просто написал эти строчки. Я еще знаю что они означают :D

среда, 22 мая 2013 г.

SCP-470 Dev Note

Создание новых моделей почти прекратилось ;(.
Хотя программирование на С++ пошло. Короче объявляю май месяцем программирования.
Узнал наконец-то страшную тайну WinAPI и DirectX. Не полностью конечно, но это не надолго.

Кроме того, скорее всего придется писать плагин для Unity, который управляет генерацией SCP, и правильно регенерирует его в режиме реального времени. До этого момента делать новые модели смысла не вижу.... Потому что без генерации игры может даже и не быть....

Алсо, есть идейка написать одно приложение. Создание моделей по нодам. Идея не нова - Autodesk Softimage это уже делает (гуглите кому надо, жоская прога), однако главная цель - создание динамических моделей, которые меняются согласно нодам в режиме реального времени. Надо ли говорить зачем?)

четверг, 16 мая 2013 г.

Регистрация доменов

Принял решение зарегистрировать домен для своей студий и будущей игры.
Хочу регать либо в .com либо в .net зоне. Скорее всего для игры будет .net, для студий .com
Сам операция будет произведена завтра, ибо нехуй откладывать в долгий ящик.
Несмотря на то, что сейчас у меня фигурирует blUe Day Team, скорее всего будет произведена запись как blUe Day Studio, поскольку регаю на долгое время.
Сайты.... чтож, кое какими навыками я все таки обладаю. Ну как...
Движок написать я несмогу, но статик сайты сделать - за милую душу.

Сон и работа. Работа или сон?

Хочу работать (в смысле по своему проекту, а не на "работе"), поэтому я выбираю работу.
Организм выбирает сон.
А у этой сволочи кое-какой приоритет, поэтому ее решение частенько преобладает над моим.
Суть разногласия в том, что я работаю 5/2, тогда как мой организм, можно сказать, официально поддерживает только 2/2 график.
Поэтому мне, волей-неволей, пришлось сбелать среду - техническим выходным. Это когда я прихожу с работы и сразу ложусь спать.
Стало несколько лучше, но в последнее время сил заниматься проектами становится все меньше и меньше (нахуй родители затеяли ремонт? Эхх...). Сегодня впервые сделал две модели находясь на работе, благо теперь все более менее оптимизовано и я уже могу начинать прикалываться :D
Но темп моей работы над проектами меня вообще не устраивает. Абсолютно...

вторник, 7 мая 2013 г.

Кто понимает с++?

Аррррр, задолбало! Кто-нибудь может обьяснить мне как курить динамические типы данных в с++?
Все эти * и & меня выбешивают. Каждый раз читаю и каждый раз попадается на глаза всякая хуйня. К примеру вторая ссылка на объект обьясняется хорошо, но почему то умалчивают процесс создания переменых помеченых звездочкой.
Просто у меня есть предположение, что функциям, которые требуют динамическую переменную нужно в качестве параметра передавать адресс памяти в ОЗУ где находится переменная, просто все молчат об этом... Я просто где то это увидел, но щас вспомнить немогу.
Передавать нужно через оператор адресса (кажется &.... я прав, да?). Скорее всего не так, иначе бы тестовый проект у меня компилировался.
Прошу отписаться в комментариях или ко мне в скайп: sergej_1965

суббота, 27 апреля 2013 г.

Время идет.... но разработка не стоит!

Уже почти май.... приятно осознавать, что апрель прожит не зря:
В каждой папке по несколько моделей:

Кое где еще по одной модели. Кроме всего этого добра еще есть куча доков, куда я скидываю всю текстовую составляющую (показывать не буду ;) ). Еще иногда затрагиваю скриптовую часть (3 скрипта уже есть). К сожалению здесь идет не так бойко как с моделями - нехватает опыта. Кроме того есть несколько общих субстанцев:


Впереди май. Впереди праздники. Впереди куча времени.
И я знаю на что я его потрачу ;) .

суббота, 20 апреля 2013 г.

Текстура с нуля до финала часть 1

Поскольку мой так называемый pipeline по созданию текстуры для модели сильно отяжелел и периодический я что-то забываю, то я принял решение написать его здесь, чтобы при случае вспомнить.
Сразу объясняю: ЭТО НЕ ПРОСТО ИНСТРУКЦИЯ. Здесь не только говорятся действия, но и объясняется почему они делаются так а не иначе. Потому что я периодический забываю причину и снова начинаю экспериментировать, а это не есть good.
Картиночки прилагаются, само собой (просто текст читают только ботаны).

Ладно, начнем.
Дано:
144 треугольников между прочим.
В первую очередь отделяем зеркальные части модели. Я это делаю еще на стадий моделирования, чтобы не парится.
Делаем UV полноценной части (то что черными линиями выше - полноценная модель). Подготавливаем UV к запеканию.
Можно запекать AO но убедитесь что зеркальная часть не будет участвовать в запеканий, а то казус выйдет (сбросьте с неё текстуру). Если не сделать, то зеркальную часть система запечет дважды, с известными проблемами.
Теперь дело за мелкими деталями. Раньше я их не делал, потому что они отъедали кучу полигонов, но после открытия такой штуки как Normal_add в Субстанце и понимания, что для одной модели порой делается несколько карт нормалей, которые потом соединяются.
Ну, на моем стуле нету таких деталей... но... для примера они нужны... хорошо! Допустим у нас есть милые железные хрени.

(незабываем в опциях указывать Selection to Active)
В них много полигонов поэтому они в игру:
Но добавить эти детали в карту нормалей было бы неплохо.
Главное: корректировать значение в Selection to Active, чтобы небыло артефактов по типу таких:
(я там еще этих заклепок понаставил, но уж точно не на спинку стула)
Потом в Субстанце мы будем добавлять эти детали вместе с деталями диффузной текстуры.
К сожалению во всей этой историй есть проблема. Blender незнает что такое Curvation map, и её необходимо получать от других приложений. В частности - в том же субстанце.
Как делать curvation map рассказывать не буду - гуглите, там все просто. Главное - дать ему модель без любых зеркальных частей, но это общее правило при запеканий где либо вообще.
Ну а дальше работа в Substance. Это будет во второй части. Всем добра ^_^.

понедельник, 8 апреля 2013 г.

Первый блин с использованием планшета

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

понедельник, 1 апреля 2013 г.

Восстановления обычного графика

Работа работой, а gamedev по расписанию! Я все понимаю, но у нас есть план, так что уже с сегодняшнего дня начинаем усилено разрабатывать субстанцы для нашей игры. ;)

воскресенье, 31 марта 2013 г.

Пишем скрипты для Illustrator

Скрипт делает маркеры на выбраном объекте.
Альфа версия.
Я бы написал больше, but there no time to explain!
Таки нашел время, смотрите под катом!

пятница, 22 марта 2013 г.

ВНЕЗАПНЫЙ апдейт

Работа судя по всему найдена (сам в шоке). Никаких деталей пока что не будет, но сам факт - радует. А значит скоро у нас будут средства, что позволит к дальнейшей разработке моих проектов.

вторник, 19 марта 2013 г.

Небольшой апдейтик

Нет, я все еще жив, и все еще работаю над своими проектами.

Отличительный процесс: создание нового PH персонажа, для моих и не совсем игр:


Да, я сделал его в MakeHuman. Риг пришлось доделывать, IK костей небыло, впрочем это не заняло много времени.
Лицевой риг шел в комплекте, да вот только он на шейповой системе. Т.е. в Unity он не будет работать.
Документация SCP-470 закончена, провожу GL тесты (рисования линий в редакторе). Нехватает опыта чтобы сразу взять и сделать сложную генерацию уровня. В принципе система такая:
  • Сначала по заданому объему (boundary box) расставляются блоки. На начала генерации все имеют тип EMPTY
  • У каждой модели есть свои объем занимаемых блоков (к примеру у моей тестовой стены 16 блоков). некоторые модели имеют не квадратную форму (проломы), поэтому такая система имеет смысл
  • Генератор определяет потолок и стены исходя и объема. Все нужные блоки получают тип WALL и FLOOR соответственно. Кроме того комнаты помечаются особыми флагами (к примеру "комната из завода", "комната из дома будущего" и т.д.). Разумеется есть множество других типов блоков, но я не буду всех их рассписывать
  • На следующей фазе он начинает размещать модели, исходя из расстановки блоков и флагов комнат. К примеру возле комнаты из будущего он будет размещать только модели стен из будущего (ваш КЭП). В зависимости от рандома и обстановки будут размещаться некоторые детальные объекты (стена с дыркой, куча мусора, пролом в потолке). Все действия согласуются с блоковой системой.
  • Лестницы скорее всего будут в виде большой прямоугольной области. Лестничные области будут вычисляться в первую очередь, поскольку они являются ключевой частью геймплея.
  • Третия фаза: исходя из флагов комнат, начинается спаун пропмоделей. Скорее всего флаги уже будут содержать информацию о типе комнаты (например "класс") и спаунить соответствующие модели из заготовленого enum'а. В корридорах иногда будут спаунится модели общего типа и корридорного. В основном это будет сломанные (или не сломанные) батарей отопления, всяческий мусор и прочая шняга.
  • Четвертая фаза: Расставляем свет. Ну как. За зданием работает "солнце", что немного облегчает работу, но около каждого окна надо ставить волюметрический источник, just for beauty. Большинство лампочек в SCP будут либо разбиты либо просто не гореть, но.... бывают исключения. В принципе эта фаза короткая, поскольку большей части работает с волюметрическим светом и партиклами.
  • И наконец пятая фаза, и пожалуй одна из самых сложно реализуемых. Старая версия уровня плавно перетекает в новую. Все дело в том, что предыдущие фазы вычисляются за кадром в отдельном потоке, который имеет низкий приоритет (по сравнению с игровым потоком). Когда вычисление закончено, то срабатывает скрипт, который врубает пятую фазу. И она должна работать RealTime и желательно не вешать компы вусмерть. А сие не так просто.
Еще существует тысяча и одна мелочь (к примеру я совсем не рассказал о записках, декалей на стенах, обитателях сия строения и много другого). Сюжет.... возможно он даже будет :D . Я уже придумал 4 историй что произошли в стенах SCP-470, но к финалу я там нафантазирую гораздо больше. Учитывая что при моей системе регистрировать новые модели или декали будет просто, то на фантазию я скупится не буду. 
Еще проблема - генерация NavMesh риалтайм - тоже болезненый процесс. И без глюков и приколов не обоидется. LightMap мне юзать нельзя, но хорошего света хочется, поэтому буду долго фигарить шейдеры, пытаясь сделать виртуальный свет на моделях.
Пока что все. Генерация и смена уровня realtime - не единственная фишка. Но подробнее вы узнаете попозже. 

четверг, 14 марта 2013 г.

Скилл растет, но ясность огорчает...

Потому что я узнал, что интересующая меня технология называется raymarching, и полностью она введена именно в directX 11, о котором моя видеокарта (radeon hd 4650) не слышала. Еще один лишний повод побыстрее найти работу, чтоб купить новый ноутбук.
Ну блиииииииииин. Чувствую в долгосрочном будущем я изучу directX 11 вдоль и поперек. Особенно все что касается raymarching`а, но и не только его. Какая то там тесселяция нервно курит в стронке посравнению с реймарчингом, на мой взгляд.
Аарррррг, я точно создам несколько анимированых волюметрических текстур и буду пытать их в моих тестах. Создавать буду скорее всего в Блендере, путем экспорта 3D волюметрий. Если конечно там есть такая опция...
А если нет.... учитывая как меня задела эта технология, то я собственный скрипт написать могу. Вот блеать специально питон выучу и напишу скрипт для Блендера, который будет экспортировать анимированую волюметрию в 3D текстуры.

воскресенье, 10 марта 2013 г.

SCP объекты-сооружения. Результаты опроса.

Поскольку мой навыки с Substance надо отточить до бритвенного состояния, нужно выбрать проект. Увы, [Squiri] не подходит, поскольку персонажное текстурирования все еще не готово для практики, тогда как статика - вполне.

Быстренько пробежавшись по SCP энциклопедий (люблю её ^_^) я выбрал несколько кандидатов, которые я смог бы реализовать. И устроил опрос.

суббота, 23 февраля 2013 г.

23 февраля посоны!

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



Изображение кликабельно.

четверг, 14 февраля 2013 г.

Творческих групп 3D анимации.... нет?!

Как же это все печально....
Сегодня я попробовал поискать творческую группу, которая занимается съемкой короткометражек (даже неважно каких)  и 3D анимации.
У меня неполучилось! Я искал в vk.com и в гугле! Мне попадались множество разных творческих групп и объединений, занимающихся музыкой, ИЗО и конечно же вокалом (причем вокальных кружков просто дохера, плодятся как кролики >_< ). Были и те, кто занимался анимацией, но на примитивном уровне (стопмоушн или вообще ручная анимация). Про моушн графику и 3D анимацию наши творческие таланты видимо не слышали.... А ведь делать ее не так уж и сложно (во всяком случае легче чем ручную анимацию)!
Не, я знаю что есть коммерческие творческие группы которые этим занимаются, но я сейчас говорю про ОТКРЫТЫЕ творческие организации, где каждый может присоединится к творческому процессу вместе с единомышлениками. Как это щас происходит с вокалом и ИЗО.
Вот в индий один чел смог собрать подобную группу. А мы не можем... Почему? Потому что мы DNIWEEEEEEEEEE!!!!

пятница, 1 февраля 2013 г.

Unity Texture Sheet Animation

Сегодня, помимо создания новых моделей и войны с роутером, я пробывал делать анимированые партиклы. С некоторым успехом:


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

Вот щас я думаю - создавать их в Blender или в After Effects?

И да. Завтра намечается одно дело. Серьезное дело, сулящая деньги. Нужно будет санимировать нарисованого персонажа. Т.е. сделать 2D риг, настроить его, и собственно санимировать. И не забыть про сцену. Ну это мы умеем....

Кроме того я планирую создать туториал по меканиму сразу как только закончу делать персонажа.

вторник, 22 января 2013 г.

Особенности национального текстуринга

Как обычные люди делают текстуры травы для игры/CG? По фото материалам? А вот я не смог найти достойные фото материалы.
Поэтому мы делаем через систему N.I.P.E.L:



Вот еще одна текстура из той же оперы:


Рендерил в ортографическом режиме. Кстати, текстуру еще не обработал в фотошопе. Хотя исходник мне нравится - именно такой какой я хотел :D .

пятница, 18 января 2013 г.

Фракталы

Да, вот такое простое название :) . Как то раз я думал "Вот вроде все могу создать, и все же что я упускаю?" Зашел на demiart.ru, смотрю новые работы. И тут я наткнулся на раздел фракталов. И до меня наконец то дошло. "БЛ# НУ ТОЧНО ЖЕ, Я НЕИЗУЧИЛ ФРАКТАЛЫ. В ту же минуту я ринулся исправлять эту досадную ошибку =) .

среда, 9 января 2013 г.

Пост-эффекты в Unity. Первый шаг...

Сегодня, при помощи горстки конфет, полтора часа и музыки от Pendulum запилил свои пост-эффект для Unity, не без с помощи сторонних примеров правда. Немного взбесило, что все примеры шейдера пост-эффекта имеются только на cg/glsl, ну да ладно, я его тоже хотел изучить. В принципе там только uniform'ы надо прописать и помнить некоторые отличия по инструкциям и функциям.