Home  >> HT Jogos >  >> Jogos de computador

Como Atirar na Direção do Mouse no Unity

"Unity 3D", mais conhecido simplesmente como "Unity", é um shell de programação de jogos especial projetado para agilizar o processo de criação de jogos. Ao usar o Unity, programadores de jogos conseguem contornar muitas das armadilhas e falhas que podem tornar a criação de jogos tediosa e difícil. Uma das principais dificuldades para novos usuários do "Unity" é descobrir como fazer seu personagem principal atirar onde o mouse está apontando. Resolva esse problema criando um script MissileLauncher (Lançador de Mísseis) que permitirá ditar o comportamento das armas de mísseis do seu personagem.

O que você vai precisar

  • FPS_Tutorial.zip
  • Arquivo "Standard Assets Unity Package"

Instruções

  1. Baixe o FPS_Tutorial.zip do site do Unity 3D. Importe o arquivo "Standard Assets Unity Package" da pasta "Standard Packages" na sua pasta de instalação do Unity 3D.

  2. Abra o projeto para o qual você quer modificar o comportamento do mouse. Neste ponto, você já deve ter construído um ambiente de nível, um modelo para seu personagem principal, um "Launcher" (Lançador) ou modelo de arma para esse personagem, e um míssil a ser disparado da arma. Lembre-se que o termo "míssil" aqui descreve qualquer projétil disparado de uma arma, não apenas um foguete explosivo.

  3. Selecione "Assets" (Ativos) no menu principal, seguido por "Create" (Criar) e depois "Javascript". Isso criará um novo ativo na área do Painel do Projeto chamado "NewBehaviourScript". Renomeie este ativo para "MissileLauncher". Este script ditará o comportamento da arma do seu personagem.

  4. Crie um novo diretório dentro do painel Project View chamado "WeaponScripts". Os scripts que definem o comportamento de cada arma individual serão colocados aqui. Mova o novo script MissileLauncher para o diretório WeaponScripts, junto com o script que define a aparência do seu objeto Missile.

  5. Escreva um script para "MissileLauncher" que fará sua arma gerar um míssil e fazê-lo mover para frente dando-lhe velocidade ao longo do eixo Z. Após escrever o código, salve o arquivo JavaScript. Um script de exemplo seria algo como:

    var projectile : Rigidbody;
    var speed = 20;
    function Update()
    {
        if( Input.GetButtonDown( "Fire1" ) )
        {
            var instantiatedProjectile : Rigidbody = Instantiate(
                projectile, transform.position, transform.rotation );
            instantiatedProjectile.velocity =
                transform.TransformDirection( Vector3( 0, 0, speed ) );
            Physics.IgnoreCollision( instantiatedProjectile.collider,
                transform.root.collider );
        }
    }

    A linha "GetButtonDown( "Fire1" )" diz ao script para executar as ações seguintes quando você clica no botão esquerdo do mouse. A linha "instantiatedProjectile" cria o objeto míssil. A linha "TransformDirection( Vector3..." diz ao objeto míssil para mudar sua direção para o eixo Z, que é o eixo onde o ponteiro do mouse do usuário está voltado.

  6. Anexe o script MissileLauncher à arma do seu personagem indo ao painel FPS Controller do Unity e anexando o script ao "Launcher".

  7. Associe o objeto Missile que você criou com a variável "projectile" usada no script de exemplo acima. Clique no script "Missile" no painel Project, depois clique em "Components" na barra de menu principal. Selecione "Physics" (Física) e depois "Rigidbody". Isso tornará o projétil um objeto sólido e o combinará com o nome da variável usado no código de exemplo.

  8. Associe o objeto Missile com a variável Projectile no script. Faça isso clicando em "Launcher" no painel Hierarchy e arrastando o script Missile do painel Project para a variável Projectile na seção do script MissileLauncher. O programa associará então o objeto Missile com seu comportamento adequado.

  9. Execute o jogo para testar o comportamento da sua arma. Assumindo que a perspectiva do seu personagem está centrada na posição do cursor do mouse, clicar no botão do mouse deve disparar seu míssil criado ao longo do vetor onde o mouse está apontando.

HT Jogos © direito autoral [www.ptjogos.com]