Community画像github.com

axolotl-sticker

AxoStickersエンジンを使用して、美西螈(ウーパールーパー)のアニメーションステッカーを作成します。大きなピンクの3D中国語テキストの下で水の中に浮かぶボクセル美西螈、400×400のループGIF(1MB以下、最初のフレームがカバー)を生成します。

axolotl-sticker とは?

このスキルは、AxoStickersエンジンを使用してカスタム美西螈(ウーパールーパー)アニメーションステッカーを生成します。純粋Python(numpy + Pillow)とffmpegで動作し、GPUやBlenderは不要です。ユーザーが新しいステッカー、フレーズ用のステッカー、バッチ、既存ステッカーの変更(テキスト、モーション、顔、小道具、色)をリクエストしたときに呼び出します。エンジンは75種類以上のモーション、40種類以上の表情、20種類以上のエフェクト、多数の小道具とスタイルオプションをサポートしています。出力は400×400のループGIFで、サイズは1MB以下、最初のフレームがカバー画像になります。

対応~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Axolotl-Launcher/AxoStickers/tree/main/skill/axolotl-sticker

Installed? Explore more 画像 skills: steipete/songsee, affaan-m/frontend-design, mattpocock/improve-codebase-architecture · View all 6 →

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

美西螈(ウーパールーパー)ステッカー

すべて純粋Python(numpy + Pillow)とffmpegで動作。GPUやBlenderは不要です。リポジトリルートには engine/、kit/、out/ ディレクトリが含まれます。

pip install numpy pillow          # ffmpeg は PATH に含める必要があります
python engine/build.py 301 --force            # 指定IDを1つレンダリング
python engine/build.py 12,40-45 --force       # 複数IDをレンダリング
python engine/build.py                        # 未レンダリングのすべてをレンダリング(再開可能)
python engine/sheet.py 301-310                # レビューシート → ref/sheet_sel_N.png(カバー+各3フレーム)
python engine/manifest.py                     # ステッカー追加後に out/stickers.json を更新
python engine/tornado.py 我没事               # ウォータートルネードステッカー("-" でテキストなし); 事前に engine/fetch_mc.py を実行する必要あり

出力: out/NNN_文字.gif とカバー out/_封面/NNN_文字.png

ステッカーの追加

engine/specs.py の該当セクション末尾に、1行につき1ステッカーを追加します(既存IDは変更しないようにします):

S('摸鱼', 'flagwave', 'happy', [], hold='fish', s=0.7)
#  テキスト   モーション    表情    FX   追加
S('别催了', 'rage', 'angry', ['steam'], style='red', tmode='shake')
S('暴富', 'spin', 'money', ['coins', ('float', 'money', 3, 4)], style='gold')

フレーズに合わせたモーションを選び、次に表情、0~2個のエフェクト、最大1個の小道具/帽子を選びます。テキストは2~5文字に抑えます(6文字以上は2行に折り返され小さくなります)。/ で強制的に改行できます。

  • モーション (engine/motions.py、engine/motions2.py、全75種類): nod shake hop jump flip spin sink popup peek hide tremble rage tantrum dance wag bow kowtow doze flop melt dash slidein look lookup wave cheer clap belly flipover float zoom pounce approach tilt shrink puff grow drift buoy sway headbang headbob roll circle stare shy turnaway think boing wobble faint run launch stretch slosh petrify glitch squish hiccup shakeoff nuzzle rise recoil bonk、および小道具アクション swing flagwave offer chomp drink read typing scan umbrella(これらは hold= を読み取ります)
  • 表情 (FACES in motions.py): normal smile happy joy love star shock surprise angry rage sad cry sob teary sleep sleepy tired meh dead dizzy smug wink focus struggle blep drool money awkward side cool eat shy tiny up grin catface blank pout sparkle determined worried xd — または辞書 {'L': 'big', 'R': 'big', 'mouth': 'o'} のように指定可能
  • エフェクト (engine/fx.py): hearts question exclaim shock anger sweat panic zzz notes tears stream rain bulb confetti fireworks stars steam gloom sparkles speed fire sun moon blush coins snow leaves check cross boom bubbles ghost dots loading bolt flash thumb plus1 flowers swirl skull twinkle brokenheart; 汎用エフェクトはアイコン名を取ります: ('float', 'diamond', n, size)、('pop', 'pin', size, (dx, dy))、('stay', 'clock', size, (dx, dy))、('say', 'mail')、('orbit', 'star', n, (rx, ry), size)、('fall', 'flower', n, size)
  • hold=(手持ちボクセル小道具): pickaxe sword wrench flag fish rod heart diamond emerald cookie apple melon carrot potion bulb book cup boba phone laptop gift cake tnt grass brick bowl popcorn torch rtorch magnifier mail key trophy controller bucket umbrella …
  • wear=[...](帽子/顔ギア): party crown nightcap shades glasses band helmet halo horns phones bow chef grad flowers mask towel ice
  • style= テキスト色: pink(デフォルト)blue purple red green gold gray cyan — ムードに合わせて(悲しい青、怒りの赤、お金の金、完了の緑、疲れたグレー、夜の紫)
  • tmode= テキストアニメーション: stay(デフォルト)wave bounce shake shiver pulse droop swing zoom spin pop type slam

引き渡す前に確認すること

レンダリング後、必ずレビューシートを開いて実際に確認してください:

  • カバー(最初のフレーム)にテキスト全体と美西螈が両方表示されていること
  • 小道具/エフェクトがステッカーサイズで判別可能であり、テキストバンドに隠れていないこと(頭より上のものはテキストとスペースを共有します)
  • 白い背景が白のままであること(ffmpegが色味を変えた場合、エクスポーターは自動的にフルフレームパレットで再試行します)
  • ファイルサイズが1000KB以下であること(エクスポーターは自動的に64色→24色に減色します)

注意点

  • ループの途中でフレーム外に出るモーション(launch、sink、dash、popup、slidein、glitch)では pop/slam/type テキストを使用しないでください。カバーで美西螈がフレーム外にいる可能性があります。
  • 同じモーションにステッカーが多すぎると単調になります。各モーションはセット全体で約6回までに抑えてください(python -c "import sys; sys.path.insert(0,'engine'); import specs, collections; print(collections.Counter(s['motion'] for s in specs.all_specs()).most_common(10))")。
  • 前足は小さく頭の下にあります。脚だけのジェスチャーはほとんど認識できません。小道具またはエフェクトと組み合わせてください。
  • 小道具の座標は頭部ローカルのモデルピクセルです。顔はz=-10、頭頂部はy=9、+xは視聴者の左側です。
  • このオーディエンスにウケるユーモアは、冷静な皮肉(難绷)であり、過剰な叫びではありません。

ウォータートルネード

engine/tornado.py は、漏斗部分を池と同じ水域(同じ輪郭、同じ色、白い水面線が壁を上る)として描画し、螺旋状の帯を回転させ、水滴を飛ばし、美西螈を3Dで回転させながら、バニラMinecraftアイテム(鉄/カメのヘルメット、ウーパールーパーのバケツ、TNT)も3Dで一緒に回転させます。python engine/fetch_mc.py を一度実行して、自分のMinecraftクライアント(1.21.2+ jar)からそれらのテクスチャをコピーしてください。これらはコミットされません。

関連スキル