TGStat
TGStat
Qidiruv uchun matnni kiriting
Ilg‘or kanal qidiruvi
  • flag Uzbek
    Sayt tili
    flag Russian flag English flag Uzbek
  • Saytga kirish
  • Katalog
    Kanal va guruhlar katalogi Hududiy to‘plamlar Tematik to‘plamlar Платные каналы Kanallar qidiruvi
    Kanal/guruh qo‘shish
  • Reytinglar
    Kanallar reytingi Guruhlar reytingi Postlar reytingi
    Brendlar va shaxslar reytingi
  • Analitika
  • Postlarda qidiruv
  • Telegram'ni kuzatish
  • Targ‘ibot
    Yandex Business orqali reklama TGStat Agency orqali kanallarda reklama TGStat.ru saytida reklama
Prefire iOS

5 Aug, 17:38

Telegram'da ochish Ulashish Shikoyat qilish

Сделал систему скинов для котиков 🐈

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

Посидел вместе с Claude и подумал: а что, если создание скина будет больше похоже на написание кода, чем на ручную сборку иллюстрации?

В итоге собрал data-driven систему на JSON. Теперь визуальная часть кота состоит из трёх уровней:

1. skin.json - описание конкретного кота: его части, текстуры, позиции, порядок слоёв, точки крепления аксессуаров и настройки взгляда.

2. JSON-клипы анимаций - описывают движение частей: подпрыгивание тела, поворот хвоста, наклон головы, моргание.

3. animations.json — граф состояний: когда кот сидит, бежит, спит, реагирует на действие или переключается между анимациями.

{
"id": "ginger_fold_cat",
"rig": {
"parts": [
{ "id": "body", "texture": "body.png", "position": [-5, -22] },
{ "id": "tail", "texture": "tail.png", "parent": "body", "position": [32, -12] },
{ "id": "head", "texture": "head.png", "parent": "body", "position": [-10, 41] }
]
}
}

Риг это иерархия частей внутри скина. Например, хвост прикреплён к телу, а глаза к голове. Поэтому при движении головы всё нужное едет вместе с ней.

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

{
"part": "tail",
"property": "rotation",
"keys": [[0, 0], [0.14, 18], [0.42, -18], [0.56, 0]]
}


То есть здесь хвост просто отклоняется от своего обычного положения на 18 градусов туда и обратно. Клипу не нужно знать, где хвост находится у конкретного скина.

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

PS: После написания json - скрипт прогоняет рендеринг PNG через ffmpeg

А дальше я навайбкодил UI на Tauri, чтобы работать со скинами было ещё удобнее.
Про редактор, генерацию арта и весь этот пайплайн расскажу в следующих постах.

681 0 0 8 22
Katalog
Kanal va guruhlar katalogi Kanallar to‘plamlari Kanallar qidiruvi Kanal/guruh qo‘shish
Reytinglar
Telegram-kanallar reytingi Telegram-guruhlar reytingi Postlar reytingi Brendlar va shaxslar reytingi
API
Statistika API'si Postlar qidiruvi API'si API Callback
Kanallarimiz
@TGStat @TGStat_Chat @telepulse @TGStatAPI
O‘qish
Академия TGStat Telegram tadqiqoti 2019 Telegram tadqiqoti 2021 Telegram tadqiqoti 2023
Kontaktlar
Справочный центр Qo‘llab-quvvatlash Email Vakansiyalar
Har xil narsalar
Foydalanuvchi shartnomasi Maxfiylik siyosati Ommaviy oferta
Botlarimiz
@TGStat_Bot @SearcheeBot @TGAlertsBot @tg_analytics_bot @TGStatChatBot