Xangle/Yangle 03 - 視野角を測ろう

MUGENでは視野角があらかじめ設定されており、焦点距離が500、視野角が104°くらいです。ただし、DEFファイルにあるlocalcoordが320,240の場合。)

 
大事なのは視野角よりも焦点距離で、500という結果が分かっていればそれでいいのですが、一応測り方をメモしておきます。
 
イメージ 1焦点距離だけ離れて大きさaのものは、焦点距離の2倍離れると大きさは半分(a/2)になります。これを利用して、横幅a、縦幅bの長方形を用います
これをスクリーン上(焦点距離)に設置し、上辺が(a/2)になるまで倒すと、スクリーンから上辺までのZ成分が焦点距離になりますイメージ 2
計算しやすいように角度は30°で固定し、縦幅bを上辺が(a/2)となるように変化させれば、焦点距離は b*cos(30°) = (√3/2)*b となります


具体的には、
大きさ(100×100)の正方形と(50×1)の長方形を用意
MUGEN上に長方形を表示、縦に画面いっぱいまで拡大
正方形を重ねて表示し、xangle = 60°とする
(xangleはy軸からの角度なので90 - 30 = 60°)
正方形を縦に拡大していく
長方形の横幅とぴったり重なったら、100*拡大率がbの大きさとなる
焦点距離 = (√3/2)*b

一番上の画像より、
tan(視野角/2) = [(1/2)*スクリーン幅]/焦点距離
視野角 = 2*arctan(スクリーン幅/2*焦点距離)
MUGEN1.1のスクリーン幅は(1280×720)、、、ですよね。変えたらどうなるのかは知りません
大きい方(1280)で計算します。まあ大事なのは焦点距離の方なので、、、
これで測れますが、とても測りにくいです。しかも目測なので正確な値は分かりません。私の場合はb = 580となり、焦点距離≒502.3≒500、視野角≒104°となりました。
測る際は歪みに注意です。ちなみに私が測定した際は歪みを全く考慮していなかったので正確ではないと思います。でも今のところ問題はないので多分あってる。多分

以上はDEFファイルにあるlocalcoordが320,240(D0キャラ)の場合の話です。D4キャラなら2倍、HDキャラなら4倍になるようです。まだよく分かっていません。
localcoordを大きくすると焦点距離も大きくなるので、localcoordを大きくしておいて測定した方が精度は高いでしょうね

 
焦点距離が決まっているということは、奥方向に行くほど小さくなる遠近法の程度も決まっているということです。安易にscaleを小さくして奥行きを表現することは出来ず、カメラの位置を原点とすれば、
scale = (500/z)
としなければなりません。
さらにカメラの位置を動かそうとすればワールド座標だのビュー座標だのどんどんややこしくなっていきます。まあ格ゲー作るならそんなことする必要はないですね
MUGEN製作のメモ置き場
 
 
MUGENキャラの製作状況
現在:
沢田綱吉を製作中(家庭教師ヒットマンREBORN!

プッチ神父を公開中(AI付き)
岸辺露伴の外部AIを公開中
ジョナサン(旧)の外部AIを公開中
仗助の外部AIを公開中
エンポリオの外部AIを公開中
1部ディオを公開中(AI付き)
スティーリーダンを公開中(AI付き)
ステージ2つ公開中

あとたまにMUGEN1.1上で3Dモデル組み立てて遊んでいるので興味ある方はどうぞ
https://0011-mugen.hatenablog.com/archive/category/MUGEN%E5%B0%8F%E3%83%8D%E3%82%BF%E6%8A%80%E8%A1%93

公開先
https://onedrive.live.com/redir?resid=7C0630D7E27F52C3!569&authkey=!ALvVjJz8aRCBjXc&ithint=folder%2czip
Twitter(連絡先)
https://twitter.com/xyz_0011
一応メール
w0eleven@yahoo.co.jp