2018.3以降でWebCamTextureがリクエストサイズを無視したデータを投げてくる件(互換性破壊だった)
概要
タイトルの通り。
2018.3.11f1まで、事象が起こるのを確認済み。
同様の問題は2019.1b10でも発生している。
具体的にどうなるのか
iOS端末で、WebCamTextureから取得できるテクスチャサイズが最大サイズのものになる。
例えばiPadPro 12.9 2018モデルだと、2700 x 2000 くらいのテクスチャを返してくる。
対策
WebCamTextureを使わない。
レポート
今作った。
結果
レポートに対して
Hello,
Unity added support for iPhone/iPad Depth Camera, please take a look:
https://docs.unity3d.com/ScriptReference/WebCamTexture-ctor.html
https://docs.unity3d.com/ScriptReference/WebCamDevice.htmlnew
In your Repro project you selecting last front facing device from a WebCamTexture.devices with an assumption that it will be correct one, but it is not valid with new Camera kind introduced.
・UnityのあるバージョンからiPhone/iPadのデプスカメラに対応したんだよ
・そんでそのぶんのカメラが増えてる
・現状のお前のアプリはfrontFacing かつ lastで選んでるから、Depthカメラを引いたんだよ
という回答だった。
いや、お前、それ、今まで一個しかなかったfront facing cameraを、isFrontFacingで検索してる今までのアプリ全滅するぞ、後方互換性破壊してるやんけ
と思ったが、ふーーーんなるほどー===~~~という感じで納得した。
納得いかないけど、旧来のアプリは大体死ぬが、破壊的変更ではあるが、
・front facing
・kind
この2つを組み合わせてチェックする必要がある。
kind作るならカメラ一覧取得するときにGetDepthCameraとか作りなさいよという気持ちがMaxになりそうになるんだけど、
まーーーーーうーーーーーーーーーん、、、、ギリギリのギリギリで許す。
総評
互換性は破壊されている。俺は許すが俺の魂が赦すかな?!