Страница 1 из 1

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

СообщениеДобавлено: 26 авг 2018, 11:15
MorfixProton
Есть такой код:
Синтаксис:
Используется 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;
                        }

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

СообщениеДобавлено: 26 авг 2018, 11:28
waruiyume
Изображение