スクリプト
光線経路_H
スクリーンショット

概要
鏡で反射しプリズムで分光する光線の経路を描く
詳細説明
光線経路_H
始点から光線を飛ばし、鏡で反射させた経路を線として描くカスタムオブジェクトです。「分光する線」を横切ると、虹色の光線に分かれます(プリズム)。反射する点は自動で計算するので、鏡の位置と光線の向きを決めるだけで折れ線ができます。
線は白い線として描くだけです。ビームの見た目(白く光る芯・色の付いた光・流れる揺らぎ)は、後に ビーム化_H を足して付けます。ビーム化_H には道のり(始点からの距離)も渡すので、反射した先までフェードや揺らぎが線に沿います。
インストール
Script\光線経路_H.obj2を置く- AviUtl2 を再起動する(新しく置いたスクリプトは再起動するまで一覧に出ません)
- オブジェクト追加の カスタムオブジェクト から HexScript → 光線経路_H を選ぶ
使い方
反射するレーザー
- 光線経路_H を置く。初期値では、左下から右上へ飛んだ光線が 2 枚の鏡で反射する
- プレビューのアンカーで 始点 と 鏡(2 点ずつ)を動かす。黄色の短い線が光線の向き、青い線が鏡
- 向きは 向き(0 = 右、90 = 下)、長さは 長さ(反射した先まで数えた道のり)で決める
- フィルタ効果「ビーム化_H」を追加し、長さの測り方 を「形に沿う」にする。芯と光が付き、先端のフェードや揺らぎが反射した先まで線に沿う
- 撃ち出す動きは、表示の終わり を 0 → 100 へ動かす(直線移動など)。飛んでいく弾のようにするなら 表示の始まり も後から追いかけさせる
プリズムで分ける
- 分光 をオンにする。ピンクの線(分光する線)がアンカーで出る
- 光線がこの線を横切るように置く。横切った所で 色の数 本の虹色の光線に分かれる
- 分かれ方は 曲がる角度(全体の向きの変わり方)と 広がり(赤から紫までの開き)で決める
- ビーム化_H を足すときは、光の色 を透明にすると光も虹色になる
パラメータ
座標はすべてオブジェクトの位置を原点にした px です。オブジェクトを動かす・回すと、経路全体が一緒に動きます。
光線
| パラメータ | 範囲 | 初期値 | 説明 |
|---|---|---|---|
| 始点X / 始点Y | ±100000 px | -800 / 350 | 光線の出る点。アンカーで動かせる |
| 向き | ±3600 ° | -20 | 光線の向き。0 = 右、90 = 下 |
| 長さ | 0 ~ 100000 px | 2400 | 始点からの道のり。反射・分光した先まで数える |
| 太さ | 0.5 ~ 500 px | 8 | 線の太さ |
| 色 | 色 | ffffff | 線の色(分光した後は虹色になる) |
| 端の形 | 丸 / 平ら | 丸 | 線の両端の形。反射した角はいつも丸 |
| 表示の始まり | 0 ~ 100 % | 0 | 長さのうち、どこから描くか |
| 表示の終わり | 0 ~ 100 % | 100 | 長さのうち、どこまで描くか。始まりより前にすると何も描かない |
反射
| パラメータ | 範囲 | 初期値 | 説明 |
|---|---|---|---|
| 反射の上限 | 0 ~ 64 | 16 | 反射する回数の上限。超える所の鏡で光線が止まる(0 なら最初の鏡で止まる) |
| 鏡の数 | 0 ~ 8 | 2 | 使う鏡の枚数。数より後ろの鏡の欄は隠れる |
| 鏡1 ~ 鏡8 | 2 点(x1, y1, x2, y2) | 鏡の線分。プレビューのアンカー 2 点で動かす。表と裏の両方で反射する | |
| 枠で反射 | オン / オフ | オフ | オブジェクトの原点を中心にした長方形の 4 辺も鏡にする |
| 枠の幅 / 枠の高さ | 1 ~ 16384 px | 1920 / 1080 | 枠の大きさ。オブジェクトを画面の中心に置けば、1920x1080 で画面の端になる |
- 光線は、いちばん近くで当たった鏡で反射します(入射角 = 反射角)
- 光線が鏡の端をかすめると、当たったり当たらなかったりが急に切り替わります。鏡は光線より少し長めに置いてください
分光
| パラメータ | 範囲 | 初期値 | 説明 |
|---|---|---|---|
| 分光 | オン / オフ | オフ | 分光する線を使う |
| 分光する線 | 2 点(x1, y1, x2, y2) | (0, -300)〜(100, 300) | 光線がこの線を横切ると分かれる。アンカー 2 点で動かす |
| 曲がる角度 | ±180 ° | 15 | 分かれた光線の向きの中心。元の向きからの角度で、プラスで時計回り |
| 広がり | ±180 ° | 30 | 赤から紫までの開き。マイナスにすると色の並びが逆になる |
| 色の数 | 2 ~ 24 | 7 | 分かれる光線の数(赤→橙→黄→緑→水色→青→紫の順に並ぶ) |
- 赤が「曲がる角度 − 広がり / 2」の側、紫が「+ 広がり / 2」の側です(本物のプリズムで赤の曲がりが小さいのに合わせています)
- 分かれるのは 1 回だけです。分かれた光線は分光する線を素通りし、鏡では反射します
- 分かれた光線は、それぞれ残りの長さを進みます
その他(既定で閉じています)
| パラメータ | 初期値 | 説明 |
|---|---|---|
| ビーム化_H へ道のりを渡す | オン | 同じオブジェクトの ビーム化_H(長さの測り方 = 形に沿う)へ、始点からの道のりを渡す |
オンのままにしておけば、ビーム化_H の根元は光線の始点になり、光線が交差しても交差の先まで正しくフェードします。オフにすると、ビーム化_H は形から道のりを求めるので、交差点で近道されます(交差が無ければほぼ同じ見た目です)。
用途例
値は目安です。
| 表現 | 設定の例 |
|---|---|
| 鏡を渡るレーザー | 鏡の数 3〜4・反射の上限 16 + ビーム化_H(形に沿う・光の色 赤・先端のフェード 20) |
| 画面の中を跳ね回る光 | 枠で反射 オン・長さ 20000・反射の上限 64 + ビーム化_H(揺らぎ 50) |
| プリズムの虹 | 分光 オン・色の数 7・広がり 30 + ビーム化_H(光の色 透明・芯の明るさ 50) |
| 撃ち出して消える光弾 | 表示の終わり 0 → 100、少し遅れて 表示の始まり 0 → 100 + ビーム化_H(形に沿う・根元と先端のフェード 30) |
| 光線の軌道の図解 | ビーム化_H を足さず、太さ 2・色 白。そのまま線として使う |
注意事項
- 鏡・分光する線は時間で動かせません(トラックバーではなく 2 点の座標なので)。動きを付けたいときは、始点・向き・長さ・表示の範囲を動かすか、オブジェクトごと動かします
- 線分は最大 256 本です。反射が多く、たくさんの色に分光すると、そこで打ち切られます
- 作成時の環境(1920x1080 のプロジェクト)での実測では、1600x900 の枠で 256 本の線分に 24 色へ分光し、ビーム化_H(形に沿う)を足しても 1 フレーム 12〜18 ms でした。この重さの設定が最初に出てくる所では、プレビューで 40〜70 ms かかることがありました(同じ設定の 2 回目以降は 12〜20 ms。2026-09-26 の実測)
- 画像は線の範囲だけの大きさになります。オブジェクトの中心(回転の中心)はオブジェクト座標の原点のままです
- 枠で反射させずに光線を画面の外まで長く伸ばし、線の範囲が約 1500 万画素(4000x3750 ほど)を超えると、ビーム化_H へ道のりを渡しません。ビーム化_H は形から道のりを求め直します(線の絵はそのまま描かれます)
- 作成時に確かめていないこと: 設定画面で 鏡の数 を変えたときに鏡の欄が出入りすること、アンカーで鏡や始点を動かす操作(ホストが隠す条件を受け付けたことは起動ログで確かめています)
- 設定項目の名前は保存データのキーなので、今後も変えません
トラブルシューティング
| 症状 | 対処 |
|---|---|
| 線が出ない | 長さが 0 でないか、表示の終わりが始まりより後ろか確かめる |
| 鏡で反射しない | 鏡の数が足りているか、光線が鏡の線分の範囲に当たっているか(端をかすめていないか)確かめる |
| 途中で光線が止まる | 反射の上限を上げる。長さを延ばす |
| 分光しない | 分光をオンにし、分光する線を光線が横切るように置く |
| 虹の並びが逆 | 広がりをマイナスにする |
| ビーム化_H のフェードが反射した先で合わない | ビーム化_H の 長さの測り方 を「形に沿う」にし、「ビーム化_H へ道のりを渡す」をオンにする。間に大きさを変える効果を挟まない |
長い光線でオブジェクトが止まり、ログに script exception が出る |
v1.01 以前の症状。v1.02 に更新する |
更新履歴
| 版 | 内容 |
|---|---|
| 1.02 | 枠で反射しない長い光線(長さ 10000 など)で止まる問題を直した。 ビーム化_H へ渡す道のりの地図が、AviUtl2 が一時的に持てる画像の量を 1 枚で超えて例外になっていた。大きすぎるときは地図を作らずに渡さない |
| 1.01 | 鏡の数をセレクトにした(数で鏡の欄を出し入れするため) |
| 1.00 | 初版 |
関連
ビーム化_H— 線を、白い芯と色の付いた光のビームに描き替えるパス図形σ@Path_S(第三者作)— 反射を計算せずに、頂点を手で置いて折れ線・曲線を描く- 仕様書:
AI/specifications/20260922_光線経路_H_spec.md - 実機検証:
AI/verification/verification_checklist.mdの RAY 節