कंटेंट पर जाएँ
charmotion
iOS ऐप के लिए

आपके iOS ऐप के लिए एनिमेटेड मैस्कॉट, SwiftUI कोड के साथ।

आप एक इमेज देते हैं; बदले में मिलती है एक Rive फ़ाइल जिसे आपके SwiftUI व्यू एक मूड नंबर और ट्रिगर से चलाते हैं, पुराने और नए Apple रनटाइम के लिए तैयार SwiftUI फ़ाइलें, AVFoundation, Keynote और Final Cut के लिए ट्रांसपेरेंट HEVC MOV, और आपकी पहली स्क्रीन के लिए एक लॉन्च एनिमेशन।

कोड
SwiftUI, पुराना + नया Apple रनटाइम
फ़ाइलें
.riv, HEVC-alpha MOV, MP4, GIF
स्प्लैश
LaunchStateMachine: intro → idle
प्लान
Starter, $20/माह
Gummo, Charmotion का एक डेमो कैरेक्टर लाइव Rive फ़ाइल
लूप
एक बार चलाएँ

यह वही असली .riv है जो हमारा इंजन डिलीवर करता है, और यह आपके ब्राउज़र में चल रहा है। यह वही स्टेट मशीन है जिसे आप अपने ऐप से एक नंबर इनपुट और हर वन-शॉट के लिए एक ट्रिगर से चलाते हैं।

SwiftUI में एनिमेटेड मैस्कॉट कैसे जोड़ें?

Rive Swift पैकेज जोड़ें, मैस्कॉट की .riv फ़ाइल अपने बंडल में रखें, और उसे RiveViewModel(fileName:stateMachineName:).view() से दिखाएँ। लूप बदलने के लिए मूड जैसा नंबर इनपुट सेट करें और वन-शॉट के लिए ट्रिगर फ़ायर करें, या Data Binding के साथ Rive का Apple रनटाइम इस्तेमाल करें। Charmotion सेट के साथ दोनों रनटाइम के लिए तैयार SwiftUI फ़ाइलें मिलती हैं।

SwiftUI में एनिमेटेड ऑनबोर्डिंग मैस्कॉट

SwiftUI, पेस्ट करने के लिए तैयार

import SwiftUI
import RiveRuntime   // Swift Package: rive-app/rive-ios

struct MascotView: View {
    @StateObject var mascot = RiveViewModel(
        fileName: "mascot",                       // mascot.riv in your bundle
        stateMachineName: "CharacterStateMachine"
    )
    var mood: Double = 0                          // 0 idle · 1 happy · 2 wave …

    var body: some View {
        mascot.view()
            .aspectRatio(1, contentMode: .fit)
            .onAppear { mascot.setInput("mood", value: mood) }
            .onChange(of: mood) { _, new in mascot.setInput("mood", value: new) }
    }

    func play(_ reaction: String) { mascot.triggerInput(reaction) }  // "success"
}

डिलीवर की गई फ़ाइल का छोटा रूप; असली फ़ाइल में व्यू, mood enum और रिएक्शन के नाम आपके कैरेक्टर के नाम पर होते हैं।

दोनों Apple रनटाइम

{Name}View.swift स्टेट मशीन इनपुट के साथ पुराना RiveViewModel इस्तेमाल करता है। {Name}NewRuntimeView.swift नया async रनटाइम इस्तेमाल करता है, जिसमें Character व्यू मॉडल के ज़रिए Data Binding होती है।

लॉन्च स्क्रीन

एक अलग LaunchStateMachine 2.6 सेकंड का इंट्रो एक बार चलाता है और फिर idle पर रुक जाता है। इसे स्टैटिक लॉन्च स्क्रीन के बाद अपनी पहली स्क्रीन पर दिखाएँ। यह खत्म होने पर कोई इवेंट फ़ायर नहीं करता, इसलिए हैंड-ऑफ़ का समय इंट्रो की लंबाई के हिसाब से तय करें।

Reduce Motion सेटिंग का ध्यान रखें

accessibilityReduceMotion चेक करें और जो लोग कम मोशन चाहते हैं, उनके लिए मैस्कॉट को idle पर (या एक स्थिर पोस्टर पर) रखें।

असली आउटपुट

डिलीवर की गई फ़ाइलें, ठीक वैसी ही जैसी आप डाउनलोड करेंगे।

MP4 हर सेट

1080 × 1080, 60 fps पर। यहाँ: Gummo का हाथ हिलाना (wave), डिलीवर किए गए सेट से।

ट्रांसपेरेंट WebM और MOV हर सेट

अल्फ़ा चैनल शामिल है, इसलिए पीछे का चेकरबोर्ड दिखता है। MOV, Apple ऐप और एडिटर के लिए अल्फ़ा के साथ HEVC है।

Kiko thinking, GIF आउटपुट

GIF हर सेट

डॉक्स, ईमेल और चैट के लिए हल्के प्रीव्यू। Kiko का “thinking” लूप।

9:16 लॉन्च वीडियो हर सेट

स्टोरीज़ और स्प्लैश स्क्रीन के लिए 1080 × 1920। Sizzle का लॉन्च इंट्रो।

kiko.riv · 150 KB

CharacterStateMachine
नंबर इनपुट mood
0-9: idle, happy, wave, thinking, sad, loading, listening, talking, sleeping, attention
ट्रिगर: success · error · yes · no · enter · exit
LaunchStateMachine
launch → idle, एक बार चलता है

Rive स्टेट मशीन हर सेट

17 वीडियो की जगह एक छोटी-सी फ़ाइल। इसी से इस पेज के ऊपर वाला डेमो चलता है।

import { useRive, useStateMachineInput } from "@rive-app/react-canvas";

export function Kiko({ mood = 0 }) {
  const { rive, RiveComponent } = useRive({
    src: "/kiko.riv",
    stateMachine: "CharacterStateMachine",
    autoplay: true,
  });
  const input = useStateMachineInput(rive, "CharacterStateMachine", "mood");
  if (input) input.value = mood; // 0 idle · 1 happy · 2 wave · 3 thinking · 4 sad · 5 loading …
  return <RiveComponent style={{ width: 320, height: 320 }} />;
}

पेस्ट करने के लिए तैयार कोड हर सेट

आपके कैरेक्टर के नाम वाले वेब, React और SwiftUI कंपोनेंट।

हर प्लान में शामिल फ़ॉर्मेट
फ़ॉर्मेटस्पेसिफ़िकेशनStarter और All in one
MP41080 × 1080, 60 fps, सभी 17 एनिमेशनशामिल
9:16 लॉन्च वीडियो1080 × 1920 MP4शामिल
GIF480 px प्रीव्यू, सॉलिड बैकग्राउंडशामिल
Rive (.riv)वेक्टर; Data Binding व्यू मॉडल + लेगेसी इनपुट: लूप के लिए मूड, वन-शॉट के लिए ट्रिगर, लॉन्च मशीनशामिल
ट्रांसपेरेंट WebMअल्फ़ा के साथ VP9, 1080 × 1080शामिल
ट्रांसपेरेंट MOVअल्फ़ा के साथ HEVCशामिल
कोडवेब (HTML), React और SwiftUI कंपोनेंटशामिल
सब डाउनलोड करें (.zip)Rive फ़ाइल, कोड, README और पोस्टर एक ही आर्काइव मेंशामिल
वीडियो एक्सपोर्टMP4, GIF, ट्रांसपेरेंट WebM और MOV, 9:16: सेट पेज पर फ़ॉर्मेट और एनिमेशन चुनें, लगभग एक मिनट में तैयारशामिल
AI असिस्टेंट (MCP)Claude, Cursor, VS Code और Codexशामिल
प्लान

फ़्री में शुरू करें। ज़रूरत हो तो अपग्रेड करें।

SwiftUI कोड, .riv और HEVC-alpha MOV हर पेड प्लान में हैं, Starter ($20/माह) से। कीमतें USD में; टैक्स की गणना चेकआउट पर Creem करता है।

Free

$0हमेशा के लिए

अपने लोगो और कैरेक्टर के साथ आज़माएँ।

  • लोगो एनिमेशन आइडिया (3 कॉन्सेप्ट)
  • आपके कैरेक्टर का ऐप-स्क्रीन प्रीव्यू
  • कार्ड की ज़रूरत नहीं
  • 2 AI डिज़ाइन (लोगो या कैरेक्टर)
  • Claude, Cursor, Codex से काम करता है
  • ईमेल सपोर्ट

All in one

$100/माह

टीमों और कई ब्रांड के लिए।

  • 15 लोगो एनिमेशन हर महीने
  • 10 कैरेक्टर सेट हर महीने
  • सिनेमैटिक 3D वीडियो शामिल
  • 40 AI डिज़ाइन हर महीने
  • 3 रिफ़ाइन हर लोगो एनिमेशन पर
  • प्रायोरिटी बिल्ड और सपोर्ट
FAQ

शुरू करने से पहले।

ज़्यादा जानकारी पूरे FAQ में।

क्या मुझे App Store प्रीव्यू वीडियो भी मिलते हैं?

आपको हर एनिमेशन 1080 × 1080 MP4 में मिलता है, साथ में 1080 × 1920 का लॉन्च वीडियो। App Previews को Apple के तय डिवाइस रेज़ोल्यूशन से मेल खाना चाहिए और उनमें ऐप की असली फ़ुटेज होनी चाहिए, इसलिए इन क्लिप को सीधे प्रीव्यू के रूप में नहीं, बल्कि अपने ऐप की स्क्रीन रिकॉर्डिंग के अंदर इस्तेमाल करें।

क्या मैं Rive SDK जोड़े बिना मैस्कॉट इस्तेमाल कर सकता हूँ?

हाँ। AVPlayer के साथ ट्रांसपेरेंट HEVC MOV इस्तेमाल करें, या MP4 और GIF फ़ाइलें। इसमें लाइव स्टेट स्विचिंग नहीं मिलती, लेकिन हर एनिमेशन फ़ाइल के रूप में मौजूद रहता है।

क्या डिलीवर की गई .riv फ़ाइल UIKit ऐप में इस्तेमाल हो सकती है?

हाँ। वही .riv UIKit में RiveViewModel के view या RiveView के ज़रिए चलती है; डिलीवर किया गया कोड SwiftUI में है, और स्टेट मशीन के नाम और इनपुट बिल्कुल वही रहते हैं।

क्या मैस्कॉट विजेट या Live Activity में दिख सकता है?

विजेट और Live Activities लगातार चलने वाला एनिमेशन नहीं चला सकते, इसलिए वहाँ स्थिर पोस्टर या छोटा ट्रांज़िशन इस्तेमाल करें और लाइव Rive मैस्कॉट को ऐप के अंदर ही रखें।

और जानें

इस काम के लिए गाइड।

पहले अपने कैरेक्टर के साथ देखें।

फ़्री, आपके ब्राउज़र में। आपकी इमेज आपके डिवाइस पर ही रहती है, जब तक आप छोटी एनिमेटेड क्लिप नहीं माँगते।

फ़्री प्रीव्यू