Ошибка при использовании Raycast - PullRequest
1 голос
/ 01 ноября 2009

Я пытаюсь использовать метод Physics.Raycast, но получаю сообщение об ошибке:

Наилучшее совпадение перегруженного метода для 'UnityEngine.Physics.Raycast (UnityEngine.Vector3, UnityEngine.Vector3, float, int)' имеет недопустимые аргументы.

Это странно, потому что и itellisense, и документация говорят мне, что это разрешено:

RaycastHit hit = new RaycastHit();
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
if (Physics.Raycast(ray, hit)) {
    print(hit.point.ToString());
    selection.transform.Translate(hit.point - selection.transform.position);
}

Есть идеи?

Ответы [ 2 ]

4 голосов
/ 01 ноября 2009

Я думаю, что вам нужно ключевое слово out перед "попаданием" в Physics.Raycast (ray, hit).

RaycastHit hit = new RaycastHit();
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
if (Physics.Raycast(ray, out hit)) {
    print(hit.point.ToString());
    selection.transform.Translate(hit.point - selection.transform.position);
}
0 голосов
/ 06 декабря 2012

В C # мы должны использовать параметр предвестника, прежде чем переменная попадет в Для того, чтобы получить функцию, чтобы назначить ему данные.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...