Categories: unity:総合

【unity】マウス座標を2Dキャンバス座標に変換する

製作中ゲームでマウス座標をCanvas(2Dキャンバス)座標に変換したかったのでメモります。

 

 

 

//
// !不完全なコードです
//
private Vector3 position;                       // マウス位置取得
public RectTransform canvaGameRect;  //座標変換したいキャンバス
private Vector3 screenToWorldPointPosition; // スクリーン座標をワールド座標に変換した位置座標
position = Input.mousePosition;             // Vector3でマウス位置座標を取得する
position.z = 0f;
ScreenToViewportPoint = Camera.main.ScreenToViewportPoint(position);
Vector2 WorldObject_ScreenPosition = new Vector2(
((ScreenToViewportPoint .x * canvaGameRect.sizeDelta.x) - (canvaGameRect.sizeDelta.x * 0.5f)),
((ScreenToViewportPoint .y * canvaGameRect.sizeDelta.y) - (canvaGameRect.sizeDelta.y * 0.5f)));
//テキスト出力部分
dbg_text.text =  WorldObject_ScreenPosition.ToString();
gamebox

「たのしいさんすう」リリース開始!札幌で働くゲームデザイナーです。プログラマー10年、プランナー10年やっています。メインプランナー4本/ディレクター2本やりました。unityとソシャゲが好き。2児の父親です

Share
Published by
gamebox