문제

나는 사용하려고한다 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);
}

아이디어가 있습니까?

도움이 되었습니까?

해결책

Physics.raycast (Ray, Hit)에서 "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);
}

다른 팁

C#에서는 기능을 할당하여 데이터를 할당하려면 변수 적중 전에 전구체 아웃 매개 변수를 사용해야합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top