Sparare il proiettile dalla pistola anziché dalla fotocamera, mantenendolo preciso rispetto al reticolo


14

Sto lavorando a un gioco in prima persona e ho riscontrato un problema. Nel mio gioco, viene visualizzata la pistola del giocatore e un reticolo al centro dello schermo, in questo modo:

inserisci qui la descrizione dell'immagine

Innanzitutto, immaginiamo che non ci sia stato il rendering di un modello di pistola. Quindi sparare il proiettile è facile: basta generare il proiettile esattamente dove si trovano gli "occhi" del giocatore, quindi utilizzare il grilletto per calcolare la velocità in base alla direzione in cui il giocatore sta guardando.

Ma ora, quando aggiungiamo il modello di pistola ... non possiamo semplicemente generare il proiettile dove si trovano gli occhi dei giocatori, dobbiamo generarlo sulla punta della pistola (giusto?). Quindi lo fai, ma poi ... come muovi il proiettile in modo che colpirà ovunque il mirino stesse puntando?

Tieni presente che il proiettile nel mio gioco (in realtà è un razzo, in questo caso) si muoverà abbastanza lentamente da poterne vedere il movimento, quindi qualche soluzione alternativa che di solito funzionerebbe se il proiettile è troppo veloce per essere osservato non funzionerà . Ad esempio, se non lo hai generato in modo che sembri che esce dalla punta della pistola, il giocatore lo noterà sicuramente.


1
La risposta alla tua domanda è, Raycasting =)
Gray

È tutto fumo e specchi; i proiettili resi non hanno nulla a che fare con il percorso o raggio effettivo del proiettile.
congusbongus,

@congusbongus Voglio dire, OFC il proiettile reso non deve essere esattamente allineato con la matematica del proiettile stesso, ma se non lo fai in qualche modo inizia a sembrare brutto, ed è qui che sono bloccato .
Aaron,

Risposte:


20

Spara un raggio dalla telecamera attraverso il centro / reticolo nel mondo. Scopri dove nel mondo colpisce. Spara il proiettile dal muso della pistola in quel punto invece che dritto fuori dalla pistola.

Punti bonus per animare le mani e la pistola in modo che puntino in quella direzione mentre mirano in modo che il proiettile sembri ancora sparare direttamente dal muso invece di uscire in un angolo.

Se fai l'animazione potresti semplicemente sparare sempre il proiettile fuori dal muso. Fai semplicemente del tuo meglio per avere la pistola puntata nel punto a cui punta il reticolo entro limiti ragionevoli. È anche utile avere due reticoli in modo che entrambi mostrino naturalmente il centro dello schermo su cui il giocatore sta cercando di mirare e il punto su cui la pistola sta effettivamente mirando.

Oppure puoi mostrare un singolo reticolo che è dove la pistola mirerà dopo aver finito l'animazione e sparare il proiettile in quella direzione piuttosto che nel punto in cui la pistola punta attualmente nella sua animazione. In questo modo il reticolo mostra sempre ciò che il giocatore effettivamente colpirà ma non pretenderà che si possa sparare ad esempio contro un muro solo perché la telecamera vede qualcosa che la pistola non può assolutamente fare.

Tutti questi sono stati utilizzati in giochi reali. Quale preferisci dipenderà dallo stile di gioco che stai realizzando, a quale compromesso tra simulazione e gioco stai mirando, che sia multiplayer o no, ecc.


molti giochi non usano nemmeno modelli per i proiettili, ma semplicemente sparano un raggio come detto per controllare una collisione, quello che puoi fare è mostrare un modello di pistola diverso agli altri giocatori rispetto a quello che appare nella vista attuale dei giocatori e allinearlo con il punto in cui il proiettile viene licenziato dal personaggio che sembra mirare verso il basso
Matthew Pigram,

Counter-Strike Source utilizza questo metodo (ha modelli di visualizzazione, giocatore e mondo)
Matthew Pigram,

-1

Che dire di sbarazzarsi del reticolo? Quindi, i proiettili potrebbero andare in linea retta dalla pistola, proprio come nella realtà. Puntare verso il basso significherebbe di più in quanto allineare il bersaglio e la canna della pistola (meno qualche centimetro sul modello del giocatore).


Mentre molti giochi fanno qualcosa del genere, questa è una decisione di progettazione molto ampia con implicazioni sull'intero ritmo e sul combattimento del gioco.
Katana314,

Per me questo è più di evitare il problema che risolverlo effettivamente.
Aaron,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.