読者です 読者をやめる 読者になる 読者になる
WEB拍手ぱちぱちっと
Clap/拍手

01.MENU
Blog  / ブログ
Videos  / 動画
Pictures  / 絵
Game Materials  / 素材
SS(ShortStory)  / 小ネタ

02.MENU
Novels  / 小説
Chat  / チャット
BBS  / 掲示板
Others  / その他
Old Top  / 旧Top

Traffic Jam Products


GameObjectの座標をuGUIの座標に変換する方法【Unity】

unity お役立ち 技術 解説系 プログラム

RPGの戦闘シーンを作っていた時にダメージの数字を表示しようとしました。

数字はcanvas上にtextを使って表示しようと思ったのです。

 

「簡単簡単〜♪」

 

と何も考えずに敵のpositionをそのまま数字のpositionに渡しました。

すると……

 

f:id:m_training:20150607094430p:plain

 

全然違うところに表示されてます!?

 

f:id:m_training:20150607094508p:plain

ちなみに敵はこんな感じw(真ん中にキツネがいます)

 

これは、GameObjectはワールド座標で管理されており、canvasはスクリーン座標で管理されているためでした。

だからうまく表示させるためには、GameObjectの座標をそのまま渡すのではなく

ワールド座標→スクリーン座標

に変換して渡す必要があります。

 

f:id:m_training:20150607095125p:plain

変換後座標 = Camera.main.WorldToScreenPoint(変換したい座標);

調べる時はムズカシイ説明の場所が多く大いに苦戦しました><

けれど最終的にはこれで十分w

Camera.mainはメインカメラにアクセスすると言う意味です。

 

f:id:m_training:20150607095456p:plain

はい、このような感じでできあがりましたw

 

 

Official LINE Account
友だち追加
@hgf7288s