RPGの戦闘シーンを作っていた時にダメージの数字を表示しようとしました。
数字はcanvas上にtextを使って表示しようと思ったのです。
「簡単簡単〜♪」
と何も考えずに敵のpositionをそのまま数字のpositionに渡しました。
すると……
全然違うところに表示されてます!?
ちなみに敵はこんな感じw(真ん中にキツネがいます)
これは、GameObjectはワールド座標で管理されており、canvasはスクリーン座標で管理されているためでした。
だからうまく表示させるためには、GameObjectの座標をそのまま渡すのではなく
ワールド座標→スクリーン座標
に変換して渡す必要があります。
変換後座標 = Camera.main.WorldToScreenPoint(変換したい座標);
調べる時はムズカシイ説明の場所が多く大いに苦戦しました><
けれど最終的にはこれで十分w
Camera.mainはメインカメラにアクセスすると言う意味です。
はい、このような感じでできあがりましたw