ビジュアルノベルの同じ立ち絵データを別々に修正したら:目と衣装の変更を統合する方法
別々に修正した立ち絵を統合するには、共通の元データを使って局所的な修正とグループ全体の配置を切り分け、各レイヤーの採用元を決めます。目の位置修正、襟の描き直し、頭部の上方への移動という架空の例を通して、第三者が確認できるレイヤー別統合記録表を作成します。

はじめに
2つの立ち絵の制作データを統合するときは、まず共通の元データを特定し、それぞれの変更点を洗い出します。次に、両方に関わる配置と重なり方を決めてから、確認用の候補データを組み立てます。新しいファイルだからといって、もう一方の担当者による有効な修正が含まれているとは限りません。わかるのは、保存された時刻が遅いということだけです。引き継ぎでは候補データとレイヤー別統合記録表をセットで残し、各変更の出所と採用理由を確認できるようにします。
1. 元データを確定し、修正の意図と実際の差分を分ける
以下は架空の教材用の例です。実在するユーザーの事例、実測結果、実際のファイル統合記録、DramaForkの製品機能を示すものではありません。移動量はすべて説明のための設定であり、画像修正に一律に適用できる数値ではありません。
キャラクター「嵐」の共通の元データを「ベース0」とします。担当Aはベース0から作業を始め、両目を顔に対して右へ2ピクセル修正しました。担当Bもベース0から作業を始め、襟を描き直し、頭部グループを上へ6ピクセル移動しました。頭部グループには顔、目、髪、首が含まれます。襟はグループの外にあり、その前側のパーツが首の下端を覆っています。どちらもキャンバスサイズは変更していません。
この例では、アート責任者が目の修正とBの全体的なポーズの両方を承認済みとします。したがって、統合の目的は明確です。Aが修正した目の相対位置を残しつつ、Bの頭部位置と襟の形状を採用します。全体のポーズが未承認なら、先にそこを決めます。そうしないと、頭部を動かすたびに襟とのつなぎ目をやり直す可能性があります。
実作業では、ベース0、Aのデータ、Bのデータをそれぞれ独立したコピーとして保管し、統合記録表にファイルを特定できる識別情報を記入します。共通の元データは、両者が実際に修正を始めたバージョンでなければなりません。見た目の似た古いデータで代用してはいけません。確認できない場合は出所を「要確認」とし、差分をすべて洗い出せたとは扱わないでください。
2. レイヤー単体だけでなく、レイヤー間の関係も比較する
まずキャンバスサイズ、原点、キャラクター全体の位置を確認します。そのうえで「ベース0とA」「ベース0とB」を個別に比較します。AとBを直接比較するだけでは、違いはわかっても、どちらが新たに変更され、どちらが元のままなのかは判断できません。
この例でAが変更したのは、頭部グループ内での目の位置だけです。一方、Bは襟の描画内容と頭部グループの位置を変更しています。そのため、Bが目を個別に編集していなくても、目のキャンバス上の位置は親グループに伴って変わっています。ここでは「別々のレイヤーを編集した」ことが、そのまま「互いに影響しない」ことにはなりません。
変更されたレイヤーを確認するときは、親グループの変形、マスク、クリッピング関係、合成モード、重なり順も一緒に調べます。同じ名前は、レイヤーを探す手がかりにすぎません。どちらも「目」という名前でも、移動や描き直しが行われていたり、別の親グループに入っていたりする可能性があります。逆に、名前が違っても単なる名称変更かもしれません。
独立した変更とみなす条件は、具体的にしておきます。2つの変更が同じ内容に対して競合せず、片方がもう片方の依存する位置、表示範囲、合成方法を変えないことです。条件を満たさなければ、まず依存関係を記録し、その後で組み合わせられるか判断します。この例には拡大縮小や回転はありません。それらがある場合、単純なピクセル単位の移動として考える方法は、そのままでは使えません。
3. 統合記録表を作り、両方の修正に関わる配置を先に決める
以下は、この例の判断部分を記入した表です。合成結果の確認は、すべて未実施です。実際に使う際は列を維持し、「頭部グループ」などの略称を完全なレイヤーパスに置き換え、判断者と候補データの識別情報を追記します。
| 対象 | 共通の元データ | 各担当の変更 | 依存関係の変化 | 採用元 | 競合の判断 | 合成結果の確認 |
|---|---|---|---|---|---|---|
| キャンバスと胴体 | ベース0 | A、Bとも変更なし | 追加なし | ベース0 | 元の基準を維持 | 境界と胴体位置を確認予定 |
| 頭部グループ | ベース0の元の位置 | Bが上へ6ピクセル移動 | 目、髪、首がグループとともに移動 | Bの配置 | グループ全体の移動は1回だけ適用 | 頭部・首と胴体のつながりを確認予定 |
| 目 | ベース0の目レイヤー | Aが右へ2ピクセル修正 | 頭部グループの位置に依存 | Aの局所的な修正 | 決定済みの頭部座標に配置 | 目と顔の位置関係を確認予定 |
| 襟と重なり | ベース0の襟 | Bが襟を描き直し | 上に移動した首に依存 | Bのデータ | 関連する重なり方も維持 | 首の露出範囲とつなぎ目を確認予定 |
この表を「目はA、服はB」だけで済ませてはいけません。それでは、両者がつながるかどうかを左右する頭部位置が抜け落ちます。除外するものも明記します。Aの頭部配置を丸ごと採用しないこと、Bの未修正の目を最終版にしないことです。
責任者が元の頭部位置を残すと決めた場合は、襟を再確認し、必要に応じて調整し直します。この調整は、AにもBにも元からあった変更ではありません。行を追加して記録し、統合中に新たに描いた部分を「Bを採用」の中に埋もれさせないようにします。
4. 依存関係に沿って組み立て、移動を二重に適用しない
この例では、Bのデータをコピーして候補データにします。襟がすでにBの頭部と首の位置関係に合わせて描かれているためです。ただし、Bの古い目の配置を意識して除外する必要があります。Bのデータ全体を、そのまま最終版とみなすことはできません。
まず、候補データの頭部グループがすでに上へ6ピクセル移動していることを確認し、その後でAの目の修正を反映します。この例のAは元の目レイヤーを移動しただけで、描き直してはいません。したがって、候補データ内の対応する目レイヤーで「頭部に対して右へ2ピクセル」という変更を再現し、出所をAのデータとして記録できます。座標を確認せずに頭部グループ全体をコピーするより、検証しやすい方法です。
Aが目も描き直していた場合は、Aの目の描画内容を取り込み、頭部グループに対するローカルな位置関係も復元する必要があります。ファイル間コピー時の位置の扱いは描画ツールによって異なる可能性があるため、貼り付け後の位置が正しいとは限りません。候補データに取り込んだ後で、親グループとキャンバス上の位置を必ず再確認します。
この例の設定では、最終的な目の位置はベース0に対して右へ2ピクセル、上へ6ピクセルとなるはずです。ただし、これは確認の手がかりにすぎません。上へ12ピクセル動いていれば、グループ全体の移動を重複して適用した可能性があります。上に動いていなければ、キャンバス上の元の位置に残っているか、誤った親グループに入っている可能性があります。
続いて、Bの襟レイヤーと関連する重なりの設定を維持し、首と襟の境目を確認します。つなぎ目を整えるために目を再び動かしてはいけません。それでは、頭部と首の依存関係の問題を局所的な修正で隠してしまいます。
5. 配置と重なりを分けて確認してから、統合記録を完了する
1回目は構造を確認します。キャンバスの基準は元のままか、頭部の移動は1回だけか、古い目レイヤーが意図せず表示されていないか、襟の前側パーツが決めた重なり順になっているかを見ます。見た目が正常な候補データにも重複レイヤーが潜んでいて、後で表示を切り替えたときに初めて問題が出ることがあります。
2回目は相対的な位置関係を確認します。襟を一時的に非表示にし、顔、目、髪、首がそろって正しい位置にあるかを見ます。襟を再表示したら、首の露出量、つなぎ目、透明な隙間を確認します。細部表示で輪郭を調べたうえで、想定する表示サイズで全体のポーズを判断します。部分的な拡大表示だけで結論を出してはいけません。
3回目は、今回の納品範囲に含まれる表情と衣装の組み合わせを確認します。閉じた目のレイヤーがまだ古い位置に依存しているなら、未対応項目を追加します。目を開けた状態だけの確認で、ほかの表情まで承認することはできません。確認後は、取り決めたレイヤーの表示状態に戻し、バージョンを明確にして保存します。
各行の確認記録には、最低限「候補データの識別情報、確認対象、観察結果、確認者」を記入します。たとえば目の行には確認要件を先に書けますが、観察結果は実際に見てから記入しなければなりません。ずれが見つかった場合は未完了のままとし、修正対象を明記します。
この方法は、共通の元データを追跡でき、重要なレイヤー構造が残っている制作データに適しています。片方がすでにレイヤーを統合していたり、顔の大部分を描き直していたり、元との対応関係を残さずにキャンバスを変更していたりすると、各レイヤーの出所を確実には復元できない場合があります。その際は、不確かな部分を別に記載し、一方を基準にして再調整します。どの部分に描き直しとレビューが必要かも明確にしてください。






