Question

Je suis en train d'utiliser la méthode de Physics.Raycast, mais je reçois des erreurs disant:

  

Le match de la meilleure méthode surchargée pour 'UnityEngine.Physics.Raycast (UnityEngine.Vector3, UnityEngine.Vector3, flotteur, int)' a des arguments non valides.

Il est étrange parce que les deux itellisense et la documentation me disent que cela est permis:

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);
}

Toute idée?

Était-ce utile?

La solution

Je pense que vous avez besoin le mot-clé avant "frapper" dans Physics.Raycast (ray, appuyez sur).

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);
}

Autres conseils

En C #, nous devons utiliser un précurseur en paramètre avant le coup variable afin d'obtenir la fonction d'assigner des données.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top