Movimento e Câmera em primeira pessoa no Unity - Tutorial

Поділитися
Вставка
  • Опубліковано 12 вер 2024

КОМЕНТАРІ • 208

  • @ProgramandoGames
    @ProgramandoGames  4 роки тому +27

    Fala pessoal!
    Lancei meu curso. Nele ensino como criar um jogo FPS completo! Confere no link => go.hotmart.com/B85475801M

    • @Ygor.SparroW
      @Ygor.SparroW 3 роки тому +1

      Vc tem algum curso ? seja gratuito ou pago ? gostei mt da sua metodología !!

    • @shadaum
      @shadaum 2 роки тому

      @@ycharlesrd9762
      rotationX += horizontalDelta * Time.deltaTime;
      rotationY += verticalDelta * Time.deltaTime;

  • @giovanniprosim
    @giovanniprosim 4 роки тому +6

    Essa parte de polimento é um diferencial dos seus tutoriais, já assisti muito video que só mostravam o "caminho feliz" da implementação e quando tentava fazer sozinho esbarrava nesses problemas de colisão com teto ou qualquer tipo de refinamento com relação a colisão. Excelente video, muito bem implementado e usando muito bem funções como Lerp e Clamp.

  • @jurandir2277
    @jurandir2277 4 роки тому +15

    Mano o video ficou muito foda, tive que voltar algumas vezes mas consegui me organizar, adorei o jeito que você separou o video, simplificou muito.
    Mas aqui vou te dar uma dica, tenta ir com mais calma ou dar um tempo, pra gente que nao entende ainda muito bem a lógica, copiar o codigo.
    Tirando isso ficou muito foda irmao! Sucesso

    • @ProgramandoGames
      @ProgramandoGames  4 роки тому +1

      Valeu Greggy! Essa questão do tempo é algo que preciso ir adaptando e melhorando. Muito obrigado pelo feedback!

  • @alexandredegiuli4487
    @alexandredegiuli4487 3 роки тому +2

    cara parabéns de verdade, vc explica de uma maneira perfeita e muito fácil de aprender, eu tenho um pouco de dificuldade em programação mas me senti muito confortável na sua aula! Continue assim, vc tem muito a crescer e essa comunidade precisa de pessoas como vc!!!

    • @ProgramandoGames
      @ProgramandoGames  3 роки тому +1

      Wooowww valeu mesmo Alexandre! Muito obrigado por esse feedback! Muito feliz em saber tudo isso, tbm espero continuar crescendo e podendo compartilha esse conhecimento com vcs.
      Abraço!

  • @ddmax8552
    @ddmax8552 3 роки тому +4

    Você explica muito bem, merecia mais reconhecimento.
    Poderia fazer um tutorial com a câmera em 3° pessoa, gostei do jeito que você faz.

    • @ProgramandoGames
      @ProgramandoGames  3 роки тому +5

      Valeu DDMAX! Tenho anotado aqui esse tutorial, não só esse como mtos outros. Infelizmente ainda nao trabalho só com o canal entao to me organizando pra ir fazendo 😁

  • @claudio36204
    @claudio36204 3 роки тому +1

    o cara gasta tempo e dedicação pra trazer uma bela video aula ainda tem gente que dar deslike parabéns ta bem explicado

  • @riancristyan3949
    @riancristyan3949 3 роки тому +1

    Obrigado pela sua aula, o seu canal está me ajudando muito!
    Sou iniciante na Unity e estou tendo muitas dificuldades no uso dessa ferramenta, mas o seu conteúdo está me ajudando muito nessas dificuldades, só tenho que agradecer. Continue com esse seu belo trabalho.

  • @babadookaccounts8263
    @babadookaccounts8263 3 роки тому +5

    Cara gostei muito desse canal, seus vídeos são muito bons e trazem bastante conhecimento. Gostaria apenas de fazer uma observação que talvez seria útil. Em um outro canal sobre tutorais de desenvolvimento com a Unity, o youtuber ensina a fazer também o processo de movimentação do personagem porém, usando o componente Rigidbody ao invés de trabalhar com o Transform. Ele explica que na Unity, componentes tem Hierarquia, e o Transform dependendo da situação tem uma hierarquia maior que Boxcollider de objetos, fazendo com que sejam atravessados pelo objeto movimentado, gerando bugs. O mesmo não acontece com o Rigidbody pois, pode se aplicar uma força ao objeto que já tem física (como gravidade) pronta herdada do Rigidbody sendo que o mesmo está abaixo hierarquicamente em relação ao Boxcollider. É até mais fácil de se trabalhar com RIgidibody pq vem tudo pronto. Espero que tenha sido uma dica útil.

    • @ProgramandoGames
      @ProgramandoGames  3 роки тому +3

      Fala Babadook! Obrigado pelo feedback! :D
      Muito boa observação. Estou para fazer um vídeo só falando sobre essa questão de usar Transform versus usar Rigidbody, realmente muita gente pergunta e tem dúvidas, principalmente quando destaco que a maioria das minhas implementações não usam rigidbody. Vou dar uma resumida nessa discussão só pra não ficar em branco.
      Como você bem disse, o mais importante de uma implementação, em primeiro lugar, é ser livre de bugs e ser eficiente do ponto de vista de processamento e estruturação de código. É possível obter esses dois objetivos tanto trabalhando com rigidbody quanto trabalhando apenas com Transform. Então qual utilizar? Bom, ai depende de vários fatores.
      Um fator, por exemplo, é a necessidade do game. O Rigidbody é bem robusto e complexo, ele simula a física realisticamente e tem muitos parâmetros para serem ajustados. É mais comum jogos baseados em física (physic-based) precisarem de física realista e precisa. Te digo que em mais de 6 anos no desenvolvimento de jogos, nunca precisei desenvolver nada que utilizasse rigidbody. Sempre é possível fazer uma implementação mais simples sem utilizá-lo.
      Outro fator é o conhecimento. O rigidbody não é universal e não está presente em todas as engines, o que acaba limitando pro contexto do Unity. É importante ser livre dessas implementações e saber fazer as coisas isoladas. A indústria utiliza várias ferramentas diferentes e muitas não possuem uma engine de física built-in.
      Resumindo, o rigidbody tem seu papel bem definido e deve ser utilizado quando necessário. Ao meu entender e experiência, utilizá-lo nessas pequenas implementações que eu trago para o canal não agrega muito quando se trata daqueles dois objetivos iniciais; evitar bugs e performance.
      Em geral é isso, caso queira continuar a discussão é só falar ai :)
      Abraços!

    • @babadookaccounts8263
      @babadookaccounts8263 3 роки тому +3

      @@ProgramandoGames Muito obrigado por responder meu comentário. A observação que você fez sem dúvida é bem completa para explicar a principal diferença entre os dois.
      Acredito fielmente que utilizar apenas código (simples na maioria das vezes) para desenvolver coisas como física, sem duvida é a melhor solução quando se trata de dependência de componentes da Engine.
      Acredito que seus conteúdos relacionados visam não só apenas mostrar como se cria um game, mas também aprofundar o conhecimento dos desenvolvedores nos fundamentos do desenvolvimento de games: Aprender a simular (via código ou não) a gravidade em um jogo. Assim como, entender a essência dessa simulação, seus padrões e características fundamentais.
      Me lembro de assistir em um canal grigo de programação em C#, o desenvolvimento de uma inteface com um objeto animado seguido de COLISÕES, tudo via código. Parecido com aquela tela de DVD com passa um tempo sem mexer. Vi e pensei: "Eis um Box Collider rsrs". Na Unity, não preciso criar um, basta arrastar o componente se necessário. Mas, se um dia precisasse, teria ao menos uma noção de como deveria ser feito graças a esse video.
      Por isso, gostei muito deste canal. Acredito que usar um ou outro realmente vai depender do projeto. De qualquer forma, seria bom falar dos rigidbody assim como outros componentes da Engine. Apenas afim de mostrar que existem várias formas de se chagar a um determinado resultado e isso cabe ao desenvolvedor decidir qual a melhor para seu projeto.
      Um grande abraço amigo!

  • @phelipepalte
    @phelipepalte 4 роки тому +4

    Cara, excelente tutorial! Nossa, tirou todas minhas dúvidas que não tinha achado em outros tutoriais.

  • @kleberleite3401
    @kleberleite3401 3 роки тому +1

    Melhor script que já vi no UA-cam para esse tipo de movimentação, sem brincadeira, todos os outros ficavam com uma física bem duvidosa... Parabéns pelo conteúdo de qualidade! Ganhou mais um inscrito =D

  • @cristao24horas
    @cristao24horas 3 роки тому +3

    Parabéns pela objetividade e didática!!! Conteúdo muito interessante. Continue postando!!! Parabéns.

  • @fourbricio_ttg5194
    @fourbricio_ttg5194 2 роки тому +1

    Apesar d ter dois anos o video ja ainda muito bom. Primeiro video desse canal q estou vendo mas to indo ver outros, gostei muito, espero q traga muito conteudo tao bom quanto esse.

    • @ProgramandoGames
      @ProgramandoGames  2 роки тому +1

      Obrigado Fourbricio! Estou voltando a produzir vídeos para o canal, próximos meses vou lançar, além de outras novidades! :D Seja bem vindo!

    • @fourbricio_ttg5194
      @fourbricio_ttg5194 2 роки тому

      @@ProgramandoGames ja deixei o sininho ativo kakaka

  • @lord3266
    @lord3266 3 роки тому +3

    Oi, eu não estou conseguindo fazer a movimentação do player ir para onde a câmera aponta

  • @HSBC-k7k
    @HSBC-k7k 3 роки тому +1

    Já cheguei me inscrevendo no canal deixando o like, só pela o motivo de querer explicar tintim por tintim de cada processo, oremos por mais vídeos assim.

    • @ProgramandoGames
      @ProgramandoGames  3 роки тому +1

      Valeu Alexandre 😁

    • @HSBC-k7k
      @HSBC-k7k 3 роки тому

      @@ProgramandoGames não tenho nada a criticar nem reclamar, mais gostaria de tirar uma dúvida, escrevir o código bem direitinho letra por letras ainda revisei todo, mais infelizmente meu quer só anda na diagonal pra trás mesmo eu pressionando quer tecla ele vai na diagonal para trás, conferi a rotação do player os input mais mesmo assim continua, poderia me ajudar?

  • @hipicodev_pt9286
    @hipicodev_pt9286 3 роки тому +1

    Muito bom o vídeo! Espero que continue fazendo vídeo pois a maneira como você explica e tem cuidado nos pormenores é muito rara.. Obrigado pela ajuda :)

    • @ProgramandoGames
      @ProgramandoGames  3 роки тому

      Valeu cara!
      Vou continuar fazendo os tutoriais sim. No momento estou a alguns dias sem postar na frequência que gostaria, pois estou começando um novo projeto que tá me tomando bastante tempo, mas logo sai mais vídeo : )

  • @kubartm
    @kubartm 4 роки тому +1

    Muito bom o vídeo. Você consegue explicar de maneira objetiva e fácil.

  • @brunoborges1997
    @brunoborges1997 3 роки тому +1

    Cara que contúdo incível, estou aprendendo muito com seus vídeos !

  • @Halks
    @Halks 4 роки тому +1

    Didático. Interessante trazer a explicação das bibliotecas e de fato do C# em Unity... +1 Sub!

  • @expansion382
    @expansion382 4 роки тому +1

    melhor video aula que assitir ,muito bem explicado.

  • @programadorraiz_691
    @programadorraiz_691 2 роки тому +1

    Muito obrigado, me ajudou a resolver alguns problemas q pareciam insolucionáveis

  • @2bits295
    @2bits295 3 роки тому +1

    Valeu ajudou pra caramba deveria ter mais reconhecimento

  • @cauabozano742
    @cauabozano742 3 роки тому +1

    nunca vi um tutorial tão top mano PARABENS

  • @dcsgamesstudios
    @dcsgamesstudios 3 роки тому +2

    tutorial muito bem explicado e de qualidade parabéns,e obrigado!

  • @hipnosreturn2
    @hipnosreturn2 4 роки тому +3

    O melhor tutorial, e não é puxão de saco, vou dizer os pontos que esse foi diferente da maiorai que assisti, o uso da matematica e a explicação dela em si ... eu trabalho com programação a um bom tempo, mas jogos é algo que nunca me aproximei, a maioria dos videos que assisti, fora os que apresentaram o uso do Standard Pack para coisas como FPSController, os demais criaram mecanicas um pouco incorretas, ou no minimo que perdiam um pouco a "naturalidade", mas preciso dizer algo, que talvez eu venha a mandar um pull-request em seu repositório, quando NÃO estiver for isGrounded a direção do pulo não deveria poder ser controlada .... Deixei-me explicar melhor, quando pressiono para pular, mas sem estar movimento o personagem é possivel no momento proximo ao maxJumpHeight pressionar o direciona para qualquer direção, parecendo que o personagem esta "voando". Ainda sim como eu disse, de resto é o melhor video, você fala muito bem, tem a compreensão que a média de 10 min é mais que suficiente para coisas especificas e aulas. PARABÉNS!

    • @ProgramandoGames
      @ProgramandoGames  4 роки тому +1

      Muito obrigado pelo feedback hipnisreturn2. Muito boa sua observação sobre o pulo. Essa é uma questão que estava na versão inicial do tutorial, tinha duas variáveis pra controlar o atrito no chão e no ar. Eu removi posteriormente pois acabava deixando a explicação mais longa e não acrescentava muito ao objetivo principal do vídeo. Estou pensando em fazer um outro vídeo pra aprimorar o movimento, adicionando a aceleração, controle no ar, wall jump, double jump etc.
      Abraços!

  • @renatoblack9270
    @renatoblack9270 4 роки тому +2

    Parabéns pelo vídeo muito bem explicado. 👍

  • @joaovictor022
    @joaovictor022 Рік тому

    Muito obrigado pelo tutorial, aprendi bastante hoje.
    Tenha uma boa semana

  • @cauabozano742
    @cauabozano742 3 роки тому +1

    Muuuuuuito bem explicado cara vlw faço o curso da danki mas nem se compara com a sua explicação seloko

  • @fernandobessa8157
    @fernandobessa8157 Рік тому

    Melhor explicação sobre esse assunto que já vi

  • @cidineicomc6102
    @cidineicomc6102 4 роки тому +2

    cara vlw vc me ajudou muito faz tempo que procuro um script de Player

  • @duduzerou9431
    @duduzerou9431 2 роки тому

    Tutorial muito bom, só tive que pausar umas 100 vezes pk vc é rápido d+ kkkkkkkk

  • @mmiigguueeellll
    @mmiigguueeellll 3 роки тому +1

    Excelente tutorial.

  • @andrezito6516
    @andrezito6516 2 роки тому

    Esse cara é muito incrível na programação velho e ainda me ajudo

  • @lancer1games
    @lancer1games 3 роки тому +1

    o meus comando nao ficam verde
    dps da erro no script oque pode ser ?
    escrevo certo mais nao fica verde

  • @memorandouniverso7708
    @memorandouniverso7708 2 роки тому +1

    Cara, sera que vc poderia fazer um video criando uma camera uma pouco diferente ?
    Uma camera que rotacione um objeto, limitando os para cima e para baixo...
    E eu gostaria de fazer um zoom com touch (talvez seja uma ideia para um video separado)
    A minha ideia é
    Um jogo de turno onde em uma arena tem sim dois players, cada um com sua equipe, e elas ficam em lados opostos, uma em cada extremidade da arena.
    Aí eu queria fazer a camera rotacionar mostrando os dois times..

  • @tw_jo
    @tw_jo 6 місяців тому

    Tutorial incrível

  • @clmartinsart198
    @clmartinsart198 2 роки тому +1

    cara, muito bom, parabéns!

  • @mingaugameplays3710
    @mingaugameplays3710 Рік тому

    mano funcionou direitinho muito obrigado vc e foda

  • @marcelosilvadarocha4597
    @marcelosilvadarocha4597 7 місяців тому

    ola, boa tarde, muito bacana seu video, sou Marcelo, estou iniciando uma curso de desenvolvimento de games. esse metodo da camrá pode ser usado tambem para 2D? esse teu script no lugar de 3d substituir por 2D?

  • @LANDOY.
    @LANDOY. 3 роки тому +2

    o meu n tem o player escript : (

  • @maiquelneco8307
    @maiquelneco8307 2 роки тому

    show, top top
    Vc tem algum video Acrescentando a arma no game?

  • @GustavoHenrique-qh3wq
    @GustavoHenrique-qh3wq Рік тому

    Cara parabéns !! estou iniciando na Unity e até agora teu Tutorial foi o melhor que encontrei !
    Minha duvida é como eu poderia substituir este cilindro por um Avatar para poder colocar as animações

  • @netomarquiori4595
    @netomarquiori4595 2 роки тому

    didática top irmão, bom vídeo, esta de parabéns .

  • @gris6795
    @gris6795 3 роки тому +1

    quando se anda na diagonal você fica com mais velocidade, como resolver isso?

  • @ginocarlo7724
    @ginocarlo7724 2 роки тому

    Vídeo sensacional, melhor que muitos vídeos gringos

  • @pumpskin498
    @pumpskin498 2 роки тому +1

    cara como faz para que o visual studio corrija meus codigo, porque quando troquei de pc isso simplesmente sumiu

  • @brunodanielvastarella6305
    @brunodanielvastarella6305 3 роки тому +2

    vc podia fazer o pulo que o player vai pra onde pulou e n ele fica planando e andando no ar é contra a lei da física

    • @ProgramandoGames
      @ProgramandoGames  3 роки тому +1

      É possível também Bruno, isso vai da mecânica que vc pretendo pro seu jogo. No counter-strike por exemplo é possível se movimentar no ar. Caso queira fazer o contrário, basta criar uma flag anulando o movimento durante o pulo, assim impede q se movimente e consequentemente ele vai cair na posição.

  • @ginocarlo7724
    @ginocarlo7724 2 роки тому

    Acabei de aplicar, funcionando perfeitamente

  • @gamesview7704
    @gamesview7704 4 роки тому +3

    Krl mn, só consegui entender com o seu tutorial

  • @QuartoMundo
    @QuartoMundo 2 роки тому

    Muito Bom, E você ensina Muito Bem Otimo tutorial!!

  • @bassanodilon3616
    @bassanodilon3616 2 роки тому

    Que video perfeito mano, parabéns

  • @LANDOY.
    @LANDOY. 3 роки тому +1

    ou como que colocar o script player ??? eu aida n vi o video entero

  • @protofreefire6562
    @protofreefire6562 3 роки тому

    muito top o canal

  • @maikonjipa
    @maikonjipa Рік тому

    1º Sobre a velocidade de ao invés de criar duas variáveis eu posso criar somente uma com o nome "speed" e ao invés de multiplicar por strafe e forward, eu posso multiplicar por esta variável apenas?
    2º Sobre a gravidade a variavel "jumpForce" teria a mesma função da "jumpSpeed"? ou não?

  • @AleFeroiz
    @AleFeroiz 3 роки тому +1

    opa eai beleza?
    no ajuste do teto no eixo Y, ele n poderia dar erro caso eu tivesse em 1 lugar alto ? Tipo no segundo lugar de uma casa!

    • @ProgramandoGames
      @ProgramandoGames  3 роки тому

      Fala AleFeroiz, blz!
      Não sei se entendi exatamente, mas fiz um teste aqui. Coloquei o player em cima de um objeto, depois coloquei outro acima da cabeça. Nesse caso a colisão com o teto continua funcionando corretamente. Era isso? Se não for, fala ai pra gente resolver :D

    • @AleFeroiz
      @AleFeroiz 3 роки тому

      @@ProgramandoGames Era isso msm, eu tbm testei e vi q n tinha errado, eu n entendi foi nada do porquê não deu erro mas dps vo tenta observa de novo :D
      (E faz mais vídeos de tipo lanterna de exemplo, seus tutoriais são incríveis!)

  • @walney2008
    @walney2008 3 роки тому

    show, tem videos de como colocar armas, como no cs-go e aquele menu de compra de armas , bombas, e munições, pegar armas ?

  • @bluesno6162
    @bluesno6162 3 роки тому +1

    valeu man, tava com uma baita de uma duvida sobre como fazer a script d movimento. ksksks me salvou

  • @samuca9921
    @samuca9921 3 роки тому +1

    Insina colocar joystick e outros controles na tela

  • @Davi-vj9cb
    @Davi-vj9cb 2 роки тому

    Gostei muito, vc poderia fazer OUTRO vídeo mais demorado para eu poder compreende melhor, aí vc explica de uma forma diferente, como se vc estivesse falando com uma pessoa q n sabe nada de programação

  • @kadu04t
    @kadu04t 2 роки тому

    Quando eu olho pra cima, vai pra baixo e vice-versa, como que conserta?

  • @QuartoMundo
    @QuartoMundo 2 роки тому

    voce sabe resolver um bug, Quando eu desço a escada meu personagem ele fica avoando na parede

  • @H44des
    @H44des 3 роки тому

    o meu esta andando mas na direção global como faço pra mudar para local?

  • @polyshooter3d
    @polyshooter3d 3 роки тому +1

    e ai amigo tudo bom? gostaria de ti perguntar se vc irá criar uma série de FPS online com photon no seu canal ? abraços!

    • @ProgramandoGames
      @ProgramandoGames  3 роки тому

      Fala Kakitus Gamer (curti o nome kkkk), tudo certo!
      Estou trabalhando numa série de FPS pro canal, deve sair por volta de março/abril do ano que vem, tá ficando bem legal! :D
      Sobre a parte online, ainda não tenho planos, mas com certeza é uma excelente ideia pro futuro!
      Muito obrigado pela pergunta.
      Abração!

    • @polyshooter3d
      @polyshooter3d 3 роки тому +1

      @@ProgramandoGames top cara ! sempre curti fps, mas vc vai modelar no blender os assets personagens ou pegar tudo pronto já?

    • @ProgramandoGames
      @ProgramandoGames  3 роки тому

      ​@@polyshooter3d Já estou modelando no blender : )

    • @polyshooter3d
      @polyshooter3d 3 роки тому +1

      @@ProgramandoGames ai sim mano top vai ficar! eu gosto de criar do zero também não gosto de pegar nada pronto sabe.

  • @pjoga00
    @pjoga00 3 роки тому

    Como ajusta a distancia do chao com o pé do player??

  • @glossantoss
    @glossantoss 2 роки тому

    É normal a câmera mover mais do que devia ? a minha fica arrastando um pouco sempre que mexo, e se mexo muito arrasta ainda mais, tirando isso ótimo tutorial

  • @idontknow8071
    @idontknow8071 3 роки тому

    como que faz se for para voltar para um menu e a seta ficar visivel

  • @3mdegames185
    @3mdegames185 2 роки тому

    o jogo meu ficou estranho pq ele so vai em um angulo, se eu tiver olhando para a esquerda e apertar para frente ele vai para um lado aleatorio, podem arrumar isso pls?

  • @edps
    @edps 2 роки тому +1

    pq parou? os tutoriais são muito bons

    • @ProgramandoGames
      @ProgramandoGames  2 роки тому +2

      Fala Édipo, eu dei uma parada por causa de acontecimentos pessoais, tava praticamente impossível produzir conteúdo pro canal. Agora que tudo se acertou, próximos meses estarei full time dedicado ao canal o/

    • @edps
      @edps 2 роки тому

      @@ProgramandoGames muito bom

  • @fernandoschlichting
    @fernandoschlichting 3 роки тому

    O meu unity não está considerando o private da camera

  • @Lucas.2309
    @Lucas.2309 2 роки тому

    A mecânica de pulo que utilizo é simplesmente um add force no eixo y do vector3 do objeto
    Poderia me explicar pq não ultilizar esse metodo e pq oque você fez no vídeo é melhor?

  • @thg1nrediar
    @thg1nrediar 2 роки тому

    Top

  • @SrbugPocket
    @SrbugPocket Місяць тому

    imagina ele explica depois de todo esse tempo de como fazer uma animação da camera para andar e correr

  • @Ra1nnyUwU
    @Ra1nnyUwU 4 місяці тому

    Sei que o vídeo é antigo e acompanhei o tutorial e deu certinho!
    Porém gostaria de tirar uma dúvida, ao eu chegar com o meu personagem próximo de alguma porta, por exemplo, a câmera simplesmente atravessa e eu consigo ver do outro lado. Sabe como eu posso resolver?
    Edit: Consegui resolver, galera! É bem simples, só ir no elemento ''Main Camera'' e ir até a opção ''Clipping Planes'' e colocar a opção 0.1. :)

  • @SebastianSeth
    @SebastianSeth 3 роки тому +1

    quando eu termino o codigo do pulo e vo testar o personagem não anda nem pula, fica parado
    codigo é esse aqui:
    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    public class Movimento : MonoBehaviour
    {
    CharacterController controller;
    Vector3 strafe;
    Vector3 forward;
    Vector3 vertical;
    float forwardSpeed = 5f;
    float strafeSpeed = 5f;
    float gravity;
    float jumpSpeed;
    float maxJumpHeight = 2f;
    float timeToMaxHeight;
    // Start is called before the first frame update
    void Start()
    {
    controller = GetComponent();
    gravity = (-2 * maxJumpHeight) / (timeToMaxHeight * timeToMaxHeight);
    jumpSpeed = (2 * maxJumpHeight) / timeToMaxHeight;
    }
    // Update is called once per frame
    void Update()
    {
    float forwardInput = Input.GetAxisRaw("Vertical");
    float strafeInput = Input.GetAxisRaw("Horizontal");
    forward = forwardInput * forwardSpeed * transform.forward;
    strafe = strafeInput * strafeSpeed * transform.right;
    vertical += gravity * Time.deltaTime * Vector3.up;
    if(controller.isGrounded)
    {
    vertical = Vector3.down;
    }
    if(Input.GetKeyDown(KeyCode.Space) && controller.isGrounded)
    {
    vertical = jumpSpeed * Vector3.up;
    }
    Vector3 finalVelocity = strafe + forward + vertical;
    controller.Move(finalVelocity * Time.deltaTime);
    }
    }
    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    public class Movimento : MonoBehaviour
    {
    CharacterController controller;
    Vector3 strafe;
    Vector3 forward;
    Vector3 vertical;
    float forwardSpeed = 5f;
    float strafeSpeed = 5f;
    float gravity;
    float jumpSpeed;
    float maxJumpHeight = 2f;
    float timeToMaxHeight;
    // Start is called before the first frame update
    void Start()
    {
    controller = GetComponent();
    gravity = (-2 * maxJumpHeight) / (timeToMaxHeight * timeToMaxHeight);
    jumpSpeed = (2 * maxJumpHeight) / timeToMaxHeight;
    }
    // Update is called once per frame
    void Update()
    {
    float forwardInput = Input.GetAxisRaw("Vertical");
    float strafeInput = Input.GetAxisRaw("Horizontal");
    forward = forwardInput * forwardSpeed * transform.forward;
    strafe = strafeInput * strafeSpeed * transform.right;
    vertical += gravity * Time.deltaTime * Vector3.up;
    if(controller.isGrounded)
    {
    vertical = Vector3.down;
    }
    if(Input.GetKeyDown(KeyCode.Space) && controller.isGrounded)
    {
    vertical = jumpSpeed * Vector3.up;
    }
    Vector3 finalVelocity = strafe + forward + vertical;
    controller.Move(finalVelocity * Time.deltaTime);
    }
    }

  • @idontknow8071
    @idontknow8071 3 роки тому +1

    ajudou demais

  • @Carlos-sw9og
    @Carlos-sw9og 3 роки тому +2

    Mano, não sei porque mais quando eu vou testar, da esse erro :(. "All compiler errors have to be fixed before you can enter playmode!"

    • @Carlos-sw9og
      @Carlos-sw9og 3 роки тому

      Isso aconteceu quando eu fui testar " 3:18"

    • @luizguilherme1353
      @luizguilherme1353 3 роки тому

      mano, em baixo ali aonde aparece os erros, sempre tem os motivos desse erro, você seguindo o que esta falando lá, já organiza

  • @zMembro
    @zMembro 3 роки тому +4

    Vc tem um QI muito elevado

  • @bluesno6162
    @bluesno6162 3 роки тому

    man, só 1 pergunta... esse SF aí fica dando erro.... ( tlvz eu ñ tenha entendido direito, vou reassistir )

  • @sanssabao199
    @sanssabao199 2 роки тому

    oque vc colocou na cabeça do player?
    eu n consegui ouvir direito

  • @Sas_br
    @Sas_br 2 місяці тому

    Video mt bom, mas nn sei pq o meu nn deu certo, ele nn anda pra onde ta olhando, talvez seja pq eu fiz a movimentação de outro jeito (com rigidbody), se for por isso ensina a fazer sem character controller

  • @TheLordUmaga
    @TheLordUmaga 4 роки тому +1

    Por algum motivo, o character controller só está reconhecendo o isGrounded como true se eu estou em movimento, se meu player fica parado ele considera false. Sabe me informar se isso aconteceu com você também e como contornou isso? Parabéns pelos vídeos, são muito bons!

    • @ProgramandoGames
      @ProgramandoGames  4 роки тому +1

      Valeu Mario!
      Isso aconteceu comigo sim, vou explicar por que acontece e como resolvi.
      Usando o caracter controller, a colisão só ocorre quando o collider do player é empurrado contra outro collider. É comum nessas implementações de movimento, que a velocidade vertical do player seja zerada quando toca o chão. O problema é que se você fizer usando o character controller, o player vai ficar como se estivesse "flutuando" no chão, pois não há o contato entre o collider do player e do chão, então o isGrounded nunca será true. Pra resolver isso, é necessário setar a velocidade vertical sempre um valor diferente de zero mesmo que ele esteja no chão, pra ele empurrar o player para baixo e encostar no collider. Ali onde eu faço "if ( isGrounded )" 5:00, eu seto a velocidade vertical pra Vector.down (0, -1).
      Tenta fazer duas coisas:
      1 - alterar o valor do skinWitdh, isso pode influenciar, pois quanto menor, mais força vc tem que fazer no player pro collider encostar no chão e tornar o "isGrounded = true".
      2 - se o primeiro não resolver, vai aumentando um pouco o valor da velocidade vertical no if isGrounded (por exemplo, 1.2f * Vector.down, 1.3f * Vector.down, 1.4f * Vector.down etc).
      Caso nenhuma das formas funcionar, me avise que dou uma explorada pra saber se tem algum outro problema que não previ.

  • @RussyanBR
    @RussyanBR 3 роки тому

    oi amigo to começando agora com isso de criação no unity mas fica dando erro no vector3 e ele nao muda de cor igual o seu isso é um script separado ou o q?

  • @Ze-tg8li
    @Ze-tg8li 4 роки тому +1

    Como eu faria para por uma função de correr pelo shift

    • @ProgramandoGames
      @ProgramandoGames  4 роки тому +4

      Fala zé!
      A primeira coisa que vc precisa fazer é checar se o player está se movendo, obviamente, pq vc só corre se já está em movimento hehehe. Coloca uma condição que verifica que se o valor absoluto de strafeInput ou forwardInput são maiores que 0. Seria algo assim:
      if( Mathf.Abs( strafeInput ) >= 0 || Mathf.Abs( forwardInput ) >= 0)
      isMoving = true;
      else
      isMoving = false;
      Garantido que o player está se movendo, agora vc checa se o player está pressionando shift. Se estiver, vc muda o valor das speeds pra um valor maior. Você pode definir algo como walkingSpeed e runningSpeed.
      if( isMoving && Input.GetKey(KeyCode.LeftShift))
      speed = runningSpeed;
      else
      speed = walkingSpeed;
      Qualquer coisa só falar!

    • @emanuelmoraes4460
      @emanuelmoraes4460 3 роки тому +1

      @@ProgramandoGames Você Fez Algum Vídeo sobre isso? Se sim, me manda o link
      Obs: Obrigado, seu vídeo é bem explicativo

    • @Sem_Alma
      @Sem_Alma 3 роки тому +2

      @@ProgramandoGames Cara tu é prestativo pra caralho vai toma no cu

    • @ProgramandoGames
      @ProgramandoGames  3 роки тому +1

      @@Sem_Alma kkkkkkk

  • @MarcosAntonio-iu7lb
    @MarcosAntonio-iu7lb 3 роки тому

    cara mal entrai novideo ele ja ta progamando. porfavor voce pode mostrar em passo a passo?

  • @MCNokinho-tp7cc
    @MCNokinho-tp7cc День тому

    CARA COMO VOCE APRENDEU A PROGRAMAR ASSIM????

  • @sougzc
    @sougzc 3 роки тому

    cara eu tenho uma duvida que eu to começando no unity agora e eu não sei literalmente nada e quis pra começar leve tentar fazer um feijão movimentar mas o maior problema é que:
    1 - o feijão não se movimenta
    2 - o solo não é solido nem o personagem então o personagem atravessa o chão
    3 - mesmo com o objeto apropriado chamado "terrain" (que eu acredito q ja venha com colisão oncluida) ainda assim continua atravessando
    se vc tiver algum tutorial para esse basico e puder me passar pq eu realmente não consegui entender nada de outros tutoriais.
    edit: eu percebi que ao inves de cair ele esta subindo.

  • @joaovictormaximo5185
    @joaovictormaximo5185 3 роки тому +1

    Alguem me ajuda pfv, eu escrevo o script tudo certinho, mas na hora de testar, não acontece absolutamente nada, alguem sabe o que ta havendo? Nao tem nenhum erro nadaa...

    • @ProgramandoGames
      @ProgramandoGames  3 роки тому

      Oi João tudo certo? Tenta baixar o projeto do github (link na descrição), abre ele no unity pelo hub e vê se funciona. Qualquer coisa me avisa aqui 😉

  • @samuca9921
    @samuca9921 3 роки тому

    Vc conseque fazer os controle pra mobile

  • @Carlos-sw9og
    @Carlos-sw9og 3 роки тому

    "All compiler errors have to be fixed before you can enter playmode!"
    Alguém sabe resolver? Porque eu coloquei os codigos scripts certinho mais quando eu vou testar da esse erro, caso alguém saiba oque ocasionou e como resolver eu agradeceria e muito!

  • @d3soculpado225
    @d3soculpado225 3 роки тому +1

    mn aonde fica o script do player n achei o componente

    • @ProgramandoGames
      @ProgramandoGames  3 роки тому +1

      Olá Zikz, o componente fica no gameobject player.

  • @ycharlesrd9762
    @ycharlesrd9762 3 роки тому

    Opa, depois como faço pra mudar o personagem ? Já tenho os scripts prontos agora quero fazer um personagem com animações e tals... alguma dica ?

  • @Kaaarrr
    @Kaaarrr 3 роки тому

    Opa uma.pergunta, ficar usando o método update não pesa na aplicação? Afinal ela atualiza a cada frame e não a cada ação

  • @monicadiniz5896
    @monicadiniz5896 2 роки тому +1

    qual app a gente usa pra fazer esse jogo?

    • @ProgramandoGames
      @ProgramandoGames  2 роки тому

      Olá monica, essa ferramenta se chama Unity :) É uma engine pra desenvolver jogos.

  • @nahtan5692
    @nahtan5692 3 роки тому

    Seu tutorial foi perfeito, mas poderia me ajudar em uma coisa? eu fiz tudo certinho do script da camera, porém quando eu vou dar play no jogo automaticamente o script da camera some da "Main Camera" e n fica em primeira pessoa, eu ja fiz varias vezes e todas o script da camera sempre some e volta pra pasta scripts

  • @cezarleigos2633
    @cezarleigos2633 3 роки тому

    Tutorial muito bom, so que eu não consigo fazer a rotação do "Player" se mover junto com a rotação da camera

  • @Tinzao420
    @Tinzao420 5 місяців тому

    o meu player não salta

  • @lucasgamemaster3962
    @lucasgamemaster3962 2 роки тому

    meu pulo e gravidade n funciona e n deu nenhum erro alguem me ajuda

  • @Samuel-jp2yc
    @Samuel-jp2yc 2 роки тому

    Gostei muito do video mas eu tentei colocar para que o personagem corra ao apertar o shift, ele consegue pular enquanto corre para traz e pros lados, mas nao consegue pular quando esta correndo pra frente e eu nao sei pq, eu só adicionei uma variavel run, e coloquei ela na soma que determina o movimento (forward e strafe), quando aperto shift ele aumenta o valor da variavel e quando solta ele diminui pro normal. Se puder me ajudar eu agradeceria muito.

  • @johnmaxwell4026
    @johnmaxwell4026 3 роки тому +1

    Ai mn quando eu aperto a tecla "a" e "d" ele vai pra frente e para trás em vez de ir pra esquerda e direita

    • @ProgramandoGames
      @ProgramandoGames  3 роки тому +1

      Fala John,
      Veja na hora de pegar o input Horizontal e Vertical se não está invertido. Ou mesmo na hora de multiplicar os inputs, se você não trocou os eixos. Qualquer coisa me fala ai :)

  • @comevodepetista345
    @comevodepetista345 3 роки тому

    Cara, me ajuda!
    eu tentei fazer meu proprio script so que saiu errado, o W e S adiconavam e retiravam do valor Z
    e o D e A adicionavam no valo x.
    depois copiei seu script e continuou a msm coisa.
    o q eu faço?

  • @Caloteira1665
    @Caloteira1665 2 роки тому

    Por favor me explica esses negocios.