У меня тут возникла странная проблема касательно Raycast'а из камеры в точку на экране, сделал такое:
Синтаксис:
Используется csharp
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class ClickScript : MonoBehaviour {
Camera cam;
RaycastHit hit;
Ray ray;
// Use this for initialization
void Start () {
cam = GetComponent<Camera> ();
ray = cam.ScreenPointToRay (Input.mousePosition);
// пробовал так же вместо этого ray = new Ray (cam.transform.position,Input.mousePosition), но эффект тот же
}
// Update is called once per frame
void Update () {
if(Input.GetMouseButtonDown(0))
{
Debug.Log ("Camera position: " + cam.transform.position.ToString () + "\n Mouse position: " + Input.mousePosition);
Debug.Log ("Camera position: " + ray.origin.ToString () + "\n Mouse position: " + ray.direction.ToString ());
Physics.Raycast (ray, out hit);
Debug.DrawRay(ray.origin, ray.direction * 1000f, Color.green);
}
}
}
using System.Collections.Generic;
using UnityEngine;
public class ClickScript : MonoBehaviour {
Camera cam;
RaycastHit hit;
Ray ray;
// Use this for initialization
void Start () {
cam = GetComponent<Camera> ();
ray = cam.ScreenPointToRay (Input.mousePosition);
// пробовал так же вместо этого ray = new Ray (cam.transform.position,Input.mousePosition), но эффект тот же
}
// Update is called once per frame
void Update () {
if(Input.GetMouseButtonDown(0))
{
Debug.Log ("Camera position: " + cam.transform.position.ToString () + "\n Mouse position: " + Input.mousePosition);
Debug.Log ("Camera position: " + ray.origin.ToString () + "\n Mouse position: " + ray.direction.ToString ());
Physics.Raycast (ray, out hit);
Debug.DrawRay(ray.origin, ray.direction * 1000f, Color.green);
}
}
}
и в результате всего этого в консоль при нажатии на ЛКМ выводятся две пары строк и данные в каждой из пар отличаются
выводит сперва это:
Camera position: (-315.6, 761.9, -457.1)
Mouse position: (701.0, 280.0, 0.0)
а потом это:
Camera position: (117.0, 182.7, 609.5)
Mouse position: (0.1, 0.3, -0.9)
причем куда бы я не кликнул и куда бы камеру не переместил, выводит одно и то же
А луч вообще где то в стороне появляется
Заранее спасибо!