作った理由
ゲーム制作では 3D モデルを自分で作っていたため、キャラクターを増やすたびに 同じリギング作業を繰り返すことになっていました。 特に髪やスカートといった揺れものは、ボーンを一本ずつ並べて物理を設定する必要があり、 手数が多いうえに設定ミスも起こりやすい工程です。
「毎回やる作業なら自動化したほうが早い」と考え、既存の商用リギングアドオンの操作体系を参考に、 自分のワークフローに合わせた自動化ツールを作りました。
機能
- マーカー方式のスケルトン生成:モデル上の主要部位(頭・肩・肘・膝など)にマーカーを配置すると、その位置関係から人型ボーン階層を生成する
- 揺れボーンの自動生成:髪・スカートなどのメッシュを指定すると、形状に沿ってボーンチェーンを自動生成し、揺れの物理設定までまとめて行う
- 揺れものの表示切り替え:確認したい対象だけを表示できるようにし、揺れボーンが増えても作業しやすくした
- 重なった布の連動:スカートが複数層に重なっている場合に、内側と外側のボーンを共有して不自然な貫通を避ける処理
- 頭皮部分の固定:髪の根元は揺らさず固定し、毛先ほど揺れる自然な減衰を設定
検証で分かったこと
自動生成した時点で見た目が正しくても、アニメーションを再生すると初めて分かる不具合が いくつもありました。そのため生成結果を静止状態で確認するだけでなく、 歩行アニメーションを適用して揺れの挙動を測る形で検証しています。
関連して作ったツール
同じ課題意識から、Unity 側でも制作ツールを作っています。
- 揺れもの自動セットアップツール(Unity):インポート済みキャラクターの髪・衣装に対して揺れ物のコンポーネント設定を一括で行うエディタ拡張。実際のアバターモデルで動作を検証済み
- マテリアル一括トゥーン化ツール(Unity):既存マテリアルをトゥーン調のシェーダー構成へまとめて変換し、アウトライン用のメッシュ生成まで自動化
いずれも「自分が繰り返している手作業を、そのままツールにする」という同じ発想から作ったものです。 研究でも学習・評価のスクリプトを整えることが多く、作業を自動化して試行回数を増やす 進め方が身についています。