Какая то проблема с Raycast'ом

Форум для самых маленьких, а так же тех, кому недосуг читать справку самостоятельно.

Какая то проблема с Raycast'ом

Сообщение Lolozavar 20 ноя 2017, 19:59

Доброго времени суток!
У меня тут возникла странная проблема касательно 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);
                 }
         }
}
 

и в результате всего этого в консоль при нажатии на ЛКМ выводятся две пары строк и данные в каждой из пар отличаются :-??
выводит сперва это:
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)
причем куда бы я не кликнул и куда бы камеру не переместил, выводит одно и то же
А луч вообще где то в стороне появляется
:-?? :-?? :-?? :-? :-?
Заранее спасибо!
Lolozavar
UNец
 
Сообщения: 14
Зарегистрирован: 03 июл 2017, 18:11

Re: Какая то проблема с Raycast'ом

Сообщение samana 20 ноя 2017, 23:03

Так вы ведь создали луч только в Start-е, то-есть единожды и всё, конечно результат будет одинаковый. Вам нужно создавать луч при нажатии мыши.
Аватара пользователя
samana
Адепт
 
Сообщения: 4738
Зарегистрирован: 21 фев 2015, 13:00
Откуда: Днепропетровск

Re: Какая то проблема с Raycast'ом

Сообщение Lolozavar 01 дек 2017, 21:28

samana писал(а):Так вы ведь создали луч только в Start-е, то-есть единожды и всё, конечно результат будет одинаковый. Вам нужно создавать луч при нажатии мыши.

Точно, спасибо)
Lolozavar
UNец
 
Сообщения: 14
Зарегистрирован: 03 июл 2017, 18:11


Вернуться в Почемучка

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex [Bot] и гости: 24