###前提・実現したいこと
Unity公式のリファレンスを読んだ限りではWebCamTextureは指定した値に対してカメラがサポートする最も近い値を自動的に選ぶようです。
これは具体的に例を挙げるとするとカメラの物理性能が1280×720 30FPSに対してUnityのWebCamTextureで1980×1280 60FPSを指定したとすれば自動的にそれに最も近いカメラのサポートする性能である1280×720 30FPSで動作するという事だと思います。
しかし、ここで問題なのは解像度の指定とFPSの指定の優先順位です。
例えば一台のカメラが720×480 60FPSと640×480 60FPSと1280×720 30FPSの3つの動作モードをサポートしていたとします。
この時、FPSの高さを最優先で選び、次に解像度が最も高いもの、すなわち720×480 60FPSで動作させたいとします。
そのような時にはrequestedWidth、requestedHight、requestedFPSのそれぞれの優先順位が問題になってくるはずです。
解像度よりもFPSを優先させる時にはどのように指定すれば良いのでしょうか?
###該当のソースコード
WebCamTexture w =new WebCamTexture(7680, 4320, 120);
###試したこと
とりあえず上のコードを実行し、w.widthとw.heightから1920×1080 30FPSモードで動作している事がわかりました。
自分の使っているWebカメラは1920×1080 30FPSと1280×720 60FPSの2つの動作モードをサポートしているはずなのですがFPSを優先させる時にはどのように指定するのかわかりません。
WebCamTexture w =new WebCamTexture(7680, 4320, 120000);
このようにrequestedFPSに極端に大きな数字を渡してみても解像度が優先されました。
どうにもrequestedWidthやrequestedHeightの方がreauestedFPSより優先順位が高いようです。
###補足情報(言語/FW/ツール等のバージョンなど)
Unity 2017.1
C#
###ご教示ください(><)
困っています(´・ω・`)
あなたの回答
tips
プレビュー