Pregunta
Estoy tratando de utilizar el método Physics.Raycast
, pero me da errores diciendo:
El partido mejor método sobrecargado para 'UnityEngine.Physics.Raycast (UnityEngine.Vector3, UnityEngine.Vector3, flotador, int)' tiene algunos argumentos no válidos.
Es extraño porque tanto itellisense y la documentación me dicen que esto está permitido:
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);
}
¿Alguna idea?
Solución
Creo que se necesita la palabra clave antes de "éxito" en Physics.Raycast (rayos, golpear).
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);
}
Otros consejos
En C # debemos usar un precursor a cabo parámetro antes de que llegara variable en Para obtener la función de asignar los datos a la misma.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow