<?xml version="1.0" encoding="utf-8" ?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:tt="http://teletype.in/" xmlns:opensearch="http://a9.com/-/spec/opensearch/1.1/"><title>Дмитрий Гусев</title><author><name>Дмитрий Гусев</name></author><id>https://teletype.in/atom/diedemor</id><link rel="self" type="application/atom+xml" href="https://teletype.in/atom/diedemor?offset=0"></link><link rel="alternate" type="text/html" href="https://teletype.in/@diedemor?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=diedemor"></link><link rel="next" type="application/rss+xml" href="https://teletype.in/atom/diedemor?offset=10"></link><link rel="search" type="application/opensearchdescription+xml" title="Teletype" href="https://teletype.in/opensearch.xml"></link><updated>2026-04-09T04:16:34.663Z</updated><entry><id>diedemor:W4WdJYqIvM6</id><link rel="alternate" type="text/html" href="https://teletype.in/@diedemor/W4WdJYqIvM6?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=diedemor"></link><title>Moho 14.4 Экспорт в GLB/GLTF, возможности и ограничения.</title><published>2025-11-18T18:59:39.453Z</published><updated>2025-11-19T19:55:54.933Z</updated><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img3.teletype.in/files/2b/5d/2b5d2141-3597-4d85-8339-8886f5adb65a.png"></media:thumbnail><summary type="html">&lt;img src=&quot;https://img3.teletype.in/files/ee/f0/eef073a3-1cb6-4de4-ac3a-77ccd176de46.png&quot;&gt;Что ж, первый шажочек в сторону геймдева со стороны разработчиков Moho (Lost Marble) сделан, это очень хорошо, но, как тесты показывают - не все очень гладко, но тем не менее!</summary><content type="html">
  &lt;p id=&quot;1PmC&quot;&gt;Что ж, первый шажочек в сторону геймдева со стороны разработчиков Moho (Lost Marble) сделан, это очень хорошо, но, как тесты показывают - не все очень гладко, но тем не менее!&lt;/p&gt;
  &lt;figure id=&quot;xjgC&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img3.teletype.in/files/ee/f0/eef073a3-1cb6-4de4-ac3a-77ccd176de46.png&quot; width=&quot;788&quot; /&gt;
    &lt;figcaption&gt;Скрин с официального сайтя Moho Software&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;2A8N&quot;&gt;Да, работа действительно была проделана большая, потому как организовать систему экспорта — это сложно: рендер ассетов, экспорт костей, сопоставление систем координат, системы деформаций и тем более экспорт анимации. Кроме того, необходимо как-то унифицировать всё в формате, который будет читаться одинаково хорошо в разных программах.&lt;/p&gt;
  &lt;p id=&quot;g2xB&quot;&gt;При определенных условиях подготовки рига и знаниях ограничений при его сборке, можно добиться быстрого и удовлетворяющего результата. Это особенно здорово для новичков, которым простота сборки будет только &amp;quot;на руку&amp;quot;. Для некоторых проектов и задач, вероятно, возможностей предоставленных разработчиками Moho, будет достаточно. Из приятных моментов также, что это еще все и в одном файле (GLB), который можно быстро обновлять, добавляя новые анимации или элементы.&lt;br /&gt;&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0, 0%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;6wJM&quot;&gt;Разница GLB от GLTF в том что GLB - упакованный сжатый файл вместе со всеми текстурами и JSON, в случае с GLTF - ассеты идут отдельно в папке. &lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;6aXQ&quot;&gt;Несомненным плюсом также является то, что в Мохо можно рисовать, а процесс экспорта сам по себе очень быстрый. Это позволит за короткое время сделать небольшой анимированный ассет, который и обновлять будет еще достаточно просто. А исходник всегда будет в одном проекте в одной программе.&lt;/p&gt;
  &lt;p id=&quot;Nl2P&quot;&gt;&lt;u&gt;Тем не менее, мы не сможем увидеть в движках и 3д пакетах и части того, за что мы вообще любим Moho. &lt;/u&gt;&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0, 0%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;mILh&quot;&gt;Также хочу отметить, что движок GMS, который я использую в разработке нативно не читает GLB/GLTF совсем, так как является в основном 2d движком.&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;pMnU&quot;&gt;Еще мне не совсем понятно, зачем жертвовать 50% а то и более возможностями рига (а в последствии и анимацией) внутри самой Мохо, готовить специально ограниченный риг чтобы посмотреть на ограниченные деформации в блендере или 3d софте, чтобы что? Окей, можно быстро в Мохо анимировать пропсы и массовку - тут может пригодится для аниматоров в Blender.&lt;/p&gt;
  &lt;p id=&quot;xd0M&quot;&gt;В ходе тестов мне также стало не понятно отсутствие функционала по нескольким, совсем небольшим моментам, которые могли бы сделать это все значительно лучше, это были бы хоть какие то, да костыли, которые могли бы расширить возможности управления ассетами (ракурсами, эмоциями, костюмами). Недоработки, или ограничения формата? Будем надеяться что все это улучшат со временем.&lt;/p&gt;
  &lt;h3 id=&quot;S4CF&quot;&gt;А теперь подробнее по основным техническим моментам и по подготовке ригов к экспорту игровые движки, Blender или другой софт.&lt;/h3&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0, 0%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;TwsN&quot;&gt;GLB/GLTF форматы примерно одинаково отображаются в программах, хотя некоторые настройки могут отличаться (расположение z оси, разброс по z оси), поэтому и подход к настройке рига и учета ограничений примерно одинаковый.&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;BUkH&quot;&gt;&lt;/p&gt;
  &lt;figure id=&quot;1HLP&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img3.teletype.in/files/22/f2/22f20c5a-b877-4d55-8d5b-1b4e2c9756ca.png&quot; width=&quot;914&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;yPeE&quot;&gt;&lt;/p&gt;
  &lt;ul id=&quot;63yl&quot;&gt;
    &lt;li id=&quot;vKzC&quot;&gt;Первое с чем я столкнулся - любой мой риг экспортированный в GLB становился растянутым, чтобы я ни делал. Все оказалось просто - анимация ломает сетки, если на костях в принципе включен Squash and Stretch. Конечно, такие кости есть почти во всех моих ригах (да и в принципе они чаще всего есть в любом персонажном риге). Нормально, идем дальше)&lt;/li&gt;
  &lt;/ul&gt;
  &lt;figure id=&quot;IRjy&quot; class=&quot;m_retina&quot;&gt;
    &lt;img src=&quot;https://img3.teletype.in/files/62/d9/62d93022-6a3b-4aae-ae33-215c59d06fde.png&quot; width=&quot;911.5&quot; /&gt;
    &lt;figcaption&gt;Растянутый из за Squash and Stretch костей риг&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;pAYP&quot;&gt;&lt;/p&gt;
  &lt;ul id=&quot;w8g3&quot;&gt;
    &lt;li id=&quot;HzNT&quot;&gt; в основе всех деформаций - меш сетки. Если меш сеток заранее мы не создали, и не привязали к слою(в настройках слоя) - они создадутся автоматически. Веса автоматически будут раскиданы в соответствии с типом привязки которая выбрана в Moho.&lt;/li&gt;
    &lt;li id=&quot;uwmj&quot;&gt;все слои групп рендерятся в ассеты&lt;/li&gt;
    &lt;li id=&quot;LjIQ&quot;&gt;группа-маска рендерится в ассет как один слой (соответственно классические маски работать не будут)&lt;/li&gt;
    &lt;li id=&quot;VdkU&quot;&gt;все свитчи рендерятся как множество ассетов вне зависимости от того, где они находятся и попадают в root. Все, что было не свитчами - остается в своем свитче. (прощайте, переключаемые отдельные эмоции в ракурсах)&lt;/li&gt;
    &lt;li id=&quot;awe6&quot;&gt;свитчи все таки работают как свитчи, это здорово&lt;/li&gt;
    &lt;li id=&quot;eT5i&quot;&gt;свитчи в свитчах - уже не работают, и не работают попадая в root, кроме того - все ассеты этих свитчей становятся постоянно видны, это все не здорово.&lt;/li&gt;
    &lt;li id=&quot;Xgr6&quot;&gt;смарт-боуны на кости, и на деформацию мешей - работают.&lt;/li&gt;
    &lt;li id=&quot;Qb76&quot;&gt;векторы становятся растрами при экспорте, деформации  при этом становятся непредсказуемыми. Если у вектора нет своего меша, то меш создается по форме автоматически. Если есть свой меш - есть шанс настроить более хорошие деформации (!но и это может не сработать, так как вектор станет в последствии растром, и будет уже деформироваться как растр). Для растров та же самая история, с той разницей, что визуализация деформаций в Moho будет более точной с тем, что будет в экспорте.&lt;/li&gt;
    &lt;li id=&quot;lRYV&quot;&gt;управление видимостью работает в смарт-боуне, если в 0 кадре слой включен. Если выключен - включить слой нельзя.&lt;/li&gt;
    &lt;li id=&quot;8T8t&quot;&gt;видимость вообще не работает для свитчей (прощай, костыльное переключение ракурсов - на это и была призрачная надежда)&lt;/li&gt;
    &lt;li id=&quot;FNwN&quot;&gt;курверы/деформеры - не работают (прощайте гибкие хвосты и тентакли)&lt;/li&gt;
    &lt;li id=&quot;M4sR&quot;&gt;жесткие привязки работают (веса меша, расставляются скорее всего максимально и равномерно)&lt;/li&gt;
    &lt;li id=&quot;ZHFF&quot;&gt;флекси-байнд работает (веса меша расставляются по силе костей)&lt;/li&gt;
    &lt;li id=&quot;ko6B&quot;&gt;привязки точками работают в пределах меша(!не вектора!)&lt;/li&gt;
    &lt;li id=&quot;bqjb&quot;&gt;таргеты работают&lt;/li&gt;
    &lt;li id=&quot;0EbJ&quot;&gt;динамика работает&lt;/li&gt;
    &lt;li id=&quot;PcJA&quot;&gt;констрейны костей работают&lt;/li&gt;
    &lt;li id=&quot;jLqK&quot;&gt;деформация мешей в смартах - работает&lt;/li&gt;
    &lt;li id=&quot;5R2M&quot;&gt;все экшены, которые не содержат смарт-боун - будут восприниматься экспортером как экшен игровой анимации. Также, в каналах анимации - всегда будет mainline&lt;/li&gt;
    &lt;li id=&quot;AGUu&quot;&gt;Можно переключать ракурсы, если создать систему Скелет-&amp;gt;Свитч-&amp;gt;Скелеты, однако внутренние свитчи не будут корректно отображаться.&lt;/li&gt;
  &lt;/ul&gt;
  &lt;p id=&quot;wO7I&quot;&gt;С учетом всего этого, можно будет много еще чего протестировать, например, сортировку слоев, которая вероятно будет работать через z ось, но зачем оно нам в одном ракурсе)&lt;/p&gt;
  &lt;p id=&quot;NjmA&quot;&gt;Триангулятор не починили. (это по теме)&lt;br /&gt;Маски не починили. (это о наболевшем)&lt;/p&gt;
  &lt;p id=&quot;8eMD&quot;&gt;Пока делал тесты - Мохо 14.4 вылетела 3 раза при попытке удалить слои для переделки рига под экспорт. Но это может быть обусловлено тем, что моя Moho - просто Франкенштейн обвешанный кастомными, и порой тестовыми скриптами в работе...&lt;/p&gt;
  &lt;p id=&quot;kfUl&quot;&gt;&lt;u&gt;А вот еще момент, который не подсветили разработчики, хотя, может, стоило - GLB сносно залетает в After Effects&amp;gt;24.2 версии, что позволяет анимировать простенькие ассеты в Moho и быстренько добавлять их в композ . Здесь я рекомендую просто чуть увеличить разброс по Z до 2 при экспорте, чтобы это корректнее отображалось. Возможно этому найдется еще какое то применение...&lt;/u&gt;&lt;br /&gt;&lt;/p&gt;
  &lt;figure id=&quot;JlEJ&quot; class=&quot;m_retina&quot;&gt;
    &lt;img src=&quot;https://img1.teletype.in/files/41/e7/41e7f6c5-5db9-4b5b-a951-80c01ffbdf0c.png&quot; width=&quot;753&quot; /&gt;
    &lt;figcaption&gt;GLB риг в After Effects с возможностью выбрать конкретную анимацию.&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;z3BL&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;CoSH&quot;&gt;Для UNITY - потребуется установить пакет, который умеет читать GLB/GLTF файлы, достаточно зайти в Package Manager и установить пакет по URL: &lt;code&gt;com.unity.cloud.gltfast&lt;/code&gt;&lt;br /&gt;______________________________&lt;/p&gt;
  &lt;p id=&quot;yWLh&quot;&gt;&lt;br /&gt;В целом, все вроде бы и неплохо, хоть и сыровато, но для простых целей вполне имеет место быть. Не всегда GLTF Viewer показывает то же, что мы увидим в Blender и Unity - свитч группы беспричинно могут лагать, даже если верно сделаны, расположены. Тут необходимо индивидуально настраивать, проверять. &lt;br /&gt;&lt;br /&gt;Но лично мне не хватает определенного функционала, чтобы использовать в проектах:&lt;/p&gt;
  &lt;ul id=&quot;uy37&quot;&gt;
    &lt;li id=&quot;swXg&quot;&gt;кастомизация персонажей, для этого нужны хорошо работающие многоуровневые свитчи.&lt;/li&gt;
    &lt;li id=&quot;Si4i&quot;&gt;нормальная работа с видимостью, для того же самого.&lt;/li&gt;
    &lt;li id=&quot;6gq2&quot;&gt;чуть более гибкие контролируемые деформации&lt;/li&gt;
  &lt;/ul&gt;
  &lt;ul id=&quot;lPge&quot;&gt;
    &lt;li id=&quot;Il7I&quot;&gt;поддержка большего количества движков, хотя бы в каком то формате (урезанный json, мимикрирующий под Spine или что то подобное) + возможность контролировать риг с помощью кода для переключения не только анимаций, но и ассетов.&lt;/li&gt;
  &lt;/ul&gt;
  &lt;p id=&quot;lh2k&quot;&gt;В ближайшем будущем я постараюсь вернуться к разработке своего экспортера в Spine json. Может из этого что-то выйдет. Пока не совсем есть время.&lt;br /&gt;&lt;/p&gt;
  &lt;figure id=&quot;SR84&quot; class=&quot;m_column&quot;&gt;
    &lt;iframe src=&quot;https://www.youtube.com/embed/Dz_BZk_Qzzc?autoplay=0&amp;loop=0&amp;mute=0&quot;&gt;&lt;/iframe&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;OyHJ&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;W1hJ&quot;&gt;Спасибо всем, кто дочитал до конца, надеюсь вы узнали что то для себя новое и информация была в целом для кого то полезной.&lt;/p&gt;

</content></entry></feed>