概要
KenJin Eye Look Driver は、Blender 5.1で作成したキャラクターの黒目オブジェクトを、Cameraまたは指定した対象方向に追従させるための自作アドオンです。
通常の Track To で眼球全体を回転させる方法ではなく、黒目を平面またはスクリーン状のオブジェクト上で X方向・Z方向に移動させることで、2D的な黒目表現を作ることを目的にしています。
特に、以下のような用途に向いています。
- 球体の眼球ではなく、平面上の黒目を動かしたい
- 顔の表情を2D的にデザインしたい
- カメラ方向に応じて黒目だけを自然に移動させたい
- 左右の目を
.R/.Lで管理したい - 片側の設定値を反対側にコピーしたい
BlenderのDriverは、あるプロパティを別の値に応じて自動的に変化させる仕組みです。本アドオンでは、CameraとReferenceの位置関係をDriverで読み取り、PupilオブジェクトのLocation X/Zを自動制御します。Blender公式マニュアルでも、Driverは変数や式によってプロパティを制御する仕組みとして説明されています。
対象バージョン
- Blender:5.1
- アドオン:KenJin Eye Look Driver v1.4.9
- 必要なobject
- カメラ : 黒目のターゲットとなる : camera objectに指定
- 投影面 :黒目を投影する平面(が望ましい) : Referenceに指定
- 黒目 : shrinkwrapで投影面に張り付ける : pupilに指定
- Nメニュータブ:KJ Mirror
- パネル名:KenJin Eye Look Driver



Add-on Python code, KenJin Eye Look Driver, Ver.1.4.9, 2026/06/30
~メンバー専用 ↓
~~~~~~~~~~~~~~~~~~~
↑ メンバー専用~
無料登録は右の握手ボタンからかできます.
このアドオンでできること
このアドオンでは、左右の黒目に対して以下の設定ができます。
| 機能 | 内容 |
|---|---|
| Camera Object | 黒目が追従する対象。通常はCameraを指定 |
| Pupil Object | 実際に動く黒目オブジェクト |
| Reference Object | 方向計算の基準になるオブジェクト |
| Mode | CameraとReferenceの位置差をどの座標系で計算するか |
| Forward Axis | 正面方向として扱うローカル軸 |
| Invert X / Z | 黒目の左右・上下の動きが逆の場合に反転 |
| Live Offset | 黒目の中心位置をリアルタイム調整 |
| Live Movement | 黒目の移動量・感度を調整 |
| Live Limits | 黒目が動きすぎないように移動範囲を制限 |
| Copy Params | 片側の黒目設定を反対側にコピー |
v1.4.9では、.R / .L の名前を使って、片側のPupilまたはReferenceを指定したときに、反対側の対応オブジェクトを自動設定できるようにしています。
例えば、pupil.R を指定すると、Blender内に pupil.L が存在する場合、自動的にLeft Side側へ設定されます。
事前準備
使用前に、以下のオブジェクトを用意しておきます。
| 種類 | 例 | 説明 |
|---|---|---|
| Camera | Camera | 黒目が追従する対象 |
| 右黒目 | pupil.R | 右目の黒目オブジェクト |
| 左黒目 | pupil.L | 左目の黒目オブジェクト |
| 右Reference | reference.R | 右目側の方向計算基準 |
| 左Reference | reference.L | 左目側の方向計算基準 |
名前は、できるだけ次のように統一します。
pupil.R
pupil.L
reference.R
reference.L
または、以下のような形式でも自動判定できます。
pupil.R.001
pupil.L.001
reference.R.001
reference.L.001
.R と .L の対応名が一致していないと、自動設定できません。
基本的な考え方
このアドオンでは、次の3つのオブジェクトが重要です。
Camera Object
黒目が見る方向の対象です。
通常は、レンダリングに使用するCameraを指定します。
Pupil Object
実際に動く黒目オブジェクトです。
このオブジェクトの Location X と Location Z にDriverが設定されます。
Reference Object
Cameraとの位置差を計算するための基準オブジェクトです。
Referenceは、各目の中心、または黒目を動かすスクリーンの中心付近に置くと扱いやすくなります。
画面の開き方
Blenderでアドオンを有効化した後、3D Viewportで以下を開きます。
3D Viewport > Nキー > KJ Mirror > KenJin Eye Look Driver
パネルには、主に以下の項目があります。
- Common
- Right Side Settings
- Left Side Settings
- Apply / Clear Pupil Drivers
- Last Apply Result / Warnings
- Notes
Commonの設定
Camera Object
黒目が追従する対象を指定します。
通常は Camera を指定します。
Mirror X Offset on Copy
片側のPupilパラメータを反対側にコピーするとき、Base X Offsetを左右反転する設定です。
左右対称の目では、通常はONでよいです。
| 設定 | 用途 |
|---|---|
| ON | 右目と左目でX方向の中心補正を反転してコピー |
| OFF | X Offsetも同じ値のままコピー |
Right Side Settingsの設定
Right Sideは、基本的に .R のPupilとReferenceを設定する場所です。
Object Assignment
ここで右目側のオブジェクトを指定します。
| 項目 | 指定するもの |
|---|---|
| Right Side Pupil Object | pupil.R |
| Right Side Reference Object | reference.R |
v1.4.9では、pupil.R を指定すると、存在する場合は pupil.L がLeft Side側に自動設定されます。
同様に、reference.R を指定すると、reference.L がLeft Side側に自動設定されます。
Driver Structure
Driver Structureでは、黒目がどの方向を前方として動くかを設定します。
最初は以下の設定でよいです。
| 項目 | 推奨初期設定 |
|---|---|
| Right Side Mode | World Normalized |
| Right Side Forward Axis | +Y Forward |
| Right Side Invert X | OFF |
| Right Side Invert Z | OFF |
Mode
Modeには以下があります。
| Mode | 内容 |
|---|---|
| World Normalized | CameraとReferenceのワールド座標差を使って方向を計算 |
| Reference Z Normalized | ReferenceのZ回転を考慮して方向を補正 |
通常は World Normalized で始めます。
顔や目の土台をZ方向に回転させ、その回転も考慮したい場合は Reference Z Normalized を試します。
Forward Axis
Forward Axisは、Referenceまたは目スクリーンのどのローカル軸を正面方向として扱うかを指定します。
| 正面方向 | 設定 |
|---|---|
| ローカル +Y が正面 | +Y Forward |
| ローカル -Y が正面 | -Y Forward |
| ローカル +X が正面 | +X Forward |
| ローカル -X が正面 | -X Forward |
最初は +Y Forward でApplyし、動きが合わない場合に変更します。
Invert X
黒目の左右移動が逆になる場合にONにします。
例えば、Cameraを右へ動かしたときに黒目が左へ動く場合は、Invert X をONにします。
Invert Z
黒目の上下移動が逆になる場合にONにします。
例えば、Cameraを上へ動かしたときに黒目が下へ動く場合は、Invert Z をONにします。
Live Center / Offset
黒目の中心位置を調整する項目です。
| 項目 | 内容 |
|---|---|
| Base X Offset | 黒目の左右方向の中心位置 |
| Base Z Offset | 黒目の上下方向の中心位置 |
| Set Current as Offset | 現在の黒目位置を中心位置として登録 |
| Reset Offset | Offsetを0に戻す |
黒目を手動でちょうどよい中心位置に動かした後、Set Current as Offset を押すと、その位置を基準位置として登録できます。
このOffsetはPupilオブジェクトのCustom Propertyに保存されます。Blender公式マニュアルでも、Custom Propertiesはデータブロックに独自データを保存でき、リギングなどにも使用できると説明されています。
Live Movement
黒目の移動量と感度を調整する項目です。
| 項目 | 内容 |
|---|---|
| X Range | 左右方向に動ける基本距離 |
| Z Range | 上下方向に動ける基本距離 |
| X Sensitivity | 左右方向の反応の強さ |
| Z Sensitivity | 上下方向の反応の強さ |
初期値の目安は以下です。
| 項目 | 目安 |
|---|---|
| X Range | 0.030 |
| Z Range | 0.020 |
| X Sensitivity | 0.350 |
| Z Sensitivity | 0.350 |
黒目の動きが小さい場合は、RangeまたはSensitivityを上げます。
黒目の動きが大きすぎる場合は、RangeまたはSensitivityを下げます。
Live Limits Relative to Offset
黒目が動きすぎないように、Offsetを基準にした最小値・最大値を設定します。
| 項目 | 内容 |
|---|---|
| X Min | Base X Offsetから見た左方向の限界 |
| X Max | Base X Offsetから見た右方向の限界 |
| Z Min | Base Z Offsetから見た下方向の限界 |
| Z Max | Base Z Offsetから見た上方向の限界 |
初期値の目安は以下です。
| 項目 | 目安 |
|---|---|
| X Min | -0.030 |
| X Max | 0.030 |
| Z Min | -0.020 |
| Z Max | 0.020 |
黒目が目の外へ出る場合は、このLimitを狭くします。
Apply / Clear This Pupil
Apply Driver to Right Side Pupil
Right Side PupilにDriverを設定します。
以下を変更した場合は、再度Applyが必要です。
- Camera Object
- Pupil Object
- Reference Object
- Mode
- Forward Axis
- Invert X
- Invert Z
一方、Offset、Range、Sensitivity、Min、MaxはリアルタイムでPupilのCustom Propertyに反映されるため、通常は再Apply不要です。
Clear Driver from Right Side Pupil
Right Side PupilのLocation X/Zに設定されたDriverを削除します。
黒目の動きを一度リセットしたい場合に使います。
Copy Right Side Pupil Params to Left Side Pupil
Right Sideの黒目パラメータをLeft Sideへコピーします。
コピーされるのは、Offset、Range、Sensitivity、Min、MaxなどのPupilパラメータです。
Camera、Reference、Mode、Forward Axis、Invert設定はコピーされません。
Left Side Settingsの設定
Left Sideは、基本的に .L のPupilとReferenceを設定する場所です。
| 項目 | 指定するもの |
|---|---|
| Left Side Pupil Object | pupil.L |
| Left Side Reference Object | reference.L |
Right Sideと同じ流れで設定します。
右側から自動設定された場合は、内容を確認してからApplyします。
基本操作の流れ
最小限の使い方は、以下の流れです。
pupil.R、pupil.L、reference.R、reference.Lを用意する- Nメニューの
KJ MirrorからKenJin Eye Look Driverを開く - CommonでCamera Objectを指定する
- Right Side Pupil Objectに
pupil.Rを指定する - Right Side Reference Objectに
reference.Rを指定する .L側が自動設定されたか確認する- Right Side Modeを
World Normalizedにする - Right Side Forward Axisを
+Y Forwardにする Apply Driver to Right Side Pupilを押す- Left Side側も同様にApplyする
- Cameraを動かして黒目の動きを確認する
- 動きが逆ならInvert XまたはInvert Zを調整する
- 黒目の中心がずれていればBase X/Z Offsetを調整する
- 黒目が動きすぎる場合はLive Limitsを狭める
推奨初期設定
まずは以下の設定から始めると分かりやすいです。
| 項目 | Right Side | Left Side |
|---|---|---|
| Mode | World Normalized | World Normalized |
| Forward Axis | +Y Forward | +Y Forward |
| Invert X | OFF | OFF |
| Invert Z | OFF | OFF |
| X Range | 0.030 | 0.030 |
| Z Range | 0.020 | 0.020 |
| X Sensitivity | 0.350 | 0.350 |
| Z Sensitivity | 0.350 | 0.350 |
| X Min / Max | -0.030 / 0.030 | -0.030 / 0.030 |
| Z Min / Max | -0.020 / 0.020 | -0.020 / 0.020 |
左右コピーの使い方
片側で黒目の動きを調整した後、反対側へ値をコピーできます。
右から左へコピー
Right Side側のApply / Clear欄にある次のボタンを使います。
Copy Right Side Pupil Params to Left Side Pupil
左から右へコピー
Left Side側のApply / Clear欄にある次のボタンを使います。
Copy Left Side Pupil Params to Right Side Pupil
Mirror X Offset on Copy がONの場合、Base X Offsetだけ左右反転されます。
左右対称の目ではONが自然です。
Last Apply Result / Warningsの見方
Apply後は、Last Apply Result / Warningsに結果が表示されます。
確認すべき項目は以下です。
| 表示 | 確認内容 |
|---|---|
| Target Side | Right SideまたはLeft Sideが正しいか |
| Target Pupil | 目的のPupilが指定されているか |
| Reference | 目的のReferenceが指定されているか |
| Camera | 正しいCameraが指定されているか |
| Mode | 意図したModeになっているか |
| X initial / Z initial | 初期位置がLimitに張り付いていないか |
Warningが出た場合は、特に .R / .L の指定ミスを確認します。
よくあるトラブルと対処法
黒目が動かない
以下を確認します。
| 原因 | 対処 |
|---|---|
| Applyしていない | Apply Driverを押す |
| Camera Objectが未指定 | CommonでCameraを指定 |
| Referenceが未指定 | Reference Objectを指定 |
| Pupilが未指定 | Pupil Objectを指定 |
| DriverをClearしたまま | 再Applyする |
| RangeまたはSensitivityが0 | 値を上げる |
左右が逆に動く
Invert X を切り替えます。
Cameraを右へ動かしたとき、黒目が左へ動く場合は Invert X をONにします。
上下が逆に動く
Invert Z を切り替えます。
Cameraを上へ動かしたとき、黒目が下へ動く場合は Invert Z をONにします。
黒目が目の外に出る
Live Limitsを狭くします。
例えば、以下のように小さくします。
| 項目 | 例 |
|---|---|
| X Min | -0.020 |
| X Max | 0.020 |
| Z Min | -0.015 |
| Z Max | 0.015 |
片側だけ動きが違う
左右のReferenceの向きが違う可能性があります。
以下を確認します。
.Rと.LのReferenceの位置- Referenceのローカル軸
- Forward Axis
- Invert X / Z
- Offset / Range / Sensitivity
- Limit値
.Rを指定しても.Lが自動設定されない
以下を確認します。
| 原因 | 対処 |
|---|---|
| 反対側オブジェクトが存在しない | pupil.L などを作成 |
| 名前が一致していない | .R / .L の前後を同じにする |
Right / Left という単語だけで命名している | .R / .L 形式にする |
Blender上でオブジェクト名が .001 などでずれている | 対応名をそろえる |
使い分け:World NormalizedとReference Z Normalized
通常は World Normalized で十分です。
ただし、顔や目の土台が大きく回転する場合は、Reference Z Normalized を試す価値があります。
| Mode | 向いている状況 |
|---|---|
| World Normalized | 通常の正面顔、Camera方向への単純な追従 |
| Reference Z Normalized | ReferenceのZ回転に合わせて方向補正したい場合 |
設定を変えた後は、必ずApplyし直します。
運用上の注意
このアドオンは、Pupil ObjectのLocation X/ZにDriverを設定します。
そのため、PupilのLocation X/Zを別のアニメーションやConstraintで同時に制御している場合、意図しない動きになることがあります。
安全に使うには、PupilのX/Z移動はこのアドオンに任せ、別の仕組みで同じプロパティを制御しないようにします。
また、Driver Structureを変更した後は再Applyが必要です。OffsetやRangeなどの数値調整はリアルタイム反映されますが、Camera、Reference、Mode、Forward Axis、InvertのようにDriver式や変数構造に関わる項目は再Applyが必要です。
まとめ
KenJin Eye Look Driverを使うと、Blender 5.1で黒目の2D的な視線移動を作りやすくなります。
基本は、Camera、Pupil、Referenceを指定してApplyするだけです。
最初は以下の設定で始めるとよいです。
| 項目 | 設定 |
|---|---|
| Mode | World Normalized |
| Forward Axis | +Y Forward |
| Invert X | 必要時のみON |
| Invert Z | 必要時のみON |
| Mirror X Offset on Copy | ON |
.R / .L の命名をそろえておけば、片側を指定したときに反対側も自動設定できるため、左右の指定ミスを減らせます。
黒目の動きが逆ならInvert、動きすぎるならLimit、中心がずれるならOffsetを調整します。
参考文献・出典
- Blender 5.1 Manual – Drivers
- Blender 5.1 Manual – Drivers Introduction
- Blender 5.1 Manual – Custom Properties
- Blender Python API – bpy.props
- Blender 5.1 Python API Documentation
【注意点・例外】
v1.4.9の実機動作確認は、こちらではBlender上で実行していません。構文上の設計としては、.R/.L の自動設定、Pupilパラメータ保存、Driver再Applyの流れは整合していますが、実際のリグ構造やReferenceのローカル軸により、Forward AxisやInvert設定は調整が必要です。

