Movimentação de Personagem 3D na Unity! - Movimentar e Pular

Поделиться
HTML-код
  • Опубликовано: 6 янв 2025

Комментарии • 73

  • @lannpi
    @lannpi Год назад +18

    Incrível, pessoal vamos incentivar este tipo de conteúdo pois é muito limitado no nosso idioma e pessoas como eu que somos limitado até mesmo no próprio português tem uma facilidade melhor em aprender. OBRIGADO CARA, CONTINUE ASSIM.

    • @Gui_Code
      @Gui_Code  Год назад +2

      Opa, muito obrigado mano!! Ainda tô me acostumando com a rotina de gravar vídeo, mas a ideia é trazer mesmo esses conteúdos que muitas vezes só existem em outras línguas kkkk valeu demais 😁

    • @Casadãoo
      @Casadãoo Год назад +2

      Up👍

    • @arthurabscoutinho
      @arthurabscoutinho 8 месяцев назад +1

      Mano, deixa um link do script aqui nos comentários para nós copiarmos, por favor 🙏

  • @Gui_Code
    @Gui_Code  Год назад +1

    Comentem mais tipos de movimentação que vocês querem ver!!

  • @Jhoseph12K_XII
    @Jhoseph12K_XII 2 месяца назад

    Muito bom. Sensacional. Continua ai

  • @alecsanderazevedo1682
    @alecsanderazevedo1682 Год назад +1

    OBRIGADO, foi muuito ddificil acchar uma canal que fizesse a movimentação levar em consideração a camera sem usar transform, o cara ate concertou ptoblrmas que eu nem tinha percebido

  • @Del_games0
    @Del_games0 Год назад +4

    Mais vídeos cara, por favor! Vc é muito bom! Parabéns! 😎👏

    • @Gui_Code
      @Gui_Code  Год назад +3

      Valeu demais!! 😁😁

  • @01_PedrinWs
    @01_PedrinWs 2 месяца назад +2

    Olá, eu so queria que o neu personagem ir pra direita é para esquerda, mas o script var Horizontalinput = Input.GetAxis ("horizontal");
    Nao ta funcionando😢

    • @ThaisdriellyandradedasilvaThai
      @ThaisdriellyandradedasilvaThai 2 месяца назад +1

      o H tem que ser maiúsculo man "Horizontal"

    • @01_PedrinWs
      @01_PedrinWs 2 месяца назад

      @@ThaisdriellyandradedasilvaThai mn eu já coloquei😭, tem como vc me ajudar prfv tô quase desistindo do meu sonho, manda seu insta plmds🙏🏼😔

  • @elcio-dalosto
    @elcio-dalosto 7 месяцев назад

    Que tutorial excelente, cara... parabéns e gratidão pelo conteúdo!

  • @benjamincristaldo6652
    @benjamincristaldo6652 Год назад +11

    Deixa a script disponível pra copiar

  • @aillord6865
    @aillord6865 Год назад +2

    Continua irmão!! +1 inscrito.
    Sou estudante de unity3d, espero ser tão bom quanto vc.

    • @Gui_Code
      @Gui_Code  Год назад +2

      Valeu demais 😁 Logo mais vou voltar a postar toda semana!! Programação é só persistir, tem hora que a gente quer "matar o código" kkkk, mas depois é boa a sensação de conseguir!

    • @aillord6865
      @aillord6865 Год назад +1

      @@Gui_Code Exatamente! Ansioso pelos novos conteúdos.

  • @machularapio8121
    @machularapio8121 Год назад +1

    Esse vídeo tá OTIMO!!

    • @Gui_Code
      @Gui_Code  Год назад

      Muito obrigado!! 😁

  • @Vinicius_LLacerda
    @Vinicius_LLacerda Месяц назад +1

    Volta com os vídeos man

  • @Neplaza
    @Neplaza Год назад +2

    só fico imaginando eu aprender a fazer isso tudo e até programar, pior que eu acho que não sou capaz. Valeu pelo dica +1 inscrito e like

    • @Gui_Code
      @Gui_Code  Год назад +4

      Eu sou do tipo de pessoa que defende que programação você aprende fazendo (na prática). No final, tudo se resume ao quão bom você é de pesquisar no Google kkkkk. Mas é só persistir que quando você começar a conseguir desenvolver, mesmo que coisas simples, a sensação é bem recompensadora 🚀💪

  • @LuckyTrempei
    @LuckyTrempei Год назад

    Vlw mano, esse conteudo é muito importante pro português

  • @SrZen.
    @SrZen. 10 месяцев назад +1

    O operador '*' não pode ser aplicado a operandos do tipo 'Vector3' e 'bool'
    Ta aparecendo isso quando eu tento colocar o pulo

  • @Aprendiz_de_Unity
    @Aprendiz_de_Unity Месяц назад

    Faz mais vídeos pfv, esta cada vez mais difícil encontrar conteúdo atualizado de Unity no RUclips.

  • @pbvinicius
    @pbvinicius Год назад +1

    Muito Bom!!

  • @willrodrigues5813
    @willrodrigues5813 6 месяцев назад

    Excelente

  • @henriqueseverino6053
    @henriqueseverino6053 8 месяцев назад

    Como seria pra implementar para joystick? Consegue me ajudar?

  • @JVitorDev
    @JVitorDev Год назад +1

    Posta um vídeo completo sobre a cinemachine por favor! estou no aguardo.

    • @Gui_Code
      @Gui_Code  Год назад

      Os próximos vídeos serão focados na movimentação da câmera, vou fazer um sobre o cinemachine!

  • @jhondlx
    @jhondlx Год назад

    Minha unity nao aparece a opção para colocor um rb ou uma cam msm eu escrevendo e reescrevendo codigo msm pegando pronto vc sabe oque pode ser?

  • @agosttagames3401
    @agosttagames3401 21 день назад

    não existe velocity, e agora?

  • @Shotd2
    @Shotd2 8 месяцев назад +1

    quando eu coloco o script da movimentação do player nele, não aparece o "rb" e "speed" em baixo. Alguém sabe resolver?

  • @MarceloFNF
    @MarceloFNF Год назад +1

    When will you release the video you explaining the code of the camera?

    • @Gui_Code
      @Gui_Code  Год назад

      The latest 2 videos are about the camera. Also there's a short about it:
      ruclips.net/user/shortsD3uYD9ET7jA

  • @ElisaDeLeao
    @ElisaDeLeao 7 месяцев назад +5

    O script, migos:
    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    public class MovimentoJogador : MonoBehaviour
    {
    public Rigidbody rb;
    public Transform cam;
    public LayerMask ground;
    public float speed, maxSpeed, drag;
    public float rotationSpeed, jumpForce;
    bool left, forward, backward, right;
    bool grounded, jump;
    void Update()
    {
    HandleInput();
    LimitVelocity();
    CheckGrounded();
    }
    void FixedUpdate()
    {
    HandleMovement();
    HandleRotation();
    }
    void CheckGrounded()
    {
    grounded = Physics.Raycast(transform.position + Vector3.up * .1f, Vector3.down, .2f, ground);
    }
    void HandleRotation()
    {
    if ((new Vector2(rb.velocity.x, rb.velocity.z)).magnitude > .1f)
    {
    Vector3 horizontalDir = new Vector3(rb.velocity.x, 0, rb.velocity.z);
    Quaternion rotation = Quaternion.LookRotation(horizontalDir, Vector3.up);
    transform.rotation = Quaternion.RotateTowards(transform.rotation, rotation, rotationSpeed);
    }
    }
    void HandleDrag()
    {
    rb.velocity = new Vector3(rb.velocity.x, 0, rb.velocity.z) / (1 + drag / 100) + new Vector3(0, rb.velocity.y, 0);
    }
    void LimitVelocity()
    {
    Vector3 horizontalVelocity = new Vector3(rb.velocity.x, 0, rb.velocity.z);
    if (horizontalVelocity.magnitude > maxSpeed)
    {
    Vector3 limitedVelocity = horizontalVelocity.normalized * maxSpeed;
    rb.velocity = new Vector3(limitedVelocity.x, rb.velocity.y, limitedVelocity.z);
    }
    }
    void HandleMovement()
    {
    Quaternion dir = Quaternion.Euler(0f, cam.rotation.eulerAngles.y, 0f);
    if (left)
    {
    rb.AddForce(dir * Vector3.left * speed);
    left = false;
    }
    if (forward)
    {
    rb.AddForce(dir * Vector3.forward * speed);
    forward = false;
    }
    if (backward)
    {
    rb.AddForce(dir * Vector3.back * speed);
    backward = false;
    }
    if (right)
    {
    rb.AddForce(dir * Vector3.right * speed);
    right = false;
    }
    if (jump && grounded)
    {
    transform.position += Vector3.up * .1f;
    rb.velocity = new Vector3(rb.velocity.x, 0, rb.velocity.y);
    rb.AddForce(Vector3.up * jumpForce, ForceMode.Impulse);
    jump = false;
    }

    }

    void HandleInput()
    {
    if (Input.GetKey(KeyCode.A))
    left = true;
    if (Input.GetKey(KeyCode.W))
    forward = true;
    if (Input.GetKey(KeyCode.S))
    backward = true;
    if (Input.GetKey(KeyCode.D))
    right = true;
    if (Input.GetKeyDown(KeyCode.Space) && grounded)
    jump = true;
    }
    }

    • @renanmartins3626
      @renanmartins3626 5 месяцев назад +2

      PQPPP kkkk Caralho, que medo disso mano

  • @remegiug9662
    @remegiug9662 11 месяцев назад

    tenho uma dúvida. Por que, quando você usou 'if' e adicionou a força junto à variável que retornou falso, o comando de velocidade não foi interrompido?

  • @Carinha_Seria
    @Carinha_Seria Год назад

    Cara muito obrigado

  • @drak3309
    @drak3309 Год назад

    Cara no meu, quando eu coloco a palavra HandleInput(); aparece a mensagem "O nome "HandleInput" não existe no contexto atual. Meu script ta exatamente igual ao seu, mas ta dando esse erro. Nem se quer fica com a cor amarela igual no seu video, não sei o pq disso.

    • @Dipirona_007
      @Dipirona_007 11 месяцев назад

      Deu no meu também, tu conseguiu arrumar ?

    • @Dipirona_007
      @Dipirona_007 11 месяцев назад

      consegui resolver, ficou assim
      void HandleInput() {
      if (Input.GetKey(KeyCode.A)) {
      left = true;
      } else {
      left = false;
      }
      if (Input.GetKey(KeyCode.W)) {
      forward = true;
      } else {
      forward = false;
      }
      if (Input.GetKey(KeyCode.S)) {
      backward = true;
      } else {
      backward = false;
      }
      if (Input.GetKey(KeyCode.D)) {
      right = true;
      } else {
      right = false;
      }

  • @polengo_piloto
    @polengo_piloto Год назад +3

    Man, o codigo ta certo, nem erro ele aparece na unity, mas por algum motivo ele não pula

    • @Gui_Code
      @Gui_Code  Год назад +3

      Pode ser 2 coisas, se não aparece erro:
      1. A variável no inspetor ali nos 26:05 está com o valor zerado (Quando altera o valor dela no modo de "Play" ela retorna pro padrão "0" quando sai dele)
      2. A função CheckGrounded não está detectando que o personagem está no chão para poder pular (Verifica se você setou a "Layer" dos objetos que são considerados como chão, igual eu fiz ali perto dos 23:12 E também verifica se os parâmetros do "raycast" ali nos 22:37 estão corretos)

    • @enzogabrielsantos146
      @enzogabrielsantos146 Год назад

      @@Gui_Code Mano eu ja fiz tudo isso e ainda não pula.

    • @MarcosGabriel-yq5ku
      @MarcosGabriel-yq5ku Год назад +1

      @@enzogabrielsantos146 mano eu tbm tava com esse problema, mudei umas coisas e deu certo. Testa essa linha no lugar da original, eu mudei a posição de origem do Ray, troquei 0.1 por -0.9.
      grounded = Physics.Raycast(transform.position + Vector3.up * -0.9f, Vector3.down, .2f, ground);

  • @lucascorreiasalvador7177
    @lucascorreiasalvador7177 9 месяцев назад

    Algm me cnsegue dar o codigo completo?

  • @vcfhufghhyfgghytf9394
    @vcfhufghhyfgghytf9394 9 месяцев назад

    tava quase desistindo ja

  • @GameRushJVT
    @GameRushJVT Год назад +1

    como eu fasso um código, sem o código da camera, e só funciona com esse código cara. mds

    • @Gui_Code
      @Gui_Code  Год назад +1

      É pq pra testar a câmera tem q ter a movimentação pronta, e pra testar a movimentação tem q ter a câmera 🥲
      Mas o código da movimentação é pra funcionar até mesmo com a câmera parada. Os próximos vídeos serão sobre a câmera!

    • @GameRushJVT
      @GameRushJVT Год назад

      @@Gui_Code 1° obrigado n tava ligado nisso, 2° fico feliz que tenham próximos videos

  • @Buxaaaaa
    @Buxaaaaa Год назад

    Seria daora deixar um txt pra download ou copy do script usado no video, as vezes fica muito rapido pra processar

  • @sardinha-pro
    @sardinha-pro Год назад +1

    Um computador mais simples dá para rodar isso .estou pensando no meu filho aprender isso? Tem que ter placa de vídeo?

    • @mugiwaranoluffy9498
      @mugiwaranoluffy9498 Год назад +1

      Imagino que placa de video nao, o meu pc é mediano e esta conseguindo rodar favorável, na vdd é um notebook, ent nao tem placa de video

    • @Aillton-X
      @Aillton-X 4 месяца назад

      @@mugiwaranoluffy9498 da pra aprender com placa onboarde com 1GB vram

  • @lucksguinho4425
    @lucksguinho4425 Год назад

    Vc declarou 4 variáveis usando apenas um bool? Nem sabia que dava pra fazer isso kkkk

  • @ebook7-m3s
    @ebook7-m3s Год назад

    TOP!!! só n funcionou no meu porém pode ser imcompetencia minha.

  • @doideira9209
    @doideira9209 Год назад +3

    tem como vc faer um video ensinado como faer NPCs. Gostei mt do seu video, me ajudou bastante!!

    • @Gui_Code
      @Gui_Code  Год назад +1

      Fico feliz que gostou 😁Depois dos vídeos sobre o personagem vou fazer sobre os NPCs 🤖

    • @Casadãoo
      @Casadãoo Год назад +1

      @@Gui_Code essa eu quero ver👍

  • @MarceloFNF
    @MarceloFNF Год назад +2

    More video, please
    +1 subscribed

    • @Gui_Code
      @Gui_Code  Год назад

      Every thursday!! 😁

  • @kakaremix3470
    @kakaremix3470 6 месяцев назад

    custa nada deixar a script, eu so vou me inscrever se ele deixar a script aqui no cheat.

  • @jhonywesley2252
    @jhonywesley2252 Год назад +2

    Para quem estiver com o error de o Player nao pular, é so modificar esta linha
    " grounded = Physics.Raycast(transform.position + Vector3.up * .1f, Vector3.down, .2f, Ground);
    "
    para
    " grounded = Physics.Raycast(transform.position + Vector3.up * -0.9f, Vector3.down, 1.0f, Ground);
    "

    • @munir60900
      @munir60900 Год назад

      oi vlw, funcionou, mas tu consegue me explicar o que mudou pois não consegui entender

  • @Matheus-eb4cw
    @Matheus-eb4cw Год назад

    Libera o script ai pra gente

    • @Matheus-eb4cw
      @Matheus-eb4cw Год назад

      é dificil a gente procurar erro sem ter o script inteiro, tem que ficar procurando parte por parte do video de 30 minutos....

  • @Ridyy0
    @Ridyy0 Год назад +1

    quanta enteligencia meu Deusss

    • @Gui_Code
      @Gui_Code  Год назад

      Sabedoria desbalanceada 🗿 kkkkkk valeu mano!

  • @FaFaGamer
    @FaFaGamer Год назад

    cria depois guia ensinando sobre esses codigos. void o que significa handlemovemnt. etc void limit etc. quem é iniciante saber sobre isso ai rsrs