kaddyd

kaddyd

пикабушник
поставил 14574 плюса и 54 минуса
отредактировал 23 поста
проголосовал за 25 редактирований
15К рейтинг 217 подписчиков 1983 комментария 28 постов 8 в горячем
1 награда
5 лет на Пикабу
58

Змейка

Написал на досуге простенькую мультиплеерную змейку: https://snake32.herokuapp.com

Змейка Gamedev, Мультиплеер, Инди игра

Работает только с компьютера, немного лагает... ну, первый блин, как говорится.

Управление стрелками. Мигающие белые точки - яблочки, серые точки - стенки. Ссылок на комнаты нет, выбираются случайно.

Сделано для конкурса игр на http://igdc.ru (не реклама), исходники будут открыты через несколько часов по окончанию конкурса. По правилам конкурса игра должна быть размером 32х32 пикселя и желательно не более 16 цветов.

Пожалуйста, не судите строго :'(

656

Два уровня "гениальности"

Стою в пробке, впереди крупный ремонт дороги. Целая куча альтернативно одаренных летит по обочине. Но некоторым этого мало, они обгоняют всех по обочине обочины.

Два уровня "гениальности" Обочечники, Гнев

Искренне желаю, чтобы они навернулись оттуда.

37

Как запилить свой аватар в VRChat из MMD

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


Шаг 1. Подготовка.


Во-первых, если вы играете через Steam, использовать свои аватары вы вроде бы не сможете, нужен именно аккаунт VRChat. Зарегистрироваться и войти с ним вы можете в самой игре, тыкнув "Logout" в меню "System", или же перейдя по этой ссылке: https://vrchat.net/register


Далее нужно скачать и установить Blender и Unity:

- Blender (не ниже 2.79): https://www.blender.org/download/

- Unity (подойдет в минимальной комплектации, не ниже 5.6.3p1): https://store.unity.com/ru/download?ref=personal


Для Blender'а есть два оч-чень полезных плагина:

- mmd_tools: https://github.com/sugiany/blender_mmd_tools/archive/master....

- CATS: https://github.com/michaeldegroot/cats-blender-plugin/archiv...


Из первого архива нужна только папка mmd_tools, второй архив нужно распаковать целиком. Обе папки копируем в C:\Program Files\Blender Foundation\Blender\2.79\scripts\addons (возможно, у вас будет другая версия Blender'а, но думаю найдете). Запускаем Blender от имени администратора (важно!), тыкаем File -> User Preferences -> Add-ons, ищем "Object: mmd_tools" и "3D View: Cats Blender Plugin" и проставляем галочки у обоих, после чего жмем кнопку "Save User Settings".


Подготовка Blender на этом закончена, открываем Unity. Входите, если у вас уже есть аккаунт, или тыкайте "create one", если еще нет. После того, как войдете, жмите "New" и создавайте новый 3D-проект.


К Unity тоже нужен один плагин:

- VRChat SDK: https://vrchat.net/download/sdk


Просто запустите его после скачивания и тыкните "Import" в появившемся окошке Unity. Через какое-то время оно установится и в меню появится новый пункт: "VRChat SDK". Зайдите в него, нажмите "Settings" и в появившемся окошке введите свои логин и пароль. После входа нужно нажать "Edit" и выбрать exe-файл VRChat'а (для Steam-версии это обычно будет C:\Program Files (x86)\Steam\steamapps\common\VRChat\VRChat.exe). После совершения всех манипуляций окошко можно закрыть.


Шаг 2. Обработка модели.


Для начала нужно найти модельку. Пишете в гугле "download mmd model" - и тысячи их! Только осторожнее с авторскими правами. Для примера возьмем эту замечательную модель авторства HarukaSakurai: https://harukasakurai.deviantart.com/art/MMD-PDF-2nd-Border-... Как будет видно дальше, эта моделька не идеальна и имеет свои косяки при переносе, но это даже лучше - можно показать нестандартные ситуации.


Крайне советую не брать модели с большим количеством деталей (например, сложные костюмы или волосы) и с детализированными текстурами. У VRChat есть определенные ограничения на сложность модели, и в процессе обработки такая модель скорее всего запорется и станет некрасивой.


В Blender удалим стартовый белый куб клавишей Delete на клавиатуре, после чего найдем слева внизу вкладку "CATS" и тыкнем "Import Model":

Как запилить свой аватар в VRChat из MMD Vrchat, Blender, Unity, MMD, Mikumikudance, Длиннопост, Туториал

Слева внизу во вкладке "Import Model file (.pmd, .pmx)" в поле "Scale" укажите значение 0.08 и найдите .pmx файл модели. После того, как он откроется, нажмите кнопку "Fix Model" слева, разверните пункт "Translation" и протыкайте в нем все четыре кнопки по очереди.


Если вы совсем новичок в Blender, то управлять камерой можно при помощи вращения колесика мышки (приблизить-отдалить), зажатого колесика мышки (поворот вокруг фигуры) и зажатого колесика мышки с клавишей Shift на клавиатуре (перемещение камеры).


Следующее, что нам нужно сделать, это упростить модель. Если развернуть окно Blender'а на весь экран, то в самом верху будет строчка с количеством точек, вершин, треугольников и т. п. Нам нужно, чтобы количество треугольников (Tris) было меньше 20 000 - это ограничение VRChat'а.

Как запилить свой аватар в VRChat из MMD Vrchat, Blender, Unity, MMD, Mikumikudance, Длиннопост, Туториал

К счастью, у этой модельки их уже довольно мало. Однако встречаются модели с количеством треугольников под 100 000 и выше - и их довольно сложно упростить.


Есть два способа упрощения моделей: автоматический и вручную. В автоматическом вы просто разворачиваете пункт "Decimation" и нажимаете кнопку "Quick Decimation". Но для сложных моделей этот способ может сильно исказить фигуру, поэтому я расскажу про более сложный ручной.


Для упрощения модели вручную нажмите кнопку "Separate by Materials". Это разобьет цельную модель на несколько более мелких объектов: волосы, глаза, одежда и т. п. Справа вверху, в дереве объектов, раскройте пункт "Armature" и выберите любой из объектов с иконкой треугольника (например, "Material 0"). Затем нажмите на такую же иконку треугольника чуть ниже:

Как запилить свой аватар в VRChat из MMD Vrchat, Blender, Unity, MMD, Mikumikudance, Длиннопост, Туториал

Дело в том, что крайне нежелательно упрощать те части модели, которые участвуют в анимациях. Если в поле "Shape Keys" у вас написано только "Basis", значит эта часть в анимациях не участвует, и мы ее можем смело упрощать.


Для упрощения перейдите в пункт с иконкой гаечного ключа, нажмите "Add Modifier" и выберите "Decimate". Значение "Ratio" показывает, насколько сильно будет упрощена модель, по шкале от нуля (полностью упрощена) до 1 (оставить все как есть). Кроме того, есть режим "Planar", который автоматически упрощает схожие треугольники. Пробуйте разные способы, чтобы и треугольников стало поменьше, и внешность не сильно запоролась.


Для данной модели я решил упростить волосы (которые прятались под именем "Material 14"), после чего количество треугольников снизилось до 19 925.

Как запилить свой аватар в VRChat из MMD Vrchat, Blender, Unity, MMD, Mikumikudance, Длиннопост, Туториал

В конце, после ручного упрощения модели, нажмите кнопку "Join Meshes", чтобы объединить обратно все части.


Итак, модель упростили. Следующее, что нужно сделать, это настроить лицевую анимацию. Раскрываем пункт "Eye Tracking" и проверяем, правильно ли стоят значения. Конкретно у данной модели есть косяк - не указаны глаза, а вместо них определились волосы ("Ahoge"). В таком случае отключаем движение глаз галочкой "Disable Eye Movement". У "Blink Left" и "Blink Right" должно стоять что-то типа "Wink" - тут все правильно. Жмем "Create Eye Tracking".


Для анимации рта раскрываем "Visemes" и проверяем: должны стоять "Ah", "Your", "There". Жмем "Create Visemes".

Как запилить свой аватар в VRChat из MMD Vrchat, Blender, Unity, MMD, Mikumikudance, Длиннопост, Туториал

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


Последним, что нужно сделать, это объединить все текстуры в одну. Открываем пункт "Optimization", ставим "Margin" чуть побольше (где-то от 0.02 до 0.05 - по вкусу) и жмем "Create Atlas". В результате в папке, куда вы сохранили файл Blender'а, будет создана скомбинированная текстура модели. Если текстуры слишком сильно запортачились, удалите этот файл, в Blender'е нажмите Ctrl-Z на клавиатуре и попробуйте увеличить "Texture Size" и включить "Pack Islands".

Как запилить свой аватар в VRChat из MMD Vrchat, Blender, Unity, MMD, Mikumikudance, Длиннопост, Туториал

Последнее, что нужно сделать в Blender'е, это экспортировать модель. В самом верху жмем кнопку "Export Model" и слегка настраиваем экспорт в панельке "Export FBX". С зажатой клавишей Shift убираем "Camera" и "Lamp" на вкладке "Main", на вкладках "Geometries", "Armatures" и "Animation" снимаем все галочки. Должно получиться как-то так:

Как запилить свой аватар в VRChat из MMD Vrchat, Blender, Unity, MMD, Mikumikudance, Длиннопост, Туториал

Сохраняем файл куда-нибудь и переходим к Unity.


Шаг 3. Настройка модели в Unity.


В самом начале ваше окошко Unity должно выглядеть как-то так:

Как запилить свой аватар в VRChat из MMD Vrchat, Blender, Unity, MMD, Mikumikudance, Длиннопост, Туториал

В правом верхнем углу откроем вкладку "Inspector", а внизу создадим папку с названием аватара и перетащим туда из проводника файл .fbx и текстуру. При этом может быть автоматически создана папка "Materials".

Как запилить свой аватар в VRChat из MMD Vrchat, Blender, Unity, MMD, Mikumikudance, Длиннопост, Туториал

Справа от персонажа есть иконка со стрелкой. Нажмите ее и в развернувшемся поле выберите первое "Body" (выглядящее точно так же, как основная иконка). Справа во вкладке "Inspector" будут показаны использованные в модели материалы. В идеале должен быть всего один материал, который мы развернем, поставим "Rendering Mode" в "Opaque" и перетащим мышкой текстуру на квадратик рядом с полем "Albedo".


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

Как запилить свой аватар в VRChat из MMD Vrchat, Blender, Unity, MMD, Mikumikudance, Длиннопост, Туториал

Далее нам нужно настроить скелет. Жмем по основному файлу модели, справа в инспекторе ставим "Animation Type" в "Humanoid", тыкаем "Apply" и "Configure":

Как запилить свой аватар в VRChat из MMD Vrchat, Blender, Unity, MMD, Mikumikudance, Длиннопост, Туториал
Как запилить свой аватар в VRChat из MMD Vrchat, Blender, Unity, MMD, Mikumikudance, Длиннопост, Туториал

Здесь нужно проверить, соответствует ли каждая кость из модели кости скелета Unity. Иногда они могут неправильно определиться - например, в разделе "Head" косичка определилась как правый глаз. Но у нашей модели нет отдельных глаз, так что щелкаем по кружочку справа и выбираем "None".


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


По окончанию редактирования скелета жмем кнопки "Apply" и "Done" внизу, после чего перетаскиваем мышкой модель в дерево слева. Моделька покажется где-то вдалеке, можно приблизить ее колесиком мышки.


Отрегулируем высоту аватара. Правой кнопкой мышки тыкнем по пустому месту в дереве слева, выберем 3D Object -> Cube, передвинем этот кубик куда-нибудь рядом и укажем у него в свойствах: "Position Y" = 0.75, "Scale Y" = 1.5. Итого кубик полтора метра высотой. Как видно, наш аватар чуть выше - давайте для примера чуть укоротим его. Для этого выберите его и во всех трех полях "Scale" пропишите 0.9. Куб после этого можно удалить.

Как запилить свой аватар в VRChat из MMD Vrchat, Blender, Unity, MMD, Mikumikudance, Длиннопост, Туториал

Далее, нам нужно добавить для аватара специальный компонент. Выделите аватар, нажмите кнопку "Add Component" и в окошке поиска введите "Avatar Descriptor". Компонент добавится.


В настройках компонента нужно указать пол ("Default Animation Set" - у нас будет "Female") и позицию камеры ("View Position"). На последнее указывает небольшой серый шарик, обычно появляющийся чуть выше головы. Советую установить его примерно на уровне носа, изменяя координаты Y и Z и проверяя.

Как запилить свой аватар в VRChat из MMD Vrchat, Blender, Unity, MMD, Mikumikudance, Длиннопост, Туториал

В поле "Lip Syns" выбираем "Viseme Blend Shape" и проставляем соответствующие значения в каждое из появившихся полей.


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


Шаг 4. Загрузка.


Тыкаем в меню VRChat SDK -> Show Build Control Panel, в появившемся окошке жмем "Build & Publish" и ждем. Через какое-то время нам выведется форма "New Avatar", в которой нужно проставить название и описание, согласиться с правилами VRChat'а и залить аватар.

Как запилить свой аватар в VRChat из MMD Vrchat, Blender, Unity, MMD, Mikumikudance, Длиннопост, Туториал

По завершении довольно долгой операции ваш аватар сразу же будет доступен в VRChat. Well done, now you know da way!

Как запилить свой аватар в VRChat из MMD Vrchat, Blender, Unity, MMD, Mikumikudance, Длиннопост, Туториал
Показать полностью 16
2

Lator - утилита для клина и тайпа комиксов

Доброго времени суток, товарищи.


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


Лежит тут: http://lator.nizarium.com/


Как этим пользоваться:

1. Открываете нужные картинки (можно просто перетащить файлы на канву).

2. Тыкаете мышкой по свободному месту внутри пузыря.

3. Тыкаете мышкой внутри пузыря еще раз, следя, чтобы перекрестье было на максимальной ширине-высоте.

4. Вводите новый текст и устанавливаете параметры шрифта.

5. Тыкаете по тексту еще раз (выделение сбросится) и двигаете его стрелками на клавиатуре, подгоняя в нужную позицию. А если зажать Shift, будет двигаться быстрее.

6. Сохраняете в нужный формат.


Фичи:

- Есть сохранение в PSD (правда, слегка кривоватое, но об этом ниже).

- Есть свой собственный формат сохранок, для работы в команде.

- Возможность клина градиентных фонов ("умная" заливка в настройках; но нее нежелательно применять на однотонных фонах).

- Пресеты шрифтов.

- Более-менее удобное и почти интуитивное управление, с подсказками на каждой кнопке.

- Ну и если не клинить звуки и текст вне пузырей, то графические редакторы даже не нужны, хватит одной этой утилиты.


Недостатки и известные баги:

- Не может клинить текст, если он пересекается с рамкой пузыря. Это вполне понятно - алгоритм считает эти буквы частью рамки.

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

- Примерно половина шрифтов в PSD сохраняются неправильно и при открытии в Photoshop требуют замены. Я долго бился, но так и не смог понять, как их универсально сохранить :( Эта часть формата PSD не документирована вообще, так что звыняйте.

- Да и вообще текст в Photoshop будет выглядеть немного иначе. Просто потому, что я использовал встроенный рендеринг шрифтов, а у Photoshop он свой.

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

- Диалог сохранения тоже притормаживает, но пользоваться-таки можно.

- Нельзя поменять оформление у части текста. Т. е. выделить одно-единственное слово жирным, к примеру. Будет добавлено в неопределенном будущем.

- Есть какой-то непонятный баг, когда файлы не открываются с первого раза, а со второго все нормально. Отловить не удалось, скорее всего относится к браузеру или системе.

- Не тестировалось в браузерах, отличных от Chrome. В Firefox будет работать, в IE... не будем о плохом. В мобильных также не работает.

- Да и вообще где-то что-то может не заметил :)


На самом деле, пользоваться вполне можно и удобно :) Вот, при помощи одной только утилиты перевел за несколько минут (баянометр ругался на другой перевод, ну да мне только для примера):

Lator - утилита для клина и тайпа комиксов Перевод, Комиксы, Манга, Полезное, Сайт, Длиннопост

И как это выглядело в работе:

Lator - утилита для клина и тайпа комиксов Перевод, Комиксы, Манга, Полезное, Сайт, Длиннопост

Надеюсь, кому-нибудь будет полезно :)

Показать полностью 2
-7

Откуда берется цена биткоинов?

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


Только что прошел очередной бум майнинга, и на авито полным-полно объявлений о продаже майнинг-ферм. Курс криптовалюты Etherium рос-рос - и вдруг стал падать, сделав ее майнинг менее выгодным. Но как вообще формируется этот курс, кому писать петиции?

Откуда берется цена биткоинов? Биткоины, Ethercoin, Криптовалюта, Майнинг

Дело в том, что любая криптовалюта сама по себе - по сути набор фантиков. Эти фантики чего-то стоят только тогда, когда за них предлагают реальные деньги, в том или ином эквиваленте. Пока биткоины просто майнили, не предлагая за них ничего, они так и оставались фантиками.


В 2010 году чувак по имени Ласло купил две пиццы за 10 000 биткоинов. По тогдашнему курсу это было около 40-50 долларов - или 0.5 цента за один биткоин. Через три года, в 2013, один биткоин стоил уже около 900$. Сегодня он оценивается выше 2 500 долларов США.


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


По данным https://coinmarketcap.com/, на текущий момент капитализация биткоина составляет 41 458 272 085 долларов, при этом в обороте находится 16 415 412 биткоинов. Цену получить очень просто: делим одно на другое и получаем 2 525.57 долларов за один биткоин.


На разных обменниках цена может отличаться по этой же причине. У владельца обменника есть сколько-то баксов и биткоинов. Их частное и формирует цену обменника - в самом простом случае, конечно.


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


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


Ну и как вывод, в целом от увеличения майнинга цена падает, а от продажи крипто-монеток за реальные деньги - растет.


Так что в недавнем падении курса Ethercoin виноваты сами майнеры :)

Показать полностью
Отличная работа, все прочитано!