ビジュアルノベルの立ち絵がポーズ切り替えでずれるとき、位置の基準をそろえるには
立ち絵の切り替えで位置がずれるときは、画像サイズだけでなく、画像内の身体アンカーの位置を確認しましょう。位置合わせの基準シートにキャンバスの範囲、身体アンカー、動作による移動、差し替え補正を分けて記録すれば、腕を下ろした姿から腕組みへ切り替える際の足元の位置をそろえられます。

はじめに
立ち姿の立ち絵を差し替えるときは、まず各画像で定めた身体アンカーをシーン内の同じ位置に合わせ、そのうえで動作に必要な移動を別に加えます。画像サイズが同じでも、キャンバスの中心が重なっていても、人物が元の位置に立つとは限りません。組み込み時には、画像の範囲、アンカーの位置、意図した移動量、差し替え補正をそれぞれ明記した「立ち絵の位置合わせ基準シート」を渡しましょう。
以下に登場する、書店の店員が腕を下ろした姿から腕組みに変わる場面、座標、動作のつなぎ方は、すべて解説用に創作した架空の例です。実際のユーザー事例、実測結果、筆者が実施したテストの記録、DramaFork の製品機能ではなく、特定のエンジンも前提としていません。
1. キャンバスの移動と人物の移動を区別する
背景が透明な立ち絵を、人物が描かれた透明なシートだと考えてみてください。シートの左上と人物の足元は、それぞれ別の位置です。シートを同じ場所に置いたとき、人物も同じ位置に来るのは、足元からシートの端までの距離もそろっている場合に限られます。
この例では単位をピクセルに統一し、左上を原点、右方向と下方向を正とします。画像はすべて元のサイズで表示し、回転も反転もしません。これは計算をわかりやすくするための取り決めにすぎません。実際に組み込む際は、プロジェクトで使用する座標の規則に換算してください。
腕を下ろした画像は、キャンバスが幅600、高さ1000で、足元のアンカーは画像内座標(300, 940)にあります。腕組みの画像は袖口や毛先が外へ広がるため、書き出し範囲が縦横ともに大きくなり、キャンバスは幅700、高さ1040、アンカーは(350, 980)になります。両画像の左上をそろえると、腕組みの画像の足元は右へ50、下へ40ずれます。
ここで変わったのは、画像の原点に対する足元の位置です。店員が実際に一歩動いたわけではありません。余白を足して両画像を同じサイズにしても、余白を加える方向が異なれば、アンカーの位置はそろわないことがあります。したがって、チェック表には「サイズが同じ」と記すだけでなく、キャンバス内のアンカー位置も記録する必要があります。
2. 立ち姿の差し替えは足元を基準にし、胴体で照合する
この例では店員がその場で腕を組むため、両足の接地点の間に定めた中点を身体アンカーにします。2枚の立ち絵で下半身の立ち姿は同じに保ちます。毛先、袖口、腕によって輪郭が変わるのは構いませんが、足元の基準まで一緒に動かしてはいけません。
人物全体の見えている輪郭の中心は使わないでください。腕を組む、手を伸ばす、髪が広がるといった変化で外接矩形が変わり、輪郭の中心も動きます。そこを位置合わせに使うと、身体の一部の動作が人物全体の横移動になりかねません。キャンバスの中心を身体の位置の代わりに使えるのも、作画から書き出しまで一貫して同じ配置ルールを守っている場合に限られます。
足元のアンカーは立ち位置を決めるためのものです。胸や骨盤の近くに定めた点は、身体各部の位置関係を照合するのに使えます。足元がそろっていて肩だけが少し動くなら、それは腕を組む動作そのものかもしれません。一方、頭、胸、足の間隔が全体的に変わっているなら、拡大縮小や作画の比率を確認すべきで、平行移動を重ねて直そうとしてはいけません。
足が描かれていない上半身の立ち絵では、元データにキャンバス外の立ち位置基準を残すか、同じ素材グループ内で安定した胴体の参照点を定めます。後者が適しているのは、大きくかがんだり身体をひねったりしないポーズ群です。参照する部位自体が動作に加わる場合は、何を固定するのかを改めて明確にする必要があります。
3. 基準シートを埋めてから差し替え補正を計算する
まず、腕を下ろした画像をこのグループの基準ポーズに選び、足元をシーン座標(900, 1000)に置くと決めます。キャンバスの左上は「シーン内の目標点から画像内のアンカー位置を引いた位置」に置きます。この引き算では、単位も方向の規則も同じ座標を使います。
以下は記入済みの基準シートです。再利用するときは左列の項目を残し、右列の内容を差し替えてください。座標には、自分の素材に付けた注記の値を使います。
| 項目 | この例での記入内容 |
|---|---|
| ポーズ群と条件 | 書店の店員。腕下ろし、腕組み。元のサイズで、回転・反転なし |
| キャンバスの範囲 | 腕下ろし:600×1000。腕組み:700×1040。どちらも透明部分を含む |
| 身体アンカー | 両足の接地点の間に定めた中点。腕下ろし(300, 940)、腕組み(350, 980) |
| シーン内の目標点 | 両ポーズとも(900, 1000) |
| 意図した移動量 | その場で腕組み:(0, 0) |
| キャンバスの配置位置 | 腕下ろしの左上(600, 60)。腕組みの左上(550, 20) |
| 差し替え補正 | 腕下ろしのキャンバス位置に対し、腕組みを左へ50、上へ40移動 |
| つなぎ方の概略 | 腕下ろしの足元(900, 1000)→腕組みの足元(900, 1000)。袖口や毛先は外へ広がってよい |
腕を下ろした画像では、横方向は600+300=900、縦方向は60+940=1000です。腕組みの画像でも550+350、20+980となり、足元は同じ位置になります。これが位置合わせの根拠です。感覚で「だいたい合う」ところまで動かす必要はありません。
元データのキャンバスを統一し、人物の基準を固定しておけば、組み込み時に記録する補正を減らせます。ただし、透明部分を多く残すことになります。余白を詰めてトリミングしても構いませんが、その場合は各画像に信頼できるアンカーが必要です。どちらの方法も成立します。大切なのは、同じポーズ群の中で、記録していないルールを混在させないことです。
4. 意図した移動は別項目にし、補正に混ぜない
演出を変更し、店員が腕を組むときに右へ20ピクセル動くなら、意図した移動量を(20, 0)と記し、足元の目標点を(920, 1000)にします。すると腕組みのキャンバスの左上は(570, 20)です。まず画像の範囲の違いを補正し、そのうえで右へ20動くという演出意図を残します。
腕を下ろしたキャンバスに対する最終的な変化は、左へ30、上へ40です。ただし、これをまとめて「腕組みのオフセット」とだけ記録してはいけません。シートには引き続き、範囲の違いによる補正と動作による移動を分けて残します。そうしないと、次の場面で立ち位置を変えずに腕を組む必要があるとき、編集者がどの数値を再利用できるのか判断できません。
つなぎ方は「元の立ち位置で腕を下ろした姿→足元が右へ20移動→新しい立ち位置で腕を組んだ姿」と記述できます。移動が画像の切り替えと同時に完了するのか、別途用意した遷移で行われるのかも明記します。位置のルールが決めるのは始点と終点だけで、自然に一歩踏み出す過程が自動で補われるわけではありません。
腕組みの画像自体に身体の傾きや足の位置の変化が描かれているなら、まずそれが作画による動作なのか、組み込み時に加える移動なのかを確認します。画像内の移動を残したまま、同じ移動量をシーン側でも重ねて加えてはいけません。判断の根拠は動作設計とアンカーの注記です。画像の幅がどれだけ増えたかだけでは判断できません。
5. 切り替え順に確認し、適用範囲も残す
組み込み時の確認では、まず表示倍率とシーン内の目標点を固定し、基準画像だけを表示します。次に腕組みの画像へ差し替え、足元が引き続き目標点にあるかを確認します。その後、両画像を交互に切り替え、前回の補正が次の切り替えに累積していないかを確認します。各ポーズの配置位置は、それぞれのアンカーから求めるべきで、前の画像に加えた一時的な位置調整を引き継いではいけません。
2つのポーズを一時的に重ね、キャンバスの端、足元、胴体を別々に見る方法もあります。キャンバスの端は異なっていても足元が重なっていれば、この例の要件を満たします。足元が固定され、頭だけが少し変化している場合は、動作設計に照らして判断します。足元と胴体が一緒にずれる場合は、アンカー、座標の方向、拡大縮小の条件を見直します。これらはこれから実施する確認手順であり、実施済みのテストではありません。
素材を再トリミングしたらシートを更新し、古いアンカーを使い続けないでください。拡大縮小、回転、反転を変更したときも、実際の変換に合わせてアンカーを再計算します。この記事の単純な足し算と引き算が使えるのは、先に定めた表示条件の場合だけです。
このシートは、同じキャラクターを同じ立ち位置のルールで差し替える場合に使えます。座る、跳ぶ、大きく振り向く、カメラが変わるといった場合は、動作の基準とつなぎの条件を別に定める必要があります。画像を差し替えたときに立ち位置が一致するかは説明できますが、キャラクターの比率、背景の遠近感、動作のつながりの自然さまで、このシートだけで保証することはできません。






