COMO CRIAR UM JOGO DE TERROR NA UNITY | PLAYER - #02
ฝัง
- เผยแพร่เมื่อ 13 ต.ค. 2024
- Salve galera, tudo bem com vocês? Hoje nós vamos continuar a série Criando um jogo de TERROR completo passo-a-passo pela Engine Unity, focando na criação do Player em terceira pessoa. Espero que gostem!!!
Aprenda mais sobre desenvolvimento de Jogos:
go.hotmart.com...
Série Criando Jogo de Terror completa:
• CRIANDO JOGO DE TERROR
Série como criar jogos:
• COMO CRIAR JOGOS NA UNITY
Link do meu jogo para Android (The Mouse Maze):
play.google.co...
Parabéns irmão pelo conteúdo.... Vc tem me inspirado a buscar conhecimento nessa área, comecei a pouco tempo a fazer curso de programação de game e tenho muitas dúvidas, mais teu conteúdo é show e tem me ajudado muito.
O Script de CameraController logo abaixo, basta copiar e colar...
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class CameraController : MonoBehaviour
{
public Transform player;
public float alturaCamera = 1.3f;
public float Sensibilidade = 300.0f;
public float LimiteRotacao = 45.0f;
float rotX;
float rotY;
void Start()
{
Cursor.lockState = CursorLockMode.Locked;
}
void Update()
{
float MouseX = Input.GetAxis("Mouse X");
float MouseY = Input.GetAxis("Mouse Y");
rotX += MouseX * Sensibilidade * Time.deltaTime;
rotY -= MouseY * Sensibilidade * Time.deltaTime;
rotY = Mathf.Clamp(rotY, -LimiteRotacao, LimiteRotacao);
transform.rotation = Quaternion.Euler(rotY, rotX, 0);
}
private void LateUpdate()
{
transform.position = player.position + player.up * alturaCamera;
}
}
uma lenda meu nobre, tava aqui com preguiça de escrever tudo
Parabéns mano ,eu tô fazendo o curso mais nem chego perto do seu talento
O Script do Player logo abaixo, basta copiar, caso alguém tenha interesse...
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Player : MonoBehaviour
{
private float velocidadePlayer;
public float velocidadeCorrida = 10;
public float velocidadeAndar = 5;
public Camera cameraPlayer;
private Vector3 direcoes;
private Animator anim;
void Start()
{
anim = GetComponent();
}
void Update()
{
float InputX = Input.GetAxis("Horizontal");
float InputZ = Input.GetAxis("Vertical");
float InputRun = Input.GetAxis("correr");
direcoes = new Vector3(InputX,0, InputZ);
if(InputX != 0 || InputZ != 0)
{
var camrotation = cameraPlayer.transform.rotation;
camrotation.x = 0;
camrotation.z = 0;
anim.SetBool("walk", true);
transform.Translate(0, 0, velocidadePlayer * Time.deltaTime);
transform.rotation = Quaternion.Lerp(transform.rotation, Quaternion.LookRotation(direcoes) * camrotation, 5 * Time.deltaTime);
if(InputRun != 0)
{
anim.SetBool("run", true);
velocidadePlayer = velocidadeCorrida;
}
else
{
anim.SetBool("run", false);
velocidadePlayer = velocidadeAndar;
}
}
else if (InputX == 0 && InputZ == 0)
{
anim.SetBool("walk", false);
anim.SetBool("run", false);
}
}
}
Salvou mt, obrigado!
ola meu jogo nao inicia ele aparece "all compiller errors have to be fixed before you can enter playmode" pfvr me ajude
@@MarmitaClub Provavelmente por não ter colocado o "f" após os números de "velocidadeAndar" e "velocidadeCorrida"
@@MarmitaClub Pode ser que o "run" não esteja, para fazer é só ir no "Project Settings" dps ir em "Input Manager" em size vai ter 18 e você coloca 19 vai aparecer um Cancel daí vc coloca "run"
Fera, não sei como você trocou a minha mensagem pela sua, porem quem colocou o script do Player foi eu, com a mesma mensagem.
Muito Show!
Tutorial sensacional mano!
novamente estou aqui assistindo seus videos
já tem uma prévia de quando vai lançar?
Ele não será publicado, é apenas para vídeo mesmo 😉
Cara eu gostei desse video, você vai podar esse jogo na play story ?
VELHO COLOCA O SCRIPT NA DESCRIÇÃO PARA A GENTE COPIAR OU ENTÃO COLOCA PARA DOWNLOAD
Acho q isso é coisa de preguiçoso, e melhor nois ver aprender e colocar nois mesmo
@@WillianZanon-ur7bz fiz tudo certinho e n funcionou por isso q eu pedi o download
@@venti9146 o da camera
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class CameraController : MonoBehaviour
{
public Transform player;
public float alturaCamera = 1.3f;
public float Sensibilidade = 300.0f;
public float LimiteRotacao = 45.0f;
float rotX;
float rotY;
void Start()
{
Cursor.lockState = CursorLockMode.Locked;
}
void Update()
{
float MouseX = Input.GetAxis("Mouse X");
float MouseY = Input.GetAxis("Mouse Y");
rotX += MouseX * Sensibilidade * Time.deltaTime;
rotY -= MouseY * Sensibilidade * Time.deltaTime;
rotY = Mathf.Clamp(rotY, -LimiteRotacao, LimiteRotacao);
transform.rotation = Quaternion.Euler(rotY, rotX, 0);
}
private void LateUpdate()
{
transform.position = player.position + player.up * alturaCamera;
}
}
@@WillianZanon-ur7bz eu prefiro evitar a fadiga
ola meu jogo nao inicia ele aparece "all compiller errors have to be fixed before you can enter playmode" pfvr me ajude
Man!
Faz um vídeo dedicado ensinando como mexer com HDR.
Opa Jhon pode me ajudar em um erro de script?? Tipo fiz todo o script do player a movimentação tudo certo só que quando eu clico em salvar o script aparece esse erro na unity "Argument 2: cannot convert from 'UnityEngine.Vector3' to 'UnityEngine.Quaternion" o que eu faço para consertar esse erro?
Estou em desenvolvimento, só que no caso quero fazer um jogo em Primeira pessoa. O cenário já está pronto, como faria pra usar somente em primeira pessoa e não aparecer o meu personagem? O conteúdo tá top man,.
Salve mano, teria que reprogramar todo o player pois a movimentação é bem diferente. Tem um asset na Unity Store chamado mini first person controller. Instala ele para dar uma olhada no script pelo menos.
@@JohnDevOficial Beleza man
opa irmão de boa então na parte em que eu coloco o script no target aparece a seguinte mensagem: can't add script component 'CameraController' because the script dass cannot be found. Make sure that there are no compile errors and that the file name and dass name match. O que faço?
Alguém pode me ajudar? Quando eu ando por um pequeno tempo a animação para e trava naquela pose, o que eu faço?
to fazendo um chamado Dark Echo
Boa noite, estou com um problema num script o Cameracontroller, por favor pode me ajuda, so falta esse script para terminar meu jogo.
6:40 não entendi essa parte, porque eu já criei os scripts mas eu não consigo colocar a camera no script do Player, espero que o dono do canal faça um reboot do tutorial dando mais detalhes.
Não entendi sua dúvida, apenas joguei o script para dentro do objeto. Script do player para o objeto do player e script da câmera para o container da câmera.
@@JohnDevOficial é mas essa opção do camera Player não esta disponivel para min no script do player
@@p0nk1junk4r09 Mas não jogo no script, jogo o script para o objeto.
UnassignedReferenceException: The variable player of CameraController has not been assigned.
You probably need to assign the player variable of the CameraController script in the inspector.
sabe oq pode ser?
edit: consegui arrumar, otimo video mn
Salve, normalmente esses erros ocorrem quando não atribuímos o objeto a variável que criamos.
Como que dobra a qualidade gráfica?
mn me ajuda quando tou Apertando W ele sempre vai pra frete como tiro isso? quando eu faço a rotaçao ele n segue onde a camera aponta pd me ajudar com isso?
Manda teu script ae
Opa john eu aqui de novo, pode me ajudar em uma coisa de novo? Eu não estou conseguindo fazer as animações rodarem. Sempre dá o erro "Parameter 'run' does not exist. UnityEngine.Animator.SetBool (string,bool)".
Eu realmente não sei o que ta rolando, está muito estranho. Eu não coloquei os mesmos nomes que você nos arquivos, coloquei tipo ''parado'' ''andando pra frente'' ''correndo pra frente'' e eu especificava que era pra frente pois queria colocar um pra trás. Minha outra dúvida é sobre isso também, o processo pra fazer as animações backwards é a mesma pras forwards? Ou tem alguma coisa diferente?
Muito obrigado se puder tar respondendo, bom dia!
UnityEngine.Animator.SetBool (string,bool) essa linha está errada. O correto é: Anim.SetBool ("frente", true);
o Anim você usa o nome que colocou na variável Animator e onde está "frente" coloca o nome do parâmetro que definiu lá no Animator da Unity.
Espero ter ajudado!
@@JohnDevOficial Ahhhhh agora eu entendi!! Muito obrigado :)
Consegue me ajudar? estou seguindo o tutorial porém depois de fazer essas parte meu jogo travou no play e pause acionados juntos e quando clico em cima ele voltar para o modo do play desligado.
Estranho.. Tenta buildar o game para ver se o problema é o editor da Untiy.
Vai em File > Build Settings
Arrasta todas as tuas cenas para o espaço entitulado Scenes In Build
Depois clica em Build.
Escolhe uma pasta e salva, ele vai exportar teu jogo.
Tenta executar, caso ele abra o problema é o editor mesmo. Recomendaria
salvar seu projeto e reinstalar a Unity pelo Unity Hub.
Quau e o aplicativo que você está usando
Unity Engine
Voltando aqui kskskk mano, eu assistir de novo né, e fiz tudo certinho, porém, eu não consigo mover a câmera com o MOUSE.. não sei oq houve. Volta com os vídeos!
Ensina fazer em primeira pessoa
Qual botão eu aperto para que ele corra eu apertei todos mas não consigo fazer ele correr
Verifica no código qual você colocou, se só copiou do meu provavelmente foi Shift esquerdo
@@JohnDevOficial eu resolvi eu modifiquei um pouco seu código e coloquei na tecla end para corre
@@JohnDevOficial mas agradeço de coração por me ajudar e de as aulas de desenvolvimento de jogos está me ajudando muito
@@JohnDevOficial muito obrigado, obrigado mesmo john
@@JohnDevOficial peço que não pare de fazer vídeos
Mas esse Script saiu de onde?
trás um sistema de tiro baseado nesses scripts aí
Te mandei lá o vídeo do bug. Consegue ver?
Te respondi lá
o meu personagem sai caindo quando ando kkkk, como se eu não tivesse freezado a rotacão da constrants do rigidbody. oq houve?
Colocou o colisor? Verificação também se está movendo no eixo correto pelo script
@@JohnDevOficial é que não entendi muito bem o script, caso esteja no eixo errado, qual linha eu devo mudar?? Eu tava acompanhando suas aulas iniciais, essa aí apesar de bem explicada, foi mais complicadinha.. mas o único problema é só esse
@@JohnDevOficial sim, coloquei um colisor de cápsula e um rigidbody, inclusive refiz de novo pra ver se tinha sido algum erro de digitação.. mas não consegui resolver :(
@@eduardofrr-h9i consegue mandar um vídeo para meu e-mail? Vou tentar te ajudar por lá. gearstudio.games@gmail.com
@@JohnDevOficial beleza, vi agora sua mensagem. vou mandar lá!! obrigado!
opa Pode me ajudar com um erro o personagem não se move e aparece ArgumentException;Input Axis correr is not setup.
Você precisa criar o Input correr, ou substitua essa linha de código por Input.GetKey(KeyCode.LeftShift) tmb resolve.
@@JohnDevOficial Obrigado pela resposta funcionou perfeitamente
@@firedark55 Bom dia! Pode-me explicar como resolveu o problema?! Obrigado
@@graciio_ É só ir em Edit, Project Settings Input Manager e trocar o nome de qualquer Input lá recomendo trocar o fire3
@@Jav4 já consegui, obg
alguem sabe como faz pra camera nao atravessar as paredes com esse script do target?
Mn eu to procurando a msm coisa
Opa jhon, poderia me ajudar? estou tendo um erro "Camera Controller.cso[22, 48]: error CS1002 ; expected" se puder me ajudar agradeçooo demais abraço!!
Esse é erro de sintaxe, verifica se não esqueceu de nenhum ponto e virgula.
@@JohnDevOficial vlww demais cara ajudo mt, ja consegui arrumar aqui..
Alguém sabe como fazer a câmera n passar a parede
Você vai precisar utilizar um raycast para verificar o ponto de colisão da câmera e alterar a posição dela para compensar a distância atual do ponto de colisão
Não entendi direito o script do player
Qual foi a dúvida?
@@JohnDevOficial sou iniciante, e não entendi como funciona o script
opa irmão de boa então na parte em que eu coloco o script no target aparece a seguinte mensagem: can't add script component 'CameraController' because the script dass cannot be found. Make sure that there are no compile errors and that the file name and dass name match. O que faço?
Tem erro de script, você deve ter digitado algo errado