[RESOLVIDO] Qual a melhor forma de fazer a movimentação em terceira pessoa?
4 participantes
SchultzGames :: UNITY 3D :: Resolvidos
Página 1 de 1
[RESOLVIDO] Qual a melhor forma de fazer a movimentação em terceira pessoa?
Bom estou com meu projeto de TPS que anda evoluindo consideravelmente más meus estudos estão dando uma boa "brecada" no progresso pela falta de tempo, más emfim estava fazendo minha movimentação via mecanim apenas utilizando a movimentação das animações chamando elas pelo input, algo bem simples, então com algumas pesquisas vi que existem outros métodos de se fazer as movimentações de maneira mais fluida com scripts mais elaborados, ao contrario doque estou fazendo que é apenas receber o input dos eixos de direção e atualizar na float da mecanim, alguém sabe qual seria o melhor método de fazer a movimentação de um personagem em terceira pessoa e sabe algum tutorial que ajude ?
Última edição por dstaroski em Ter Mar 06, 2018 5:24 pm, editado 1 vez(es) (Motivo da edição : Resolvido)
Re: [RESOLVIDO] Qual a melhor forma de fazer a movimentação em terceira pessoa?
Bom dia cara! eu tinha um vídeo sobre isso, mas não achei mais, eu uso esse script para a rotação do player, e as animações eu uso o root motion do animator com IK nos pés para ficar mais legal.MRX escreveu:Bom estou com meu projeto de TPS que anda evoluindo consideravelmente más meus estudos estão dando uma boa "brecada" no progresso pela falta de tempo, más emfim estava fazendo minha movimentação via mecanim apenas utilizando a movimentação das animações chamando elas pelo input, algo bem simples, então com algumas pesquisas vi que existem outros métodos de se fazer as movimentações de maneira mais fluida com scripts mais elaborados, ao contrario doque estou fazendo que é apenas receber o input dos eixos de direção e atualizar na float da mecanim, alguém sabe qual seria o melhor método de fazer a movimentação de um personagem em terceira pessoa e sabe algum tutorial que ajude ?
- Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class MyController : MonoBehaviour {
private string turnInputAxis = "Horizontal";
[Tooltip("Rate per seconds holding down input")]
public float rotationRate = 360;
private void Update () {
//Turn player
float turnAxis = Input.GetAxis (turnInputAxis);
ApplyInput (turnAxis);
//
}//end update
//Void for Turn Player
private void ApplyInput(float turnInput){
Turn (turnInput);
}
//
//Void for turn player
private void Turn(float input){
transform.Rotate (0, input * rotationRate * Time.deltaTime, 0);
}
//
}//end script
Abraço!
Re: [RESOLVIDO] Qual a melhor forma de fazer a movimentação em terceira pessoa?
ola duvida como funciona este sistema ?dstaroski escreveu:Bom dia cara! eu tinha um vídeo sobre isso, mas não achei mais, eu uso esse script para a rotação do player, e as animações eu uso o root motion do animator com IK nos pés para ficar mais legal.MRX escreveu:Bom estou com meu projeto de TPS que anda evoluindo consideravelmente más meus estudos estão dando uma boa "brecada" no progresso pela falta de tempo, más emfim estava fazendo minha movimentação via mecanim apenas utilizando a movimentação das animações chamando elas pelo input, algo bem simples, então com algumas pesquisas vi que existem outros métodos de se fazer as movimentações de maneira mais fluida com scripts mais elaborados, ao contrario doque estou fazendo que é apenas receber o input dos eixos de direção e atualizar na float da mecanim, alguém sabe qual seria o melhor método de fazer a movimentação de um personagem em terceira pessoa e sabe algum tutorial que ajude ?A movimentação você usar o root motion e criar os eventos dentro de uma blend tree, com o horizontal e Vertical. Para o IK eu usei esse vídeo aqui:
- Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class MyController : MonoBehaviour {
private string turnInputAxis = "Horizontal";
[Tooltip("Rate per seconds holding down input")]
public float rotationRate = 360;
private void Update () {
//Turn player
float turnAxis = Input.GetAxis (turnInputAxis);
ApplyInput (turnAxis);
//
}//end update
//Void for Turn Player
private void ApplyInput(float turnInput){
Turn (turnInput);
}
//
//Void for turn player
private void Turn(float input){
transform.Rotate (0, input * rotationRate * Time.deltaTime, 0);
}
//
}//end script
Abraço!
Re: [RESOLVIDO] Qual a melhor forma de fazer a movimentação em terceira pessoa?
Você quer dizer o IK?Dom3000 escreveu:ola duvida como funciona este sistema ?dstaroski escreveu:Bom dia cara! eu tinha um vídeo sobre isso, mas não achei mais, eu uso esse script para a rotação do player, e as animações eu uso o root motion do animator com IK nos pés para ficar mais legal.MRX escreveu:Bom estou com meu projeto de TPS que anda evoluindo consideravelmente más meus estudos estão dando uma boa "brecada" no progresso pela falta de tempo, más emfim estava fazendo minha movimentação via mecanim apenas utilizando a movimentação das animações chamando elas pelo input, algo bem simples, então com algumas pesquisas vi que existem outros métodos de se fazer as movimentações de maneira mais fluida com scripts mais elaborados, ao contrario doque estou fazendo que é apenas receber o input dos eixos de direção e atualizar na float da mecanim, alguém sabe qual seria o melhor método de fazer a movimentação de um personagem em terceira pessoa e sabe algum tutorial que ajude ?A movimentação você usar o root motion e criar os eventos dentro de uma blend tree, com o horizontal e Vertical. Para o IK eu usei esse vídeo aqui:
- Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class MyController : MonoBehaviour {
private string turnInputAxis = "Horizontal";
[Tooltip("Rate per seconds holding down input")]
public float rotationRate = 360;
private void Update () {
//Turn player
float turnAxis = Input.GetAxis (turnInputAxis);
ApplyInput (turnAxis);
//
}//end update
//Void for Turn Player
private void ApplyInput(float turnInput){
Turn (turnInput);
}
//
//Void for turn player
private void Turn(float input){
transform.Rotate (0, input * rotationRate * Time.deltaTime, 0);
}
//
}//end script
Abraço!
Abraço!
Re: [RESOLVIDO] Qual a melhor forma de fazer a movimentação em terceira pessoa?
isso este script nao diz nada e ik
Re: [RESOLVIDO] Qual a melhor forma de fazer a movimentação em terceira pessoa?
o script é para a rotação do player, sobre IK tem o vídeo que o brow ensina a programar o código.Dom3000 escreveu:isso este script nao diz nada e ik
Abraço!
Re: [RESOLVIDO] Qual a melhor forma de fazer a movimentação em terceira pessoa?
dstaroski escreveu:Bom dia cara! eu tinha um vídeo sobre isso, mas não achei mais, eu uso esse script para a rotação do player, e as animações eu uso o root motion do animator com IK nos pés para ficar mais legal.MRX escreveu:Bom estou com meu projeto de TPS que anda evoluindo consideravelmente más meus estudos estão dando uma boa "brecada" no progresso pela falta de tempo, más emfim estava fazendo minha movimentação via mecanim apenas utilizando a movimentação das animações chamando elas pelo input, algo bem simples, então com algumas pesquisas vi que existem outros métodos de se fazer as movimentações de maneira mais fluida com scripts mais elaborados, ao contrario doque estou fazendo que é apenas receber o input dos eixos de direção e atualizar na float da mecanim, alguém sabe qual seria o melhor método de fazer a movimentação de um personagem em terceira pessoa e sabe algum tutorial que ajude ?A movimentação você usar o root motion e criar os eventos dentro de uma blend tree, com o horizontal e Vertical. Para o IK eu usei esse vídeo aqui:
- Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class MyController : MonoBehaviour {
private string turnInputAxis = "Horizontal";
[Tooltip("Rate per seconds holding down input")]
public float rotationRate = 360;
private void Update () {
//Turn player
float turnAxis = Input.GetAxis (turnInputAxis);
ApplyInput (turnAxis);
//
}//end update
//Void for Turn Player
private void ApplyInput(float turnInput){
Turn (turnInput);
}
//
//Void for turn player
private void Turn(float input){
transform.Rotate (0, input * rotationRate * Time.deltaTime, 0);
}
//
}//end script
Abraço!
Cara show vlw msm me deu ótimas ideias e o IK vai ficar ótimo no meu projeto e nem lembrava, agora vamos ver se sei trabalhar com ele kk
Mas em relação ao código fiquei em duvida para que server essa linha "[Tooltip("Rate per seconds holding down input")]"
Re: [RESOLVIDO] Qual a melhor forma de fazer a movimentação em terceira pessoa?
Colocando o [Tooltip("bla bla"] antes da sua variável, no inspector, quando deixar o cursor do mouse em cima da variável, aparecerá essa nota, Bla Bla, é basicamente dicas. Faça um teste, coloque o cursor do mouse no nome da variável rotation rate lá no inspector.
Abraço!
Abraço!
Re: [RESOLVIDO] Qual a melhor forma de fazer a movimentação em terceira pessoa?
Massa, não conhecia essa função, aproveitando tem alguma diferença de desempenho verificar se o jogo está rodando na hora de receber os Eixos? ex:dstaroski escreveu:Colocando o [Tooltip("bla bla"] antes da sua variável, no inspector, quando deixar o cursor do mouse em cima da variável, aparecerá essa nota, Bla Bla, é basicamente dicas. Faça um teste, coloque o cursor do mouse no nome da variável rotation rate lá no inspector.
Abraço!
- Código:
void Update () {
if (Application.isPlaying) {
Move (Input.GetAxis ("Vertical"), Input.GetAxis ("Horizontal"));
}
}
Se tiver, porque ?
Re: [RESOLVIDO] Qual a melhor forma de fazer a movimentação em terceira pessoa?
acredito que não cara, pois de qualquer forma a captura dos eixos deve ser feita no update. O que se pode fazer é um teste com o Profiler, com e sem, e veja se dá alguma diferença, creio que não.MRX escreveu:Massa, não conhecia essa função, aproveitando tem alguma diferença de desempenho verificar se o jogo está rodando na hora de receber os Eixos? ex:dstaroski escreveu:Colocando o [Tooltip("bla bla"] antes da sua variável, no inspector, quando deixar o cursor do mouse em cima da variável, aparecerá essa nota, Bla Bla, é basicamente dicas. Faça um teste, coloque o cursor do mouse no nome da variável rotation rate lá no inspector.
Abraço!
- Código:
void Update () {
if (Application.isPlaying) {
Move (Input.GetAxis ("Vertical"), Input.GetAxis ("Horizontal"));
}
}
Se tiver, porque ?
Abraço!
Re: [RESOLVIDO] Qual a melhor forma de fazer a movimentação em terceira pessoa?
Há esse Atributo também:
https://docs.unity3d.com/ScriptReference/HeaderAttribute.html
=========================================
Acredito que não, pois ele sempre retornará true. Já que sempre estará rodando. Acho que se você utilizar Esta função você consegue o que quer.
Espero ter ajudado
https://docs.unity3d.com/ScriptReference/HeaderAttribute.html
=========================================
Acredito que não, pois ele sempre retornará true. Já que sempre estará rodando. Acho que se você utilizar Esta função você consegue o que quer.
Espero ter ajudado
NKKF- ProgramadorMaster
- PONTOS : 4817
REPUTAÇÃO : 574
Idade : 20
Áreas de atuação : Desenvolvedor na Unity, NodeJS, React, ReactJS, React Native, MongoDB e Firebase.
Respeito as regras :
Re: [RESOLVIDO] Qual a melhor forma de fazer a movimentação em terceira pessoa?
Vlw obrigado pela duvida
Tópicos semelhantes
» puzzle, qual a melhor forma de fazer este ?
» Qual melhor forma de fazer um terreno para android?
» Qual a melhor forma de fazer um efeito parecido com um launchpad[UNITY]?
» [RESOLVIDO] Qual a melhor forma de configurar resolução para mobile?
» Como fazer o personagem virar a cabeça junto com a camera, em jogo de terceira pessoa?
» Qual melhor forma de fazer um terreno para android?
» Qual a melhor forma de fazer um efeito parecido com um launchpad[UNITY]?
» [RESOLVIDO] Qual a melhor forma de configurar resolução para mobile?
» Como fazer o personagem virar a cabeça junto com a camera, em jogo de terceira pessoa?
SchultzGames :: UNITY 3D :: Resolvidos
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos