前提・実現したいこと
マウスカーソルの場所を示すときのずれを直したい
該当のソースコード
マウスカーソルの場所を示すための画像を、以下のスクリプトで生成しています。
C#
1mousePos = Camera.main.ScreenToWorldPoint(Input.mousePosition); 2float x = Mathf.RoundToInt(mousePos.x); 3float y = Mathf.RoundToInt(mousePos.y); 4 5x += 0.5f; 6y -= 0.5f; 7 8mousePos = new Vector2(x, y);
C#
1Graphics.DrawMesh(mesh, mousePos, Quaternion.identity, selectCursorMat, 0);
C#
1 void GenerateMesh() 2 { 3 mesh = new Mesh(); 4 mesh.vertices = new Vector3[] { 5 new Vector3 (0f, 0f, 0), 6 new Vector3 (0f, 1f, 0), 7 new Vector3 (1f, 0f, 0), 8 new Vector3 (1f, 1f, 0), 9 }; 10 11 mesh.uv = new Vector2[] { 12 new Vector2 (0, 0), 13 new Vector2 (0, 1), 14 new Vector2 (1, 0), 15 new Vector2 (1, 1), 16 }; 17 }
↑メッシュを生成するメソッド
試したこと
↑X座標を+0.5し、y座標を-0.5した場合。Graphics.DrawMeshで生成したタイルにぴったり合うように座標を調整しています
地形はGraphics.DrawMeshで生成しているのですが、マウスカーソルの場所とずれを直すために、上記のスクリプトで、X座標を+0.5し、y座標を-0.5しています。
ですが、こうしてしまうと、マウスの動きに対して、直感的に画像のカーソルが動いてくれません。
どのようにすれば、正しくマウスカーソルの位置を示す画像を動かすことができるでしょうか?
回答よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー