[TUTORIAL] SOM DOS PASSOS e MOVIMENTO DA CAMERA
+17
DavydMaker
hellkiller
jotascouts
EduSaavedra
anschaumaicon
dihvallgaas
joao15pedro
Guilherme_cj852
Jurassic Game
MarinaGiacchero
Rafael Santana
eduardo9715
Lucas Garcia Frade
gpepino
gabrielskin17331
Dionilson
MarcosSchultz
21 participantes
Página 1 de 2
Página 1 de 2 • 1, 2
[TUTORIAL] SOM DOS PASSOS e MOVIMENTO DA CAMERA
ATENÇÃO, A PRIMEIRA PARTE DO TUTORIAL SERVE NA UNITY 3 OU UNITY 4... SE VOCÊ JÁ ESTIVER USANDO A UNITY 5, UTILIZE OS SCRIPTS DA SEGUNDA PARTE DO TUTORIAL, QUE SÃO ESPECIFICAMENTE DIRECIONADOS A UNITY 5, PARA EVITAR ERROS
Intão, há varias maneiras de fazer som de passos na unity:
Jogue este script no seu personagem e jogue um som no seu personagem também, com a opção loop marcada e a opção PlayOnAwake desmarcada. e o efeito está pronto
Arquivos do tutorial: http://www.mediafire.com/download/6h605a8bdzjjiz1/ARQUIVOS.rar
Este medodo permine trocar o som em algum ambiente diferente, por ex: agua, terra, grama, etc.
Jogue este script no seu personagem:
Configure as variaveis de tempo
Jogue os sons nas variaveis de sons
Jogue a camera na variavel da camera
Adicione Tags aos terrenos
Crie um box collider com a opção trigger marcada e ponha a tag " AGUA " nele. e ponha este box collider na agua, para dar o som de água quando entrar no colisor
ESTE É O PRIMEIRO SCRIPT
CASO TENHA APENAS 1 SOM EM CENA, PODE USAR ESTE:
Intão, há varias maneiras de fazer som de passos na unity:
METODO1
- Código:
var som : AudioClip;
var som1 : AudioClip;
function Update () {
if( Input.GetKeyDown("w") ){
audioClip = som;
audio.Play();
}
if( Input.GetKeyUp("w") ){
audioClip = som;
audio.Stop();
}
if( Input.GetKeyDown("s") ){
audioClip = som1;
audio.Play();
}
if( Input.GetKeyUp("s") ){
audioClip = som1;
audio.Stop();
}
}
Jogue este script no seu personagem e jogue um som no seu personagem também, com a opção loop marcada e a opção PlayOnAwake desmarcada. e o efeito está pronto
METODO 2 - AVANÇADO
Arquivos do tutorial: http://www.mediafire.com/download/6h605a8bdzjjiz1/ARQUIVOS.rar
Este medodo permine trocar o som em algum ambiente diferente, por ex: agua, terra, grama, etc.
Jogue este script no seu personagem:
- Código:
using UnityEngine;
using System.Collections;
[RequireComponent(typeof(AudioSource))] // SCRIPT CRIADO POR Marcos Schultz
[RequireComponent(typeof(CharacterController))] // VISITE WWW.SCHULTZGAMES.COM e WEMAKEAGAME.COM.BR
public class PASSOS : MonoBehaviour {
public AudioClip Madeira,Grama,Terra,Cimento,Metal,Agua,Pulo,SomPadrao;
private CharacterController controller;
private bool Pulou,Esperando,EstaNaAgua;
private float TempoDeEspera,tempoCorridaENormal = 1;
public float TempoMadeira = 0.6f,TempoGrama = 0.6f,TempoTerra = 0.6f,TempoCimento = 0.6f,TempoMetal = 0.6f,TempoAgua = 0.6f,TempoPulo = 0.6f,TempoPadrao = 0.6f,Aceleracao = 1.3f;
//variaveis de movimento da camera
public GameObject CameraDoPlayer;
public float intensidadeDoMovimento;
private Vector3 PosicaoInicialDaCamera;
private float movimentoDaCamera;
private bool comecarContagem;
public bool AtivarMovimento;
void Start (){
comecarContagem = false;
PosicaoInicialDaCamera = CameraDoPlayer.transform.localPosition;
controller = GetComponent<CharacterController> ();
}
void Update (){
RaycastHit hit;
if (Pulou == false) {
if (Physics.Raycast (transform.position, Vector3.down, out hit)) {
if (hit.collider.gameObject.CompareTag ("MADEIRA")) {
audio.clip = Madeira;
} else if (hit.collider.gameObject.CompareTag ("GRAMA")) {
audio.clip = Grama;
} else if (hit.collider.gameObject.CompareTag ("TERRA")) {
audio.clip = Terra;
} else if (hit.collider.gameObject.CompareTag ("CIMENTO")) {
audio.clip = Cimento;
} else if (hit.collider.gameObject.CompareTag ("METAL")) {
audio.clip = Metal;
} else if (EstaNaAgua == true) {
audio.clip = Agua;
} else {
audio.clip = SomPadrao;
}
}
if (controller.isGrounded && controller.velocity.magnitude > 0.2f) {
if (!audio.isPlaying) {
TocarSons ();
if (comecarContagem == false) {
movimentoDaCamera += Time.deltaTime;
}
if (comecarContagem == true) {
movimentoDaCamera -= Time.deltaTime;
}
}
}
if (!controller.isGrounded || controller.velocity.magnitude <= 0.19f) {
audio.Stop ();
CameraDoPlayer.transform.localPosition = Vector3.Lerp (CameraDoPlayer.transform.localPosition, PosicaoInicialDaCamera + PosicaoInicialDaCamera * 0.25f* intensidadeDoMovimento, 10 * Time.deltaTime);
}
}
if (movimentoDaCamera >= TempoDeEspera) {
comecarContagem = true;
}
if (movimentoDaCamera <= 0) {
comecarContagem = false;
}
if (AtivarMovimento == true) {
CameraDoPlayer.transform.localPosition = Vector3.Lerp (CameraDoPlayer.transform.localPosition, PosicaoInicialDaCamera + PosicaoInicialDaCamera * movimentoDaCamera * intensidadeDoMovimento, 10 * Time.deltaTime);
}
if (Input.GetKeyDown (KeyCode.Space) && Pulou == false) {
Pulou = true;
audio.clip = Pulo;
if (!audio.isPlaying) {
audio.Play ();
} else if (audio.isPlaying) {
audio.Stop ();
audio.Play ();
}
}
if (Esperando == true) {
TempoDeEspera -= Time.deltaTime;
}
if (TempoDeEspera <= 0) {
Esperando = false;
}
if (Input.GetKey (KeyCode.LeftShift)) {
tempoCorridaENormal = 1 / Aceleracao;
} else {
tempoCorridaENormal = 1;
}
}
void OnControllerColliderHit (ControllerColliderHit hit){
Pulou = false;
}
void OnTriggerEnter(Collider Other){
if(Other.gameObject.CompareTag ("AGUA")){
EstaNaAgua = true;
}
}
void OnTriggerExit(Collider Other){
if(Other.gameObject.CompareTag ("AGUA")){
EstaNaAgua = false;
}
}
void TocarSons (){
if (Esperando == false) {
audio.Stop ();
if (audio.clip == Madeira) {
TempoDeEspera = TempoMadeira * tempoCorridaENormal;
Esperando = true;
audio.PlayOneShot (audio.clip);
}
if (audio.clip == Grama) {
TempoDeEspera = TempoGrama * tempoCorridaENormal;
Esperando = true;
audio.PlayOneShot (audio.clip);
}
if (audio.clip == Terra) {
TempoDeEspera = TempoTerra * tempoCorridaENormal;
Esperando = true;
audio.PlayOneShot (audio.clip);
}
if (audio.clip == Cimento) {
TempoDeEspera = TempoCimento * tempoCorridaENormal;
Esperando = true;
audio.PlayOneShot (audio.clip);
}
if (audio.clip == Metal) {
TempoDeEspera = TempoMetal * tempoCorridaENormal;
Esperando = true;
audio.PlayOneShot (audio.clip);
}
if (audio.clip == Agua) {
TempoDeEspera = TempoAgua * tempoCorridaENormal;
Esperando = true;
audio.PlayOneShot (audio.clip);
}
if (audio.clip == Pulo) {
TempoDeEspera = TempoPulo * tempoCorridaENormal;
Esperando = true;
audio.PlayOneShot (audio.clip);
}
if (audio.clip == SomPadrao) {
TempoDeEspera = TempoPadrao * tempoCorridaENormal;
Esperando = true;
audio.PlayOneShot (audio.clip);
}
}
}
}
Configure as variaveis de tempo
Jogue os sons nas variaveis de sons
Jogue a camera na variavel da camera
Adicione Tags aos terrenos
Crie um box collider com a opção trigger marcada e ponha a tag " AGUA " nele. e ponha este box collider na agua, para dar o som de água quando entrar no colisor
CASO TENHA APENAS 1 SOM EM CENA, PODE USAR ESTE SCRIPT:
- Código:
using UnityEngine;
using System.Collections;
[RequireComponent(typeof(AudioSource))] // SCRIPT CRIADO POR Marcos Schultz
[RequireComponent(typeof(CharacterController))] // VISITE WWW.SCHULTZGAMES.COM e WEMAKEAGAME.COM.BR
public class PASSOS : MonoBehaviour {
public AudioClip SomDePassos;
private CharacterController controller;
private bool Esperando;
private float TempoDeEspera;
public float TempoDoPasso = 0.6f;
//variaveis de movimento da camera
public GameObject CameraDoPlayer;
public float intensidadeDoMovimento;
private Vector3 PosicaoInicialDaCamera;
public float movimentoDaCamera;
public bool comecarContagem;
void Start (){
comecarContagem = false;
PosicaoInicialDaCamera = CameraDoPlayer.transform.localPosition;
controller = GetComponent<CharacterController> ();
}
void Update (){
CameraDoPlayer.transform.localPosition = Vector3.Lerp (CameraDoPlayer.transform.localPosition, PosicaoInicialDaCamera + PosicaoInicialDaCamera * movimentoDaCamera * intensidadeDoMovimento, 10 * Time.deltaTime);
if (controller.isGrounded && controller.velocity.magnitude > 0.2f) {
if (!audio.isPlaying) {
TocarSons ();
if (comecarContagem == false) {
movimentoDaCamera += Time.deltaTime;
}
if (comecarContagem == true) {
movimentoDaCamera -= Time.deltaTime;
}
}
}
if (!controller.isGrounded || controller.velocity.magnitude <= 0.19f) {
audio.Stop ();
CameraDoPlayer.transform.localPosition = Vector3.Lerp (CameraDoPlayer.transform.localPosition, PosicaoInicialDaCamera + PosicaoInicialDaCamera * 0.25f* intensidadeDoMovimento, 10 * Time.deltaTime);
}
if (movimentoDaCamera >= TempoDeEspera) {
comecarContagem = true;
}
if (movimentoDaCamera <= 0) {
comecarContagem = false;
}
if (Esperando == true) {
TempoDeEspera -= Time.deltaTime;
}
if (TempoDeEspera <= 0) {
Esperando = false;
}
}
void TocarSons (){
if (Esperando == false) {
audio.Stop ();
TempoDeEspera = TempoDoPasso;
Esperando = true;
audio.PlayOneShot (SomDePassos);
}
}
}
SE VOCÊ ESTIVER USANDO A UNITY 5:
ESTE É O PRIMEIRO SCRIPT
- Código:
using UnityEngine;
using System.Collections;
[RequireComponent(typeof(AudioSource))] // SCRIPT CRIADO POR Marcos Schultz
[RequireComponent(typeof(CharacterController))] // VISITE WWW.SCHULTZGAMES.COM e WEMAKEAGAME.COM.BR
public class PASSOS : MonoBehaviour {
public AudioClip Madeira,Grama,Terra,Cimento,Metal,Agua,Pulo,SomPadrao;
private CharacterController controller;
private bool Pulou,Esperando,EstaNaAgua;
private float TempoDeEspera,tempoCorridaENormal = 1;
public float TempoMadeira = 0.6f,TempoGrama = 0.6f,TempoTerra = 0.6f,TempoCimento = 0.6f,TempoMetal = 0.6f,TempoAgua = 0.6f,TempoPulo = 0.6f,TempoPadrao = 0.6f,Aceleracao = 1.3f;
//variaveis de movimento da camera
public GameObject CameraDoPlayer;
public float intensidadeDoMovimento;
private Vector3 PosicaoInicialDaCamera;
private float movimentoDaCamera;
private bool comecarContagem;
public bool AtivarMovimento;
void Start (){
comecarContagem = false;
PosicaoInicialDaCamera = CameraDoPlayer.transform.localPosition;
controller = GetComponent<CharacterController> ();
}
void Update (){
RaycastHit hit;
if (Pulou == false) {
if (Physics.Raycast (transform.position, Vector3.down, out hit)) {
if (hit.collider.gameObject.CompareTag ("MADEIRA")) {
GetComponent<AudioSource>().clip = Madeira;
} else if (hit.collider.gameObject.CompareTag ("GRAMA")) {
GetComponent<AudioSource>().clip = Grama;
} else if (hit.collider.gameObject.CompareTag ("TERRA")) {
GetComponent<AudioSource>().clip = Terra;
} else if (hit.collider.gameObject.CompareTag ("CIMENTO")) {
GetComponent<AudioSource>().clip = Cimento;
} else if (hit.collider.gameObject.CompareTag ("METAL")) {
GetComponent<AudioSource>().clip = Metal;
} else if (EstaNaAgua == true) {
GetComponent<AudioSource>().clip = Agua;
} else {
GetComponent<AudioSource>().clip = SomPadrao;
}
}
if (controller.isGrounded && controller.velocity.magnitude > 0.2f) {
if (!GetComponent<AudioSource>().isPlaying) {
TocarSons ();
if (comecarContagem == false) {
movimentoDaCamera += Time.deltaTime;
}
if (comecarContagem == true) {
movimentoDaCamera -= Time.deltaTime;
}
}
}
if (!controller.isGrounded || controller.velocity.magnitude <= 0.19f) {
GetComponent<AudioSource>().Stop ();
CameraDoPlayer.transform.localPosition = Vector3.Lerp (CameraDoPlayer.transform.localPosition, PosicaoInicialDaCamera + PosicaoInicialDaCamera * 0.25f* intensidadeDoMovimento, 10 * Time.deltaTime);
}
}
if (movimentoDaCamera >= TempoDeEspera) {
comecarContagem = true;
}
if (movimentoDaCamera <= 0) {
comecarContagem = false;
}
if (AtivarMovimento == true) {
CameraDoPlayer.transform.localPosition = Vector3.Lerp (CameraDoPlayer.transform.localPosition, PosicaoInicialDaCamera + PosicaoInicialDaCamera * movimentoDaCamera * intensidadeDoMovimento, 10 * Time.deltaTime);
}
if (Input.GetKeyDown (KeyCode.Space) && Pulou == false) {
Pulou = true;
GetComponent<AudioSource>().clip = Pulo;
if (!GetComponent<AudioSource>().isPlaying) {
GetComponent<AudioSource>().Play ();
} else if (GetComponent<AudioSource>().isPlaying) {
GetComponent<AudioSource>().Stop ();
GetComponent<AudioSource>().Play ();
}
}
if (Esperando == true) {
TempoDeEspera -= Time.deltaTime;
}
if (TempoDeEspera <= 0) {
Esperando = false;
}
if (Input.GetKey (KeyCode.LeftShift)) {
tempoCorridaENormal = 1 / Aceleracao;
} else {
tempoCorridaENormal = 1;
}
}
void OnControllerColliderHit (ControllerColliderHit hit){
Pulou = false;
}
void OnTriggerEnter(Collider Other){
if(Other.gameObject.CompareTag ("AGUA")){
EstaNaAgua = true;
}
}
void OnTriggerExit(Collider Other){
if(Other.gameObject.CompareTag ("AGUA")){
EstaNaAgua = false;
}
}
void TocarSons (){
if (Esperando == false) {
GetComponent<AudioSource>().Stop ();
if (GetComponent<AudioSource>().clip == Madeira) {
TempoDeEspera = TempoMadeira * tempoCorridaENormal;
Esperando = true;
GetComponent<AudioSource>().PlayOneShot (GetComponent<AudioSource>().clip);
}
if (GetComponent<AudioSource>().clip == Grama) {
TempoDeEspera = TempoGrama * tempoCorridaENormal;
Esperando = true;
GetComponent<AudioSource>().PlayOneShot (GetComponent<AudioSource>().clip);
}
if (GetComponent<AudioSource>().clip == Terra) {
TempoDeEspera = TempoTerra * tempoCorridaENormal;
Esperando = true;
GetComponent<AudioSource>().PlayOneShot (GetComponent<AudioSource>().clip);
}
if (GetComponent<AudioSource>().clip == Cimento) {
TempoDeEspera = TempoCimento * tempoCorridaENormal;
Esperando = true;
GetComponent<AudioSource>().PlayOneShot (GetComponent<AudioSource>().clip);
}
if (GetComponent<AudioSource>().clip == Metal) {
TempoDeEspera = TempoMetal * tempoCorridaENormal;
Esperando = true;
GetComponent<AudioSource>().PlayOneShot (GetComponent<AudioSource>().clip);
}
if (GetComponent<AudioSource>().clip == Agua) {
TempoDeEspera = TempoAgua * tempoCorridaENormal;
Esperando = true;
GetComponent<AudioSource>().PlayOneShot (GetComponent<AudioSource>().clip);
}
if (GetComponent<AudioSource>().clip == Pulo) {
TempoDeEspera = TempoPulo * tempoCorridaENormal;
Esperando = true;
GetComponent<AudioSource>().PlayOneShot (GetComponent<AudioSource>().clip);
}
if (GetComponent<AudioSource>().clip == SomPadrao) {
TempoDeEspera = TempoPadrao * tempoCorridaENormal;
Esperando = true;
GetComponent<AudioSource>().PlayOneShot (GetComponent<AudioSource>().clip);
}
}
}
}
CASO TENHA APENAS 1 SOM EM CENA, PODE USAR ESTE:
- Código:
using UnityEngine;
using System.Collections;
[RequireComponent(typeof(AudioSource))] // SCRIPT CRIADO POR Marcos Schultz
[RequireComponent(typeof(CharacterController))] // VISITE WWW.SCHULTZGAMES.COM e WEMAKEAGAME.COM.BR
public class PASSOS : MonoBehaviour {
public AudioClip SomDePassos;
private CharacterController controller;
private bool Esperando;
private float TempoDeEspera;
public float TempoDoPasso = 0.6f;
//variaveis de movimento da camera
public GameObject CameraDoPlayer;
public float intensidadeDoMovimento;
private Vector3 PosicaoInicialDaCamera;
public float movimentoDaCamera;
public bool comecarContagem;
void Start (){
comecarContagem = false;
PosicaoInicialDaCamera = CameraDoPlayer.transform.localPosition;
controller = GetComponent<CharacterController> ();
}
void Update (){
CameraDoPlayer.transform.localPosition = Vector3.Lerp (CameraDoPlayer.transform.localPosition, PosicaoInicialDaCamera + PosicaoInicialDaCamera * movimentoDaCamera * intensidadeDoMovimento, 10 * Time.deltaTime);
if (controller.isGrounded && controller.velocity.magnitude > 0.2f) {
if (!GetComponent<AudioSource>().isPlaying) {
TocarSons ();
if (comecarContagem == false) {
movimentoDaCamera += Time.deltaTime;
}
if (comecarContagem == true) {
movimentoDaCamera -= Time.deltaTime;
}
}
}
if (!controller.isGrounded || controller.velocity.magnitude <= 0.19f) {
GetComponent<AudioSource>().Stop ();
CameraDoPlayer.transform.localPosition = Vector3.Lerp (CameraDoPlayer.transform.localPosition, PosicaoInicialDaCamera + PosicaoInicialDaCamera * 0.25f* intensidadeDoMovimento, 10 * Time.deltaTime);
}
if (movimentoDaCamera >= TempoDeEspera) {
comecarContagem = true;
}
if (movimentoDaCamera <= 0) {
comecarContagem = false;
}
if (Esperando == true) {
TempoDeEspera -= Time.deltaTime;
}
if (TempoDeEspera <= 0) {
Esperando = false;
}
}
void TocarSons (){
if (Esperando == false) {
GetComponent<AudioSource>().Stop ();
TempoDeEspera = TempoDoPasso;
Esperando = true;
GetComponent<AudioSource>().PlayOneShot (SomDePassos);
}
}
}
Última edição por MarcosSchultz em Ter Jun 07, 2016 8:48 pm, editado 5 vez(es)
Re: [TUTORIAL] SOM DOS PASSOS e MOVIMENTO DA CAMERA
Ola novmente, os dois modos mais avancados em C# esta bugando quando faz o movimento da camera.
Eu tenho um cenario fechado, com as tags cimento, terra, tudo direitinho com mash colider, mas ele faz o movimento da camera corretamente quando quer, buga mais nos cantos e em locais mais apertados, faz o movimento e nao para, e mesmo que ande um pouco mais ele continua bugado.
Eu tenho um cenario fechado, com as tags cimento, terra, tudo direitinho com mash colider, mas ele faz o movimento da camera corretamente quando quer, buga mais nos cantos e em locais mais apertados, faz o movimento e nao para, e mesmo que ande um pouco mais ele continua bugado.
Dionilson- Iniciante
- PONTOS : 3632
REPUTAÇÃO : 2
Idade : 32
Respeito as regras :
Re: [TUTORIAL] SOM DOS PASSOS e MOVIMENTO DA CAMERA
teria como fazer um vídeo do problema ou mandar prints para ficar mais facil de analizar???
Re: [TUTORIAL] SOM DOS PASSOS e MOVIMENTO DA CAMERA
Sim vou gravar agora ja posto aqui
Dionilson- Iniciante
- PONTOS : 3632
REPUTAÇÃO : 2
Idade : 32
Respeito as regras :
Re: [TUTORIAL] SOM DOS PASSOS e MOVIMENTO DA CAMERA
Ai esta, ve se vc consegue entender.
isso acontence varias vezes em diferentes lugares.
Dionilson- Iniciante
- PONTOS : 3632
REPUTAÇÃO : 2
Idade : 32
Respeito as regras :
Re: [TUTORIAL] SOM DOS PASSOS e MOVIMENTO DA CAMERA
Cara, o comando responsavel pelo movimento da camera é este:
ele está pedindo, " o controller está no chao " ??? sim, ele está... 1 coisa a menos
segunda coisa que ele está pedindo é:
" a velocidade dele é maior do que 0 ? " ai que está. se ele está parado, a velocidade é 0 e o personagem não deveria fazer sons de passos O.o
tente checar a sua aba inspector no momento que este bug está acontecendo... veja se a posição do Player nos eixos X ou Y ou Z fica mudando...
- Código:
if (controller.isGrounded && controller.velocity.magnitude > 0.0f) {
}
ele está pedindo, " o controller está no chao " ??? sim, ele está... 1 coisa a menos
segunda coisa que ele está pedindo é:
" a velocidade dele é maior do que 0 ? " ai que está. se ele está parado, a velocidade é 0 e o personagem não deveria fazer sons de passos O.o
tente checar a sua aba inspector no momento que este bug está acontecendo... veja se a posição do Player nos eixos X ou Y ou Z fica mudando...
Re: [TUTORIAL] SOM DOS PASSOS e MOVIMENTO DA CAMERA
Hum... bom coloquei em debug, e percebi que quando o bug acontece as posicoes X,Y,Z nao fica mudando
mas no script sim, o ESPERANDO ativa e nao desativa, o TEMPO DE ESPERA esta em -0.01704887 antes do bug, no bug fica 0.458 e nao para vai girando sem parar mas n chega a 1.
mais a baixo o MOVIMENTO DA CAMERA n para de girar. e o COMECAR CONTAGEM ativa e desativa o tempo todo. olha a imagem.
Estou usando Unity 4.6.1f1 free
mas no script sim, o ESPERANDO ativa e nao desativa, o TEMPO DE ESPERA esta em -0.01704887 antes do bug, no bug fica 0.458 e nao para vai girando sem parar mas n chega a 1.
mais a baixo o MOVIMENTO DA CAMERA n para de girar. e o COMECAR CONTAGEM ativa e desativa o tempo todo. olha a imagem.
Estou usando Unity 4.6.1f1 free
Dionilson- Iniciante
- PONTOS : 3632
REPUTAÇÃO : 2
Idade : 32
Respeito as regras :
Re: [TUTORIAL] SOM DOS PASSOS e MOVIMENTO DA CAMERA
deve ter algo errado na sua cena... O.o
neste trecho a variavel " Esperando " obrigatoriamente fica false
a variavel "Esperando " só fica true quando esta void é chamada: " TocarSons (); "
más ela só é chamada quando o player está em movimento
o seu bug não tem muito sentido... precisaria do projeto para ver o que está acontecendo
- Código:
if (Esperando == true) {
TempoDeEspera -= Time.deltaTime;
}
if (TempoDeEspera <= 0) {
Esperando = false;
}
neste trecho a variavel " Esperando " obrigatoriamente fica false
a variavel "Esperando " só fica true quando esta void é chamada: " TocarSons (); "
más ela só é chamada quando o player está em movimento
o seu bug não tem muito sentido... precisaria do projeto para ver o que está acontecendo
Re: [TUTORIAL] SOM DOS PASSOS e MOVIMENTO DA CAMERA
Eu fiz um projeto do zero com apenas o player e o cenário mas da o mesmo, estou fazendo upload do projeto pra te passar o link pra download.
Dionilson- Iniciante
- PONTOS : 3632
REPUTAÇÃO : 2
Idade : 32
Respeito as regras :
Re: [TUTORIAL] SOM DOS PASSOS e MOVIMENTO DA CAMERA
já sei
troque apenas 2 linhas do seu código:
if (controller.isGrounded && controller.velocity.magnitude > 0.0f) {
e
if (!controller.isGrounded || controller.velocity.magnitude 0=0.0f) {
por estas aqui:
if (controller.isGrounded && controller.velocity.magnitude > 0.2f) {
e
if (!controller.isGrounded || controller.velocity.magnitude <=0.19f) {
o erro se deve ao motivo de você estar usando mesh collider ( eu acho )
tente ver se isto resolve
troque apenas 2 linhas do seu código:
if (controller.isGrounded && controller.velocity.magnitude > 0.0f) {
e
if (!controller.isGrounded || controller.velocity.magnitude 0=0.0f) {
por estas aqui:
if (controller.isGrounded && controller.velocity.magnitude > 0.2f) {
e
if (!controller.isGrounded || controller.velocity.magnitude <=0.19f) {
o erro se deve ao motivo de você estar usando mesh collider ( eu acho )
tente ver se isto resolve
Re: [TUTORIAL] SOM DOS PASSOS e MOVIMENTO DA CAMERA
OK, vou testar e mais tarde posto aqui.
Dionilson- Iniciante
- PONTOS : 3632
REPUTAÇÃO : 2
Idade : 32
Respeito as regras :
Re: [TUTORIAL] SOM DOS PASSOS e MOVIMENTO DA CAMERA
TÓPICO ATUALIZADO
modifiquei os scripts daqui do tópico
fiz alguns testes e modifiquei algumas linhas. não reparei nenhum bug depois disso...
modifiquei os scripts daqui do tópico
fiz alguns testes e modifiquei algumas linhas. não reparei nenhum bug depois disso...
Re: [TUTORIAL] SOM DOS PASSOS e MOVIMENTO DA CAMERA
Fiz o teste e sim funciono perfeitamente, muito obrigado mesmo...
Dionilson- Iniciante
- PONTOS : 3632
REPUTAÇÃO : 2
Idade : 32
Respeito as regras :
Re: [TUTORIAL] SOM DOS PASSOS e MOVIMENTO DA CAMERA
marcos n deu certo o son dos passos o som n sai e o movimento da camera tambem
gabrielskin17331- Iniciante
- PONTOS : 3559
REPUTAÇÃO : 0
Respeito as regras :
Re: [TUTORIAL] SOM DOS PASSOS e MOVIMENTO DA CAMERA
checou as tags? linkou todas as coisas nas variaveis??? o script está no player?
mande uma print da aba Inspector do Player ( na parte do script )
mande uma print da aba Inspector do Player ( na parte do script )
Re: [TUTORIAL] SOM DOS PASSOS e MOVIMENTO DA CAMERA
onde encontro os arquivos de áudio dos passos?
gpepino- Iniciante
- PONTOS : 3526
REPUTAÇÃO : 0
Respeito as regras :
Re: [TUTORIAL] SOM DOS PASSOS e MOVIMENTO DA CAMERA
http://www.mediafire.com/download/6h605a8bdzjjiz1/ARQUIVOS.rar
gpepino- Iniciante
- PONTOS : 3526
REPUTAÇÃO : 0
Respeito as regras :
Re: [TUTORIAL] SOM DOS PASSOS e MOVIMENTO DA CAMERA
Onde esta os scripts para unity 5?
Lucas Garcia Frade- Avançado
- PONTOS : 3779
REPUTAÇÃO : 9
Idade : 23
Respeito as regras :
Re: [TUTORIAL] SOM DOS PASSOS e MOVIMENTO DA CAMERA
olá amigo o som do pulo não quer sair oque esta a vendo ??
eduardo9715- Membro
- PONTOS : 3526
REPUTAÇÃO : 0
Respeito as regras :
Re: [TUTORIAL] SOM DOS PASSOS e MOVIMENTO DA CAMERA
Muito Obrigado Marcos! Otimo tutorial :D
Rafael Santana- Iniciante
- PONTOS : 3471
REPUTAÇÃO : 0
Respeito as regras :
Re: [TUTORIAL] SOM DOS PASSOS e MOVIMENTO DA CAMERA
o meu está dando isso, pq ? ;-;
MarinaGiacchero- Iniciante
- PONTOS : 3398
REPUTAÇÃO : 0
Respeito as regras :
Re: [TUTORIAL] SOM DOS PASSOS e MOVIMENTO DA CAMERA
O meu eu coloquei tudo certinho arrumei uns erros que tinha mas quando eu vo da play o jogo fica travado e no relatorio de erros aparece a mensagem: UnityEception Tag:Madeira is not defined!
Jurassic Game- Iniciante
- PONTOS : 3391
REPUTAÇÃO : 0
Respeito as regras :
Re: [TUTORIAL] SOM DOS PASSOS e MOVIMENTO DA CAMERA
Olá, como eu adapto esse primeiro script mais simples, para quando eu aperto Shift Junto com o W a velocidade do som aumenta
Re: [TUTORIAL] SOM DOS PASSOS e MOVIMENTO DA CAMERA
Olá, como eu adapto esse primeiro script mais simples, para quando eu aperto Shift Junto com o W a velocidade do som aumenta
Re: [TUTORIAL] SOM DOS PASSOS e MOVIMENTO DA CAMERA
Basta acessar o seu componente "AudioSource" e aumentar o volume dele, e colocar isto dentro destas linhas:
- Código:
if (Input.GetKey (KeyCode.LeftShift)) {
tempoCorridaENormal = 1 / Aceleracao;
//comandos para acessar o audio source aqui
} else {
tempoCorridaENormal = 1;
}
Re: [TUTORIAL] SOM DOS PASSOS e MOVIMENTO DA CAMERA
o meu unity é o 5.2.0 e o som faz um ruido estranho e não dá movimento da camera, e ela ta habilitada no script
joao15pedro- Iniciante
- PONTOS : 3356
REPUTAÇÃO : 0
Respeito as regras :
Re: [TUTORIAL] SOM DOS PASSOS e MOVIMENTO DA CAMERA
Tem como postar prints da aba inspector e dos sons?
Re: [TUTORIAL] SOM DOS PASSOS e MOVIMENTO DA CAMERA
eu consegui arrumar hoje, era só eu ter copiado o script denovo e os sons, desculpe o incomodo
joao15pedro- Iniciante
- PONTOS : 3356
REPUTAÇÃO : 0
Respeito as regras :
Re: [TUTORIAL] SOM DOS PASSOS e MOVIMENTO DA CAMERA
Cara, como posso adicionar sons de passos ''correr , pular'' junto a esse script que é o que vem com unity, personagem 3 pessoa,segue o script :
using UnityEngine;
using System.Collections;
namespace UnityStandardAssets.Characters.ThirdPerson
{
[RequireComponent(typeof(AudioSource))]
[RequireComponent(typeof(Rigidbody))]
[RequireComponent(typeof(CapsuleCollider))]
[RequireComponent(typeof(Animator))]
public class ThirdPersonCharacter : MonoBehaviour
{
[SerializeField] float m_MovingTurnSpeed = 360;
[SerializeField] float m_StationaryTurnSpeed = 180;
[SerializeField] float m_JumpPower = 12f;
[Range(1f, 4f)][SerializeField] float m_GravityMultiplier = 2f;
[SerializeField] float m_RunCycleLegOffset = 0.2f; //specific to the character in sample assets, will need to be modified to work with others
[SerializeField] float m_MoveSpeedMultiplier = 1f;
[SerializeField] float m_AnimSpeedMultiplier = 1f;
[SerializeField] float m_GroundCheckDistance = 0.1f;
Rigidbody m_Rigidbody;
Animator m_Animator;
bool m_IsGrounded;
float m_OrigGroundCheckDistance;
const float k_Half = 0.5f;
float m_TurnAmount;
float m_ForwardAmount;
Vector3 m_GroundNormal;
float m_CapsuleHeight;
Vector3 m_CapsuleCenter;
CapsuleCollider m_Capsule;
bool m_Crouching;
void Start()
{
m_Animator = GetComponent<Animator>();
m_Rigidbody = GetComponent<Rigidbody>();
m_Capsule = GetComponent<CapsuleCollider>();
m_CapsuleHeight = m_Capsule.height;
m_CapsuleCenter = m_Capsule.center;
m_Rigidbody.constraints = RigidbodyConstraints.FreezeRotationX | RigidbodyConstraints.FreezeRotationY | RigidbodyConstraints.FreezeRotationZ;
m_OrigGroundCheckDistance = m_GroundCheckDistance;
}
public void Move(Vector3 move, bool crouch, bool jump)
{
// convert the world relative moveInput vector into a local-relative
// turn amount and forward amount required to head in the desired
// direction.
if (move.magnitude > 1f) move.Normalize();
move = transform.InverseTransformDirection(move);
CheckGroundStatus();
move = Vector3.ProjectOnPlane(move, m_GroundNormal);
m_TurnAmount = Mathf.Atan2(move.x, move.z);
m_ForwardAmount = move.z;
ApplyExtraTurnRotation();
// control and velocity handling is different when grounded and airborne:
if (m_IsGrounded)
{
HandleGroundedMovement(crouch, jump);
}
else
{
HandleAirborneMovement();
}
ScaleCapsuleForCrouching(crouch);
PreventStandingInLowHeadroom();
// send input and other state parameters to the animator
UpdateAnimator(move);
}
void ScaleCapsuleForCrouching(bool crouch)
{
if (m_IsGrounded && crouch)
{
if (m_Crouching) return;
m_Capsule.height = m_Capsule.height / 2f;
m_Capsule.center = m_Capsule.center / 2f;
m_Crouching = true;
}
else
{
Ray crouchRay = new Ray(m_Rigidbody.position + Vector3.up * m_Capsule.radius * k_Half, Vector3.up);
float crouchRayLength = m_CapsuleHeight - m_Capsule.radius * k_Half;
if (Physics.SphereCast(crouchRay, m_Capsule.radius * k_Half, crouchRayLength))
{
m_Crouching = true;
return;
}
m_Capsule.height = m_CapsuleHeight;
m_Capsule.center = m_CapsuleCenter;
m_Crouching = false;
}
}
void PreventStandingInLowHeadroom()
{
// prevent standing up in crouch-only zones
if (!m_Crouching)
{
Ray crouchRay = new Ray(m_Rigidbody.position + Vector3.up * m_Capsule.radius * k_Half, Vector3.up);
float crouchRayLength = m_CapsuleHeight - m_Capsule.radius * k_Half;
if (Physics.SphereCast(crouchRay, m_Capsule.radius * k_Half, crouchRayLength))
{
m_Crouching = true;
}
}
}
void UpdateAnimator(Vector3 move)
{
// update the animator parameters
m_Animator.SetFloat("Forward", m_ForwardAmount, 0.1f, Time.deltaTime);
m_Animator.SetFloat("Turn", m_TurnAmount, 0.1f, Time.deltaTime);
m_Animator.SetBool("Crouch", m_Crouching);
m_Animator.SetBool("OnGround", m_IsGrounded);
if (!m_IsGrounded)
{
m_Animator.SetFloat("Jump", m_Rigidbody.velocity.y);
}
// calculate which leg is behind, so as to leave that leg trailing in the jump animation
// (This code is reliant on the specific run cycle offset in our animations,
// and assumes one leg passes the other at the normalized clip times of 0.0 and 0.5)
float runCycle =
Mathf.Repeat(
m_Animator.GetCurrentAnimatorStateInfo(0).normalizedTime + m_RunCycleLegOffset, 1);
float jumpLeg = (runCycle < k_Half ? 1 : -1) * m_ForwardAmount;
if (m_IsGrounded)
{
m_Animator.SetFloat("JumpLeg", jumpLeg);
}
// the anim speed multiplier allows the overall speed of walking/running to be tweaked in the inspector,
// which affects the movement speed because of the root motion.
if (m_IsGrounded && move.magnitude > 0)
{
m_Animator.speed = m_AnimSpeedMultiplier;
}
else
{
// don't use that while airborne
m_Animator.speed = 1;
}
}
void HandleAirborneMovement()
{
// apply extra gravity from multiplier:
Vector3 extraGravityForce = (Physics.gravity * m_GravityMultiplier) - Physics.gravity;
m_Rigidbody.AddForce(extraGravityForce);
m_GroundCheckDistance = m_Rigidbody.velocity.y < 0 ? m_OrigGroundCheckDistance : 0.01f;
}
void HandleGroundedMovement(bool crouch, bool jump)
{
// check whether conditions are right to allow a jump:
if (jump && !crouch && m_Animator.GetCurrentAnimatorStateInfo(0).IsName("Grounded"))
{
// jump!
m_Rigidbody.velocity = new Vector3(m_Rigidbody.velocity.x, m_JumpPower, m_Rigidbody.velocity.z);
m_IsGrounded = false;
m_Animator.applyRootMotion = false;
m_GroundCheckDistance = 0.1f;
}
}
void ApplyExtraTurnRotation()
{
// help the character turn faster (this is in addition to root rotation in the animation)
float turnSpeed = Mathf.Lerp(m_StationaryTurnSpeed, m_MovingTurnSpeed, m_ForwardAmount);
transform.Rotate(0, m_TurnAmount * turnSpeed * Time.deltaTime, 0);
}
public void OnAnimatorMove()
{
// we implement this function to override the default root motion.
// this allows us to modify the positional speed before it's applied.
if (m_IsGrounded && Time.deltaTime > 0)
{
Vector3 v = (m_Animator.deltaPosition * m_MoveSpeedMultiplier) / Time.deltaTime;
// we preserve the existing y part of the current velocity.
v.y = m_Rigidbody.velocity.y;
m_Rigidbody.velocity = v;
}
}
void CheckGroundStatus()
{
RaycastHit hitInfo;
#if UNITY_EDITOR
// helper to visualise the ground check ray in the scene view
Debug.DrawLine(transform.position + (Vector3.up * 0.1f), transform.position + (Vector3.up * 0.1f) + (Vector3.down * m_GroundCheckDistance));
#endif
// 0.1f is a small offset to start the ray from inside the character
// it is also good to note that the transform position in the sample assets is at the base of the character
if (Physics.Raycast(transform.position + (Vector3.up * 0.1f), Vector3.down, out hitInfo, m_GroundCheckDistance))
{
m_GroundNormal = hitInfo.normal;
m_IsGrounded = true;
m_Animator.applyRootMotion = true;
}
else
{
m_IsGrounded = false;
m_GroundNormal = Vector3.up;
m_Animator.applyRootMotion = false;
}
}
}
}
using UnityEngine;
using System.Collections;
namespace UnityStandardAssets.Characters.ThirdPerson
{
[RequireComponent(typeof(AudioSource))]
[RequireComponent(typeof(Rigidbody))]
[RequireComponent(typeof(CapsuleCollider))]
[RequireComponent(typeof(Animator))]
public class ThirdPersonCharacter : MonoBehaviour
{
[SerializeField] float m_MovingTurnSpeed = 360;
[SerializeField] float m_StationaryTurnSpeed = 180;
[SerializeField] float m_JumpPower = 12f;
[Range(1f, 4f)][SerializeField] float m_GravityMultiplier = 2f;
[SerializeField] float m_RunCycleLegOffset = 0.2f; //specific to the character in sample assets, will need to be modified to work with others
[SerializeField] float m_MoveSpeedMultiplier = 1f;
[SerializeField] float m_AnimSpeedMultiplier = 1f;
[SerializeField] float m_GroundCheckDistance = 0.1f;
Rigidbody m_Rigidbody;
Animator m_Animator;
bool m_IsGrounded;
float m_OrigGroundCheckDistance;
const float k_Half = 0.5f;
float m_TurnAmount;
float m_ForwardAmount;
Vector3 m_GroundNormal;
float m_CapsuleHeight;
Vector3 m_CapsuleCenter;
CapsuleCollider m_Capsule;
bool m_Crouching;
void Start()
{
m_Animator = GetComponent<Animator>();
m_Rigidbody = GetComponent<Rigidbody>();
m_Capsule = GetComponent<CapsuleCollider>();
m_CapsuleHeight = m_Capsule.height;
m_CapsuleCenter = m_Capsule.center;
m_Rigidbody.constraints = RigidbodyConstraints.FreezeRotationX | RigidbodyConstraints.FreezeRotationY | RigidbodyConstraints.FreezeRotationZ;
m_OrigGroundCheckDistance = m_GroundCheckDistance;
}
public void Move(Vector3 move, bool crouch, bool jump)
{
// convert the world relative moveInput vector into a local-relative
// turn amount and forward amount required to head in the desired
// direction.
if (move.magnitude > 1f) move.Normalize();
move = transform.InverseTransformDirection(move);
CheckGroundStatus();
move = Vector3.ProjectOnPlane(move, m_GroundNormal);
m_TurnAmount = Mathf.Atan2(move.x, move.z);
m_ForwardAmount = move.z;
ApplyExtraTurnRotation();
// control and velocity handling is different when grounded and airborne:
if (m_IsGrounded)
{
HandleGroundedMovement(crouch, jump);
}
else
{
HandleAirborneMovement();
}
ScaleCapsuleForCrouching(crouch);
PreventStandingInLowHeadroom();
// send input and other state parameters to the animator
UpdateAnimator(move);
}
void ScaleCapsuleForCrouching(bool crouch)
{
if (m_IsGrounded && crouch)
{
if (m_Crouching) return;
m_Capsule.height = m_Capsule.height / 2f;
m_Capsule.center = m_Capsule.center / 2f;
m_Crouching = true;
}
else
{
Ray crouchRay = new Ray(m_Rigidbody.position + Vector3.up * m_Capsule.radius * k_Half, Vector3.up);
float crouchRayLength = m_CapsuleHeight - m_Capsule.radius * k_Half;
if (Physics.SphereCast(crouchRay, m_Capsule.radius * k_Half, crouchRayLength))
{
m_Crouching = true;
return;
}
m_Capsule.height = m_CapsuleHeight;
m_Capsule.center = m_CapsuleCenter;
m_Crouching = false;
}
}
void PreventStandingInLowHeadroom()
{
// prevent standing up in crouch-only zones
if (!m_Crouching)
{
Ray crouchRay = new Ray(m_Rigidbody.position + Vector3.up * m_Capsule.radius * k_Half, Vector3.up);
float crouchRayLength = m_CapsuleHeight - m_Capsule.radius * k_Half;
if (Physics.SphereCast(crouchRay, m_Capsule.radius * k_Half, crouchRayLength))
{
m_Crouching = true;
}
}
}
void UpdateAnimator(Vector3 move)
{
// update the animator parameters
m_Animator.SetFloat("Forward", m_ForwardAmount, 0.1f, Time.deltaTime);
m_Animator.SetFloat("Turn", m_TurnAmount, 0.1f, Time.deltaTime);
m_Animator.SetBool("Crouch", m_Crouching);
m_Animator.SetBool("OnGround", m_IsGrounded);
if (!m_IsGrounded)
{
m_Animator.SetFloat("Jump", m_Rigidbody.velocity.y);
}
// calculate which leg is behind, so as to leave that leg trailing in the jump animation
// (This code is reliant on the specific run cycle offset in our animations,
// and assumes one leg passes the other at the normalized clip times of 0.0 and 0.5)
float runCycle =
Mathf.Repeat(
m_Animator.GetCurrentAnimatorStateInfo(0).normalizedTime + m_RunCycleLegOffset, 1);
float jumpLeg = (runCycle < k_Half ? 1 : -1) * m_ForwardAmount;
if (m_IsGrounded)
{
m_Animator.SetFloat("JumpLeg", jumpLeg);
}
// the anim speed multiplier allows the overall speed of walking/running to be tweaked in the inspector,
// which affects the movement speed because of the root motion.
if (m_IsGrounded && move.magnitude > 0)
{
m_Animator.speed = m_AnimSpeedMultiplier;
}
else
{
// don't use that while airborne
m_Animator.speed = 1;
}
}
void HandleAirborneMovement()
{
// apply extra gravity from multiplier:
Vector3 extraGravityForce = (Physics.gravity * m_GravityMultiplier) - Physics.gravity;
m_Rigidbody.AddForce(extraGravityForce);
m_GroundCheckDistance = m_Rigidbody.velocity.y < 0 ? m_OrigGroundCheckDistance : 0.01f;
}
void HandleGroundedMovement(bool crouch, bool jump)
{
// check whether conditions are right to allow a jump:
if (jump && !crouch && m_Animator.GetCurrentAnimatorStateInfo(0).IsName("Grounded"))
{
// jump!
m_Rigidbody.velocity = new Vector3(m_Rigidbody.velocity.x, m_JumpPower, m_Rigidbody.velocity.z);
m_IsGrounded = false;
m_Animator.applyRootMotion = false;
m_GroundCheckDistance = 0.1f;
}
}
void ApplyExtraTurnRotation()
{
// help the character turn faster (this is in addition to root rotation in the animation)
float turnSpeed = Mathf.Lerp(m_StationaryTurnSpeed, m_MovingTurnSpeed, m_ForwardAmount);
transform.Rotate(0, m_TurnAmount * turnSpeed * Time.deltaTime, 0);
}
public void OnAnimatorMove()
{
// we implement this function to override the default root motion.
// this allows us to modify the positional speed before it's applied.
if (m_IsGrounded && Time.deltaTime > 0)
{
Vector3 v = (m_Animator.deltaPosition * m_MoveSpeedMultiplier) / Time.deltaTime;
// we preserve the existing y part of the current velocity.
v.y = m_Rigidbody.velocity.y;
m_Rigidbody.velocity = v;
}
}
void CheckGroundStatus()
{
RaycastHit hitInfo;
#if UNITY_EDITOR
// helper to visualise the ground check ray in the scene view
Debug.DrawLine(transform.position + (Vector3.up * 0.1f), transform.position + (Vector3.up * 0.1f) + (Vector3.down * m_GroundCheckDistance));
#endif
// 0.1f is a small offset to start the ray from inside the character
// it is also good to note that the transform position in the sample assets is at the base of the character
if (Physics.Raycast(transform.position + (Vector3.up * 0.1f), Vector3.down, out hitInfo, m_GroundCheckDistance))
{
m_GroundNormal = hitInfo.normal;
m_IsGrounded = true;
m_Animator.applyRootMotion = true;
}
else
{
m_IsGrounded = false;
m_GroundNormal = Vector3.up;
m_Animator.applyRootMotion = false;
}
}
}
}
dihvallgaas- Iniciante
- PONTOS : 3353
REPUTAÇÃO : 0
Respeito as regras :
Re: [TUTORIAL] SOM DOS PASSOS e MOVIMENTO DA CAMERA
se puder ajudar o quanto antes, vlw..
dihvallgaas- Iniciante
- PONTOS : 3353
REPUTAÇÃO : 0
Respeito as regras :
Re: [TUTORIAL] SOM DOS PASSOS e MOVIMENTO DA CAMERA
Este script não é responsável pelo sistema de emissão dos sons e talz...
O que ocorre é que é mais facil você fazer um sistema próprio do que modificar este script, por que ele requer a edição do próprio script e do script que está na pasta editor, que torna a edição visivel via inspector...
Pra resumir, seria mais facil deixar um sistema pronto aqui do que explicar como editar
O que ocorre é que é mais facil você fazer um sistema próprio do que modificar este script, por que ele requer a edição do próprio script e do script que está na pasta editor, que torna a edição visivel via inspector...
Pra resumir, seria mais facil deixar um sistema pronto aqui do que explicar como editar
Re: [TUTORIAL] SOM DOS PASSOS e MOVIMENTO DA CAMERA
Hum!
o problema é que eu estou usando todo o sistema do animator dele no meu personagem que criei. criar um script do zero teria que configurar todas as animações no novo animator ?
não queria nada complexo, andar correr e pular seriam as animações que me agradaria no momento, porem cada movimento com seus respectivos sons.
vou dar uma estudada aqui e olhar uns tutoriais de c# la no seu canal. vlw
se tiver alguma dica facil para me ajudar, mande pfv. sou iniciando em programação, gosto mais de modelagem.
Abraços e até mais!
o problema é que eu estou usando todo o sistema do animator dele no meu personagem que criei. criar um script do zero teria que configurar todas as animações no novo animator ?
não queria nada complexo, andar correr e pular seriam as animações que me agradaria no momento, porem cada movimento com seus respectivos sons.
vou dar uma estudada aqui e olhar uns tutoriais de c# la no seu canal. vlw
se tiver alguma dica facil para me ajudar, mande pfv. sou iniciando em programação, gosto mais de modelagem.
Abraços e até mais!
dihvallgaas- Iniciante
- PONTOS : 3353
REPUTAÇÃO : 0
Respeito as regras :
Re: [TUTORIAL] SOM DOS PASSOS e MOVIMENTO DA CAMERA
Boa Noite!
Estive seguindo seu tutorial e estou usando a unity 5 na qual ele acusa o erro na "isGrounded".Mesmo utilizando o código disponibilizado para a unity 5.
Deste já agradeço
Estive seguindo seu tutorial e estou usando a unity 5 na qual ele acusa o erro na "isGrounded".Mesmo utilizando o código disponibilizado para a unity 5.
Deste já agradeço
Re: [TUTORIAL] SOM DOS PASSOS e MOVIMENTO DA CAMERA
Cara, é que se você estiver usando o FPSController da Unity 5, vai dar erro... tem que ser o CharacterController da Unity 5 ainda.
Importe o FPSController da Unity 5 que ele já traz todos estes efeitos prontos... dê uma olhada:
Importe o FPSController da Unity 5 que ele já traz todos estes efeitos prontos... dê uma olhada:
Re: [TUTORIAL] SOM DOS PASSOS e MOVIMENTO DA CAMERA
Muito Obrigado Marcos pelas dicas. Problema resolvido.
Re: [TUTORIAL] SOM DOS PASSOS e MOVIMENTO DA CAMERA
Muito foda! Era exatamente o que eu procurava.
Parabéns!!!
Parabéns!!!
EduSaavedra- Iniciante
- PONTOS : 3265
REPUTAÇÃO : 0
Respeito as regras :
Erro no script
estou usando a unity 5 e já tentei de tudo mas continua dando esse erro:
e também só toca 1 som, o padrão e os outros sons não toca. Os objetos estão com a tag corretamente, quando o player passa por cima do objeto não toca nada.
e também só toca 1 passo não toca 2 passos( como se o player só estive-se com 1 perna).
usei o 2° script e só funciona 1 áudio o padrão os outros não funciona.
oq posso fazer obrigado
- Código:
NullReferenceException: Object reference not set to an instance of an object
PASSOS.Update () (at Assets/PASSOS.cs:61)
- Código:
if (controller.isGrounded && controller.velocity.magnitude > 0.2f)
e também só toca 1 som, o padrão e os outros sons não toca. Os objetos estão com a tag corretamente, quando o player passa por cima do objeto não toca nada.
e também só toca 1 passo não toca 2 passos( como se o player só estive-se com 1 perna).
usei o 2° script e só funciona 1 áudio o padrão os outros não funciona.
oq posso fazer obrigado
jotascouts- Iniciante
- PONTOS : 3195
REPUTAÇÃO : 0
Respeito as regras :
Erro no script
estou usando a unity 5 e já tentei de tudo mas continua dando esse erro:
e também só toca 1 som, o padrão e os outros sons não toca. Os objetos estão com a tag corretamente, quando o player passa por cima do objeto não toca nada.
e também só toca 1 passo não toca 2 passos( como se o player só estive-se com 1 perna).
usei o 2° script e só funciona 1 áudio o padrão os outros não funciona.
oq posso fazer obrigado
- Código:
NullReferenceException: Object reference not set to an instance of an object
PASSOS.Update () (at Assets/PASSOS.cs:61)
- Código:
if (controller.isGrounded && controller.velocity.magnitude > 0.2f)
e também só toca 1 som, o padrão e os outros sons não toca. Os objetos estão com a tag corretamente, quando o player passa por cima do objeto não toca nada.
e também só toca 1 passo não toca 2 passos( como se o player só estive-se com 1 perna).
usei o 2° script e só funciona 1 áudio o padrão os outros não funciona.
oq posso fazer obrigado
jotascouts- Iniciante
- PONTOS : 3195
REPUTAÇÃO : 0
Respeito as regras :
Re: [TUTORIAL] SOM DOS PASSOS e MOVIMENTO DA CAMERA
Poderia mandar um print do inspector!pf..
hellkiller- Mestre
- PONTOS : 4053
REPUTAÇÃO : 170
Áreas de atuação : Programação em C#,
Modelagem,
GameArt.
Respeito as regras :
jotascouts- Iniciante
- PONTOS : 3195
REPUTAÇÃO : 0
Respeito as regras :
Re: [TUTORIAL] SOM DOS PASSOS e MOVIMENTO DA CAMERA
O problema é que este script é feito para Unity 4 e o First Person Controller que vinha nela.
Na Unity 5, temos o FPSController
Este controlador da Unity 5 já vem com estar funcionalidades prontas em parte, más com variáveis restritar para o uso do antigo script
Na Unity 5, temos o FPSController
Este controlador da Unity 5 já vem com estar funcionalidades prontas em parte, más com variáveis restritar para o uso do antigo script
Re: [TUTORIAL] SOM DOS PASSOS e MOVIMENTO DA CAMERA
eu sei q ja vei com essa função só que é limitada, e o codigo ate funciona o problema q nao esta totalmente funcional eu quero saber como arrumar isso
jotascouts- Iniciante
- PONTOS : 3195
REPUTAÇÃO : 0
Respeito as regras :
Re: [TUTORIAL] SOM DOS PASSOS e MOVIMENTO DA CAMERA
Terei que fazer um tutorial específico para isto... tem que alterar MUITAAA coisa. Praticamente tem que refazer o script para se adequar corretamente ao FPSController da Unity 5
Re: [TUTORIAL] SOM DOS PASSOS e MOVIMENTO DA CAMERA
Olá Marcos, ótimo tutorial. Mt fodaaaa.
Tem tempo para fazer o script adaptado para o FPSController do Unity 5?
Agradeço se responder ^^.
Tem tempo para fazer o script adaptado para o FPSController do Unity 5?
Agradeço se responder ^^.
DavydMaker- Membro
- PONTOS : 3158
REPUTAÇÃO : 1
Idade : 24
Respeito as regras :
Re: [TUTORIAL] SOM DOS PASSOS e MOVIMENTO DA CAMERA
Ta anotado já, tenho uma listinha pendente da aba de urgência
-Profiler
-Character conseguir nadar
-Mapear área para instanciar objetos
-Espelhos
-Som dos passos na Unity 5
Tenho que seguir a ordem, más está anotado, e sairá em breve :D
-Profiler
-Character conseguir nadar
-Mapear área para instanciar objetos
-Espelhos
-Som dos passos na Unity 5
Tenho que seguir a ordem, más está anotado, e sairá em breve :D
Re: [TUTORIAL] SOM DOS PASSOS e MOVIMENTO DA CAMERA
Não se preocupe, já sei que vou ser ajudado. Está de bom grado.
Obrigado por responder :D.
Obrigado por responder :D.
DavydMaker- Membro
- PONTOS : 3158
REPUTAÇÃO : 1
Idade : 24
Respeito as regras :
Página 1 de 2 • 1, 2
Tópicos semelhantes
» [TUTORIAL] Movimento de camera em primeira pessoa e sons de passos ou HeadBob
» [TUTORIAL] Som Dos Passos no FPS Controller (PELA TAG DO CHÃO)
» [TUTORIAL] FPS Camera e movimento
» [TUTORIAL] Travar o movimento da Camera na UNITY 5
» Dúvida aplicando tutorial do Angry Birds em camera perspective e veiculo em movimento
» [TUTORIAL] Som Dos Passos no FPS Controller (PELA TAG DO CHÃO)
» [TUTORIAL] FPS Camera e movimento
» [TUTORIAL] Travar o movimento da Camera na UNITY 5
» Dúvida aplicando tutorial do Angry Birds em camera perspective e veiculo em movimento
Página 1 de 2
Permissões neste sub-fórum
Não podes responder a tópicos