Communitygithub.com

z1fex/06-キャラクターと表情

どんなトピックでもオリジナルの3Dカートゥーンキャラクターを作成します(ボールヘッド、ビーンボディ、スティック四肢、ミトン手)。肌の色、ブランドカラーの衣装、髪型、帽子、メガネ、ひげを設定し、まばたきを挟んで表情を切り替えるペイント風の顔で演技させます。映画のキャスティングに最適です。

06-キャラクターと表情 とは?

このスキルは、3Dアニメーション用のカートゥーンキャラクターを体系的にデザイン・制御するためのものです。`makeCharacter(spec)`関数を使って、ボールヘッド(半径0.42)とビーンボディ(高さ0.8)を基本とするリグ付きキャラクターを生成します。肌の色(SKIN.light~deep)、衣装の上下色(ブランドカラーのAnthraciteやBlue Coralなど)、髪型(curly, spiky, 時代劇ウィッグなど)、帽子、メガネ、ひげ、さらには顔の表情(neutral, smug, shockedなど)を細かく指定できます。表情はペイント風のデカールで、まばたき(半閉じ→全閉じ→新しい表情)を経て切り替えるルールがあり、強調したい単語の2フレーム前に新しい表情が表示されます。オブジェクト(リンゴや惑星など)にも顔を付けてカメラに向けることができ、映画やコマーシャル制作で一貫したスタイルのキャラクターアニメーションを効率的に作成できます。

対応~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/z1fex/3D-Cartoon-Style-Animation-Claude-Skill/tree/HEAD/skills/06-characters-and-faces

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

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

ドキュメント

6 · キャラクターと表情

身体

recipe/engine/character.mjs の makeCharacter(spec) はリグを構築します。頭部半径 0.42、胴体 0.8、脚 0.52、腕 0.30 + 0.28。プロポーションはスタイルそのものです:大きなボールヘッド、上下2色に分割されたビーンボディ、細いアンスラサイト色のスティック四肢、肌色のミトン手、丸いコニャック色の靴。

const host = makeCharacter({
  name: 'host', skin: SKIN.tan,
  top: BRAND.blueCoral, bottom: BRAND.anthracite, split: 0.32, width: 1.0,
  hair: 'curly', hairColor: '#2a1d18',
  hat: null, glasses: true, beard: false,
  face: { browColor: BRAND.anthracite, browThick: 3.4, mustache: null },
  extras: torso => { /* クラバット、ボタン、バッジ、ツールベルトなどを追加 */ },
});
host.root.position.set(x, 0, z); place.scene.add(host.root);
オプション値
skinSKIN.light / fair / medium / tan / brown / deep、または任意の16進数。キャスト内で混在可能。
top, bottom, split, widthビーンの2色、それらが交わる位置(高さの0~1)、幅係数(1.06でよりがっしりとした体型)。
hairshort(または cap)、bob、bun、ponytail、curly、spiky、bald、および2つの時代カツラ:newton(長いカール)、einstein(セルフグロー付きの乱れた白髪)。
hat / hatColorcap、tophat(hatBand 付き)、helmet(丸いシェル)、hardhat、beret、crown。
glassestrue またはフレームの色。ペイントされた目の上に丸フレーム。
beardtrue(髪の色)または任意の色。
face{ browColor, browThick, mustache }:眉の色と太さ、オプションのペイントされた口ひげの色。
extras(torso)part(geometry, color) でコスチュームパーツを追加:クラバット、襟、ボタン、バッジ、ツール。

新しいトピックのためのキャラクターデザイン: まずシルエットを選びます(電話サイズでは髪型や帽子の形状が最も強い手がかりになります)。次にトップ用のブランドカラー1色、次に肌のトーンを選びます。歴史上の人物は私たちのトゥーンとして描かれます:時代の髪型と服装で十分です(ニュートンのカールしたカツラとRouge Noirのコート、アインシュタインの乱れた白髪、口ひげ、Blue Coralのセーター)。著作権で保護されたキャラクターを決してコピーしないでください。

顔を持つオブジェクト(リンゴ、惑星、分子、機械):faces.mjs の faceDecal(radius, { skin: <body colour> }) を与え、まぶたの色をボディカラーに設定し、オブジェクトのグループをプレイスの faceCamera リストに追加して、カメラの方を向くようにします。

表情

頭部前面のフラットなペイントデカール(faceDecal):眉、瞳孔とハイライトのある目、口、鼻はなし。すべて同じ形状ファミリーから。リップシンクはなし。顔が演技を行います。

表情(faces.mjs の EXPRESSIONS):neutral, content, sleepy, surprised, shocked, curious, thinking, eureka, delighted, smug, knowing, confused, worried(汗の雫付き)、proud(赤面)、no, wheee, dizzy(渦巻き目)、lookDown。新しい表情を追加するには、エントリをコピーし、眉 [inner, outer](度)、lid(0 開…1 閉)、look(瞳孔オフセット)、eye と pupil のスケール、mouth(flat, smile, smirk, side, wavy, o, grin, shout)を変更します。

表情の切り替え(リファレンスのルール、計測済み)

  • まばたきを通してのみ切り替える:半閉じのフレーム1つ、全閉じのフレーム1つ、その後新しい表情。
  • 新しい表情は強調する単語の2フレーム前(W(i) - FACE)に表示されます。
  • 表情間のモーフィングは禁止。
  • 主人公は約1.2秒ごとに新しい表情を取得。オブジェクトはストーリービートで切り替え(リンゴは「違う」で smug → shocked)。
  • 長いホールド中の自然なまばたき:blinks リストに時間を渡します。
rig.faceAt(t, [[0, 'curious'], [W(17) - FACE, 'smug']], [0.75, 6.2]);   // 切り替え、その後自然なまばたき
objectFace.set('shocked');                                              // オブジェクト用インスタントセット

手と保持小道具

rig.handPos('L' | 'R' | 'both') は現在のポーズ後の手のワールド位置を返します。保持する小道具を毎フレームその位置に配置します(ニュートンの手にある本、アインシュタインが落とす前に持っているボウリング球)。rig.headPos() はフレーミング用の頭部中心を返します。

チェック項目

  • 電話サイズで、すべてのキャラクターをシルエットだけで見分けられますか?
  • まぶたの色は肌色またはボディカラーに合わせていますか?(透過まばたきを防ぐ)
  • 顔は、演技をするすべてのショットでカメラの方を向いていますか?

Individual skills in this repo

This repo contains 3 individual skills — each has its own dedicated page.

関連スキル