【Unity】UI Toolkitの座標変換はRuntimePanelUtils.CameraTransformWorldToPanel

UI Toolkitで作ったUI3Dオブジェクトに合わせて表示したく、

Camera.WorldToScreenPoint を使っていましたが

どうやってもずれてしまう現象に悩んでいました。


しかし、RuntimePanelUtils.CameraTransformWorldToPanelを使うと

あっさり上手くいきました。


UIは2Dじゃないのか?と悩んでいましたが、UI Toolkitを使うときには、実はPanel Settingsが自動的に作成されます。


ここにScale Modeがありますので、単純な2Dへの変換だけではダメなのは当然でしたね・・・

RuntimePanelUtils.CameraTransformWorldToPanelを使用した場合はちゃんとここを考慮してくれるようです。



コメント