SchultzGames
Para tirar dúvidas, crie um tópico especifico na área "Dúvidas em Geral" e aguarde ser respondido. Evite comentar em tópicos não relacionados a sua dúvida Very Happy
TÓPICOS RECENTES:
Tópico:
Postado em:
Postado por:
[____TÓPICO LIVRE____] FALE O QUE QUISER (Parte 2)
[TUTORIAL] Sistema de tiro com RAYCAST (várias armas, mira laser, munição, dano, etc, etc)
IsLocalPlayer não existe, o que substitui ele?
Trocar controles de keyboard para gui
Script de Chute Futebol
Polygon Collider anexado a sprite com areas transparentes
Seleçao de personagens no Photon.
Botão para acionar velocidade e botão para retornar a posição inicial
Duvidas sobre jogos 2d
como fazer sistema de seleção de personagem para moba no photon?
Sombras na "tampa" de buracos no blender
[____APOIE O FÓRUM E O CANAL E GANHE RECOMPENSAS____]
[____ADMINISTRAÇÃO____] PRECISO DE AJUDA [DICA PARA SER AJUDADO]
Gradiente de cores
Personagem olhar para frente ao andar.
Efeito arma giratória
[TUTORIAL] Criando um simples Multiplayer [UNITY 5]
[Dúvida] Multiplayer Client Object Spawn
Tangram ou Quebra Cabeça
[RESOLVIDO] Problema Com o transform.LookAt!
Jogo com Battle Royale já em desenvolvimento
[TUTORIAL] Unity 5 - Skid Marks (marcas de derrapagem)
Inimigo jogar o jogador de volta.
Como fazer um gráfico em forma de pizza na unity?
Texturização no Blender
Tudo fica bugado ao mudar o projeto de PC para Android
erro de dll's
Como alterar todos os materiais de um mesh renderer?
Destruir Polygon Collider 2D e Readiciona-lo, porém não há uma precisão no colisor gerado!
[TUTORIAL] Mudando material
[RESOLVIDO] Remover child
[RESOLVIDO] Como compilar pra android ?
Inimigo seguir o jogador sem usar o NavMesh
Resolução
(DUVIDA) Pq os Graficos Não Diminuem Corretamente?
[RESOLVIDO] Script não ativa bool do animator
[FORMAÇÃO DE EQUIPE]Equipe para jogo De Carros
Como evitar que o QualitySettings afete a qualidade da textura de um texto do canvas?
[TUTORIAL] Deixar o Texto (UI) mais bonito - HD
Código não compila
Há alguma forma de Fazer o apk Funcionar somente se for baixado pela Play Store ?
[Alpha Android] - Winthia Chronicles (Alpha Devlog, 21 de março de 2018). V 1.6
Configurar MS vehicle system free para UFPS
CRIAR MENSAGEM NA TELA PARA PERSOAGEM
[RESOLVIDO] Dúvida sobre animação do personagem
Duvida sobre Cenas
[RESOLVIDO] Duvida sobre versao da unity e sobre o lerp
[RESOLVIDO] problemas ao animar o game object
[DÚVIDA] Sair som e acender luz de um BOTÃO UI ao pressionar uma tecla
Dificuldade em criação de mapa simples no Unity
Procuro Modelador 3D, To criando uma equipe.vamos?
[TUTORIAL] Inteligência Artificial
[Devlog] ZByte Defender 10/04 (Alpha Aberta) + Download
[____ADMINISTRAÇÃO____] Alterações IMPORTANTES no fórum.
[TUTORIAL] Decrescer o valor do Emission Particlesystem
Limitar quantidades de vezes chamadas na void Update
[TUTORIAL] Sistema de inventário Sobrevivência
Sistema de Particulas não inicia com o jogo
[TUTORIAL] Serialização - JSON
Como posso resolver um bug reporter que não me deixa abrir o projeto?
[TUTORIAL]Sistema de Pet Virtual [Tamagotchi] Completo (ANDROID/PC)
Como arrumar efeitos do UFPS?
Servidor de discord para desenvolvedores.
Setar objeto filho de outro objeto via scrit
[RESOLVIDO] NavMesh nao funciona direito com terrain ?
[PEDIDO]Criar uma vestimenta para esse modelo que fiz no blender (Com-rig)
Duvida sobre blender para unity
Script para Sistema de Entregas e no final ganhar dinheiro
Problema com contator
Formação de equipe
Criar jogo estilo clash of clans
Form API POST WebService unity
Por que a engine Unity 3D ficou pesado(FPS pior) depois da versão 5?
[TUTORIAL] Screenshoot do jogo no editor (em resoluções mais altas)
[DÚVIDA] Fazer pontuação quando objeto passar por um collider
Como marcar um limite do direcional light em cada parte da cidade?
[Duvida] Multiplayer Moviment Client [Bug?!]
desenvolvimento do meu projeto, fase final
Movimentação 2D em personagem 3D
Ajuda com Substance Designer
Duvida usar posicao do mouse para mudar direcao de Ray
Ajuda Brush de Árvore Terreno
Command 888
Preciso de programador
Sistema de probabilidade de Spawn para Waves
Ajuda com o recuo da arma Jogo de Fps no unity
FPS Asset package completo
Duvida sobre como instanciar 3 objetos de uma vez mas com um tempo entre cada instancia
Shadow of the colossus materiais e models
Duvida Nav Mesh
Dificuldade na Criação de fase bônus
Bomb Battle Jogo Online Em Desenvolvimento
Arquivos NUGET
Controle de Som Quiz
CANVAS BUGADO
Script de Gol ou Escanteio / Pong / Campo de Volei..Alguém??
[TUTORIAL] Sistema de vida,morte,dano
Video no Unity
Problema para fazer Rank de jogadores
Hoje à(s) 12:00 am
Ontem à(s) 7:05 pm
Ontem à(s) 6:21 pm
Ontem à(s) 4:49 pm
Ontem à(s) 3:12 pm
Ontem à(s) 3:07 pm
Ontem à(s) 12:58 pm
Ontem à(s) 6:39 am
Ontem à(s) 6:28 am
Ontem à(s) 6:24 am
Ontem à(s) 1:05 am
Qui Abr 19, 2018 10:35 am
Qui Abr 19, 2018 10:34 am
Qui Abr 19, 2018 10:33 am
Qui Abr 19, 2018 9:33 am
Qui Abr 19, 2018 6:54 am
Qui Abr 19, 2018 6:45 am
Qui Abr 19, 2018 6:02 am
Qua Abr 18, 2018 10:30 pm
Qua Abr 18, 2018 9:13 pm
Qua Abr 18, 2018 8:57 pm
Qua Abr 18, 2018 6:33 pm
Qua Abr 18, 2018 6:18 pm
Qua Abr 18, 2018 5:48 pm
Qua Abr 18, 2018 3:28 pm
Qua Abr 18, 2018 2:59 pm
Qua Abr 18, 2018 1:41 pm
Ter Abr 17, 2018 9:55 pm
Ter Abr 17, 2018 8:05 pm
Ter Abr 17, 2018 8:01 pm
Ter Abr 17, 2018 8:00 pm
Ter Abr 17, 2018 7:53 pm
Ter Abr 17, 2018 3:35 pm
Ter Abr 17, 2018 2:22 pm
Ter Abr 17, 2018 1:07 pm
Seg Abr 16, 2018 10:28 pm
Seg Abr 16, 2018 9:03 pm
Seg Abr 16, 2018 6:36 pm
Seg Abr 16, 2018 6:33 pm
Seg Abr 16, 2018 6:31 pm
Seg Abr 16, 2018 1:19 pm
Seg Abr 16, 2018 12:40 pm
Seg Abr 16, 2018 12:09 pm
Seg Abr 16, 2018 10:01 am
Seg Abr 16, 2018 1:07 am
Dom Abr 15, 2018 8:28 am
Dom Abr 15, 2018 12:06 am
Sab Abr 14, 2018 4:29 pm
Sab Abr 14, 2018 2:52 pm
Sab Abr 14, 2018 1:23 pm
Sab Abr 14, 2018 11:23 am
Sab Abr 14, 2018 11:10 am
Sab Abr 14, 2018 9:56 am
Sex Abr 13, 2018 10:20 pm
Sex Abr 13, 2018 10:01 pm
Sex Abr 13, 2018 8:12 pm
Sex Abr 13, 2018 7:22 pm
Sex Abr 13, 2018 4:50 pm
Sex Abr 13, 2018 3:12 pm
Sex Abr 13, 2018 1:30 pm
Sex Abr 13, 2018 12:59 pm
Sex Abr 13, 2018 12:20 pm
Sex Abr 13, 2018 12:16 pm
Sex Abr 13, 2018 12:02 pm
Qui Abr 12, 2018 10:14 pm
Qui Abr 12, 2018 7:01 pm
Qui Abr 12, 2018 12:09 pm
Qua Abr 11, 2018 9:02 pm
Qua Abr 11, 2018 4:26 pm
Qua Abr 11, 2018 2:00 pm
Ter Abr 10, 2018 11:33 pm
Ter Abr 10, 2018 8:26 pm
Ter Abr 10, 2018 5:57 pm
Ter Abr 10, 2018 2:30 pm
Seg Abr 09, 2018 9:12 pm
Seg Abr 09, 2018 8:37 pm
Seg Abr 09, 2018 5:36 pm
Dom Abr 08, 2018 5:38 pm
Dom Abr 08, 2018 4:53 pm
Dom Abr 08, 2018 3:51 am
Sab Abr 07, 2018 11:00 pm
Sab Abr 07, 2018 8:39 pm
Sab Abr 07, 2018 7:28 pm
Sab Abr 07, 2018 5:27 pm
Sab Abr 07, 2018 12:05 am
Sex Abr 06, 2018 8:07 pm
Sex Abr 06, 2018 6:27 pm
Sex Abr 06, 2018 4:42 pm
Sex Abr 06, 2018 4:30 pm
Sex Abr 06, 2018 2:43 pm
Sex Abr 06, 2018 12:45 pm
Qui Abr 05, 2018 5:22 pm
Qui Abr 05, 2018 4:49 pm
Qui Abr 05, 2018 4:30 pm
Qui Abr 05, 2018 1:51 pm
Qui Abr 05, 2018 1:05 pm
Qui Abr 05, 2018 12:23 am
Qua Abr 04, 2018 10:32 pm
Qua Abr 04, 2018 9:01 pm
MarcosSchultz
DreamKiller
YmKx
otavio00augusto
dstaroski
dstaroski
Callyde Jr
Phph09
Phph09
Phph09
felipehobs1
dstaroski
dstaroski
dstaroski
Daniel Pires da Silva
Phph09
Phph09
Callyde Jr
luizmauro123
MarcosUAC
MarcosUAC
guimaraf
rafaelllsd
oilson
Yagogomes
Fluttershy28
hetrodo_gamer
Dom3000
MarcosSchultz
Dom3000
AmaralGabriel2
TioUV
dstaroski
Zack2
glauco
Daniel Pires da Silva
fabriciorsz34
Daniel Pires da Silva
Souris
Souris
fabriciorsz34
Cássio Ambelouer
Phph09
felipehobs1
Callyde Jr
Phph09
Ronmaster
nando07
Souris
Callyde Jr
Dom3000
Dom3000
Mateus2583
MarcosSchultz
ffabim
Daniel Pires da Silva
Fluttershy28
YmKx
natanael.olimpio
Souris
dstaroski
Phph09
BRGC
Phph09
Callyde Jr
BRGC
Zack2
heliab125
ruanzikaad
Souris
gcs13
natanael.olimpio
Daniel Pires da Silva
dstaroski
srhuculak
MarcosSchultz
Callyde Jr
Patrick
Souris
PedroSilva
Souris
YmKx
Callyde Jr
Phph09
Callyde Jr
rafaelllsd
gcs13
360flip
brunopereira06
YmKx
360flip
Phph09
natanael.olimpio
antoniodeveloper
rZwr
ffabim
Callyde Jr
natanael.olimpio
Phph09

[TUTORIAL] Android - Sistema de controle third person shooter, Joystick + Swipe camera

Ir em baixo

TUTORIAL [TUTORIAL] Android - Sistema de controle third person shooter, Joystick + Swipe camera

Mensagem por marcos4503 em Dom Abr 30, 2017 3:07 am

OPAAAAAA! Eaí véééééééééééi! Bêles? Marcos aqui! Dessa vez to trazendo meu primeiro tutorial (bem explicado) aqui para o fórum, e resolvi começar com algo que pode ajudar bastante gente, e que eu levei tempos quebrando a cabeça e pesquisando bastante pra desenvolver. Que é uma mecânica legal para jogos de tiro em terceira pessoa ou para primeira pessoa(se você souber adaptar).

A mecânica resumidamente seria isso..


  • Um joystick, que rotaciona o Personagem na direção em que o joystick esta rotacionado, e tambem move o personagem, obviamente
  • Camera, que pode ser rotacionada (para cima e para os lados) usando o Swipe do touch (movimento de arrastar com o dedo)
  • Rotações suaves
  • O personagem sempre olha para onde a mira esta, quando o jogador para de andar
  • Camera inteligente que detecta quando há paredes atras dela, assim ela não buga e entra dentro de modelos 3d por exemplo (Aquele esquema do GTA San Andreas)
  • Sensibilidade, inversão de camera configuraveis


Bom. Vale lembrar que isso é um prototipo, que esta em experiemento, então não é nada 100% perfeito, mais já esta funcional! Se você conhece uma forma para melhorar o código, ou algo a mais, sinta-se a vontade para comentar!

Abaixo uma pequena gameplay de 48 segundos, já rodando em meu celular, ao som de Avicii - True Believer. (kkkkkkkj)


PS: Não animei o personagem porque isso é apenas um prototipo, por favor, não reparem!





Antes de mais nada.. Eu estou utilizando o Unity 5.6.0f3 nesse tutorial. Tambem sugiro que entenda pelo menos um pouco de programação em C# antes de faze-lo. Eu vou postar todos os scripts, comenta-los e tal, mais é sempre bom entender um pouco do que voce esta vendo, assim voce vai poder personaliza-lo e fazer variantes de acordo com a proposta do seu game. Eu estou oferecendo apenas a base.

Sem mais delongas, vamos a ação.

Parte 1 - Preparando o terreno com os Standard Assets do Unity


Bom.. Vamos começar importando os Assets "Cross Plataform Input" do Unity. Para isso, vá até a Guia "Assets" depois clique em "Import Package" e por fim, "CrossPlataformInput". Espere extrair todo o conteudo e então clique em "Import".


Feito isso, você já tera um Pack de controles Touch, oferecidos pela Unity. O Joystick que estou utilizando é desse Asset. Mais só usaremos o Joystick.


Parte 2 - Preparando a UI


Ok.. Agora iremos colocar o Joystick na tela, o configurar, posicionar e fazer aquela custimização básica.


Passo 1 - Crie um Canvas


(Irei colocar todas as explicações dos passos dentro de Spoilers, pra reduzir o tamanho do tópico. Basta clicar nos spoilers se precisar de ajuda.)

Ajuda:
Clique na guia "GameObject" > "UI" > "Canvas".

Passo 2 - Pegue o Prefab "MobileSingleJoystickControl" e o adicione a sua cena. Pegue o "MobileJoystick" que esta dentro do prefab, e o arraste para dentro da Canvas que voce acabou de criar. Agora você pode deletar o prefab, pois o resto é inutil para nós.

Ajuda:
O prefab "MobileSingleJoystickControl" se encontra na pasta "Standard Assets" > "CrossPlataformInput" > "Prefabs". Ele adiciona um joystick, e um botão de "Jump". Imagem mostrando o diretório abaixo. Feito isso, seu canvas devera estar parecido com isso...  Voce tambem pode alterar a imagem do joystick. Eu alterarei a minha para um circulo branco.

Passo 3 - Crie uma imagem, que cubra  70% da tela, a mesma deve começar no lado direito da tela. Ela servira para detectar, quando o player tira o dedo da tela. Explicarei mais abaixo.

Ajuda:
A imagem deve ficar parecida com isso...  Você pode modificar o Alpha da imagem para deixa-la 100% transparente, como mostrado aqui...  Ao terminar, devera estar parecido com isso...


Parte 3 - Preparando o Personagem, sua malha, e a Camera




Passo 1 - Crie um GameObject vazio, adicione um "Capsule Collider" e um "Rigid Body" a ele, chame-o de Player, Dentro de Player, Crie outro GameObject, chame-o de Malha. Malha, deve ter uma posição de X = 0, Y = 0, Z = 0. Pegue o modelo 3D de seu personagem, e coloque-o dentro de Malha, a posição do modelo tambem deve ser igual a X = 0, Y = Altura, varia de acordo com a altura da sua malha, Z = 0.




Ajuda:
Crie um GameObject vazio, adicione um Capsule Collider ao mesmo, e um RigidBody. O nomeie de "Player"  Crie um GameObject vazio dentro de Player e o chame de Malha.  o mesmo deve ter a posição em X, Y e Z igual  0. Dentro da malha, adicione o modelo 3d de seu personagem, e regule a altura dele em Y de acordo com a altura dele, para que ele não fique bugado dentro do chão. A posição em X e Z deve ser 0.  ajuste o capsule collider que voce colocou no Player, até que ele fique nas proporções do seu modelo 3d.




Passo 2 - Dentro de Player crie um GameObject vazio e o chame de "Pivot Camera". A sua posição deve ser X = 0, Z = 0. A posição em Y pode ser ajustada, para ter a altura que voce desejar na camera. Mova sua Main Camera, para dentro de Pivot Camera. Altere a posição da camera para X = 1.66, Y = 0, Z = -9.93. Voce pode alterar o X de acordo com a quantidade que voce quer que o personagem fique de lado. Altere o Z para mudar a distancia entre a camera e o personagem. Crie outro GameObject vazio, e o nomeie para "PontoPadrao" esse sera o ponto padrão para o qual a camera irá retornar após sair de uma colisão com algo. O ponto padrão deve ter a mesma posição da camera, ao qual voce acabou de configurar.




Ajuda:
Deverá ficar parecido com isso...
Parte 4 - Analisando e adicionando os scripts


Ok.. Vamos começar com o Script do Swiper, que vai mandar os dados do touch. O chamaremos de Mouse, ele deve ser adicionado a imagem que voce criou no Canvas.


LEMBRETE: Não esqueça de que o nome do arquivo do Script, deve ser o mesmo nome que eu dei.



Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.EventSystems;

public class Mouse : MonoBehaviour, IPointerDownHandler, IPointerUpHandler{

    public static Vector2 TouchPad; //Variavel que ira transmitir o quanto o player moveu seu dedo, para que assim possa rotacionar a camera.
    public static bool MovendoMira; //Variavel que indica se o player esta com o dedo na tela, controlando a camera.

    public int sensibilidadeX = 350; //Variavel que configura a sensibilidade no vetor X
    public int sensibilidadeY = 350; //Variavel que configura a sensibilidade no vetor Y
    public int inverterX = 1; //Variavel que inverte o eixo X, sendo 1 = sem inversão e -1 = com inversão
    public int inverterY = 1; //Variavel que ivnerte o eixo Y, sendo 1= sem inversão e -1 com inversão

    private bool PrimeiroToque;
    private int ID = -1;
    private bool Movendo;
    private float TempoParado;

    void Start()
    {
        Input.multiTouchEnabled = true; //Variavel que ativa o multitouch, caso ele esteja desativad por algum motivo
    }

    void Update() //Usaremos o Update, porque ele reconhecerá o toque do usuario em todas as vezes, sendo que o FixedUpdate, poderá falhar algumas
//vezes

    {
        if (Input.touchCount > 0) //Verificamos se existe um toque
        {
            foreach (Touch touch in Input.touches)
            {

                if (touch.position.x > Screen.width / 2.7f && touch.phase == TouchPhase.Began && PrimeiroToque == false) //Aqui verificamos se o
//o jogador esta tocando o lado direito da tela. Para isso usamos um calculo em que pegamos a largura da tela e dividimos por uma quantia. Eu
//dividi por 2.7, o que da por volta de 70% da tela. Por exemplo, numa tela com largura de 960 pixels, ele ira calcular e dividir por 2.7, o que
//sobra por volta de 355, esses 355 pixels de largura, serão a area em que o swipe sera ignorado. Voce pode alterar o valor para aumentar ou reduzir
//a area em que o touch sera ignorado, ou reconhecido.
                {
                    ID = touch.fingerId; //Aqui damos um ID ao dedo que o jogador esta usando para tocar, para não confundir com o dedo do Joystick
                    MovendoMira = true; //Aqui fazemos uma verificação e marcamos a booleana que informa que o jogador esta com o dedo na tela
                    PrimeiroToque = true; //Aqui fazemos uma verificação interna, que informa que o jogador esta dando seu primeiro toque
                }

                if (touch.phase == TouchPhase.Moved && PrimeiroToque == true && touch.fingerId == ID) //Aqui verificamos se o jogador esta movendo
//seu dedo pela tela
                {
                    TouchPad.x = touch.deltaPosition.x; //Aqui reconhecemos o quanto o jogador moveu seu dedo pelo eixo X no ultimo tempo
                    TouchPad.y = touch.deltaPosition.y; //Aqui reconhecemos o quanto o jogador moveu seu dedo pelo eixo Y no ultimo tempo

                    TouchPad.x *= sensibilidadeX * Time.deltaTime * inverterX; //Aqui acrescentamos a sensibilidade, multiplicamos por
http://Time.deltaTime, para que ele tenha uma velocidade fixa, e multiplicamos tambem pela variavel de inversão.
                    TouchPad.y *= sensibilidadeY * Time.deltaTime * inverterY;

                    TempoParado = 0; //Aqui informamos que o jogador esta movendo o dedo ainda
                    Movendo = true; //Aqui tambem
                    MovendoMira = true; //E aqui tambem
                }

                if(touch.phase == TouchPhase.Stationary && Movendo == true && touch.fingerId == ID) //Aqui verificamos se o jogador esta com o dedo
//parado.
                {
                    TempoParado += Time.deltaTime; //Caso ele esteja com o dedo parado, iremos começar a contar por quanto tempo ele esta parado

                    if (TempoParado >= 0.1f) //Caso ele esteja com o dedo parado por mais de 0.1 milisegundos, a variavel de controle, sera zerada
//para a camera parar de girar.
                    {
                        TouchPad = Vector2.zero;
                        TempoParado = 0; //O tempo tambem sera resetado para que o codigo continue verificando se o player continua com o dedo parado
                    }
                }

                if (touch.phase == TouchPhase.Ended && PrimeiroToque == true && touch.fingerId == ID) //Aqui fazemos uma checagem se o jogador
//tirou o dedo da tela
                {
                    MovendoMira = false; //Aqui informamos ao codigo que ele parou de mover a mira
                    Movendo = false; //Aqui tambem
                    ID = -1; //Aqui resetamos o ID de seu dedo
                    PrimeiroToque = false; //Aqui informamos que o primeiro toque acabou
                    TouchPad = Vector2.zero; //Aqui resetamos a variavel, para que a camera pare de girar.
                }
            }
        }
    }

    public void OnPointerDown(PointerEventData data)
    {

    }

    public void OnPointerUp(PointerEventData data) //Esse é apenas mais uma checagem de segurança para informar se o jogador parou de tocar.
//Caso a ultima chegagem não funcione, essa deverá entrar em ação, para parar a giração frenetica da camera.
    {
        MovendoMira = false;
        ID = -1;
        PrimeiroToque = false;
        TouchPad = Vector2.zero;
        Movendo = false;
        TempoParado = 0;
    }
}




Agora vamos ao codigo do personagem, que deve ser adicionado ao objeto Player. Chamaremos esse script de teste



Código:
using System.Collections;
using System.Collections.Generic;
using System;
using UnityEngine;
using UnityStandardAssets.CrossPlatformInput;

public class teste : MonoBehaviour {
    public LayerMask Camadas; //Aqui escolhemos a camada que sera verificada pelo colisor de camera
    public Rigidbody Char; //Aqui adicionamos o Rigid Body do personagem
    public Transform MalhaChar; //Aqui adicionamos o Transform do gameobject MALHA
    public Transform Cam; //Aqui adicionamos o Transform do gameobject PIVOT CAMERA
    public Transform PosCam; //Aqui adicionamos o Transform do gameobject POSICAO PADRAO
    public Transform Camera; //Aqui adicionamos o Transform da Camera
    private Vector3 lookVec;
    private Vector3 moveVec;
    private Vector3 camVec;
    private RaycastHit CameraHit;
    private float CameraDistancia;

    private float EixoV;
    private float EixoH;
    private float MouseY;
    private float MouseX;

    void Start () {
        RaycastHit distanciaCamera;

        if (Physics.Linecast(-Cam.position, PosCam.position, out distanciaCamera)) //Aqui fazemos uma checagem rapida da distancia do ponto padrao
//para o centro da malha, isso pode ser util, caso voce queira aumentar a distancia da camera em relação ao player, assim ira alterar automaticamente
//a distancia da camera.
        {
            Debug.DrawLine(Cam.position, PosCam.position);
            CameraDistancia = distanciaCamera.distance + 3; //Aqui pegamos a distancia e guardamos numa variavel
        }
    }

    void FixedUpdate () {
        CameraConfiguracao();
        Andar();
        Mira();

        
    }

    private void CameraConfiguracao()
    {
        if (Physics.Raycast(Cam.position, -Cam.forward, out CameraHit, CameraDistancia, Camadas)) //Aqui emitimos um raycast do centro da malha até
//para tras, numa distancia determinada pela verificação anterior. Caso esse raio colida com alguma coisa, a camera, sera movida até lá
//assim ela não ira bugar dentro de nada. O objeto deve ter um colisor para que essa checagem aconteça com sucesso.
        {
            Camera.position = Vector3.Lerp(Camera.position, CameraHit.point, 18 * Time.deltaTime); //A camera é movida suavemente, graças ao Lerp.
            Debug.DrawLine(Cam.position, CameraHit.point);
        }
        else //Caso o raio não esteja colidindo com nada, a camera ira apenas seguir o seu ponto padrão suavemente.
        {
            Camera.position = Vector3.Lerp(Camera.position, PosCam.position, 18 * Time.deltaTime);
        }
    }

    private void Andar()
    {
        EixoH = CrossPlatformInputManager.GetAxis("Horizontal"); //Aqui pegamos os dados do Joystick e armazenamos numa variavel
        EixoV = CrossPlatformInputManager.GetAxis("Vertical"); //Aqui tambem

        lookVec = new Vector3(EixoH, 0, EixoV);
        moveVec = new Vector3(EixoH, 0, EixoV);

        //Joystick
        if (EixoV != 0 || EixoH != 0) //Aqui fazemos uma verificação para ver se o player esta ou não movendo o joystick
        {
            Char.velocity = transform.TransformVector(moveVec) * 18; //Caso ele esteja movendo, o player sera movido. O gameobject Player, é movido
//Na horizontal e vertical, ele não é rotacionado.
            MalhaChar.localRotation = Quaternion.Slerp(MalhaChar.localRotation, Quaternion.LookRotation(lookVec, Vector3.up), 14 * Time.deltaTime);
//Aqui ja rotacionamos a malha de acordo com o joystick, criando a ilusão de que o Joystick esta rotacionando o Player tambem.
        }

        if (EixoV == 0 && EixoH == 0) //Quando o jogador soltar o joystick, o personagem para de se mover.
        {
            Char.velocity = Vector3.zero;
        }
    }

    private void Mira()
    {
        if (Mouse.MovendoMira == true && EixoV == 0 && EixoH == 0) //Aqui fazemos uma checagem se o player esta com o dedo na tela, mais não esta se
//movendo. Então se isso estiver acontecendo, o personagem irá olhar para a mira.
        {
            MalhaChar.localRotation = Quaternion.Slerp(MalhaChar.localRotation, Quaternion.Euler(0, 0, 0), 12 * Time.deltaTime);
        }

        MouseX += Mouse.TouchPad.x * Time.deltaTime; //Aqui pegamos o valor da variavel do Mouse e armazenamos.
        MouseY += Mouse.TouchPad.y * Time.deltaTime; //Aqui tambem

        MouseY = Mathf.Clamp(MouseY, -20, 20); //Aqui limitamos a rotação em Y da camera, para que a camera não de cambalhotas.

        transform.rotation = Quaternion.Slerp(transform.rotation, Quaternion.Euler(0, MouseX, 0), 25 * Time.deltaTime); //Quando o jogador move os
//dedos no eixo X, o Player é rotacionado.
        Cam.localRotation = Quaternion.Slerp(Cam.localRotation, Quaternion.Euler(MouseY, 0, 0), 25 * Time.deltaTime); //Quando o jogador move os dedos
//em Y, o pivot da camera, é rotacionado para cima e para baixo.
    }
}


Agora alguns prints de como deve ficar a configuração...






Bom pessoal.. Era isso.. Me desculpem se ficou algo confuso.. São 3 da manhã e eu to com muito sono kkk, talvez não tenha conseguido deixar varias coisas claro... Mais nos proximos dias estarei a disposição para responder feedbacks e duvidas... Obrigado e não usem drogas!


Última edição por marcos4503 em Dom Abr 30, 2017 10:59 am, editado 3 vez(es)
avatar
marcos4503
Instrutor

Masculino PONTOS : 2546
REPUTAÇÃO : 521
Idade : 19
Áreas de atuação : Desenvolvimento Android
Básico de Design
Básico Blender
Unity
Programação em C#
Outras linguas.
Respeito as regras :

Ver perfil do usuário http://www.windsoft.xyz/site

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Android - Sistema de controle third person shooter, Joystick + Swipe camera

Mensagem por fecirineu em Ter Maio 09, 2017 2:25 am

aqui não funcionou, amigo, mais tbm não deu erro kk não sei qual e o pior..


acredito que fiz tudo certo mesmo assim não funcionou..


avatar
fecirineu
ProgramadorMaster

Masculino PONTOS : 1044
REPUTAÇÃO : 115
Áreas de atuação : Programação C#,VB,VBNET,MySQL,HTML,CSS,PHP.

Respeito as regras :

Ver perfil do usuário http://gamesbr.cf/

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Android - Sistema de controle third person shooter, Joystick + Swipe camera

Mensagem por fecirineu em Ter Maio 09, 2017 3:10 am

@fecirineu escreveu:aqui não funcionou, amigo, mais tbm não deu erro kk não sei qual e o pior..


acredito que fiz tudo certo mesmo assim não funcionou..



precisava soo por na plataforma android kk
avatar
fecirineu
ProgramadorMaster

Masculino PONTOS : 1044
REPUTAÇÃO : 115
Áreas de atuação : Programação C#,VB,VBNET,MySQL,HTML,CSS,PHP.

Respeito as regras :

Ver perfil do usuário http://gamesbr.cf/

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Android - Sistema de controle third person shooter, Joystick + Swipe camera

Mensagem por marcos4503 em Ter Maio 09, 2017 6:15 am

Kkkkkk ainda bem que deu certo!!
avatar
marcos4503
Instrutor

Masculino PONTOS : 2546
REPUTAÇÃO : 521
Idade : 19
Áreas de atuação : Desenvolvimento Android
Básico de Design
Básico Blender
Unity
Programação em C#
Outras linguas.
Respeito as regras :

Ver perfil do usuário http://www.windsoft.xyz/site

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Android - Sistema de controle third person shooter, Joystick + Swipe camera

Mensagem por dstaroski em Ter Maio 09, 2017 7:41 am

Parabéns cara! vai ajudar muito a galera!
avatar
dstaroski
Instrutor

Masculino PONTOS : 3003
REPUTAÇÃO : 721
Idade : 28
Áreas de atuação : Téc. Hardware e Redes, Programação C#, Daz3D and Gimp

Respeito as regras :

Ver perfil do usuário https://www.daz3d.com/gallery/users/1575361

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Android - Sistema de controle third person shooter, Joystick + Swipe camera

Mensagem por IanLuan em Ter Maio 09, 2017 10:30 am

Que isso cara, que tutorial lindo hehe. Parabéns e OBRIGADO !
avatar
IanLuan
Programador

Masculino PONTOS : 820
REPUTAÇÃO : 88
Idade : 18
Áreas de atuação : Programação C#
Básico Design (Blender / Photoshop)
Desenvolvimento Web e Apps.
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Android - Sistema de controle third person shooter, Joystick + Swipe camera

Mensagem por marcos4503 em Ter Maio 09, 2017 12:02 pm

Valeus!
avatar
marcos4503
Instrutor

Masculino PONTOS : 2546
REPUTAÇÃO : 521
Idade : 19
Áreas de atuação : Desenvolvimento Android
Básico de Design
Básico Blender
Unity
Programação em C#
Outras linguas.
Respeito as regras :

Ver perfil do usuário http://www.windsoft.xyz/site

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Android - Sistema de controle third person shooter, Joystick + Swipe camera

Mensagem por rafaelllsd em Ter Maio 09, 2017 12:06 pm

Fico muito bom Very Happy
avatar
rafaelllsd
ProgramadorMaster

Masculino PONTOS : 2524
REPUTAÇÃO : 377
Idade : 17
Áreas de atuação : Programação C#.
Modelagem Básica.
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Android - Sistema de controle third person shooter, Joystick + Swipe camera

Mensagem por marcos4503 em Ter Maio 09, 2017 12:07 pm

Sera que to fazendo jus a minha classe de programador? kkkkkkk
avatar
marcos4503
Instrutor

Masculino PONTOS : 2546
REPUTAÇÃO : 521
Idade : 19
Áreas de atuação : Desenvolvimento Android
Básico de Design
Básico Blender
Unity
Programação em C#
Outras linguas.
Respeito as regras :

Ver perfil do usuário http://www.windsoft.xyz/site

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Android - Sistema de controle third person shooter, Joystick + Swipe camera

Mensagem por IanLuan em Ter Maio 09, 2017 12:36 pm

Kkkkk tá sim
avatar
IanLuan
Programador

Masculino PONTOS : 820
REPUTAÇÃO : 88
Idade : 18
Áreas de atuação : Programação C#
Básico Design (Blender / Photoshop)
Desenvolvimento Web e Apps.
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Android - Sistema de controle third person shooter, Joystick + Swipe camera

Mensagem por Gabriel César O em Ter Maio 09, 2017 1:32 pm


MANERÃO EM GOSTEI!
avatar
Gabriel César O
Programador

Masculino PONTOS : 1592
REPUTAÇÃO : 212
Idade : 16
Áreas de atuação : (ESTUDANDO SEGUNDO GRAU), (FUÇANDO NO UNITY)){
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Android - Sistema de controle third person shooter, Joystick + Swipe camera

Mensagem por fecirineu em Sex Maio 19, 2017 2:54 pm

@marcos4503 escreveu:Sera que to fazendo jus a minha classe de programador? kkkkkkk
a parte da camera não ta funcionando pq sera?

o joystick funciona perfeitamente porem a camera nao vira e não tem mira = o seu
avatar
fecirineu
ProgramadorMaster

Masculino PONTOS : 1044
REPUTAÇÃO : 115
Áreas de atuação : Programação C#,VB,VBNET,MySQL,HTML,CSS,PHP.

Respeito as regras :

Ver perfil do usuário http://gamesbr.cf/

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Android - Sistema de controle third person shooter, Joystick + Swipe camera

Mensagem por marcos4503 em Sex Maio 19, 2017 3:04 pm

Você colocou tudo certo? Cada objeto como parente dos objetos certos etc?
avatar
marcos4503
Instrutor

Masculino PONTOS : 2546
REPUTAÇÃO : 521
Idade : 19
Áreas de atuação : Desenvolvimento Android
Básico de Design
Básico Blender
Unity
Programação em C#
Outras linguas.
Respeito as regras :

Ver perfil do usuário http://www.windsoft.xyz/site

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Android - Sistema de controle third person shooter, Joystick + Swipe camera

Mensagem por fecirineu em Sab Maio 20, 2017 8:13 pm

@marcos4503 escreveu:Você colocou tudo certo? Cada objeto como parente dos objetos certos etc?
sim porem não ta funcionando a camera nem o a bolinha aparece poderia vereficar o toturial e ver se tem algo errado? que faltou
avatar
fecirineu
ProgramadorMaster

Masculino PONTOS : 1044
REPUTAÇÃO : 115
Áreas de atuação : Programação C#,VB,VBNET,MySQL,HTML,CSS,PHP.

Respeito as regras :

Ver perfil do usuário http://gamesbr.cf/

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Android - Sistema de controle third person shooter, Joystick + Swipe camera

Mensagem por marcos4503 em Sab Maio 20, 2017 8:17 pm

Aquela bolinha branca é do meu celular. Você pode ativala nas configurações de desenvolvedor do android. Eu testei os scripts, se você colocou cada objeto em seu lugar e entendeu o que os scripts fazem certinho, isso tem que funcionar... tenta verificar tudo denovo.. Ou testar em um projeto novo..
avatar
marcos4503
Instrutor

Masculino PONTOS : 2546
REPUTAÇÃO : 521
Idade : 19
Áreas de atuação : Desenvolvimento Android
Básico de Design
Básico Blender
Unity
Programação em C#
Outras linguas.
Respeito as regras :

Ver perfil do usuário http://www.windsoft.xyz/site

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Android - Sistema de controle third person shooter, Joystick + Swipe camera

Mensagem por Dark_The_King em Ter Jun 20, 2017 7:29 pm

Ola amigo ficou muito bom só que no meu projeto deu um problema e a câmera fica indo pra longe do player tem alguma dica do que pode ser?

Dark_The_King
Membro
Membro

Masculino PONTOS : 1095
REPUTAÇÃO : 1
Idade : 18
Respeito as regras :

Ver perfil do usuário http://organizacaox.comunidades.net/

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Android - Sistema de controle third person shooter, Joystick + Swipe camera

Mensagem por marcos4503 em Ter Jun 20, 2017 9:55 pm

Mais o que foi pra longe? O Pivô? a camera? Qual componente? E você verificou se colocou todos os objetos como filhos dos outros corretamente e tal?
avatar
marcos4503
Instrutor

Masculino PONTOS : 2546
REPUTAÇÃO : 521
Idade : 19
Áreas de atuação : Desenvolvimento Android
Básico de Design
Básico Blender
Unity
Programação em C#
Outras linguas.
Respeito as regras :

Ver perfil do usuário http://www.windsoft.xyz/site

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Android - Sistema de controle third person shooter, Joystick + Swipe camera

Mensagem por Dark_The_King em Qua Jun 21, 2017 2:02 pm

@marcos4503 escreveu:Mais o que foi pra longe? O Pivô? a camera? Qual componente? E você verificou se colocou todos os objetos como filhos dos outros corretamente e tal?
ss a câmera msm mais eu ja arrumei era um erro na minha cena muito obg msm assim féis um ótimo tutorial Laughing

Dark_The_King
Membro
Membro

Masculino PONTOS : 1095
REPUTAÇÃO : 1
Idade : 18
Respeito as regras :

Ver perfil do usuário http://organizacaox.comunidades.net/

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Android - Sistema de controle third person shooter, Joystick + Swipe camera

Mensagem por marcos4503 em Qua Jun 21, 2017 2:12 pm

Ah, sim! Perfeito!
avatar
marcos4503
Instrutor

Masculino PONTOS : 2546
REPUTAÇÃO : 521
Idade : 19
Áreas de atuação : Desenvolvimento Android
Básico de Design
Básico Blender
Unity
Programação em C#
Outras linguas.
Respeito as regras :

Ver perfil do usuário http://www.windsoft.xyz/site

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Android - Sistema de controle third person shooter, Joystick + Swipe camera

Mensagem por Duarte em Qua Jul 05, 2017 11:11 pm

Estou com um probleminha na fisica do meu personagem acho que esse script nao é apropriado para pulo, ou altura, porque ele cai lentamente quando esta no alto a fisica nao fica realista, teria como arrumar?
avatar
Duarte
Programador

Masculino PONTOS : 881
REPUTAÇÃO : 84
Idade : 18
Áreas de atuação : Programação
Desenvolvedor Android
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Android - Sistema de controle third person shooter, Joystick + Swipe camera

Mensagem por marcos4503 em Qua Jul 05, 2017 11:15 pm

Só alterar a linha que faz o movimento pra isso:

Código:
Char.velocity = transform.TransformVector(moveVec.x * 18, Physics.gravity.y, moveVec.z * 18);
avatar
marcos4503
Instrutor

Masculino PONTOS : 2546
REPUTAÇÃO : 521
Idade : 19
Áreas de atuação : Desenvolvimento Android
Básico de Design
Básico Blender
Unity
Programação em C#
Outras linguas.
Respeito as regras :

Ver perfil do usuário http://www.windsoft.xyz/site

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Android - Sistema de controle third person shooter, Joystick + Swipe camera

Mensagem por Duarte em Qua Jul 05, 2017 11:19 pm

@marcos4503 escreveu:Só alterar a linha que faz o movimento pra isso:

Código:
Char.velocity = transform.TransformVector(moveVec.x * 18, Physics.gravity.y, moveVec.z * 18);
Alterei ele so reconhece a fisica quando esta movendo o JoyStick.
avatar
Duarte
Programador

Masculino PONTOS : 881
REPUTAÇÃO : 84
Idade : 18
Áreas de atuação : Programação
Desenvolvedor Android
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Android - Sistema de controle third person shooter, Joystick + Swipe camera

Mensagem por fecirineu em Qua Jul 05, 2017 11:57 pm

Muito Bom Parabens!
avatar
fecirineu
ProgramadorMaster

Masculino PONTOS : 1044
REPUTAÇÃO : 115
Áreas de atuação : Programação C#,VB,VBNET,MySQL,HTML,CSS,PHP.

Respeito as regras :

Ver perfil do usuário http://gamesbr.cf/

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Android - Sistema de controle third person shooter, Joystick + Swipe camera

Mensagem por marcos4503 em Qui Jul 06, 2017 6:23 am

É só substituir o Vector3.zero pra Vector3(0, Physics.gravity.y, 0) na linha que faz ele parar de andar.
avatar
marcos4503
Instrutor

Masculino PONTOS : 2546
REPUTAÇÃO : 521
Idade : 19
Áreas de atuação : Desenvolvimento Android
Básico de Design
Básico Blender
Unity
Programação em C#
Outras linguas.
Respeito as regras :

Ver perfil do usuário http://www.windsoft.xyz/site

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Android - Sistema de controle third person shooter, Joystick + Swipe camera

Mensagem por thiagograssi em Ter Jul 25, 2017 10:50 pm

meu personagem quando eu ando com ele pra qualquer lado ele anda inclinado e não reto
avatar
thiagograssi
MembroAvançado

Masculino PONTOS : 932
REPUTAÇÃO : 40
Idade : 14
Áreas de atuação : Unity 3D;
Unity 2D;
Cinema 4D;
SketchUp;
C#(intermedario);

Respeito as regras :

Ver perfil do usuário https://www.youtube.com/channel/UClxaKPltt6jTWhxcfTqJ0AA

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Android - Sistema de controle third person shooter, Joystick + Swipe camera

Mensagem por marcos4503 em Ter Jul 25, 2017 11:13 pm

Como assim inclinado? Poderia postar um print?
avatar
marcos4503
Instrutor

Masculino PONTOS : 2546
REPUTAÇÃO : 521
Idade : 19
Áreas de atuação : Desenvolvimento Android
Básico de Design
Básico Blender
Unity
Programação em C#
Outras linguas.
Respeito as regras :

Ver perfil do usuário http://www.windsoft.xyz/site

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Android - Sistema de controle third person shooter, Joystick + Swipe camera

Mensagem por thiagograssi em Qua Jul 26, 2017 5:29 pm


O engraçado é que o personagem chega a voar tbm kkkk
avatar
thiagograssi
MembroAvançado

Masculino PONTOS : 932
REPUTAÇÃO : 40
Idade : 14
Áreas de atuação : Unity 3D;
Unity 2D;
Cinema 4D;
SketchUp;
C#(intermedario);

Respeito as regras :

Ver perfil do usuário https://www.youtube.com/channel/UClxaKPltt6jTWhxcfTqJ0AA

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Android - Sistema de controle third person shooter, Joystick + Swipe camera

Mensagem por Henrique0102 em Qui Ago 03, 2017 9:28 pm

como eu faço para girar somente a camera em vez de girar o personagem junto com a camera??

Henrique0102
Iniciante
Iniciante

PONTOS : 614
REPUTAÇÃO : 3
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Android - Sistema de controle third person shooter, Joystick + Swipe camera

Mensagem por marcos4503 em Qui Ago 03, 2017 9:29 pm

Você pode editar o script pra girar somente a camera.
avatar
marcos4503
Instrutor

Masculino PONTOS : 2546
REPUTAÇÃO : 521
Idade : 19
Áreas de atuação : Desenvolvimento Android
Básico de Design
Básico Blender
Unity
Programação em C#
Outras linguas.
Respeito as regras :

Ver perfil do usuário http://www.windsoft.xyz/site

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Android - Sistema de controle third person shooter, Joystick + Swipe camera

Mensagem por cryvirus em Sex Fev 02, 2018 5:10 pm

Ola pode me ajudar o meu problema eo  mesmo desse aqui só que o meu Joystick não funciona.

cryvirus
Iniciante
Iniciante

PONTOS : 116
REPUTAÇÃO : 0
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Android - Sistema de controle third person shooter, Joystick + Swipe camera

Mensagem por Souris em Sex Fev 02, 2018 6:28 pm

Poxa.. Uma pena que eu não vou poder colocar isso no meu projeto, já que eu queria só o Swipe Camera  Sad.

Mas parabéns ae man  Very Happy.
avatar
Souris
ProgramadorMaster

Masculino PONTOS : 1054
REPUTAÇÃO : 216
Idade : 13
Áreas de atuação : UNET ~ HLAPI,
Dev. Mobile,
Unity 2D.
Respeito as regras :

Ver perfil do usuário http://www.projetounity.esy.es

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Android - Sistema de controle third person shooter, Joystick + Swipe camera

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

Voltar ao Topo


 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum