Fazer personagem descer uma tirolesa
2 participantes
Página 1 de 1
Fazer personagem descer uma tirolesa
Bom dia,esse é meu primeiro post e já tem 4 dúvidas. Eu estou com um problema em meu projeto que resolvi parcialmente, mas de uma forma que acho não ser a correta, a personagem tem que descer uma tirolesa, então criei um trigger com uma tag e ao colidir na tag entra a animação, mas não conseguia sincronizar sem falar que a personagem morria ao final do percurso, eu fiz ela se alinhar ao objeto mas não consegui fazer ela seguir a animação da tirolesa,usei esse código:
transform.eulerAngles = new Vector3(this.transform.eulerAngles.x, tiroleza.transform.eulerAngles.y+90, transform.eulerAngles.z);
transform.position = new Vector3(this.transform.position.x, tiroleza.transform.position.y , transform.position.z);
Então criei a animação da personagem descendo, houve alguns problemas de animação que resolvi fazendo ela subir ao invés de descer e funcionou, não sei pq inverteu, mas enfim a duvida seria como posso fazer a personagem pendurar e descer sem precisar da animação??( Falo a animação dela descendo todo o trajeto) Gostaria de fazer ela tipo linkar no objeto e no fim do percurso deslincar. Se alguém tiver uma dica agradeceria.
Outras duas duvidas estão relacionadas com a animação, a personagem tem muitas animações e algumas se comportam de uma maneira que parece não respeitar a gravidade, um exemplo é quando corre e ao parar entra a animação de parar de correr, se caso vc estiver correndo e for cair enquanto corre ela cai, mas ao entrar a animação de parar de correr ela fica parada no ar tipo desenho animado, acabando a animação ela continua a queda. Outra duvida seria como posso movimentar os braços dela quando esta armada para cima e para baixo, eu consegui mudando o nome dos bones, mas isso retira a animação, como posso fazer ela movimentar os braços normal nas outras animações e quando se arma eu ter controle devolvendo o controle da animação quando não estiver armada. Agradeço desde já.
Outra duvida seria com Linecast, em meu cenário existem muitos lugares onde não reconhece o chão, pq acontece isso? E como posso resolver?
Um adendo aqui para agradecer ao Marcos Shultz pela grande ajuda com seus videos tutoriais.
transform.eulerAngles = new Vector3(this.transform.eulerAngles.x, tiroleza.transform.eulerAngles.y+90, transform.eulerAngles.z);
transform.position = new Vector3(this.transform.position.x, tiroleza.transform.position.y , transform.position.z);
Então criei a animação da personagem descendo, houve alguns problemas de animação que resolvi fazendo ela subir ao invés de descer e funcionou, não sei pq inverteu, mas enfim a duvida seria como posso fazer a personagem pendurar e descer sem precisar da animação??( Falo a animação dela descendo todo o trajeto) Gostaria de fazer ela tipo linkar no objeto e no fim do percurso deslincar. Se alguém tiver uma dica agradeceria.
Outras duas duvidas estão relacionadas com a animação, a personagem tem muitas animações e algumas se comportam de uma maneira que parece não respeitar a gravidade, um exemplo é quando corre e ao parar entra a animação de parar de correr, se caso vc estiver correndo e for cair enquanto corre ela cai, mas ao entrar a animação de parar de correr ela fica parada no ar tipo desenho animado, acabando a animação ela continua a queda. Outra duvida seria como posso movimentar os braços dela quando esta armada para cima e para baixo, eu consegui mudando o nome dos bones, mas isso retira a animação, como posso fazer ela movimentar os braços normal nas outras animações e quando se arma eu ter controle devolvendo o controle da animação quando não estiver armada. Agradeço desde já.
Outra duvida seria com Linecast, em meu cenário existem muitos lugares onde não reconhece o chão, pq acontece isso? E como posso resolver?
Um adendo aqui para agradecer ao Marcos Shultz pela grande ajuda com seus videos tutoriais.
SergioDB- Membro
- PONTOS : 2132
REPUTAÇÃO : 10
Respeito as regras :
Re: Fazer personagem descer uma tirolesa
Então, para fazer o personagem 'descer uma tirolesa' tem alguns passos a se seguir. O primeiro seria desativar o script de controle de movimento do personagem, pois este código geralmente faz o personagem atuar no eixo Y (cair por causa da gravidade ou pular) e isto não é muito interessante, então o código deve ser desativado e o Rigidbody deve ter a sua gravidade desativada.
Depois disso, bastaria fazer um Vector3.MoveTowards na posição da tirolesa.
Depois disso, bastaria fazer um Vector3.MoveTowards na posição da tirolesa.
Re: Fazer personagem descer uma tirolesa
Eu fiz isso desativei os movimentos do script, desativei a gravidade mas mesmo assim a personagem acaba indo em direção ao solo e morre, eu acabei resolvendo com animação mesmo, coloquei objetos de colisão que se ativam ao entrar a animação dela e ao chegar no destino desativam, resolveu o problema mas não esta certo queria fazer da maneira correta, tentei postar uma imagem aqui mas não consegui.
SergioDB- Membro
- PONTOS : 2132
REPUTAÇÃO : 10
Respeito as regras :
Re: Fazer personagem descer uma tirolesa
SergioDB escreveu:Eu fiz isso desativei os movimentos do script, desativei a gravidade mas mesmo assim a personagem acaba indo em direção ao solo e morre, eu acabei resolvendo com animação mesmo, coloquei objetos de colisão que se ativam ao entrar a animação dela e ao chegar no destino desativam, resolveu o problema mas não esta certo queria fazer da maneira correta, tentei postar uma imagem aqui mas não consegui.
Se o personagem está caindo é por que algumas coisa está causando "gravidade" nele... Ou o Rigidbody está com a gravidade ativada, ou, se você está usando characterController, tem algum código ativo fazendo um move.y nele.
Re: Fazer personagem descer uma tirolesa
Ela não esta caindo mais depois de desativado a gravidade, mas segue reto e no final ela morre, consegui descobrir a maneira dela não morrer mas o problema de sincronizar ela a tirolesa não esta dando certo ela não segue a tirolesa a sim em linha reta, pode ser que seja por ter animado a tirolesa no 3Dstudio, apesar que o pivot dela (tirolesa) segue a posição da tirolesa, só a personagem que não.
Marcos aproveitando suas respostas eu gostaria de pedir a vc um favor, vc tem alguma video aula ou um exemplo de script para localRotate? estou precisando movimentar o braço da personagem para cima e para baixo para mudar a mira, estou usando o seu script atirar, fiz algumas modificações nele pois é para personagem em 3º pessoa, mas esta agindo estranho o laser, vou ver se fixo a mira em linha reta e movimento o braço dela, eu consegui mexer o braço dela usando uma aula sua de girar objeto pela posição do mouse, mas o que preciso é movimento curto com limite, o que não ocorre usando seu exemplo pois não é para esse tipo de funcionalidade. Obrigado!!
Marcos aproveitando suas respostas eu gostaria de pedir a vc um favor, vc tem alguma video aula ou um exemplo de script para localRotate? estou precisando movimentar o braço da personagem para cima e para baixo para mudar a mira, estou usando o seu script atirar, fiz algumas modificações nele pois é para personagem em 3º pessoa, mas esta agindo estranho o laser, vou ver se fixo a mira em linha reta e movimento o braço dela, eu consegui mexer o braço dela usando uma aula sua de girar objeto pela posição do mouse, mas o que preciso é movimento curto com limite, o que não ocorre usando seu exemplo pois não é para esse tipo de funcionalidade. Obrigado!!
SergioDB- Membro
- PONTOS : 2132
REPUTAÇÃO : 10
Respeito as regras :
Re: Fazer personagem descer uma tirolesa
SergioDB escreveu:Ela não esta caindo mais depois de desativado a gravidade, mas segue reto e no final ela morre, consegui descobrir a maneira dela não morrer mas o problema de sincronizar ela a tirolesa não esta dando certo ela não segue a tirolesa a sim em linha reta, pode ser que seja por ter animado a tirolesa no 3Dstudio, apesar que o pivot dela (tirolesa) segue a posição da tirolesa, só a personagem que não.
Marcos aproveitando suas respostas eu gostaria de pedir a vc um favor, vc tem alguma video aula ou um exemplo de script para localRotate? estou precisando movimentar o braço da personagem para cima e para baixo para mudar a mira, estou usando o seu script atirar, fiz algumas modificações nele pois é para personagem em 3º pessoa, mas esta agindo estranho o laser, vou ver se fixo a mira em linha reta e movimento o braço dela, eu consegui mexer o braço dela usando uma aula sua de girar objeto pela posição do mouse, mas o que preciso é movimento curto com limite, o que não ocorre usando seu exemplo pois não é para esse tipo de funcionalidade. Obrigado!!
Tenho vários tutoriais sobre localRotation, principalmente sobre quaternions, mas sempre depende da hierarquia e de qual eixo você está tentando rotacionar.
O eixo X geralmente buga nas rotações locais... tente ajustar o pivot para girar sempre no eixo Z. Além disso, tente trabalhar com somas de angulos, por exemplo:
- Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Teste : MonoBehaviour {
public GameObject objeto;
public float angulo = 10;
Vector3 startEulerAngles;
void Start () {
startEulerAngles = objeto.transform.localEulerAngles;
}
void Update () {
objeto.transform.localEulerAngles = new Vector3 (startEulerAngles.x, startEulerAngles.y, startEulerAngles.z + angulo);
}
}
Re: Fazer personagem descer uma tirolesa
Obrigado por sua resposta, eu vou tentar seu exemplo para ver se consigo limitar o movimento do braço, com o exemplo anterior eu fiz ela mexer o braço mas não tinha limite e ele girava conforme movia o mouse, eu consegui mover somente em dois eixos mas não consegui fazer ter limite de ângulo, então seu exemplo tem tudo para me ajudar resolver o problema. Muito obrigado.
SergioDB- Membro
- PONTOS : 2132
REPUTAÇÃO : 10
Respeito as regras :
Tópicos semelhantes
» Não consigo fazer o box collider descer junto com o personagem.
» Como fazer o personagem me atacar e fazer o personagem morrer??
» Alguém poderia fazer uma aula de como criar um sistema de fazer o personagem trocar de equipamento?
» fazer o player perde vida e sua barra de vida descer conforme o dano
» Fazer o personagem atirar
» Como fazer o personagem me atacar e fazer o personagem morrer??
» Alguém poderia fazer uma aula de como criar um sistema de fazer o personagem trocar de equipamento?
» fazer o player perde vida e sua barra de vida descer conforme o dano
» Fazer o personagem atirar
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos