Hola soy principiante y me preguntaba como podría hacer para que al detectar el
click izquierdo del ratón la instancia se cree y se
dirija a las coordenadas del cursor se detecto el click, también como podría hacer para que la rotación concuerde con la dirección de la instancia.
De momento había pensado en este código:
if (Input.GetButtonDown("Fire1")) {
Shoot();
}
void Shoot() {
Instantiate(bulletPrefab, Firepoint.position, Firepoint.rotation);
}
[/quote]
Firepoint representaría la posición del Cursor, aunque también pensaba que un objeto siguiera al cursos y este fuera Firepoint
(//%3CfileStore.core_Attachment%3E/monthly_2018_10/UNITY.thumb.jpg.d5ba18b88e173d47aaede88676c98b94.jpg)
(//%3CfileStore.core_Attachment%3E/monthly_2018_10/90436577_NoIgnoreplzno.thumb.jpg.7bdabc6d3302707ccd88f16a10a74b49.jpg)
hola.
puedes hacerlo de varias formas... pero primero deverias saber la posicion de raton (cursor) en pantalla, ...y la posicion del player...
si a la posicion del raton (en pantalla) ...le restas la posicion del player (en pantalla)... te dara un vertor de direccion que apuntara hacia tu cursor...
puedes usarlo para definir la direccion de tu bala... o puedes hayar el angulo del vector con "Mathf.Atan2(dist.x, dist.y)" y luego simplemente girar la bala...
por ejemplo:
Vector3 mousePos = Input.mousePosition;
Vector3 playerPos = Camera.main.WorldToScreenPoint(transform.position);
Vector3 direction = mousePos - playerPos;
float ang = Mathf.Atan2(direction.x, direction.y);
GameObject ba = (GameObject)Instantiate(bala, transform.position, transform.rotation);
ba.Rotate(0f,0f,ang);
Todo esto es suponiendo que es un juego 2d...
¡Gracias por la respuesta! si el juego es 2d, busque en la documentación pero terminé buscando respuesta aquí
¿Como vas a disparar? que te estoy viendo venir. Ni se te ocurra apuntar el proyectil a la dirección y hacer un AddForce o algo parecido, que os conozco. Mira el Raycast.