Fonte :
http://eareis.wordpress.com/2011/05/17/tutorial-%E2%80%93-jogo-em-1%C2%BA-pessoa-em-unity-3d-%E2%80%93-parte-2/
Continuando…
- Vamos agora inserir a arma, para isto simplesmente arasste-o para a janela Project, caso você não tenha uma arma vc pode baixar a que usei, clique aqui , primeiro importe a textura e depois o objeto.
-
- Adicione-o junto a Main Camera e posicione-o com os seguintes parametros do Transform: position(0,-3.3,0.9),rotation(86.2,173.1,83.8) e Scale(0.2,0.2,0.2) .
Crie um cubo e adicione a arma, coloque na ponta da arma, deixe o rotation como (0,90,0) e a Scale como 1 .
Crie um novo TAG, para isto selecione o cubo, vá na janela Inspector, clique em Tags ( fica em cima dos campos do Transform) e AddTag, na janela que abrie clique em Tags e coloque size como 2 e nos elementos crie as Tags bala e balaIni, veja a imagem abaixo:
Crie um novo JavaScript , renomeio como arma e clique dias vezes nele para editá-lo.
- Copie e cole o código abaixo
//Velocidade do tiro
var velTiro = 150.0;
//Bala
var balaObj : GameObject;
function Atira () {
//Cria a bala, adiciona fisica e aplica velocidade
var bala = Instantiate(balaObj,transform.position,transform.rotation); //GameObject.CreatePrimitive(PrimitiveType.Sphere);
bala.tag = "bala";
//bala.transform.parent = transform;
bala.AddComponent(Rigidbody);
bala.transform.position = transform.position;
bala.transform.rotation= transform.rotation;
//bala.transform.localScale= Vector3(0.1,0.1,0.1);
bala.rigidbody.velocity = transform.forward * velTiro*-1;
bala.rigidbody.mass = 1;
//toca o som do tiro
audio.Play();
}
function Update () {
//Atira quando aperta o botão correspondente
if (Input.GetButtonDown("Fire1")) {
Atira();
}
}
- Adicione o escript ao cubo na ponta da arma
- Crie uma esfera, scala para .1 e adicione a particula Fire1 nela, é só arrastar e soltar para a sphere.
- Crie um novo javascript para retirar a bala da cena e aplique a bala(esfera).
- Renomeie este Script para mataBala e edite-o.
- Copie e código o código abaixo:
function Start () {
meMate();
}
function meMate(){
//Mata a bala depois de 5 segundos que ela foi criada
yield WaitForSeconds(5);
Destroy(gameObject);
}
- Crie um Prefab (Asset/Create/Prefab) e adicione a efera, para isto arraste a esfera até o Prefab criado, meu prefab eu chamei de bala.
Arraste o prefab criado para o campo balaObj do componente cubo que vc colocou na ponta da arma.
Agora de um Play e teste, o jogo deverá estar funcionando a função de atirar.
Guias
Sem Comentários
Postar um comentário