1枚絵を動かすアニメーションの試作で、AIの「完成」が6回作り直しになった話

1枚絵を動かすアニメーションの試作で、AIの「完成」が6回作り直しになった話 AI活用術

課題

このブログの案内役のキャラクター、PAGEを、1枚の絵のまま瞬きさせたり、髪を揺らしたりしたかった。

いきなりPAGEで試すのはやめて、まずは画像生成AIで検証用のキャラクターを1人作り、そのキャラを動かす試作をAIに作ってもらうことにした。1枚の絵を動かす方法は、Xなどでいろいろな手法を調べて、一つずつ試していた。

AIは試作を作るたびに「完了」として区切ってくれる。ところが、自分が画面で見ると、どこかが違う。結局、AIが「完了」とした版は、6回とも作り直しになった。

解決できるようにすること

AIにアニメーションや動く画面を作ってもらったときに、「完成しました」「確認しました」という報告を、どこを見て確かめればいいかが分かるようにする。

あわせて、1枚の絵からキャラクターを動かすときに先に決めておきたい構造、つまり髪の分け方と、動きの親子関係も持ち帰れるようにする。

先に結論

作り直しの原因は、大きく3種類だった。

  • AIの「確認」が、止まった画面写真や素材の読み込みが中心で、動いている途中のコマを1枚ずつ見ていなかった
  • 参考にした手法の数字を、AIが単位を確かめずに推測で読んでいた。「48点」は2回読み違えた
  • 構造の決め方がずれていた。画像生成AIに髪を分けて描かせると混ざって継ぎ目が出たし、後ろ髪は「揺らさない」けど「顔と一緒には動く」ものだった

効いたのは、途中のコマを止めて1枚ずつ見ること、参考の定義と数字を照らし合わせること、髪は描き直させずに元の絵から差分で取り出すこと、の3つ。

この記事でわかること

  • AIの「完成」「確認しました」が、実際には何を確かめていたのかの見分け方
  • 1枚の絵から髪を分けるとき、画像生成で分けると失敗し、差分で取り出すとうまくいった理由
  • 瞬きの途中のコマでまつ毛が消えた原因と、それを見つけるための確認の仕方

ここで、こう思う人もいるかもしれない。

「AIが『確認しました』と言っているなら、それで十分では?」

今回に限っていうと、十分ではなかった。AIの確認は嘘ではなくて、書いてあるとおりのことはちゃんと確かめていた。ただ、その中身は、たとえば1回目なら止まった画面写真1枚、まつ毛のときなら素材の読み込みと瞬きの長さまでで、動いている途中のコマの見た目は入っていなかった。報告の中身まで読まないと、この差は見えてこない。

何を作ろうとしていたか

目指したのは、いわゆるLive2D風の動き。1枚のイラストを部分ごとに分けて、目を閉じたり、髪を風で揺らしたり、頭を少し傾けたりする表現のこと。

ただ、手元にあるのは1枚の絵だけ。描いたときのレイヤー(髪や顔を別々に重ねた制作データ)もない。なので、足りない部分は画像生成AIで補いつつ、動かす仕組みはAIにコードで書いてもらった。

PAGEの絵はいきなり使わず、画像生成AIで作った検証専用のキャラクターで試すことにした。うまくいったら、PAGEなどに広げることを考えていた。

1回目の「完成」は、画面写真1枚だった

最初の版で、AIは次のものを作った。

  • 髪ありの元の絵、髪なしで目を開いた絵、髪なしで目を閉じた絵の3枚
  • 開いた目と閉じた目の絵を短い時間で切り替えて重ねる瞬き
  • 頭の小さな揺れと、少しずつタイミングをずらした髪の動き

AIは、画面を自動で開いて撮った画面写真で最初の表示を確かめて、1枚の絵を起点にした簡易的なLive2D風のアニメーションは成立する、とまとめて完了にした。

でも、参考にしていた手法は、表情ごとの絵を何枚も用意して、髪を独立した部品にして、メッシュで絵を変形させるものだった。メッシュは、絵の上に網のように点を並べて、その点を動かすと絵がゆがむ仕組みのこと。

自分がそこを指摘すると、AIも、最低限の表示の確認にはなったけど手法の検証としては足りない、と記録して、作り直しになった。

2回目の版では、髪なしの表情の絵を5枚(開き・半目・閉じ・ジト目・笑顔)と、透明な髪の絵を1枚用意して、3×3の9点のメッシュで顔と髪を別々に動かすようにした。AIは半目・笑顔とメッシュの表示を画面写真で確かめていた。

ところが、自分が画面で見ると、髪の比率が元の絵から崩れていた。しかも、髪が目にかぶらないように顔のまわりを切り抜いた影響で、前髪が欠けていた。

髪を画像生成で分けさせたら、混ざって継ぎ目が出た

2回目の版のあと、AIの見立ては、前髪・横髪・後ろ髪を別々の透明な絵として用意する必要がある、というものだった。見立てだけで終わらせず、実際に試すことにした。

3回目の版では、元の絵を参考に、画像生成AIで前髪・左の横髪・右の横髪・後ろ髪の4枚を描かせた。

元の絵と、画像生成で「後ろ髪」「前髪」「横髪」に分けて描かせた髪を並べた図。後ろ髪として描かせた1枚にも、頭のてっぺんから顔の両脇に垂れる髪まで入っている

4枚とも、背景が透明で同じ大きさの絵としては出てきた。でも合成してみると、後ろ髪として作った1枚に、前髪や横髪にあたる部分まで入っていた。それぞれの担当の範囲で切り抜くと、今度は四角い継ぎ目と髪の欠けが出た。

透明な絵として出てくることと、動かすためにきれいに分かれた部品になっていることは、まったく別の話だった。この方式は不採用にした。

このときAIは、元の制作データから髪を分けて書き出す必要がある、と結論を出していた。

「差分で取り出す」に切り替えたら、髪の形が保てた

ここで、自分が参考にしていた手法の手順を改めてAIに見せた。

その手法は、髪を描き直させるのではなく、元の絵と髪なしの絵の差分から、髪だけを取り出すものだった。髪が揺れたときに見えてしまう額や頭は、髪なしの絵を下地にして補う。元の制作データは要らなかった。

4回目の版では、AIが元の絵と髪なしの絵を比べて、髪だけを透明な絵として取り出す処理を書いた。

元の絵、画像生成で作った髪なしの絵、2枚の差分で取り出した髪、それを重ね直した絵を並べた図。重ね直した絵は元の絵と同じ髪の形と比率になっている

ただ、単純に色の違いだけで取り出すと、目や顔の輪郭、服まで混ざってきた。髪なしの絵は別に生成したものなので、髪以外の部分も元の絵と少しずつ違っていたから。そこで、髪の色の範囲に入っていて、しかも頭のてっぺんにつながっている部分だけを残す条件を足した。これで、前髪も含めて、髪の形と比率が元の絵のまま保てた。

ちなみに、この条件の値は検証用キャラ専用。別の絵では、色の範囲も取り出し結果も、改めて確かめる必要がある。

「48点」を2回読み違えた

5回目の版のきっかけは、自分が見せた参考の動画の画面だった。そこには、目の動かし方の仕組みが映っていた。

  • 開いた目・半目・閉じた目のそれぞれで、まぶたの輪郭に同じ数の点を同じ番号で並べる
  • 瞬きでは、同じ番号の点どうしを少しずつ動かす
  • 目のまわりはドーナツ形の網になっていて、内側はまぶたに付いて動き、外側は顔に固定。まつ毛はこの網に貼る

この点の数が「48」だった。ここで、2回つまずいた。

版AIの読み方
5回目片目の輪郭全体に48点。しかも、参考の48点が両目の合計か片目ごとかは確認できない、と保留にしていた
6回目片目の上まぶた24点・下まぶた24点、合わせて48点
7回目(正解)片目の上まぶたに48点、下まぶたに48点。片目だけで96点

どちらの訂正も、自分の指摘がきっかけ。AIがあとでまとめた振り返りには、原因として「図の単位を確認せず推測」と書かれていた。

「48」という数字自体はずっと合っていた。違っていたのは、何に対する48なのか。数字だけを拾って単位を確かめないと、こういうズレ方をする。

単色の塗りつぶしは、後ろ髪にならない

髪のほうも、同じくらい行ったり来たりした。

5回目の版で、AIは差分で取り出した髪を、後ろ髪・左右の横髪・前髪に重ならないように分けて、「背景→後ろ髪→顔・耳・体→目→横髪→前髪」の順に重ねた。記録にも、止まった合成画像で耳の後ろに後ろ髪が残ることを目で確認した、とあった。

でも、自分が画面で見ると、耳のまわりや髪の束の間に、まだ背景が見えていた。

6回目の版で、AIは取り出した髪の左右の端の内側を、後ろ髪の色で塗りつぶす下地を足した。確かに背景の抜けは消えた。でもそれは、髪の絵ではなく、ただの1色の塊だった。

自分がそこを指摘して、7回目の版では、髪の束や陰影、輪郭のある「髪の絵」としての後ろ髪を、一番奥に置き直した。穴をふさぐことと、後ろ髪があることは別、という話。

後ろ髪は「揺らさない」けど「止める」わけでもない

7回目の版でも、後ろ髪はまだ落ち着かなかった。

まず、後ろ髪までメッシュで変形させていたうえに、顔の部分を上から描き直す処理が背景の色まで描いていて、耳や首の横に背景が見えていた。

自分が、後ろ髪は耳の後ろや首の横の背景を隠す固定の下地で、揺らすのは前の横髪と前髪だけ、と指摘すると、AIは後ろ髪を元の位置にぴったり止めた。

ところが、これも違った。頭が傾いたら、後ろ髪も一緒に動かないとおかしい。自分がもう一度指摘して、AIが参考の手法の説明を見直すと、顔の動きと髪の揺れは、別々の動きとして扱われていた。

最終的には、こういう親子関係になった。

  • 親の動き(顔の傾きや移動): 後ろ髪・首の横の髪・顔・目・前の横髪・前髪の全部が付いていく
  • 子の動き(風で揺れるような、その部分だけの動き): 前の横髪と前髪だけ。前髪は根元を止めて、毛先だけを少し動かす

首の横の髪は、位置だけ見ると横髪っぽいけど、後ろ髪のグループに入れた。座標だけで分けていたときは、ここが横髪に入っていて、首のあたりの髪まで前髪と一緒に揺れていた。

「揺らさない」と「動かさない」は違う。動きを部品ごとに決めるときは、何に付いていく動きなのかを先に決めておくと、この行き違いは減らせそう。

途中のコマで、まつ毛が消えていた

髪が落ち着いたあとは、瞬き。ここが一番長かった。

  • 最初の瞬きは約0.5秒で、閉じたまま止まる時間がなかった。しかも開いた目と閉じた目の絵を半透明で重ねていたので、まつ毛が二重に見えるおそれがあった。自分の指摘で、AIは開く→半目→閉じる→半目→開くの5段階、約0.83秒に作り替えた
  • 自分の指示で、開け閉めの速さは前の版に戻して、閉じたまま止まる0.09秒だけを残した。全体で約0.59秒
  • 自分が「瞳の動きを細かく」と頼むと、AIは瞳をゆがめずに元の位置のまま描いて、まぶたの開き具合で切り抜くように変えた
  • 自分が画面で見て、途中のコマでまつ毛が消えることがあると気づいた。AIは画像生成で「少し閉じた目」と「ほぼ閉じた目」の絵を2枚足した

AIはこの2枚の絵を見て、まつ毛がつながっていることは確かめていた。ただ、動かしたときの確認は、コードの書き方のチェック、絵の大きさと読み込み、瞬きの段階数と長さまで。実際に描かれたコマは見ていなかった。

自分がもう一度、画面写真を付けて「まだ中途半端なフレームが残る。閉眼の近く」と伝えた。

ここでAIは、実際に画面へ描いたコマを18の時刻で書き出して並べた。すると、まつ毛の欠け、縞のような継ぎ目、閉じる直前に瞳がいきなり消える現象が、そのまま出てきた。足した中間の絵にはまつ毛がちゃんとあるのに、描かれた結果では欠けていた。AI自身も、素材を足して書き方と時間を検査しただけでは、描かれた見た目は確かめられていなかったと記録している。

瞬きの途中の0.180秒・0.205秒・0.230秒のコマを、直す前と直した後で並べた図。直す前はまつ毛がかすれ、まぶたに細い縞が出ている。直した後はまつ毛が途切れずにつながっている

原因は5つあった。

  1. まぶたの内側の輪郭を、絵の線ではなく数式のきれいな弧で作っていて、実際の線とずれていた
  2. まつ毛を描いたあとに、開いた目の絵を上から描き直していた
  3. 開き具合が16pxを切ると、瞳を描かない設定になっていた
  4. メッシュの小さな三角形ごとに切り抜いて描いていて、その境目に細いすき間ができていた
  5. 瞬きの途中で、近いほうの目の絵へ貼り替えていた

直し方はこう。

  • まぶたの輪郭を実際の線に合わせて、上48点・下48点に置き直す
  • まつ毛は開いた目の絵1枚だけを、途中で貼り替えずに変形させる
  • 三角形ごとの切り抜きはやめて、すき間のない1枚の面として描く
  • 瞳は元の位置のまま下に置いて、その上をまぶたとまつ毛が覆う。瞳を急に消す境目の値もなくす

確認の仕方も変わった。AIは212の時刻で、実際に描かれた画素を調べる検査を作った。まつ毛の帯が途切れないこと、見えている瞳が元の絵と同じ色のままなこと、閉じている間は開き具合がゼロになること、などを確かめている。直したあとの22の時刻のコマも目で見た。さらに、1ミリ秒刻みでコマを止められるスライダーと、決まった時刻で止めた画面を開けるURLも付いた。自分が気になるコマで止めて見るための道具になる。

ちなみに、画像生成で足した中間の目の絵2枚は、今は比較用に残してあるだけで、瞬きには使っていない。絵を足すことと、描かれた結果でまつ毛が残ることは別の話だった。

PAGEに当てはめて、ようやく「とても良い出来」

ここまでの失敗と直し方を、AIに「失敗・原因・次に確認すること」の表にまとめてもらってから、PAGEへ当てはめた。

PAGEでも、そのままは通らなかった。最初のコマ一覧で、AIが、目の輪郭がPAGEの絵と合っていないこと、閉じる直前に瞳の端が残ることに気づいて、輪郭を置き直した。それでも、開いた目の絵1枚を変形するだけだと、閉じたときのまつ毛が厚くなった。

そこで、画像生成で閉じた目の絵を用意して、開いた目と閉じた目の絵を、どちらも同じ途中の輪郭に合わせて変形してから、少しずつ混ぜ具合を変える形にした。検証用キャラでうまくいった「開いた目の絵1枚だけ」のやり方も、別の絵ではそのまま通じなかったことになる。

瞬きの212時刻の検査や、口の開け閉めの検査もやったうえで、自分の評価は「とても良い出来」だった。ここでようやく、PAGEの瞬きと揺れが形になった。

一方、検証用キャラの最後の版は、自分が自然さを最後に確かめる前にPAGEの作業へ移ったので、その確認はまだ残っている。

AIの報告と、自分が見て気づいたことを並べると

AIが「完了」や「確認した」と書いていた内容と、自分が見て気づいたことを並べると、こうなる。

版AIが確かめていたこと自分が見て気づいたこと
1回目画面写真1枚で、最初の表示参考の手法の作り(複数の表情の絵、独立した髪、メッシュ)になっていない
2回目半目・笑顔とメッシュの表示髪の比率が崩れ、前髪が欠けていた
5回目止まった合成画像で、耳の後ろに後ろ髪があること耳のまわりと髪の束の間に背景が見えた
6回目合成画像と、動きを強めた画面で、背景の抜けがないこと抜けを埋めていたのは1色の塊で、髪の絵ではなかった
7回目の途中中間の目の絵のまつ毛、素材の読み込み、瞬きの長さ閉じる直前のコマでまつ毛が欠けていた

AIの確認は、止まった状態や素材そのものが中心だった。6回目のように動かして見ていたときも、確かめていたのは背景の抜けがあるかどうかで、埋めたものが髪の絵になっているかではなかった。違和感が出ていたのは、動いている途中のコマか、元の絵や参考の定義と並べたときだった。

もう一つ、記録の上で効いていたのが、参考で確かめられたことと、自分たちで決めたことを分けて書くこと。AIは記録で、参考の作りを完全に再現したとは書かず、確かめられた考え方を試した結果として扱っていた。たとえば瞬きのテンポ(閉じ0.23秒・止まる0.09秒・開き0.27秒)は、参考の動画から測った値ではなく、自分の希望に合わせて調整した値。ここが混ざると、「参考どおりのはず」という思い込みで確認が甘くなりやすい。

こんな人に向いている

AIにアニメーションや動く画面を作ってもらっていて、「完成しました」と言われたあとに何を見ればいいか迷っている人に向いている。

特に、1枚のキャラクター絵を、画像生成AIで素材を補いながら動かしてみたい人には、髪の分け方と動きの親子関係を先に決めておくための参考になるはず。

まとめ

AIの「完成」は、作り直しのたびに少しずつ参考の手法に近づいていった。ただ、6回の作り直しのきっかけは、どれもAIの確認ではなく、自分が画面で見て気づいたことの指摘や、参考の手順を見せたことだった。

項目内容
結論AIが「完了」とした版は6回とも作り直しになった。AIの確認は止まった画面や素材が中心で、動いている途中のコマや参考の定義とのズレを見ていなかった
教訓途中のコマを止めて見る。参考の数字は単位まで照らし合わせる。髪は画像生成で分けずに差分で取り出し、動きは「何に付いていくか」の親子関係で分ける
対象読者AIにアニメーションや動く画面を作ってもらう人、1枚のキャラクター絵を動かしてみたい人

同じ状況に陥ったときの回避策

  • AIの「確認しました」には、何で確かめたのか(画面写真1枚か、動かしたコマか、素材の読み込みだけか)を聞き返す
  • 瞬きや揺れは、通常の速さで見るだけでなく、閉じる直前などの途中のコマで止めて1枚ずつ見る。コマを止められる道具を最初に作ってもらう
  • 参考にした手法の数字は、「片目か両目か」「上下合計か別々か」まで、AIに読み取った内容を書き出してもらって照らし合わせる
  • 1枚の絵から髪を分けるときは、画像生成で描き直させず、元の絵と髪なしの絵の差分で取り出す
  • 背景の抜けを1色で埋めて済ませていないか、合成した結果を拡大して確かめる
  • 動きは、顔に付いていく動き(親)と、その部分だけの揺れ(子)に分けてから作ってもらう
  • 参考で確かめられたことと、自分たちで決めた値を分けて記録してもらう

次に読むなら

AIの「確認しました」の中身を確かめる考え方は、アニメーション以外の回答にもそのまま使える。数字や出典、画面表示などを採用する前の確認手順も見ておくと、次にAIへ任せるときに迷いにくい。


この記事は、筆者が運営しているブログのキャラクターを動かす検証の作業記録(2026年10月4日〜6日)を基に、独自調整したAIが下書きを作成し、筆者が事実確認・編集を行った上で公開しています。検証用のキャラクターの絵や、髪なしの絵・閉じた目などの一部の素材は、画像生成AIで作成しています。

トップへ戻る
タイトルとURLをコピーしました