Как ограничить длину рейкаста?

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

Как ограничить длину рейкаста?

Сообщение MorfixProton 26 авг 2018, 11:15

Есть такой код:
Синтаксис:
Используется csharp
RaycastHit _hit;
                Ray _ray = Camera.main.ScreenPointToRay (Input.mousePosition);
                Debug.DrawRay (_ray.origin, _ray.direction * _rayDistance, Color.green);

                if (Physics.Raycast(_ray, out _hit)) {
                        Debug.Log (_hit.collider.gameObject.name);
                        if (_hit.collider.gameObject.name == "Door") {
                                _doorDetected = true;
                        } else {
                                _doorDetected = false;
                        }
                }
 

Нужно, чтобы я определял эту дверь не с километрового расстояния а, скажем с расстояния, которое я укажу в переменной _rayDistance

Так не помогло:
Синтаксис:
Используется csharp
Ray _ray = Camera.main.ScreenPointToRay (Input.mousePosition * _rayDistance);
 


P.S.
Как тут сделать проверку, на то, что если рейкаст вообще не врежется в коллайдер?
Синтаксис:
Используется csharp
if (_hit.collider.gameObject.name == "Door") {
                                _doorDetected = true;
                        } else {
                                _doorDetected = false;
                        }
MorfixProton
UNITрон
 
Сообщения: 197
Зарегистрирован: 18 окт 2015, 11:37

Re: Как ограничить длину рейкаста?

Сообщение waruiyume 26 авг 2018, 11:28

Изображение
Аватара пользователя
waruiyume
Адепт
 
Сообщения: 6143
Зарегистрирован: 30 окт 2010, 05:03
Откуда: Ростов на Дону


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

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

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