Home » [UNITY3DSCRIPT] Sparo per FPS (singolo o tipo mitra)
Guide

[UNITY3DSCRIPT] Sparo per FPS (singolo o tipo mitra)

Da un pò 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.

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, scriveteci sul FORUM!

Sono presenti link non funzionanti nell'articolo?
Segnalalo tramite commento, grazie della collaborazione.

Ti e piaciuto questo articolo?
Supporta il nostro lavoro, facendo una donazione!

Informazioni sull'autore

LucaH2

CEO e Fondatore di questo blog, sono un perito industriale capo-tecnico specializzazione Chimica, ma amo la tecnologia. Sono un appassionato di tutte le novità tecnologiche, con abbastanza esperienza sui sistemi di rete, hardware e software.

Oltre alla tecnologia un’altra grande passione sono le auto e le competizioni, ho abbastanza esperienza nella realizzazione e progettazione di vetture monoposto e biposto.

Desktop Solution