• Senza categoria
  • 0

*UNITY3DSCRIPT*: Sparo per FPS (singolo o tipologia mitra)

By Salvo Cirmi (Tux1)

😀

Altro mio antico articolo che ripropongo, revisionato, volentieri!

Qualche tempo fa mi sono addentrato nel mondo di Unity 3D.Sapete, la grafica 3D mi ha sempre affascinato, sapete perché? E’ possibile, grazie alle vostre mani e alla vostra immaginazione, creare qualsiasi cosa.

Fiumi, laghi, mari, monti, pianure, persone, oggetti.

Qualsiasi cosa. Come preferite, come la desiderate.

Non è forse incredibile?

Oggi vi propongo uni script (lo ammetto, l’ho trovato sul web, non sono così bravo) che permette di sparare (unico colpo o tipologia mitragliatore) per dei giochi di tipo FPS, ovvero Sparatutto in terza persona.

Ecco lo script:

//the bullet we are shooting must have a rigidbody
var Bullet : Transform;
//the speed the bullet is shot at
var Speed = 16000;
//where the bullet spawns (most likely the tip of the gun)
var spawnPoint : Transform;
//if we shoot like a machinegun or not
var RapidFire = false;
//if we shoot every click or not
var SingleFire = true;
//this is only used if rapid fire is set to true
private var shooting = false;
//RateOfFire private
var Counter = Time.deltaTime;
var RateOfFire = 0.250000;

function FixedUpdate ()
{
//if single fire is set to true
if(SingleFire==true){
//we are using the left mouse button to shoot
if(Input.GetButtonUp(“Fire1”)){
//we create the bullet
var shot =Instantiate(Bullet, spawnPoint.transform.position, Quaternion.identity);
//we add the speed
shot.rigidbody.AddForce(transform.forward * Speed); } }
if(RapidFire ==true){
if(Input.GetButtonDown(“Fire1”)){
shooting=true;
}
if(Input.GetButtonUp(“Fire1”)){
shooting=false;
}
if(shooting==true){ Counter += Time.deltaTime;
if(RateOfFire
<
Counter){
var shotRapid =Instantiate(Bullet, spawnPoint.transform.position,
Quaternion.identity);
//we add the speed
shotRapid.rigidbody.AddForce(transform.forward * Speed);
Counter=0; } } } }

E’ scritto in Javascript, quindi per usarlo dovrete aprire un file .java vuoto e incollarlo dentro.

Vi spiego brevemente cosa fa.

Assegna un RigidBody al proiettile, perché è bene che sia un corpo rigido, quindi che sia sottoposto alla legge di gravità ecc., poi imposta la velocità del proiettile (variabile speed), avete la variabile RapidFire che serve a stabilire se volete un monocolpo oppure un fucile mitragliatore, lo script poi imposta di sparare con il tasto sinistro del mouse (vedere Input.GetButtonUp) ecc.

Provatelo per capire di cosa è capace!

Per dubbi o domande, scrivete sul FORUM!

Visited 1 times, 1 visit(s) today
Se vuoi sostenerci, puoi farlo acquistando qualsiasi cosa dai diversi link di affiliazione che abbiamo nel nostro sito o partendo da qui oppure alcune di queste distribuzioni GNU/Linux che sono disponibili sul nostro negozio online, quelle mancanti possono essere comunque richieste, e su cui trovi anche PC, NAS e il ns ServerOne. Se ti senti generoso, puoi anche donarmi solo 1€ o più se vuoi con PayPal e aiutarmi a continuare a pubblicare più contenuti come questo. Grazie!

Hai dubbi o problemi? Ti aiutiamo noi!

Se vuoi rimanere sempre aggiornato, iscriviti al nostro canale Telegram.
Se vuoi ricevere supporto per qualsiasi dubbio o problema, iscriviti alla nostra community Facebook o gruppo Telegram.
Cosa ne pensi? Fateci sapere i vostri pensieri nei commenti qui sotto.
Ti piace quello che leggi? Per favore condividilo con gli altri.
Amazon Music
Scopri le ultime offerte per dischi ssd su Acquista su Amazon
Scopri le ultime offerte per memorie RAM DDR su Acquista su Amazon
Scopri le ultime offerte per Chromebook su Acquista su Amazon
Scopri le ultime offerte per Raspberry su Acquista su Amazon

Potrebbero interessarti anche...

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.