【Blenderスクリプト】ボーンアニメーション自動生成ツール
- Digital300 JPY

◆ 概要 Blenderでキャラクターの視線や体の揺れなど、ボーンの「位置」に基づいたアニメーションを自動生成するPythonスクリプトです。 スクリプト内の設定項目を調整するだけで、キャラクターの性格や物理的な動きに合わせたオリジナルのアニメーションを簡単に作成できます。 全てのコードには詳細な日本語コメントが記載されているため、Pythonに不慣れな方でも安心して設定をカスタマイズすることが可能です。 ◆ 主な機能・出来ること 1. アニメーションの自動生成 スクリプトを実行するだけで、指定したフレーム範囲にアニメーションを自動で生成します。単調なキーフレーム打ちの作業から解放され、制作時間を大幅に短縮できます。 2. パラメータによる細かいカスタマイズ キャラクターの性格やシーンに合わせて、動きを細かく調整できます。 (設定例) 大きな動き: 周囲をキョロキョロと見回すような、大胆な視線移動を表現できます。 細かな動き: 一点を見つめている時の無意識な眼球の揺れや、キャラクターの待機中の微細な体の揺れを再現し、存在感を高めます。 間隔: 落ち着きのないキャラクターなら間隔を短く、物静かなキャラクターなら長く設定するなど、動きの頻度をコントロールできます。 移動範囲の制限: ボーンの動きが意図しない範囲へ飛び出さないよう、厳密に制限できるので安心です。 3. 手打ちキーフレームとの連携 あなたが事前に設定したキーフレームはそのままに、その間の動きだけをスクリプトが自動で生成します。 さらに、手打ちキーの前後を「保護範囲」として設定できるため、こだわりのアニメーションが意図せず上書きされるのを防ぎます。 4. 複数ボーンへの適用と応用 このスクリプトは目の動きだけでなく、ボーンの「位置」で制御するあらゆるアニメーションに応用可能です。(例:体の微細な揺れ、手足の震えなど) 動きを同期させたい場合: 両目など、複数の部位を同じように動かしたい場合は、それらを制御する共通の親ボーン(例:eye_commonなど)をターゲットに設定してください。統一された動きが生成されます。 動きを個別に生成したい場合: 「右目(eye_R)」「左目(eye_L)」などをターゲットリストに個別に設定すると、それぞれに独立したランダムな動きが生成されます。これにより、左右で非対称な動きを作ることが可能になります。各ボーンの動きの範囲(move_range)は個別に設定できます。 ここに挙げた例以外にも、設定やアイデア次第で様々な用途に活用できます。ぜひ、あなただけの使い方を見つけてみてください。 ◆ 出来ないこと・仕様上の制限 位置アニメーション専用です このスクリプトはボーンの「位置 (Location)」情報のみを生成・操作します。「回転 (Rotation)」や「拡縮 (Scale)」のアニメーションには対応していません。 ◆ 【最重要】ご利用上の注意点 重ね掛けは厳禁です(アニメーションが破損します) このスクリプトを一度実行した後に、元に戻さず(Ctrl+Zせず)に再度実行しないでください。 生成されたキーフレームが二重に混在し、アニメーションが意図通りに動作しなくなります。 設定を変更して再試行する場合は、必ずCtrl+Zで一度アニメーションを生成する前の状態に戻してから、再度スクリプトを実行してください。 稀に生成がうまくいかない場合があります ごくまれに、意図した通りにキーフレームが生成されないことがあります。その場合は、お手数ですが一度 Ctrl + Z で元に戻し、再度スクリプトを実行してください。 操作は簡単に元に戻せます スクリプトによる操作は、Blenderの標準機能である Ctrl + Z (元に戻す)で完全に取り消すことができます。バックアップは推奨されますが、気軽に試して元に戻すことが可能です。 ◆ 導入・使用方法 Blenderを開き、画面上部のメニューから「Scripting」ワークスペースに移動します。 テキストエディターに、購入したPythonスクリプトファイルの中身をすべてコピー&ペーストします。 スクリプト上部の「--- ユーザー設定 ---」エリアを、あなたのモデルに合わせて編集します。(アーマチュア名、ボーン名、動かしたい範囲など) テキストエディターのヘッダーにある「スクリプトを実行」ボタン(▶アイコン)をクリックすると、タイムラインにキーフレームが自動で生成されます。 ◆ 動作確認環境 Blender 4.4.3 ◆ 利用規約 商用・非商用を問わずご利用いただけます。 本スクリプトの改変はご自身の責任において自由に行っていただけます。 本スクリプト、およびそれを改変したものの再配布・販売を禁止します。 本スクリプトを利用したことによって生じたいかなる損害についても、作者は一切の責任を負いません。 ご不明な点があれば、お気軽にBOOTHのメッセージ機能でお問い合わせください。
