Хилько о звуке для взрослых
904 subscribers
58 photos
198 videos
1 file
245 links
Я саунд-дизайнер, композитор, руководитель студии саунд-дизайна и основатель школы игрового звука. Мне 41 год. А это мой личный блог.
https://хилько.рф/
Download Telegram
Друзья, я планирую записывать видеоподкаст на интересные для увлекающихся людей темы. Возможно, у вас есть какие-то вопросы ко мне, которые я смогу хорошо раскрыть. Поэтому я создал небольшую форму на своём сайте, в которой вы можете оставить интересующий вас вопрос или тему.

Форма: https://xssracademy.com/podcast-question

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

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

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

P.S. Вопросы про красоту и привлекательность задавать не стоит. Я в этом ничего не понимаю, это всё врождённое.
1242
Сколько нужно унижений, чтобы перейти на Android?

Друзья, последний гвоздь в гроб apple для меня был забит альфа-банком. Вдохновенные маркетологини выпустили восторженный пост о том, что банк опубликовал новое приложение в эппстор:
Российские банки пытаются всеми силами хоть ненадолго вернуть свои приложения в App Store... Естественно, что под своим обычным названием оно выйти не могло, и в этот раз замаскировано под умную камеру. Ну а название у него соответствующее: «Альфото - Умная камера».


Позор какой.

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

Мысль стала такой яркой, что я решил перейти с айфона на менее кастрированный андроид.

Я уже давно отказался от всех фичей эппл в виде iCloud, который заменил собственными серверами для хранения. От всяких синхронизаций с макбуком тоже отказался: использовал его больше как легковесную записную книжку. Календарь у семьи тоже собственный. А вместо заметок все тексты храню в Obsidian с мгновенной синхронизацией через мои серверы. Все тысячи фотографий также находятся физически у меня на серверах, а не у эппла. Так в чём же смысл терпеть такое отношение? 

А ещё важный аспект в том, что на андроиде я могу сразу же тестировать наши игры, не прибегая ко всякому TestFlight и прочим ухищрениям для iOS.

Выбор нового коммуникатора для меня был недолгий. Мы недавно делали сборку нашей команды, и я почти у всех видел Fold от Samsung (разные модели, от 7 до более старых моделей). Послушав опыт своих друзей, я сразу решил поменять свой айфон на Samsung Fold 7.

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

P.S. Для того, чтобы поставить на айфон приложение Т-банка, ранее мне нужно было зайти в эппстор под каким-то чужим логином и паролем (выдавался на сайте банка), скачать приложение Exit, а затем ввести какой-то код. Я сейчас понимаю, насколько всё дырявое с точки зрения безопасности, и как легко мошенникам получить доступ к счетам любителей техники эппл.
2344
Я уже ранее говорил о том, что мы ценим подарки не за их стоимость, а за жертву, которую принёс человек, готовя подарок. Другими словами, нам хочется, чтобы ради нас старались. Это делает нас особенными. Сейчас каждый может заказать в Ozon товар и сделать "забрать в пункте выдачи", чтобы человек сам сходил за своим подарком. Получать подарок, конечно, приятно, но в глубине души мы понимаем, что на нас потратили полчаса времени, сортируя товар по цене. Стоимость воспринимаемого подарка тоже сильно зависит от дохода человека. Поэтому удивить человека, который может себе позволить многое, довольно сложно.

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

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

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

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

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

Для прошивки ATtiny85 с нуля мне понадобилось из Arduino собрать программатор, и всё это завелось вообще не с первого раза. Это постфактум круто рассуждать, а в процессе было допущено много ошибок и сделано много итераций.

Оказалось, склеивать суперклеем пластик - тоже плохая идея, так как он оставляет белые разводы. Нужно было найти подходящий клей, который оказался просто дихлорметан с разбавленными в нём кусочками пластика.

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

Такие, например, как:
Для громких, стрессовых звуков (выстрелов, взрывов, разрушений) работает правило: чем дальше источник, тем меньше ВЧ-текстур (для разрушения ВЧ-элементами могут быть звуки камней и стёкол), а атака (нарастание громкости в звуке) становится более плавной.

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


Чтобы эти правила не казались безосновательными, я решил составить список психоакустических законов, в результате которых появляются эти зависимости в звука. Ну вот, например:
3. Импульсные звуки теряют резкость транзиента.
Взрывы, выстрелы - атака становится более плавной с дистанцией. Наиболее заметно на расстояниях больше 100 метров.

и вот:
7. Слуховая маскировка.
Звуки с похожими частотами маскируют друг друга. Более громкий звук маскирует более тихие в пределах критической полосы (примерно 1/3 октавы).


Таких "формул" для саунд-дизайна я набрал приличное количество и решил оформить всё в виде лонгрида, опубликованного на моём Спонсоре: https://sponsr.ru/xssracademy/135523/
2244
Проработав более 5 лет в аудиокомандах крупной корпорации, у меня на уровне инстинктов привилась потребность для всех планов и текущих дел создавать задачу. По сути, задача - это запись того, что необходимо сделать, но не на листике, а в специальном таск-трекере и обязательно с соблюдением всех бюрократических инструкций. Существовало множество регламентов, которые нужно было соблюдать, чтобы задачу (то, что нужно сделать) не развернули, а пустили в работу.
Представьте, что, даже если надо поменять батарейки в мышке, нужно было создавать задачу на соответствующий отдел, в которой нужно было, помимо названия задачи «Требуется заменить батарейки в мышке», сделать описание, выбрать срочность и прочие ритуалы. Затем назначался ответственный. Потом нужно было расписаться в листе, что батарейки выданы, и закрыть задачу. Бюрократы от этого всего мокренькие от удовольствия.

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

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

Поэтому, имея разный опыт, я всегда в итоге прихожу к такому списку. Да, в таком подходе у менеджерок обоего пола будут конвульсии, так как это не трендово и не по аджайлу, но кто сказал, что их мнение кого-то должно интересовать?
Ручка и куча исписанных блокнотов - это про творчество и труд. А бюрократия ведения задач нужна лишь для удовлетворения чьей-то потребности в самореализации.
1943
Нужно иметь стальные яйца и серьёзную мотивацию, чтобы в 2026 году делать игру не на Unity или Unreal, а на своём движке. Я работаю в команде Точки Сборки над Танками, для которых мы делаем всё с нуля, без всяких присыпок типа FMOD или Wwise. Полностью - это значит вообще все системы. Даже аудио - это не какие-то плагины, а запись буфера прямо в системный микшер.

Это не потому, что мы любим боль, а потому, что только благодаря такому кропотливому подходу, не перетаскивая за собой тонны библиотек, которые хз, как работают и раздувают билд до гигабайтов, можно добиться моментальной загрузки на любых устройствах. Например, только простая интеграция Wwise в UE5 добавляет проекту +8 ГБ. Простая, мать его, интеграция.

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

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

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

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

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

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

Я, конечно, нашёл такую сумму, но не уверен, что обладание такими деньгами на длительном промежутке времени сделает меня счастливым.

Я пока ещё не принял решение, да и не уверен, что заказчик (учитывая географию) пойдёт на изменения договора. В любом случае это кажется очень классным мысленным экспериментом: за сколько можно продать свободу.
1797
Media is too big
VIEW IN TELEGRAM
Мы с Лёшей Иваниным решили попробовать новый формат контента - подкасты с ответами на вопросы подписчиков. Нам прислали довольно разномастных вопросов (про индустрию, как зарабатывать, технические штуки и прочее), и мы решили в первом эпизоде нашего подкаста собрать вопросы про индустрию - и начать с самого наболевшего.

Мы поговорили на темы:
01:50 - Совет для старта написания музыки для игр
14:20 - Вопрос про стоимость работ
27:04 - Как войти в геймдев без опыта? Где получить опыт
35:40 - Общие вопросы про индустрию
47:50 - Страсть в работе

😉Youtube
😄VK

Если хотите предложить какие-то темы для нашего подкаста, то можно это сделать здесь: https://xssracademy.com/podcast
Please open Telegram to view this post
VIEW IN TELEGRAM
943
В хорошем звуке так же, как и в изображении, если убрать текстуру, должна остаться красивая форма. В изображении это легко представить. Берём современный дизайн любого объекта. Убираем из него все потёртости, проводки, текстуру материала, линии разрезов, вмятины. Что останется? Форма. На поиск классной, запоминающейся формы у дизайнеров часто уходит большее количество времени.

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

Хочу показать запись совместной сессии дизайна звука с Антоном. Он, как носитель основного вижена, хорошо представляет, как должен звучать выстрел рельсы. И вместе мы пытаемся нащупать форму звука.
742
Audio
Я решил подготовить также и аудиоверсию нашего подкаста, будет удобно послушать в дороге, когда вы будете выдвигаться по понедельничным делам.

В подкасте мы обсудили следующие темы:
01:50 - Совет для старта написания музыки для игр
14:20 - Вопрос про стоимость работ
27:04 - Как войти в геймдев без опыта? Где получить опыт
35:40 - Общие вопросы про индустрию
47:50 - Страсть в работе

Приятного прослушивания.
1741
This media is not supported in your browser
VIEW IN TELEGRAM
Когда я делаю дизайн звука, я обычно работаю под видеофрагменты игры. Например, для звука выстрела записываю кусок геймплея, где видна анимация стрельбы, и поверх этого видео делаю подходящий звук. Часто я делаю несколько вариантов, чтобы потом можно было выбрать наиболее удачный.

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

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

В Reaper есть наивный плагин Video Processor, который может добавлять на видео разные графические элементы. Но сделано это довольно коряво.

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

В итоге получился плагин для Reaper, который по выбранным параметрам добавляет новую дорожку для текстовых подписей и на ней создаёт айтем для новой подписи (как в Premiere или Davinci). Дальше можно растягивать айтем и менять настройки отображения. А при нажатии кнопки Update все изменения применяются к выделенным айтемам с эффектом Video Processor.
Казалось бы, простейшая функция, да и вообще - зачем Reaper работать с видео? Но я делаю это почти каждый день, и каждый раз для добавления простых подписей нужно открывать другой редактор, расставлять текстовые блоки и снова рендерить.

Создать такое несложно. Если я смог, то и у вас получится.

А если не хочется тратить время, то этот плагин я выложил для подписчиков уровня эксперт на своём Спонср: https://sponsr.ru/xssracademy/137179/
1143
Друзья, в свежем вдумчивом разборе звука игры я взялся за редкий для меня жанр - визуальную новеллу под названием "Зайчик". Обычно к новеллам я скептичен: чаще всего ощущение, что разработчики считают, будто игроки читают это без звука. Пара треков, плохо подобранные UI-звуки, и всё. Но в "Зайчике" другое дело.

Для меня хорошая визуальная новелла - это радиоспектакль с картинками: актёрская игра, фоли, пространство, ритм тишины. И я решил проверить, насколько игра к этому близка.

В тексте:
1. Чек-лист по звуку хорошей визуальной новеллы.
2. Разбор сцены на кухне: что там не работает и почему «несогласованность» звуков особенно слышна на шагах и поверхностях.
3. Быстрый редизайн этой сцены: создал пространство помещения, спозиционаировал звуки в локации, плюс дополнительный слой окружения (румтон, кран, ветер, холодильник, часы, скрипы старого дома).
4. Пример хорошей сцены из игры.
5. Как устроен звук технически: Ren’Py, никаких аудиодвижков, а переходы/фейды/слои описаны прямо кодом.
6. Идея пайплайна без аудиодвижка: описывать сцену звуком в Reaper, расставлять маркеры сцен и скриптом генерировать поведение звука. Это поможет править микс без бесконечной компиляции.

В итоге «Зайчик» - лучшая визуальная новелла по звуку из тех, что мне попадались. Да, там не хватает тех самых 20% по Парето, но играть реально интересно - а это редкость даже для некоторых AAA.

Полный разбор со сценами «до/после» и идеей пайплайна: https://sponsr.ru/xssracademy/137208
4
Я уже ранее писал о том, что вёл переговоры с одной очень крупной китайской студией. Хотел бы поделиться неочевидными вещами, которые всплыли в процессе.

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

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

Во-вторых, желательно выстраивать флоу только позадачно: получили/уточнили ТЗ, выполнили работу, получили оплату. В противном случае, согласившись на их стандартный китайский контракт, можно в прямом смысле попасть в настоящее рабство. Тот контракт (Framework Agreement), который мне предлагали, как раз и был стандартным, навешивал слишком жёсткие рамки, множество обязанностей на мою сторону и минимум обязанностей на заказчика, который мог "слиться" и умыть руки в любой момент.

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

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

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

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

Из своего опыта главными задачами при работе с крупным заказчиком я вижу следующие:
- Всегда просчитывайте цену, которую вы заплатите за такое сотрудничество. Вычитая её из обещанной суммы контракта, вы сможете посчитать, сколько реально заработаете.
- Крупный клиент не должен быть единственным заказчиком.
- Всегда формируйте подушку безопасности, которая позволит вам быть более уверенными в спорных ситуациях. Это вообще главное правило для любого самостоятельного человека.
- Никогда не масштабируйтесь без лишней необходимости. Маленькие команды могут быть намного эффективнее и выгоднее. А если считаете, что масштабироваться необходимо, то включайте стоимость масштабирования в расчёты цены, которую вы заплатите за такое сотрудничество. И не забывайте подумать, что вы будете делать с привлечёнными ресурсами в случае окончания сотрудничества.
- Не бойтесь просить изменить излишне выкручивающий вам руки договор. Если они хотят с вами сотрудничать, то они готовы будут пойти на некоторые уступки. Большинство всегда сначала начинают со стандартного договора, который разработали отличники из юр. отдела.

Кстати, завтра Китайский Новый год!

祝大家恭喜发财、事业顺利、阖家幸福、天天开心!
马到成功!

此致,
亚历山大•希尔科
1563
This media is not supported in your browser
VIEW IN TELEGRAM
Я довольно часто играю в шутеры и ещё делал много разных шутанов в своей карьере (по нескольку представителей каждого класса: FPS, 3PS, Vehicle Shooter, VR-shooter, Looter Shooter и т.д.), поэтому подумал: а почему бы не свести свой опыт в какую-то одну статью. Так, у меня появилась идея написать гайд о том, как нужно озвучивать шутеры. Тем более у меня собрана куча референсов по шутерам из моих предыдущих анализов, - думал я. А потом, спустя три кропотливых вечера, я обнаружил себя посреди написания монстр-текста, края которому я ещё не вижу.

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

Среди этих систем следующие:
- Эффектный контент
- Информативный UX
- Приоритезация в миксе (динамический микс)
- Проработка трассеров и попаданий от пуль
- Хорошее позиционирование звуков врагов
- Дифракция и окклюзия звуков
- Голосовая система

Возможно, получится небольшой учебник из моего опыта + мой вдумчивый разбор хитовых шутанов.
142
Размер шрифтов, скругление кнопочек, цвета - всё это для меня прям важно. Кстати, именно из-за недоработанного дизайна я не мог долго перейти в Reaper. Я видел, как мои коллеги кайфуют от работы в Reaper, но пока не нашел для себя подходящий интерфейс, я не смог занырнуть в Reaper.

Кстати, я могу в электронном ридере долго подбирать шрифтики, прежде чем начну читать с кайфом. Мой любимый для чтения, кстати, Droid Serif или Merriweather из литреса.

Когда я создавал свои расширения для Reaper (недавно публиковал плагин для подписей к видео), я использовал стандартный доступный способ (ReaImGui). И вот я психанул и сделал для себя конструктор интерфейсов: ReaImGui Constructor

В конструкторе я настраиваю формат всех блоков и затем собираю в модуле Theme. Его просто копирую из конструктора в свой скрипт Lua. Модуль пушит цвета/скругления/шрифты в начале кадра (Theme.push(ctx)), а в конце аккуратно снимает обратно (Theme.pop(ctx)). Благодаря этому UI можно перекрасить (настроить в генераторе и закинуть обратно в скрипт) за 2 минуты, не трогая логику скрипта.

Внутри кода я обращаюсь не к r.ImGui_* напрямую, а к оберткам Theme.*. Например, секции делаю так:
if Theme.CollapsingHeader(ctx,"Style",r.ImGui_TreeNodeFlags_DefaultOpen())


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

Возможно, стоит в будущем сделать какую-то удобную тему и использовать её везде, но пока я просто балуюсь и меняю настройки.
63