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 :D
TÓPICOS RECENTES:
Tópico:
Postado em:
Postado por:
PITCH para aceleração de carro. Como que faço mesmo?
Sistema de Yu-Gi-Oh! - ATT [2020]
[ASSET] Script Arma Completo Incluso Recuo. Incluso outros Scripts
Somar int, como faz pra ele adicionar o valor que eu quero.
NavMashAgent
Bug? no animator
Duvida Material c#
Unity Admob Erro
Unity - Lentidão e Aceleração alteradas do nada!!!
Como faço para mudar o valor de uma float gradualmente
[TUTORIAL] Criando um simples Multiplayer [UNITY 5]
Como selecionar ou desselecionar uma imagem na Unity com uma borda?
Random Material
Dúvida sobre detecção do personagem
Procurando Equipe para Dev de um Gta Brasileiro.
Problemas com o transform.position com GameObjects 3D
Shaders
Botão no canvas faz o player movimentar
Sistema de Screenshots v2
Textura está bugada ficando branco em uma parte
Calculadora com raiz quadrada C#
Conectar ao servidor
Script de tiro unity 3d
Barra de procura
Randomizar objetos em posições válidas.
Unity-Transform.position e Rigidbory VS CharacterController. Qual o melhor?
[RESOLVIDO] network transform e network identity nos objetos filhos
Como trocar um sprite pelo outro?
Como faço para detectar a velocidade do meu player?
como faço um multiplayer na unity 5?
Dúvida sobre "Luzinha"?
Meu primero multiplayer online game feito no unity
Como mudar a cor de um sprite?
Demo do meu jogo Survival Zombie
Unity5 FBX Exporter (Free Package/Asset)
Personagem tremendo
[RESOLVIDO] Movetowards depois de esperar um tempo, não funciona!
Como fazer para aparecer poucas resoluções no meu menu de opções.
Contagem C#
Raycast colidindo com Player
Duvidas sobre soma entre float
Como faço para modificar o ponto incial e direcionar um raycast?
Unity
como resolver bordas pixelizadas?
Transformação de personagem
ao buildar para android o jogo tem compotamento diferente
[RESOLVIDO] Copiar a rotação de um Objeto para outro.
Ajuda com php
Animação não está a funcionar
[RESOLVIDO] Duvida com raycast
Animator
FixedUpdate Fica Dando Erro na Hora que a Colisão Acontece
ERRO NO JOGO BUILDADO, MAS OCORRE TUDO CERTO NO CONSOLE
Preciso de dicas para configurar o Bake do Lighting Para Android
como dminuir o lag no meu unity 5
Qual seria a melhor maneira de criar um Map Mundi interativo?
Ativar Ui apenas se o player estiver perto do objeto especifico
Tela de missão
[RESOLVIDO] Como fazer efeitos sonoros tocarem aleatoriamente
Collab Arruinando meu Projeto
Textura escura
Erro no SketchUP
3D Text Material Sobressalente
[RESOLVIDO] Problema no Input System
Como faço para um objeto ficar num tom de azul?
[RESOLVIDO] erro: ''ArgumentException: Input Button jump is not setup'' ?
Photon Pun2 - Error: NewScene Clean
[TUTORIAL] Acessar o objeto pai de algum hit.
[RESOLVIDO] Encontrar um objeto que está dentro de um Prefab.
[TUTORIAL] Inimigo olhar para você (Java Script)
[RESOLVIDO] Erro no Script tocar Audio
[RESOLVIDO] Por que tem que Usar UnityEngine.Random ou System.Random?
Duvida sobre deixar jogo online.
Unity - Animator Controller sendo apagado sozinho
[RESOLVIDO] Meu jogo ta com uns bug no fog linear. o chão fica preto :/
[RESOLVIDO] AI Points e NavMesh
[RESOLVIDO] Como pegar moeda e ela desaparecer?
[TUTORIAL] Sistema Pdv, Mercado, Padaria, Conveniência, Lojas Em Geral - C# VISUAL STUDIO
Como desativar o FirstPersonController
Como tira Application.UptadeScene?
Gostaria de fazer a animação do arco seguir animação do personagem
Animação Blender para Unity?
[RESOLVIDO] Unity - Giro do Personagem não está funcionando direito
Bug - Unity rodando com menos FPS no BAIXO e MAIS no ULTRA
[RESOLVIDO] Dúvida sobre multiplayer
Luz atravessando paredes
Problema de compilação
[RESOLVIDO] LayerMask
c# unity
[TUTORIAL] Banco de dados || MySQL
[RESOLVIDO] Fade In e Out na Timeline
[RESOLVIDO] Unity - Testar o Jogo pelo Celular em Tempo Real
Ajuda com Grappling hook
[RESOLVIDO] Erro criando IA inimigo
[RESOLVIDO] Animator
[RESOLVIDO] Como salvar a posição do FPS Controller da Unity
[RESOLVIDO] c# unity
[TUTORIAL] Photon Networking Part.3 (Gerenciando salas)
EMBARQUE E DESEMBARQUE DE UM ROBÔ
Ontem à(s) 10:47 pm
Ontem à(s) 9:43 pm
Ontem à(s) 8:33 pm
Ontem à(s) 6:06 pm
Ontem à(s) 11:41 am
Sex Maio 14, 2021 7:42 pm
Sex Maio 14, 2021 2:08 pm
Sex Maio 14, 2021 10:50 am
Sex Maio 14, 2021 2:12 am
Qui Maio 13, 2021 11:39 pm
Qui Maio 13, 2021 8:01 pm
Qui Maio 13, 2021 2:42 pm
Qui Maio 13, 2021 2:35 pm
Qui Maio 13, 2021 1:43 pm
Qui Maio 13, 2021 12:39 pm
Qui Maio 13, 2021 11:36 am
Qui Maio 13, 2021 8:38 am
Qua Maio 12, 2021 10:25 pm
Qua Maio 12, 2021 4:59 pm
Qua Maio 12, 2021 4:24 pm
Qua Maio 12, 2021 2:15 pm
Qua Maio 12, 2021 12:59 pm
Ter Maio 11, 2021 11:27 pm
Ter Maio 11, 2021 6:59 pm
Ter Maio 11, 2021 4:07 pm
Seg Maio 10, 2021 9:53 pm
Seg Maio 10, 2021 7:13 pm
Seg Maio 10, 2021 7:05 pm
Seg Maio 10, 2021 5:19 pm
Seg Maio 10, 2021 4:42 pm
Seg Maio 10, 2021 3:19 pm
Seg Maio 10, 2021 12:43 pm
Seg Maio 10, 2021 9:23 am
Dom Maio 09, 2021 4:08 pm
Sab Maio 08, 2021 4:57 pm
Sab Maio 08, 2021 4:56 pm
Sab Maio 08, 2021 4:31 pm
Sab Maio 08, 2021 3:50 pm
Sab Maio 08, 2021 2:30 pm
Sex Maio 07, 2021 8:56 pm
Sex Maio 07, 2021 8:14 pm
Sex Maio 07, 2021 3:15 pm
Sex Maio 07, 2021 10:23 am
Sex Maio 07, 2021 8:24 am
Qui Maio 06, 2021 9:32 pm
Qui Maio 06, 2021 8:46 pm
Qui Maio 06, 2021 8:15 pm
Qui Maio 06, 2021 8:14 pm
Qui Maio 06, 2021 3:21 pm
Qui Maio 06, 2021 2:46 pm
Qui Maio 06, 2021 11:36 am
Qui Maio 06, 2021 3:08 am
Qua Maio 05, 2021 8:27 pm
Ter Maio 04, 2021 6:50 pm
Ter Maio 04, 2021 7:38 am
Seg Maio 03, 2021 11:34 am
Seg Maio 03, 2021 11:22 am
Seg Maio 03, 2021 8:53 am
Seg Maio 03, 2021 2:44 am
Dom Maio 02, 2021 6:04 pm
Dom Maio 02, 2021 5:22 pm
Dom Maio 02, 2021 5:03 pm
Dom Maio 02, 2021 5:00 pm
Sab Maio 01, 2021 8:02 pm
Sab Maio 01, 2021 12:07 pm
Sab Maio 01, 2021 11:02 am
Sab Maio 01, 2021 7:08 am
Sex Abr 30, 2021 4:34 pm
Sex Abr 30, 2021 2:12 pm
Qui Abr 29, 2021 1:26 pm
Qui Abr 29, 2021 12:48 pm
Qui Abr 29, 2021 12:45 pm
Qui Abr 29, 2021 11:02 am
Qui Abr 29, 2021 12:31 am
Qua Abr 28, 2021 10:53 pm
Qua Abr 28, 2021 6:01 pm
Qua Abr 28, 2021 3:55 pm
Qua Abr 28, 2021 2:35 pm
Qua Abr 28, 2021 2:03 pm
Ter Abr 27, 2021 10:50 pm
Seg Abr 26, 2021 10:07 pm
Seg Abr 26, 2021 3:18 pm
Seg Abr 26, 2021 12:41 am
Seg Abr 26, 2021 12:28 am
Dom Abr 25, 2021 10:01 pm
Dom Abr 25, 2021 8:17 pm
Dom Abr 25, 2021 1:52 am
Sab Abr 24, 2021 3:37 pm
Sab Abr 24, 2021 11:34 am
Sex Abr 23, 2021 11:46 pm
Sex Abr 23, 2021 3:22 pm
Qui Abr 22, 2021 7:54 pm
Qui Abr 22, 2021 2:18 pm
Qui Abr 22, 2021 6:45 am
Qua Abr 21, 2021 10:54 pm
Qua Abr 21, 2021 3:44 pm
Qua Abr 21, 2021 1:00 pm
Qua Abr 21, 2021 11:58 am
Qua Abr 21, 2021 11:21 am
RodrigoPrivilegium
MajorH
Felipe42
Fagner
Fagner
WLCS22
Fagner
nando07
WLCS22
MayLeone
RGT2020
tautologias345
Pokedlg
Xavier
glauco
vphyre
Joana
acefogo
AnderGames
marbiel18
AthaideYi
Xavier
Charlesoff
Joana
Mozinhas2
WLCS22
Xavier
Pokedlg
Charlesoff
TIKO
Fagner
RGT2020
stratengine
stratengine
ProBrStalker
xYcar
WLCS22
Pokedlg
Mozinhas2
Charlesoff
stratengine
Charlesoff
Joana
NKKF
Xavier
Fagner
Fagner
loucoporjogo
Joana
Pokedlg
Xavier
adrianobros2
stratengine
glauco
speedluk
Traygus
MarcosSchultz
Maria Elisa
BlesseD
NKKF
Fagner
Fagner
Fagner
Rangel Oblivion
Phelipe
Pokedlg
Elizeuvix
MartinsCG
RenatoBarreto
MartinsCG
FelipeSouza11
adrianobros2
loucoporjogo
WLCS22
JulioWinchester
TIKO
FelixTedesco
dirceuinfo
FelixTedesco
poyser
hendrick22
ProblemX
WLCS22
NKKF
Xavier
SauloeArthur
MayLeone
hellside
Mozinhas2
LuccaGiffoni
Triskal
WLCS22
JohnRambo
SauloeArthur
Fagner
jeancvo3
Pokedlg
CleiMac
dutrabr100

[RESOLVIDO] Unity - Giro do Personagem não está funcionando direito

Ir em baixo

Resolvido [RESOLVIDO] Unity - Giro do Personagem não está funcionando direito

Mensagem por WLCS22 Dom Abr 25, 2021 6:00 pm

Boa tarde!

Pessoal, estou tentando fazer meu Personagem girar, mas não estou conseguindo ter êxito. No começo tentei o Lerp no transform.eulerAngles, mas não consegui pq quando o ângulo é menor que zero (negativo) o personagem não para de girar, isso é erro da Unity msm, pois a turma me falou que por tras dos bastidores o que é trabalhado mesmo é o Quaternion. Então fui pro Quaternion. Quando eu jogo ele dentro do Update, o personagem gira de boa, mas quando uso ele dentro de um método, ele não completa o giro. Estou implementando ele assim:
 
Código:
      Quaternion rotacaoFinal = Quaternion.Euler(anguloFinal.x, anguloFinal.y, anguloFinal.z);
        objPersonagem.transform.rotation = Quaternion.Lerp(objPersonagem.transform.rotation, rotacaoFinal, Time.deltaTime);


O 1º método está assim:
 
Código:
  public void andar(string stMovimento, GameObject objPersonagem, Animator _animator, Vector3 destino, Vector3 anguloInicial, Vector3 anguloFinal, List<bool> listaDasCasasAtuais, int casaAtual, int casaDeDestino) {
        // Seta o parâmetro dos movimentos do Personagem. Aqui ele anda
        _animator.SetFloat(stMovimento, movimentoAndando);

         // Deslocamento Final
        objPersonagem.transform.position = Vector3.MoveTowards(objPersonagem.transform.position, destino, velocidadeAndar * Time.deltaTime);

        print("====== Andando =======");
        print("objPersonagem.transform.position === " + objPersonagem.transform.position);
        print("destino ========= " + destino);

        // Quando a posição do deslocamento for igual à posição final, o Personagem para, é tratado o status da Casa Atual e a de destino e as Posição e os Ângulos são congelado/fixados
        if(transform.position == destino) {
            // Método que deixa o Personagem parado
            parar(stMovimento, objPersonagem, _animator, destino, anguloFinal, listaDasCasasAtuais, casaAtual, casaDeDestino);
        }
    }


O que implementa o Quaternion está assim:

Código:
    public void parar(string stMovimento, GameObject objPersonagem, Animator _animator, Vector3 destino, Vector3 anguloFinal, List<bool> listaDasCasasAtuais, int casaAtual, int casaDeDestino) {
        // Seta o parâmetro dos movimentos do Personagem. Aqui ele para
        _animator.SetFloat(stMovimento, movimentoParado);

        // Conserva a Posição da Inicialização do Personagem Amarelo
        objPersonagem.transform.position = destino;

        Quaternion rotacaoFinal = Quaternion.Euler(anguloFinal.x, anguloFinal.y, anguloFinal.z);
        objPersonagem.transform.rotation = Quaternion.Lerp(objPersonagem.transform.rotation, rotacaoFinal, Time.deltaTime);

        // Casas que estão na Lista de Casas Atuais do Personagem. Se o Atual não receber "false", o Personagem não sai do lugar
        listaDasCasasAtuais[casaAtual] = false;// Marca a Casa Atual como "false"
        listaDasCasasAtuais[casaDeDestino] = true;// Marca a Casa de Destino como "true"

        // Variáveis de Retorno dos métodos que tratam Curvas e Pulos com Passos (antes e depois).
        // Elas devem voltar a seu valor inicial para serem reutilizadas em outros movimentnos
        andouRetorno = false;
        correuRetorno1 = false;
        correuRetorno2 = false;
        pulou_retorno = false;
        retornoCoroutineDelayPulo = false;
        retornoCoroutineDelayDeslocamento = false;
        retornoPlanoInicial = false;
        retornoPlataforma = false;
        pulo = true;
        dado = 0;// Se não zerar o valor do dado, o Personagem não fica parado

        print("Parado");
    }



O método "andar" eu chamo dentro do método principal, jogo. Está assim:


Código:
    public void jogo(string stMovimento, GameObject objPersonagem, Animator _animator, Rigidbody _rigidbody, List<Vector3> listaDasCasas) {

        //print("jogoTimeAmarelo()");

        // Varre a Lista (de 59 ítens) em que as referências das Casas foram inseridas. i == 1 para não pegar a plataforma que é i == 0
        for(int i = 1; i < listaDasCasas.Count && i < listaDasCasasAtuais.Count; i++) {

            // A Casa Atual e Destino
            int casaAtual = i;
            int casaDeDestino = casaAtual + dado;

            if(casaAtual > 58 || casaDeDestino > 58) {
                //print("ÍNDICE FORA DA LISTA, SEU LIMITE É 58");
            }
            // RODA O JOGO
            else {
                // Casa de Destino do Personagem
                Vector3 destino = listaDasCasas[casaDeDestino];

                // Se o Personagem atingiu a 58ª Casa, esse Personagem completou o Jogo
                if(listaDasCasasAtuais[58] == true) {
                    // O Fim do Jogo recebe "true", pois o Personagem finalizou 0 Jogo
                    dancar(stMovimento, objPersonagem, _animator, destino);
                }
                // O Jogo Continua
                else {
                    // Casa Atual do Personagem e o valor do Dado == 1
                    if(listaDasCasasAtuais[casaAtual] == true && dado == 1) {
                        // Anda
                        if(casaAtual >= 7 && casaAtual <= 10) {
                            andar(stMovimento, objPersonagem, _animator, destino, anguloPraTras, anguloPraTras, listaDasCasasAtuais, casaAtual, casaDeDestino);
                        }
                    }
                }
            }
        }
 }


O método jogo() é bem maior que essa parte que coloquei, mas essa parte tem a implementação do método andar() e já não funciona  o Quaternion.

O que seria que está empatando o Quaternion? Não sei se pode ser as variáveis que recebem "false" no método parar(), pois coloquei direto no "andar" e também não funcionou..

Obg!


Última edição por WLCS22 em Qui Abr 29, 2021 1:01 pm, editado 1 vez(es)
WLCS22
WLCS22
MembroAvançado

PONTOS : 134
REPUTAÇÃO : 15
Respeito as regras : [RESOLVIDO] Unity - Giro do Personagem não está funcionando direito WvDYdlf

Voltar ao Topo Ir em baixo

Resolvido Re: [RESOLVIDO] Unity - Giro do Personagem não está funcionando direito

Mensagem por Joana Dom Abr 25, 2021 6:10 pm

pelo que sei o Euler pode causar alguns problemas.
Quaternion rotaionToTarget = Quaternion.LookRotation(directionTarget, Vector3.up);

Porque não tenta usar um Quaternion rotaçãofinal = Quaternion.LookAt
Depois acho que basta colocar a direção que pretende
Joana
Joana
Avançado
Avançado

PONTOS : 314
REPUTAÇÃO : 15
Respeito as regras : [RESOLVIDO] Unity - Giro do Personagem não está funcionando direito WvDYdlf

Voltar ao Topo Ir em baixo

Resolvido Re: [RESOLVIDO] Unity - Giro do Personagem não está funcionando direito

Mensagem por WLCS22 Dom Abr 25, 2021 6:14 pm

Ok, fiz assim:


Código:
            Quaternion rotacaoFinal = Quaternion.LookRotation(anguloPraEsquerda, Vector3.up);
            transform.rotation = Quaternion.Lerp(transform.rotation, rotacaoFinal, Time.deltaTime);

Se for assim, não funcionou. o personagem gira todos os eixos no giro, mesmo tendo colocado Vector3.up, mas se não for assim, como seria?

Quanto ao LookAt, não é pra ele olhar pra outro objeto, mas só girar mesmo, esse não serve.. sem falar que dá erro na sintaxe colocando ele como vc fez..
WLCS22
WLCS22
MembroAvançado

PONTOS : 134
REPUTAÇÃO : 15
Respeito as regras : [RESOLVIDO] Unity - Giro do Personagem não está funcionando direito WvDYdlf

Voltar ao Topo Ir em baixo

Resolvido Re: [RESOLVIDO] Unity - Giro do Personagem não está funcionando direito

Mensagem por Joana Dom Abr 25, 2021 7:52 pm

o look at foi erro meu, queria dizer look rotaion.
Tente Quaternion rotation = Quaternion.lookrotation(a direção rotação);
transform.rotation = a direção rotação
Joana
Joana
Avançado
Avançado

PONTOS : 314
REPUTAÇÃO : 15
Respeito as regras : [RESOLVIDO] Unity - Giro do Personagem não está funcionando direito WvDYdlf

Voltar ao Topo Ir em baixo

Resolvido Re: [RESOLVIDO] Unity - Giro do Personagem não está funcionando direito

Mensagem por Joana Dom Abr 25, 2021 7:58 pm

ou então
transform.rotarion = Quaternion.Lerp(trasnform.rotation,startquaternion. time.deltatime *1)
Joana
Joana
Avançado
Avançado

PONTOS : 314
REPUTAÇÃO : 15
Respeito as regras : [RESOLVIDO] Unity - Giro do Personagem não está funcionando direito WvDYdlf

Voltar ao Topo Ir em baixo

Resolvido Re: [RESOLVIDO] Unity - Giro do Personagem não está funcionando direito

Mensagem por WLCS22 Dom Abr 25, 2021 8:03 pm

Então, fiz assim:
 
Código:
          Quaternion rotacaoFinal = Quaternion.LookRotation(objPontoBordaEsquerda.transform.position, Vector3.up);
            transform.rotation = Quaternion.Lerp(transform.rotation, rotacaoFinal, Time.deltaTime);


e o outro tbm do Quaternion da mensagem lá em cima tbm roda. Quando eu testo direto no Update, ele gira de boa, mas quando coloco em um método e uso posteriormente, ele não completa o giro. É alguma coisa no meu código que tá fazendo isso..

Coloquei meu código acima, eu não tô conseguindo localizar oq tá impedindo o giro.. Será que eh a for() do método jogo()?
WLCS22
WLCS22
MembroAvançado

PONTOS : 134
REPUTAÇÃO : 15
Respeito as regras : [RESOLVIDO] Unity - Giro do Personagem não está funcionando direito WvDYdlf

Voltar ao Topo Ir em baixo

Resolvido Re: [RESOLVIDO] Unity - Giro do Personagem não está funcionando direito

Mensagem por WLCS22 Seg Abr 26, 2021 12:41 am

Genteeeee!!! o "RotateTowards" no lugar do Lerp resolveu!!! É só aumentar a velocidade que funcionou perfeitamente. Com o Lerp, não sei pq, mas o valor do transform.rotation não era igual ao da Rotação Final quando o Lerp finalizava, daí eu não estava conseguindo trabalhar, pq nunca chegava na igualdade. Então coloquei o "RotateTowards" funcionou!! Fica aí pra quem se deparar com o mesmo problema!
WLCS22
WLCS22
MembroAvançado

PONTOS : 134
REPUTAÇÃO : 15
Respeito as regras : [RESOLVIDO] Unity - Giro do Personagem não está funcionando direito WvDYdlf

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