Ótimo video! Consegui entender direitinho, mas queria saber como fazer o personagem se movimentar pra onde a câmera está apontando, estou com um probleminha que dependendo de onde estou, os controles meio que invertem, quando pressiono w ele vai pra esquerda, etc.. Como faço isso?
Muito obrigado pelo feedback! Para resolver o problema dos controles que invertem dependendo da direção da câmera, eu tenho um vídeo que pode te ajudar, nele eu ensino a criar uma câmera em primeira pessoa, que usa uma lógica similar a que você precisa, de movimento no eixo local, baseado na rotação da câmera. Segue link: ruclips.net/video/BsmXvXsd9WU/видео.html Espero que esse vídeo seja útil para solucionar o seu problema! Se tiver mais alguma dúvida, não hesite em perguntar.
@@DesenvolvedorUnityEu usei o script mostrado em 1:11 , e funcionou mas ainda está um pouco bugado, concertou um pouco do problema mas s Está parcialmente invertido
@@DesenvolvedorUnity opa, desculpa estar fazendo muitas perguntas, é que sou iniciante na unity e comecei a programar faz 3 dias, então tenho dificuldade, estou com problemas na movimentação novamente. O personagem mesmo parado, gira na direção da câmera, tipo o shift lock do roblox, e quando eu olho pra frente e ando para a direita, ele começa a deslizar para a direita olhando para a direção que a câmera está apontando e tentando fazer a animação girar para o lado mas n consegue, consegue me ajudar?
Tenho esse vídeo criando um Personagem em Primeira Pessoa: ruclips.net/video/BsmXvXsd9WU/видео.html Durante o vídeo eu detalho sobre como fazer isso passo a passo. Dá uma olhada lá!
@@DesenvolvedorUnity eu tentei fazer isso, mas quando eu mecho a camera o personagem tambem meche junto com ela, eu queria tipo, que o personagem ficasse parado mas quando eu mecher para alguma direção ele fosse para onde a camera esta apontando
@@GuilhermeSoares-fw8pm Você está usando o script que mostrei no instante 1:11? Pelo que entendi, quando você apertar W (para ir para frente), por exemplo, você quer que o personagem vá para a direção que a câmera está apontando. Usando o script do minuto 1:11, já vai acontecer dessa forma.
Isso é por causa do Pepiline que você está usando. Você tem que selecionar os materiais desses assets (que estão rosas) e ir em Edit > Rendering > Materials > Convert.... Com isso a Unity converte os materiais automaticamente para o pepiline que você está, desde que os materiais sejam Standard. Espero que isso te ajude!
@@leostella97 Antes de ir na opção de converter, você tem que selecionar os materiais que estão rosas, na sua aba de projeto. Depois disso, as opções de conversão ficam disponíveis para clicar.
@@DesenvolvedorUnity aaah sim, a opção converter pra URP tá desabilitada porque meu projeto é 3D URP ashuashu, quero tirar esse rosa e colocar as texturas :(
@@DesenvolvedorUnity Opa!! consegui fazendo assim: window>rendering>render pipeline converter>na escolha coloque built-in to urp>marque a caixinha rendering settings e a caixinha material upgrade> clique no botão initialize converters e depois no botão convert assets
Você pode configurar a distância da câmera em relação ao personagem, através da Cinemachine. Basta selecionar ela e configurar as opções de Orbits. No instante 6:55 em diante do vídeo, falo sobre isso.
Com a Cinemachine é possível fazer controles para mobile também, contudo teríamos que fazer um script para ler as entradas de toque na tela. Futuramente vou lançar um vídeo ensinando fazer esse mesmo estilo de câmera para mobile!
Realmente, como no vídeo anterior (vídeo do card) a câmera está fixa, o personagem pode se mover no eixo global sem problemas, porém neste vídeo como estamos trabalhando em uma câmera em terceira pessoa, que está sempre rotacionando, eu tive que mover o personagem no eixo local (aquele em que a câmera está apontando). Ou seja, a direção para frente, por exemplo, não é mais o vetor (0, 0, 1) e sim um vetor a partir da direção de onde a câmera está rotacionada no momento. Por isso da necessidade de pequenas alterações no script, porém toda a lógica de construção do personagem e animações permanecem iguais.
muito bom, mas acho que só tem suporte até Unity 2021. Comecei uns testes na Unity 2022 e está descontinuado esse Asset. Poderia fazer um video mostrando os detalhes daquele script "Third Person Character Controller"?
@@t_br1256 Está tudo certo, usando o script dessa forma o personagem irá se mover corretamente. Só configurar a câmera da forma apresentada no vídeo agora.
@@DesenvolvedorUnity tabom meu personagem ta meio q flutuando, quando eu vo descer de algum lugar ele cai lentamente e nao consigo mudar isso é algo haver com o script? a gravidade ta estranha
@@cumbra3071 Na parte do script onde está: character.Move(Vector3.down * Time.deltaTime); Você pode colocar character.Move(Vector3.down * Time.deltaTime * 10); Dessa forma você estará aplicando uma força maior para baixo, fazendo o personagem cair mais rápido. Você pode alterar esse valor e colocar o que mais se adapta a lógica que está criando.
Quando eu coloco esse script: using System.Collections; using System.Collections.Generic; using UnityEngine; public class Movement : MonoBehaviour { private CharacterController character; private Animator animator; private Vector3 inputs; private float velocidade = 2.5f; public Transform myCamera;
// Start is called before the first frame update void Start() { character = GetComponent(); animator = GetComponent(); myCamera = Camera.main.transform; } // Update is called once per frame void Update() { inputs.Set(Input.GetAxis("Horizontal"), 0, Input.GetAxis("Vertical"));
var forward = myCamera.TransformDirection(Vector3.forward); forward.y = 0;
var right = myCamera.TransformDirection(Vector3.right);
Vector3 direcao = inputs.x * right + inputs.z * forward;
if(inputs != Vector3.zero) { animator.SetBool("andando", true); } else { animator.SetBool("andando", false); } } } o meu character começa a cair infinitamente no void Edit: o console diz que o Game Object 'Idle' is missing (Idle é o nome do meu personagem)
Opa, tudo bem? Dá uma olhada nesse outro vídeo meu, nele eu explico sobre esse assunto de inversão de eixo global/local: ruclips.net/video/BsmXvXsd9WU/видео.html&lc=Ugx_ro6jEfjyOeceYa54AaABAg
➡ MEU CURSO DE CRIAÇÃO DE JOGOS: desenvolvedorunity.com.br/?src=video3
Cara seus conteúdos são ótimos, parabéns!
Valeu!! Fico feliz que esteja gostando dos vídeos!
@@DesenvolvedorUnityvocê poderia criar mod de câmera pro jogo
Valkyrie profile 2 ??
Sempre quis zera esse jogo mais por causa da câmera desistir 🙏🙏
Seus videos são muito bons, mais completo que muitos canais por aí, deveria criar um curso na udemy sla
Ajudou bastante maninho ❤
Dei valor nessa nova funcionalidade
ei man, a camera ficou muito perto do meu personagem e eu não sei como afastar ela. Me ajuda.
Otimo video, fiquei quebrando a cabeça ontem tentando fazer uma camera terceira pessoa, e da pra fazer em menos de 5min
Valeu! Usando a cinemachine dá para a gente fazer várias configurações de câmera rapidamente
Bom D+ estou assistindo tudo
Ótimo trabalho, deixa o link das redes sociais pra gente seguir
Concordo com o Fernando, deixa as outras redes ai que rs!
Muito bom o tutorial
sim, seria otimo se fizesse um curso de unity
para dar certo não entrar a câmera na parece o Câmera Radius tem que estar em 0,3 e não 0,1
Valeu, mano!!!
como faço para fazer com que o ponteiro do mouse suma?
OI QUANDO O PERSONAGEM DA 180 ELE INVERTE OS COMANDOS
Meu ajudou muito, mas eu queria rotacionar a câmera com as teclas e não com o mouse, como faço isso?
você trabalha na unity ? sua aulas são ótima .estou criando o gta br (não se chama gta )
já teve progresso?
Qual a configuração do seu PC?
gripe incuravel a sua em kkk bom video
E como colocar pra rotacionar somente com botão direito do mouse?
Boa tarde. Não encontro na Assetstore este pacote " cinemachine". sabe informar alguma outra alternativa
👏👏👏👏👏👏👏👏👏
funciona para primeira pessoa
eu faço tudo igual ao video, mas quando dou play ele deleta os controladores da camera do projeto , alguem consegue me ajudar?
como conseguiu esse mapa? se pegou de algum lugar pode me passar?
Esse personagem criou?
Ótimo video! Consegui entender direitinho, mas queria saber como fazer o personagem se movimentar pra onde a câmera está apontando, estou com um probleminha que dependendo de onde estou, os controles meio que invertem, quando pressiono w ele vai pra esquerda, etc..
Como faço isso?
Muito obrigado pelo feedback! Para resolver o problema dos controles que invertem dependendo da direção da câmera, eu tenho um vídeo que pode te ajudar, nele eu ensino a criar uma câmera em primeira pessoa, que usa uma lógica similar a que você precisa, de movimento no eixo local, baseado na rotação da câmera. Segue link: ruclips.net/video/BsmXvXsd9WU/видео.html
Espero que esse vídeo seja útil para solucionar o seu problema! Se tiver mais alguma dúvida, não hesite em perguntar.
@@DesenvolvedorUnityEu usei o script mostrado em 1:11 , e funcionou mas ainda está um pouco bugado, concertou um pouco do problema mas s
Está parcialmente invertido
@@DesenvolvedorUnityatualização: consegui fazer o que eu queria! só vou ajustar algumas coisas e já vai estar perfeito, valeu pela ajuda!
@@DesenvolvedorUnity opa, desculpa estar fazendo muitas perguntas, é que sou iniciante na unity e comecei a programar faz 3 dias, então tenho dificuldade, estou com problemas na movimentação novamente.
O personagem mesmo parado, gira na direção da câmera, tipo o shift lock do roblox, e quando eu olho pra frente e ando para a direita, ele começa a deslizar para a direita olhando para a direção que a câmera está apontando e tentando fazer a animação girar para o lado mas n consegue, consegue me ajudar?
EU TMB
e como eu faço para quando eu mecher o personagem para frente ele ir para onde a camera esta apontando?
Tenho esse vídeo criando um Personagem em Primeira Pessoa: ruclips.net/video/BsmXvXsd9WU/видео.html
Durante o vídeo eu detalho sobre como fazer isso passo a passo. Dá uma olhada lá!
@@DesenvolvedorUnity eu tentei fazer isso, mas quando eu mecho a camera o personagem tambem meche junto com ela, eu queria tipo, que o personagem ficasse parado mas quando eu mecher para alguma direção ele fosse para onde a camera esta apontando
@@GuilhermeSoares-fw8pm Você está usando o script que mostrei no instante 1:11?
Pelo que entendi, quando você apertar W (para ir para frente), por exemplo, você quer que o personagem vá para a direção que a câmera está apontando.
Usando o script do minuto 1:11, já vai acontecer dessa forma.
os assets que eu baixei estão em rosa, consegue me ajudar a colocar as texturas pfv?
Isso é por causa do Pepiline que você está usando. Você tem que selecionar os materiais desses assets (que estão rosas) e ir em Edit > Rendering > Materials > Convert....
Com isso a Unity converte os materiais automaticamente para o pepiline que você está, desde que os materiais sejam Standard. Espero que isso te ajude!
@@DesenvolvedorUnity muito obrigado!! mas quando eu vou no ...>Materials o Convert tá bloqueado pra clicar :( tô usando os mesmos assets que cê usou
@@leostella97 Antes de ir na opção de converter, você tem que selecionar os materiais que estão rosas, na sua aba de projeto. Depois disso, as opções de conversão ficam disponíveis para clicar.
@@DesenvolvedorUnity aaah sim, a opção converter pra URP tá desabilitada porque meu projeto é 3D URP ashuashu, quero tirar esse rosa e colocar as texturas :(
@@DesenvolvedorUnity Opa!! consegui fazendo assim: window>rendering>render pipeline converter>na escolha coloque built-in to urp>marque a caixinha rendering settings e a caixinha material upgrade> clique no botão initialize converters e depois no botão convert assets
Irmao , ensina como fazer uma câmera e movimentação igual a do Resident evil 4
Opa, valeu pela sugestão! Segue o canal que assim que possível vou fazer um vídeo sobre isso!
Acabei de lançar um vídeo sobre sua sugestão. Confere ai: ruclips.net/video/I1woINvJwM0/видео.html
o meu personagem ficou muito perto da camera pode me ajudar por favor?
Você pode configurar a distância da câmera em relação ao personagem, através da Cinemachine. Basta selecionar ela e configurar as opções de Orbits. No instante 6:55 em diante do vídeo, falo sobre isso.
@@DesenvolvedorUnity Vlw MN consegui
Eu consigo mexer a câmera normalmente no mobile né?
Com a Cinemachine é possível fazer controles para mobile também, contudo teríamos que fazer um script para ler as entradas de toque na tela. Futuramente vou lançar um vídeo ensinando fazer esse mesmo estilo de câmera para mobile!
@@DesenvolvedorUnity por favor, é MT difícil fazer uma câmera nesse estilo pra mobile quando se tem poucos vídeos brs explicando esse tipo de coisa
Vi que seu script esta diferente do video anterior ele esta assim
Realmente, como no vídeo anterior (vídeo do card) a câmera está fixa, o personagem pode se mover no eixo global sem problemas, porém neste vídeo como estamos trabalhando em uma câmera em terceira pessoa, que está sempre rotacionando, eu tive que mover o personagem no eixo local (aquele em que a câmera está apontando).
Ou seja, a direção para frente, por exemplo, não é mais o vetor (0, 0, 1) e sim um vetor a partir da direção de onde a câmera está rotacionada no momento. Por isso da necessidade de pequenas alterações no script, porém toda a lógica de construção do personagem e animações permanecem iguais.
muito bom, mas acho que só tem suporte até Unity 2021. Comecei uns testes na Unity 2022 e está descontinuado esse Asset. Poderia fazer um video mostrando os detalhes daquele script "Third Person Character Controller"?
Eu usei ontem e ta funcionando
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Movement : MonoBehaviour
{
private CharacterController character;
private Animator animator;
private Vector3 inputs;
private float velocidade = 2.5f;
public Transform myCamera;
// Start is called before the first frame update
void Start()
{
character = GetComponent();
animator = GetComponent();
myCamera = Camera.main.transform;
}
// Update is called once per frame
void Update()
{
inputs.Set(Input.GetAxis("Horizontal"), 0, Input.GetAxis("Vertical"));
var forward = myCamera.TransformDirection(Vector3.forward);
forward.y = 0;
var right = myCamera.TransformDirection(Vector3.right);
Vector3 direcao = inputs.x * right + inputs.z * forward;
if (inputs != Vector3.zero && direcao.magnitude > 0.1f)
{
Quaternion freeRotation = Quaternion.LookRotation(direcao.normalized, transform.up);
transform.rotation = Quaternion.Slerp(transform.rotation, Quaternion.Euler(new Vector3(transform.eulerAngles.x, freeRotation.eulerAngles.y, transform.eulerAngles.z)), 10 * Time.deltaTime);
}
character.Move((transform.forward * inputs.magnitude * Time.deltaTime * velocidade));
character.Move((Vector3.down * Time.deltaTime));
if(inputs != Vector3.zero)
{
animator.SetBool("andando", true);
}
else
{
animator.SetBool("andando", false);
}
}
}
pode da uma olha ver se esta faltando algo ??
@@t_br1256 Está tudo certo, usando o script dessa forma o personagem irá se mover corretamente. Só configurar a câmera da forma apresentada no vídeo agora.
@@DesenvolvedorUnity tabom meu personagem ta meio q flutuando, quando eu vo descer de algum lugar ele cai lentamente e nao consigo mudar isso é algo haver com o script? a gravidade ta estranha
@@cumbra3071 Na parte do script onde está: character.Move(Vector3.down * Time.deltaTime);
Você pode colocar character.Move(Vector3.down * Time.deltaTime * 10);
Dessa forma você estará aplicando uma força maior para baixo, fazendo o personagem cair mais rápido. Você pode alterar esse valor e colocar o que mais se adapta a lógica que está criando.
@@DesenvolvedorUnity muito obrigado eu achei q fossem limitados os parâmetros q se coloca nessa "função"
Quando eu coloco esse script:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Movement : MonoBehaviour
{
private CharacterController character;
private Animator animator;
private Vector3 inputs;
private float velocidade = 2.5f;
public Transform myCamera;
// Start is called before the first frame update
void Start()
{
character = GetComponent();
animator = GetComponent();
myCamera = Camera.main.transform;
}
// Update is called once per frame
void Update()
{
inputs.Set(Input.GetAxis("Horizontal"), 0, Input.GetAxis("Vertical"));
var forward = myCamera.TransformDirection(Vector3.forward);
forward.y = 0;
var right = myCamera.TransformDirection(Vector3.right);
Vector3 direcao = inputs.x * right + inputs.z * forward;
if (inputs != Vector3.zero && direcao.magnitude > 0.1f)
{
Quaternion freeRotation = Quaternion.LookRotation(direcao.normalized, transform.up);
transform.rotation = Quaternion.Slerp(transform.rotation, Quaternion.Euler(new Vector3(transform.eulerAngles.x, freeRotation.eulerAngles.y, transform.eulerAngles.z)), 10 * Time.deltaTime);
}
character.Move((transform.forward * inputs.magnitude * Time.deltaTime * velocidade));
character.Move((Vector3.down * Time.deltaTime));
if(inputs != Vector3.zero)
{
animator.SetBool("andando", true);
}
else
{
animator.SetBool("andando", false);
}
}
}
o meu character começa a cair infinitamente no void
Edit: o console diz que o Game Object 'Idle' is missing (Idle é o nome do meu personagem)
Você colocou no personagem o componente de Character Controller?
como você consegue no momento 8:19 quando você vira a câmera na direção que você quer ir ela vai
Eu fiz tudo dos dois vídeos
ta mais como posso fazer com que a movimentação do player siga a direção em que a camera esta apontando??
Opa, tudo bem? Dá uma olhada nesse outro vídeo meu, nele eu explico sobre esse assunto de inversão de eixo global/local: ruclips.net/video/BsmXvXsd9WU/видео.html&lc=Ugx_ro6jEfjyOeceYa54AaABAg