blender-optics-simulator について
Blender Optics Simulator は、3 次元空間で光学ベンチを構築して光線を追跡する Blender アドオンです。ローカルの MCP ブリッジを通じて、AI エージェントが光学状態を読み取り、変更できます。幾何学的な測定に基づく結果が必要な研究者や教育者向けです。
主な機能
- 01レーザー、ミラー、レンズ、回折格子を 3 次元で配置
- 02偏光を含む光線追跡とガウシアンビーム伝搬
- 03モデル化された光学機械マウントへの取り付け
- 04光学レポートと自動アライメント機能
- 05ローカル MCP ブリッジによる状態の読み書き
活用シーン
- 01エージェントによるマイケルソン干渉計の自動アライメント
- 02検出器位置でのパワー、偏光、光路長の確認
- 03コーディングエージェントではなく Cycles による光学ベンチ図のレンダリング
MCP 対応
このプロジェクトは Blender 内のローカルブリッジを介して公開される MCP サーバーです。クライアントは光学ベンチの状態を取得し、素子のパラメーターやマウント、アライメント手順を操作できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
uvx blender-optics-mcpOPTICS_BRIDGE_PORTTCP port of the add-on's localhost bridge inside Blender (Optics > Simulation > Start MCP Bridge).OPTICS_BRIDGE_HOSTHost of the add-on bridge.ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Blender 光学シミュレーター
Blender 上に光学ベンチを配置し、実際の光学系で光線を追跡して、AI エージェントに引き継げます。
レーザー、ミラー、レンズ、波長板、回折格子、結晶、検出器を 3D 空間に配置できます。ライブエンジンが光線を追跡し、光線、ガウスビーム、偏光、分散を計算して、すべてを実際の光学機械部品に取り付け、Cycles でレンダリングします。光学系の状態はすべてローカルホストの MCP ブリッジ経由で読み書きできるため、エージェントは推測ではなく測定されたジオメトリに基づいて作業できます。
アドオンが構築したシーンをレンダリングした16秒の動画です。高画質の MP4。
インストール
Blender 4.2 LTS 以降(4.2+ / 5.x)が必要です。
ワンクリックでインストールし、自動更新。
**インストールページ**を開き、
*「⤓ Drag this into Blender to install」*ボタンを開いている Blender ウィンドウにドラッグします。これだけでアドオンがインストールされ、更新も購読できます。先に Edit ▸ Preferences ▸ System ▸ Network ▸ Allow Online Access をオンにしてください。
zip ファイルからインストール。 Releases から optical_alignment_sim-<version>.zip をダウンロードし、Edit ▸ Preferences
▸ Add-ons ▸ Install from Disk… を使用します。その後の更新はアドオン独自の Updates パネルから行えます。
3D ビューポートのサイドバーにある Optics タブを開きます(N キーを押します)。
クイックスタート
- Setup ▸ Browse Examples… — Michelson を選択して、完成した光学ベンチを読み込みます。
- Simulate ▸ Trace — Live を押します。部品を動かすと、ビームが追従します。
- Setup ▸ Element — 光学素子を選択し、焦点距離、ガラス、コーティング、波長などの設定を変更します。残りの設定は More を展開してください。
- Place ▸ Mount & Adjustment — 実際のマウントに取り付け、− / + のステップでノブを回します。
- Inspect ▸ Optical Report — 各検出器のパワー、偏光、光路長、アライメント誤差を確認します。Align All を実行すると、ビームが所定の位置に届くまでマウントを動かします。
ヘッドレス環境では、同じことを Python から実行できます:
import optics_api # inside Blender: blender -b --python your.py
optics_api.build_example("michelson") # a full bench in one call
optics_api.set_mount("MI_M_fixed", "KM100") # put a mirror on a kinematic mount
optics_api.set_dof("MI_M_fixed", "TIP", steps=40) # turn a knob: the beam walks off
optics_api.align_element("MI_M_fixed") # and back: 2.51 -> 0.0012 mrad
print(optics_api.inspect_beam("MI_D")) # power, w(z), polarization, coherence
examples/ には、実行可能なスクリプトがあります:michelson.py、
mach_zehnder.py、agent_align.py、
bell_entanglement.py、
hong_ou_mandel.py。
できること
- 実際のビームを追跡します。 光線経路に加え、ガウシアンビームの伝搬、ジョーンズ/ストークス偏光、フレネル損失、分散、非線形変換、干渉、波面誤差を扱います。 → モデル化する対象と、しない対象
- 35 種類の光学素子と、ワンクリックで使える 26 種類の光学ベンチ。 ミラーから OPA、プリズム、回折格子、結晶、分光計、補償光学まで対応します。→ 光学素子リファレンス · 全機能一覧
- 実際のハードウェアに取り付けられます。 キネマティックマウント、ポスト、ケージシステム、レンズチューブ、レールに対応し、機械的制限と衝突をチェックします。→ ハードウェア
- 光学ベンチのように測定します。 検出器のパワーと偏光、ビームプロファイル、光路長、群遅延と GDD、スペクトル、波面センサーに対応します。 → 分散、シリンドリカルレンズ、スペクトル
- 自動でアライメントします。 影響行列ソルバーでマウントを操作し、ビームの位置を再調整したり、傾きをゼロにしたり、補償光学のループを閉じたりできます。
- 構築したものをレンダリングします。 詳細な光学機械部品を含む Cycles/EEVEE レンダリング、アニメーションレンダリング、SVG 回路図に対応します。→ ビームの描画方法
ミラーのアライメントを 2°ずらしたあと、align_element() を 1 回呼び出すだけで、指向残差が 7.02 から 0.0008 mrad になります。examples/agent_align.py でヘッドレス環境から再現できます。
AI エージェントで操作する
このアドオンは、ローカルホストのブリッジを通じて全状態を JSON として公開し、MCP サーバーも同梱しているため、エージェントは光学ベンチの状態を読み取り、操作できます。
get_state() → every element's pose, ports, mount limits, beam path, detector readings
↓ decide
set_param() · place_relative() · set_dof() · align_element() · ao_close_loop() · render()
↓ the beam re-traces
get_state() → read the result, not a guess
Present ▸ Tools & Integration ▸ Start MCP Bridge から起動してください。 → エージェントガイド · MCP サーバー · ツール一覧
物理モデルについて
変更を加えるたびに物理演算を実行します。341 件の教科書レベルのチェック(マリュスの法則、フレネルの式、スネルの法則、回折格子の式、ガウシアン ABCD、ゼルニケの直交性、エネルギー保存)に加え、Blender 4.2 と 5.x の両方で 618 件の回帰テストを実行します。また、コアの数式は外部の記号・数値計算オラクルでも検証済みです。未検証の箇所については、コードとドキュメントに明記しています。実行のたびに、ミリメートル単位とメートル単位のシーンで同じ光学ベンチを構築し、測定値が一致することを必須としています。
同じくらい重要なのは、何を主張していないかです。これは波動光学のオーバーレイを備えた主光線エンジンであり、完全な波動ソルバーではありません。薄い光学素子には厚みがなく、回折格子にはブレーズ効率モデルがなく、現象論的なモデルには該当箇所でその旨を記載しています。各機能のモデルの限界は、その機能の説明の横に記載しています。
→ 対象範囲と制限 · 光学素子ごとの出典情報 · データの出典
ドキュメント
| 機能、使用例、リリース履歴 | このページの詳細版 |
| 機能一覧 | すべてのパネル、API 呼び出し、MCP ツール |
| 光学素子 | 光学素子ごとのモデル、パラメーター、出典情報 |
| 対象範囲 | エンジンがシミュレーションする対象と、しない対象 |
| 分散、シリンドリカルレンズ、スペクトル | 回折格子、白色光、群遅延、分光計 |
| 実際に近いハードウェア | マウント、ケージ、レール、レンダリングの詳細 |
| ビームのレンダリング | ベイク済みビームの描画方法と、描画で表現されないもの |
| データソース | カタログと材料の出典情報 |
| エージェントガイド · MCP サーバー | 外部から光学ベンチを操作する方法 |
| CHANGELOG | 各リリースでの変更内容 |
引用方法
機械可読な CITATION.cff が含まれているため、GitHub にはそのまま貼り付けられる APA/BibTeX が用意された このリポジトリを引用 ボタンが表示されます。
@software{cobanoglu_blender_optics_simulator,
author = {Çobanoğlu, Muhammet Emir},
title = {Blender Optics Simulator},
year = {2026},
version = {0.31.0},
doi = {10.5281/zenodo.20778997},
license = {GPL-3.0-or-later},
url = {https://github.com/emircbngl/blender-optics-simulator}
}
上記の DOI は 概念 DOI で、常に最新バージョンに解決されます。各リリースには、それぞれ固有のバージョン DOI も付与されます(CITATION.cff に記載)。
ライセンスとクレジット
GPL-3.0-or-later — LICENSE をご覧ください。ベンダーの CAD データとメッシュは含まれておらず、引き続き各所有者に帰属します。このプロジェクトでは、オリジナルのメタデータ、プロシージャルジオメトリ、ツールを提供しています。
貢献者
- Tengfei Ma — ShanghaiTech University · ORCID 0009-0008-4556-4682 · @Harca-Yita。実稼働中の光学ベンチからの報告を受けて、波長に忠実なビームの色とシャッター、単位スケールへの対応、形状付きアパーチャ、コーティングされたミラー面での反射、ポロプリズムと研磨ミラー基板、OPA と群遅延に関する機能、さらに溝の向きを考慮した回折格子、円筒レンズ、スペクトル検出器が実現しました。
Robots(2005)の Bigweld の格言――「必要を見つけたら、それを満たそう。」――の精神に基づいて構築されています。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。
