Синтаксис:
Используется 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;
}
}
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;
}
_doorDetected = true;
} else {
_doorDetected = false;
}