Отчёт #13 - Ни стыда, ни совести, ни ссылки
Выглядит как баннер к какому-нибудь сериалу про раздвоение личности ;)
Этот отчёт будет просто бомбический. Новостей за эти два месяца накопилось просто куча. Начну с мелочей и закончу самой важной новостью, КОТОРУЮ ВСЕ ДОЛЖНЫ ПРОЧИТАТЬ! Спасибо :)
Discord боты и кухонный хостинг
Да-да, они давно уже сидят на сервере и выполняют простые задачи: следят за спамерами, приветствуют новичков, шлют сердечки и т.д. Но проблема была в том, что жили эти боты на рабочем компьютере, из-за чего они не всегда могли выполнять свою работу и защищать сервер. Поэтому я решил заказать Raspberry Pi 4 и перенести ботов на него…
Вот и перенёс. На кухню. На холодильник. На салфетку. Потому что шумит он, как чёрт!
Но зато работает и даже сообщения умеет слать :)
Когда-нибудь они будут разговаривать...
Scene Optimizer мой спасательный круг для разработчиков
В момент, когда я приступил к работе с огромной пляжной сценой, где должно быть много деталей и персонажей, я влип, потому что люди, продающий ассеты в Daz, понятия не имеют, что такое оптимизация. Тратить день-два на чистку сцены – это просто тупая обезьянья работа, поэтому я потратил две недели на скрипт, который делает это всё сам. Гений. Просто гений. Но зато он делает это намного лучше и быстрее меня :}
В официальном магазине Daz уже продаётся какой-то там известный среди разработчиков Scene Optimizer за 25 долларов, но этот мусор делает свою работу 30!!!, блин, минут и не обладает никакой полезной логикой. Ну, а мой оптимизатор чё умеет? Сейчас расскажу. Так вот, он написан аж на двух языках (Daz Script 2 и Python). В его основе система LOD-ов, которая используется в игровых движках типа UE или Unity. Работает в 50 раз быстрее благодаря многопоточности, меняет разрешение текстур в зависимости от дистанции, удаляет мусор и делает много всего другого, что позволяет рендерить огромные локации при ограниченной памяти видеокарты.
Угадайте, на какой картине оригинальная сцена, а на которой оптимизированная? Оригинальная занимает 21ГБ памяти, а оптимизированная - 1ГБ.
И вот сижу я с этой штукенцией и думаю… А ведь это можно продать другим разработчикам, чтобы они могли творить. Делать рендеры в больших локациях, а не в кабинках туалета :} Поэтому я отправил заявку в Daz на то чтобы стать Daz Published Artist и опубликовать скрипт! Хехей! Правда, они максимально оправдывают свою программу. Я месяц уже жду, пока они проверят всё.
Ради прикола я для русскоговорящих разработчиков сделал такое вот видео, демонстрирующее абсолютное преимущество этого инструмента перед тем мусором, что продаётся в магазине Daz >:D
Смотреть со звуком!
Смотреть со звуком!
Кстати, вы, возможно, слышали от других разработчиков, что памяти их видеокарт не хватает, и что им приходится покупать всякие там Quadro A6000, которые стоят по полмиллиона рублёв. Так вот, теперь можете говорить им, что они зря тратят деньги :)
kRigger стратегический ресурс keyclap
Продолжение темы предыдущего отчёта про собственный риг, который будет использоваться всеми персонажами при позировании и создании анимаций. И да, он наконец-то закончен. Не полностью, конечно, но с ним уже можно работать. Суммарно на это было потрачено два меся… ёптить, всё, можете бить палками. Но стоп! Сначала посмотрите видео! Тоже со звуком!
Приходилось проходить туториалы по риггингу и параллельно переносить всю эту информацию в код, просить советы у настоящих аниматоров, чтобы сделать максимально профессиональный риг. Ведь именно от качества контроллеров будет зависеть то, насколько правдоподобными будут эмоции персонажей. Однако казалось бы, что вся эта муть делается исключительно под Daz, чтобы мочь то, чего не могут другие. Но вот месяц назад ко мне в голову пришла мысль, от которой я присел и серьёзно так задумался…
Blender трата времени, катастрофа или прогресс?
Вот и добрались мы до самой сумасшедшей части.
Как только я каким-то хреном задумался над тем, что я просто трачу время в Daz, я загрустил… Ведь и правда, всё, что я делал последний год, это боролся с программой, а не создавал контент. Любая задача в ней занимала непростительно много времени, а простая анимация отнимала целый день. И вот встал конкретный вопрос. Остаться на месте, пилить контент, зарабатывать деньги и гасить долги ИЛИ всё-таки с мазюканья углём по стене перейти на краски и холсты?
Было страшно, очень страшно. Ощущения такие, будто бы я собираюсь предать программу, с которой работал столько лет. А что если ничего не получится и я просто потеряю месяц? Я ведь хотел переходить на Blender только после того как закончу эту игру, как в принципе все нормальные разработчики делают. Но шило в жопе всё-таки заставило меня попробовать. Задача была одна - просто перекинуть одного персонажа и настроить шейдер кожи так, чтобы это выглядело более-менее одинаково. Закинуть удочку, так сказать. Я и раньше пытался такое провернуть, но ничего не выходило. В этот раз думаете получилось? Конечно же нет. Я даже скриншот не сделал, потому что это выглядело ужасно. И я злой лёг спать с мыслями, что нафиг мне все эти авантюры не нужны, и что лучше дальше буду работать в Daz, где всё у меня получается с первого раза.
Однако процесс уже был запущен.
На следующий день первым делом я запустил не Daz, а Blender. И отключив все эмоции, я начал в нём пытаться сделать хоть что-то. И как только получилось сделать что-то более-менее красивое, я пришёл к мысли, что пора собирать манатки и переезжать на Blender.
Первые две адские недели я всё себе повторял, что рендер-движок это просто инструмент. Что на самом деле всё зависит от человека. Пришлось заново изучать инструментарий Blender и искать информацию, КОТОРАЯ НАХОДИТСЯ. ДА, DAZ?
Срок я себе поставил в 1 месяц. За это время я должен был перенести основных персонажей, их одежду, настроить шейдеры (а без готовых локаций это сделать сложно), сделать так, чтобы Shape Keys переносились с персонажей на одежду и кожа персонажа не проходила сквозь одежду. А там ещё и локации, недоделанный лицевой риг у kRigger, жизненно необходимый Scene Optimizer и остальные скрипты, нужные для работы.
И прикиньте чё. Я успел сделать практически всё ;)
До этого я лишь делал тестовые рендеры для проверки отдельных деталей, но сегодня я впервые сделал три полноценных рендера в Blender.
Вместе с новой программой появилась возможность придумать радикально новый способ работы. В Daz я делал так: ставил персонажей в позы (15-20 минут), сохранял проект (30 секунд, да-да), рендерил кадр (2-5 минут), сразу же в фотошопе всё подравнивал (1-3 минуты).
Но теперь всё будет совершенно по-другому, и вот как я вижу новый процесс: ставим персонажей в позы, используя силу Blender’а, графический планшет и собственный риг (5 минут), жмём кнопку «заморозить сцену» и переходим на следующий кадр, словно весь проект - это анимация. Это даст возможность двигаться по кадрам и с лёгкостью контролировать абсолютно всё в любой момент времени.
Blender быстрый, что позволяет открывать и закрывать проекты за секунды. Сам же процесс рендера теперь будет проходить отдельно ночью, что поднимет чёткость рендеров в бульон раз.
Ну как? Стоило оно того? :>