MOVIMENTAÇÃO E ANIMAÇÃO EM TOP DOWN NA UNITY COM C# | CRIE SEUS JOGOS
Vložit
- čas přidán 25. 08. 2019
- Participe do Workshop Criando Jogos do Zero Gratuitamente e Aprenda a Criar um Jogo:
csjacademy.com.br/lp-workshop... Material da aula:
www.crieseusjogos.com.br/tuto...
--
Aprenda a desenvolver jogos definitivamente:
bit.ly/AprendaDesenvolverJogos
--
Curso sobre Design de Jogos:
bit.ly/AprendaDesignDeJogos2D
--
Ebook sobre os passos para se desenvolver jogos de sucesso:
csj.crieseusjogos.com.br/ebook...
--
Siga-nos:
Instagram - / crieseusjogos
Facebook - / crieseusjogos
melhor pessoa para ensinar não existe, cara eu agradeço eternamente, você compartilhar seu conhecimento com agente, eu fico muito feliz por você fazer isso
Sou técnico em programação, fazia muito tempo que eu não estudava sobre, voltei graças a você, muito obrigado pelos vídeos!
Mano fiz umas 4 vezes mas consegui, muito obrigado, mais um inscrito.
pra variar, mais um ótimo vídeo do canal!!!!!!!!
muito top parceiro ajudou muito merece os Likes
Olá Wenes! Teria como fazer uma aula de criação de personagem em 3D, desde FPS À RPG? Agradecimentos desde já! Suas aulas são incríveis e estão me ajudando muito!
Exelente vídeo!
Muito bom o método, funcionou, você só poderia explicar o código para novatos como eu entender melhor e não somente copiar...
Tutorial perfeito
Obrigado ajudou muito
Muito bom! Melhor tutorial de Unity q já vi! Você explica super bem e a forma como você fez (a programação, o animator) é a melhor, super simples e super eficaz! Eu só achei UM problema, eu gostaria que o personagem não virasse para baixo sempre q ele para, pro meu jogo seria interessante ele continuar olhando para o lado para o qual ele estava andando.
Já CONSEGUI arrumar o problema! Criei uma blend tree com 4 animações cada uma olhando para cada direção e relacionei elas aos (novos) parâmetros OlharX e OlharY e adicionei as seguintes linhas no void update do script:
if (movimento.x > 0) { anim.SetFloat("OlharY", 0); anim.SetFloat("OlharX", 1); }
if (movimento.x < 0) { anim.SetFloat("OlharY", 0); anim.SetFloat("OlharX", -1); }
if (movimento.y > 0) { anim.SetFloat("OlharX", 0); anim.SetFloat("OlharY", 1); }
if (movimento.y < 0) { anim.SetFloat("OlharX", 0); anim.SetFloat("OlharY", -1); }
@@rafahoyos4247 Rafa, tudo bem? Estou tendo dificuldades de fazer isso. Poderia me dar um help> Por favor. :)
@@rafahoyos4247 como vc fez as transições com os outros blend tree?
vídeo top mesmo
Muito bom o vídeo. Você usa alguma extensão para a unity no vs code?
voce podia fazer um video mostrando com fazer uma parte interna de casa e sistema de inventarios
ajudou muito cara
Como eu faria esse mesmo esquema só que com um inimigo para se locomover em 4 direções seguindo o player?
Olá sei que já faz 2 anos, mas eu tinha feito tudo certo e deu errado, mas depois fui ver a aba "Animations" e não tinha salvado as coisas que fiz, resolvi e deu certo quem tiver com problema vê ai
ola, gostaria de saber como fazer a velocidade dos manches de navios, conforme coloca em uma posicao fica sempre naquela velocidade podendo diminuir como no jogo world of warship (full,hall,stop,back)
Vídeo top
Cara, alguma informação sobre como fazer o um personagem sem animação, até mesmo um ponto, seguir uma linha reta saindo de onde estiver e onde clicar?
22:37 Não consigo arrastar o script no Add component da dando esse erro:
Can't add script component 'player' because the script dass cannot be found. Make sure that there are no compile errors and that the file name and class name match
baixei os sprites do druid do Diablo2, o bixo tem sprites para 16 focker direções.
Deu um trabalho do cão fazer ele andar pra todo lado, mas funcionou, é lindo o que um framework pode fazer.
Em diablo, quando para de andar, o player continua olhando para a direção que parou, porém com a animação idle, e esse vai ser meu dever de casa hehehehe
Eai mano, conseguiu fazer ele parar e manter ele olhando pra direção que ele tava? eu to com a mesma dificuldade.
@@NothingOfSpecial Nao tentei muito, pois era só um teste. Mas se conseguir me avise.
Vai ser muito util para o jogo que estou começando, pena que tive um problema com os sprites em PNG que fiz no piskel, mesmo com os parametros que vc indicou, o sprite (que fiz em 32x32)
fica meio borrado.
Teria alguém video que fale sobre a altura do collider pois estou com o projeto mas caso eu fique precionando o personagem contra a parede ele atravessa para forra
Quando Eu boto para ir pra cima já em jogo a animação de run up não vai e no lugar dela sai a do run down, como arrumo isso
Boa Noite!, Como posso travar o personagem em 4 direções? Sem diagonais?
quando sai a próxima aula?
Por favor mn me responde, já acompanhei o vídeo todo e já casei no youtube todo mas não conseguir achar o porque quando eu coloco Animator no assembly csharp unity fica vermelho e não altera nada dentro da Unity... Me ajuda alguem pfr
Vou deixar um link pra você baixar o link
boa tarde, mto bom o video, so nao encontrei o link para as sprites
na hora de mudar o fps pra 24 o mue nao da pois nao tem a aba sample
como eu poderia abaixar o meu frame pra q ele possa correr mais devagar
o foda foi ter literalmente feito uma copia doque se fez e nao ter funcionado kkkkj
a vida é assim mesmo
Você deve ter deixado alguma coisa passar
@@larisola revisei, nao tinha nada faltando, meu sistema de colisao tb tava bem ruisinho msm sendo o padrao ->-
@@wesleydogsemin3647 estranho, usa o game maker então pra fazer o jogo (acho que é mais difícil acontecer isso ai )
@@larisola yep so que no gamne maker o problema é diferente, a minha colisao so funciona com 1 objeto e isso me fode pra poha, eu so desisti, tenha uma bao dia ^^
Eu fiz os código ecstamente como vc mas toda hora ele fica dizendo q ha um problema com a variavel anim
Quando aperto duas teclas juntas pra ele andar na diagonal, ele vai um pouco mais rapido...alguem sabe como resolver?
opa man descobriu como ajustar? estou com a mesma duvida
Opa que vídeo maravilhoso! Se ainda tiver alguém aí, meu boneco "voa" pela tela, mas ele não está animado, é apenas como se fosse uma imagem estável, alguém saberia me ajudar?
Você é o professor de unity na Danki code?
Eu baixei o seu eboock no selular mas meu sel nao abriu
Vou baicar no pc pra ver se ele abre por lá
Tem como colocar uma câmera fixa no personagem tipo que seja de longe, só de uma posição, mas que vá seguindo o personagem?
Sim voce clica em Main camera e aumenta ela só dai pra deixar no personagem é so puxar o main camera para dentro do player
Ola mano sabe por que o meu esta dando
O nome velocidade nao existe no contesto atual
Ensina movimentação 3d
o meu nao tem esse SetFloat
Tem como aumentar o zoom quando for programar e usar a lupa quando for mostrar algumas opções especificas? É que eu sou baixa visão e não enxergo bem.
Valeu pelo tutorial.
Se tiver usando windows10, a qualquer momento você pressiona Win + +, ou seja, bandeirinha e a tecla do sinal de soma.
Aparece a Lupa com diversas opçoes, para desativar rapidamente, Win + -.
É muito útil para fazer vídeos aula também.
Me pareceu interessante justamente para colocar movimentação diagonal, ja que é só ter a animação e adicionar em uma boa posição no brend tree
Amigo, vc conseguiu?
Meu boneco "voa" pela tela, mas ele não está animado, é apenas como se fosse uma imagem estável, saberia me ajudar?
@@gordaogameplays2000 Pela escrita fica difícil, eu cometi uns erros ao seguir o tutorial(foi nas condições do blend tree), mas ver se no blend tree tá tudo certo(aparecendo o ponto vermelho e os azuis) as condições e o script tá tudo certinho
@@gordaogameplays2000 Mas cada pessoa faz de um jeito, o do tutorial é mais confuso
Vc tem algum vídeo que fica mais fácil?
não estou conseguindo acesso ao arquivo que deixou para baixar
eae men deu tudo de boa e tal sou iniciante e deu pra pegar boas dicas ai mas no meu ele demora tipo um segundo
dai começa a animacao dele andando
desliga o has time da animaçao
COMO POSSO CRIAR SPRITS ?
Quando vou add o script como componente no player não funciona...alguem pode me dar uma dica?
para colocar o script em qualquer item da cena, basta arrastar o script até o item na hierarquia(fica na esquerda)
eu fiz mas a posição do personagem não atualiza
Não tô conseguindo por para movimentar no automático aleatoriamente
a parte do samples no animation nao ta aparecendo, mudaram de lugar?
No menu animation tem uma engrenagem no lado superior direito, você ativa os samples lá
Quando eu devo usar essa forma? Tipo, se fosse um jogo 3d,eu poderia usar assim? Todos os outros videos mostram apenas os make transition e parametres, nunca isso
Essa forma é somente pra 2D. Pra 3D é um pouco mais complexo czcams.com/video/zYJe3YFwsng/video.html.
fiz um jogo no unity de uma bolinha que tinha que passar de um lado pro outro mas se cair ele perde , so que nao consigo fazer o jogo reiniciar vc sabe como ?
É só usar o código SceneManagement.SceneManager.LoadScene(0);
Antes de tudo, meus parabéns pelo tutorial! É bem explicativo e facil de entender
Agora minha questão, aos 22:52 do vídeo você pede pra arrastar o component animation pro script, mas aquelas lacunas anim e speed não aparecem pra mim. Como resolvo isso?
comigo a msm coisa
Tenho o mesmo problema, alguém já achou uma solução?
@@joaogiuriolo9850 tenta ver se a variável esta pública, porque se não estiver ela não irá aparecer no inspector, e se ela estiver e ainda sim não aparecer tente escrever [SerializeField] e se mesmo assim não funcionar tenta atualizar o unity pra alguma outra versão lts
Como ver se a variável esta pública:
antes de declarar uma variável no c# deve-se indicar o modificador de acesso e para isso você apenas precisa digitar o nome do modificador antes do tipo da variável.
Exemplo:
//Essa é uma variável pública
public float speed;
//Essa é uma variável privada
private float speed;
//Essa é uma variável protegida
protected float speed;
e a lista de modificadores de acesso só aumenta
se sua variável ja estiver declarada como pública e ainda não aparece no inspector tente:
[SerializeField] public TipoDaVariavel "nomeDaVariavel"
[SerializeField] é um comando do unity para apresentar a variável desejada no inspector mesmo que ela seja privada
Espero ter ajudado :)
@@Migalhaz caraca, que explicação ótima! Eu acabei por usar outro código no C# ( pra usar outras animação idle tbm) e depois de umas tentativas deu certo, infelizmente não sei o porquê.
Eu sei que as variáveis estavam públicas, pelo menos eu escrevi:
public Animator anim;
Mas enfim, essa parte do [SerializeFild] vai ser bem útil para projetos futuros haha. Provavelmente vou ter esses problemas denovo no próximo e aí vou entender melhor oque se passa. Muito obrigado pela paciência pra explicar 😁
@@joaogiuriolo9850 tamo junto :)
meu script infelizmente esta dando este erro:
error CS1061: 'string' does not contain a definition for 'movement' and no accessible extension method 'movement' accepting a first argument of type 'string' could be found (are you missing a using directive or an assembly reference?)
em portugues :
erro CS1061: 'string' não contém uma definição para 'movimento' e nenhum método de extensão acessível 'movimento' aceitando um primeiro argumento do tipo 'string' pôde ser encontrado (está faltando uma diretiva using ou uma referência de assembly?)
oque pode ser?
Vê a linha de novo, você pode ter errado a pontuação
"vou deixar o link do link na descrição"
Cara posso fazer uma pergunta. Eu vi muito jogo legal em camará e modo isométrico e assim eu ainda não sei fazer 3D ainda e assim tem como eu conseguir fazer um jogo isométrico estilo Hyper light drifter? ou Albion em pixel arte?
Se alguém puder me ajudar?
Tem sim mano, inclusive o próprio Albion foi feito com Unity.
mano o meu não aparece o "Sample" no animation oque eu faço ???
tem um engrenagem la perto e so clicar nela e vai aparecer um treco com sample escrito no final e so clicar nele
Tem como fazer um vídeo agora ele se mexendo nas 8 posições, mas invés de usar os teclados, mas usar o touch do celular android por exemplo? Clicando na tela ela vai ate o lugar
Ela já anda para 8 direções, mas só tem animação pra 4 direções. Você pode adicionar mais animações para as diagonais.
Nesse exemplo do link, não tem sprites para diagonais.
Produre sprites de diablo 2 e faça os testes, tem folha de sprites que possuem animações para 16 lados.
@@TheMaceloLaian obrigado amigo vou ver isso...mas você poderia adicionar ele se movimentar por touch para celular android?
@@SouzoHenrique Ainda não, sou iniciante também hehehe
queria transformar isso em touch na tela
Precise de uma ajuda, o meu esta dando um unico error que é:"no overload for method SetGloat gives 1 argument" e tambem quando EU adiciono o script nao ta opcao de coloca animacao
Vê se você não escreveu SetGloat em vez de SetFloat
@@UmRandom Não, tá tudo certo, tá dizendo que a ação teve 1 argumento
Tu escreveu setGloat é serFloat
olá man poderia me ajudar?, não estou conseguindo atualizar a posição do personagem quando ele vira... no vídeo explico na pratica a dificuldade att Black.
czcams.com/video/rcUcUd0u3LM/video.html
Na hora de pôr o script da erro
Como seria a implementação de um pulo na visao top down?
ai voce teria que alterar o eixo Z
eu fiz exatamante igual ao seu e o personagem não animou
Coloco a script no peresonagem? E colocou no animator tenta ver cade ponto do video e faça igual
o meu não aparece pra controlar o frame
O link do Link
Eu fiz a mesma coisa no meu projeto e usei visual scripting para codar as animações (usei a unity 2021), e na primeira vez funcionou como deveria (tirando as diagonais) mas depois que eu fechei e reabri o projeto as animações não estão mais funcionando direito (a movimentação funciona mas as animações não rodam, só a animação superior funciona mas quando eu ando para a diagonal superior direita)
Consegui resolver em partes o problema kkkk, acontece que eu não tinha dado valor ao float "speed" quando codei as animações, mas ainda sim o sprite some quando ele anda para as diagonais kkkkk gostaria de saber o porque
A parte do animator achei mais complicado por causa do blend tree, maquei speed errado nas trasições para ele e great inves de less
cara meu Unity simplesmente não reconhece o = do código skjdkjsjskd
Como baixa a unity?
no site ;-;
Os jogos que da UNITY 😢até agora não recebi só perdi muitooo tempo
oi alguém poderia me ajudar? meu personagem estão virando para as direções mais acaba que ele está fixo no chão como faço para ressolver?
A sua speed provavelmente está em 0
Qual programa vc usou para editar o script c# ? , notepad ++ funciona para editar tambem ?
Cara usa o Visual Studio Code ou o Visual Studio.
@@renan87659 Visual Studio o Unity já instala automaticamente se configurar.
Fiz tudo certinho, mas quando dou play o personagem se movimenta sem animação.
Aqui o personagem faz a Animação e só olha pros lados e não se move
velho eu sou um lixo, primeiro na hora de criar os parametros n tava criando, eu n to entendendo nada de nada
não da para fazer colisão assim
1:10 "Link do Link"
6:31 não consigo achar esse samples para mudar o fps minha versão e 2019.3.1f1
na aba de animation, tem 3 pontinhos debaixo do "X" de fechar janela, clica nesses 3 pontinhos em "Show Sample Rate"
@@LilPie vlw cara muito obg
Nao funcionou.
alguém querendo criar um MMORPG 2D ONLINE, sinceramente tenho experiencia e material que eu mesmo criei, porém estou precisando de mais 1 pessoa, pois não quero criar um game sozinho! responde esse comentário caso tenha interesse.
n consegui nem jogar o script no player da hierarquia
diz que o nome da public class e o nome do arquivo tão diferentes, não estão
@@animaplay5627 não pode ter espaço nem assentos nem ponto
Quando arrasto o script para transformar em componente não aparece a opção speed já tentei varias vezes e não aparece me ajudar 🙏🙏🙏
Colocou public speed?
Sim Já deu certo era um erro msm obrigado 🙏👏👏
@@rafaelstanlley6653 que bom :D
PARA QUEM QUISER O SCRIPT USADO NO VIDEO
TA AQUI:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Player : MonoBehaviour
{
public Animator anim;
public float speed;
// Update is called once per frame
void Update()
{
Vector3 movement = new Vector3(Input.GetAxis("Horizontal"), Input.GetAxis("Vertical"), 0f);
anim.SetFloat("Horizontal", movement.x);
anim.SetFloat("Vertical", movement.y);
anim.SetFloat("Speed", movement.magnitude);
transform.position = transform.position + movement * speed * Time.deltaTime;
}
}
tu mandou selecionar e n disse como
No meu ele está fazendo moonwalk, alguém tem a solução?
meu também haha
se eu conseguir mudar aviso
@@jvgamers636 O meu era porque o parametro Vertical estava com espaço no final ai foi so renomear.
Ai tu ve se se todos os nomes estao iguais tlgd.
@@sadskull1672 valeu mano, era isso mesmo kkkkkk
tutorial muito bom eu fiz tudo igual o seu quando eu cliquei em play quando eu ia pra direita meu personagem fazia moonwalk eu realmente totalmente queria isso! isso não é hate mas tipo eu fiz igual o seu e minhas animações estão todas bagunçadas eu não sei resolver...
aconteceu o mesmo comigo, vi no bleed tree e inverte o right e o left
Amigo, meu script não detecta o animator controller, no meu visual Studio ele não fica valido igual o float, simplesmente não serve pra nada, ai não consigo fazer funcionar meu script no player, me ajude por favor, estou lendo em fóruns em inglês mas não estou encontrando o problema.
Meu visual Studio esta todo atualizado.
{
public animator anim;
public float speed;
// Update is called once per frame
void Update()
{
Vector3 movement = new Vector3(Input.GetAxis("Horizontal"), Input.GetAxis("Vertical"), 0f);
anim.SetFloat("Horizontal", movement.x);
anim.SetFloat("Vertical", movement.y);
anim.SetFloat("Speed", movement.magnitude);
transform.position = transform.position + movement * speed * Time.deltaTime;
}
}
aquele animator na no começo do código não tem validade nenhuma, e agora?
o que há de errado com meu VS?
@@kitabita3904 cara tenha cuidado com esses erros bobos, ali no public animator e obrigatorio o (a) maiusculo (A), ja que isso nao foi vc que criou é definido pela propria unity entao da erro.
tem como fazer o personagem nao fazer drift kkkk
galera descobri como é so vc colocar Input.GetAxisRaw invés de Input.GetAxis
@@maninhospider9531 E aew Maninho, suave? Eu estou tentando fazer isso, mas continha o Drift, mesmo com o Raw. =/
@@maninhospider9531 E aew Maninho, suave? Eu estou tentando fazer isso, mas continha o Drift, mesmo com o Raw. =/
@@otaviovicariomuraca7645 vc colocou nos dois eixos?
@@maninhospider9531 Sim.
Vector3 movement = new Vector3(Input.GetAxisRaw("Horizontal"), Input.GetAxisRaw("Vertical"), 0f);
A desgraça do visual code noa funciona nessa inferno de unity