Esempio n. 1
0
 private UnityEngine.Vector3 GetTouchPos()
 {
     UnityEngine.Vector3 pos = UnityEngine.Vector3.zero;
     pos.x = GfxSystem.GetTouchPointX();
     pos.y = GfxSystem.GetTouchPointY();
     pos.z = GfxSystem.GetTouchPointZ();
     return(pos);
 }
Esempio n. 2
0
        public static UnityEngine.Vector3 GetTouchPos(GameObject obj)
        {
            UnityEngine.Vector3 pos = UnityEngine.Vector3.zero;
            pos.x = GfxSystem.GetTouchPointX();
            pos.y = GfxSystem.GetTouchPointY();
            pos.z = GfxSystem.GetTouchPointZ();
            UnityEngine.Ray ray       = Camera.main.ScreenPointToRay(pos);
            int             layermask = 1 << LayerMask.NameToLayer("Terrains");

            UnityEngine.RaycastHit[] rch = Physics.RaycastAll(ray, 200f, layermask);
            if (rch.Length > 0)
            {
                return(rch[0].point);
            }
            else
            {
                float height   = ray.origin.y - obj.transform.position.y;
                float distance = Math.Abs(height * ray.direction.magnitude / ray.direction.y);
                UnityEngine.Vector3 height_pos = ray.GetPoint(distance);
                return(height_pos);
            }
        }