[RESOLVIDO] Pegadas do Player no FirstPerson
2 participantes
SchultzGames :: UNITY 3D :: Resolvidos
Página 1 de 1
[RESOLVIDO] Pegadas do Player no FirstPerson
Aeee Blz?
to fazendo um Sisteminha Basico de Pegadas pro Jogador ,mas não to COnseguindo Sincronizar pras Pegadas Apontarem Sempre pra Frente do Jogador!
Meu Script:
Agradeço se Alguém puder me Ajudar!
to fazendo um Sisteminha Basico de Pegadas pro Jogador ,mas não to COnseguindo Sincronizar pras Pegadas Apontarem Sempre pra Frente do Jogador!
Meu Script:
- Código:
using UnityEngine;
using System.Collections;
public class Pegada_Player : MonoBehaviour {
public GameObject PegadaDir;
public GameObject PegadaEsq;
public int TempoEntrePegadas = 50;
public float AlturaPegada = 0.01f;
public int tempo = 0;
float Velocidade;
GameObject Jogador;
void Start () {
Jogador = GameObject.FindGameObjectWithTag ("Player");
}
void Update () {
Velocidade = Jogador.GetComponent<CharacterController> ().velocity.magnitude;
tempo += 1;
if (tempo >= TempoEntrePegadas+1) {
tempo = 0;
}
if (Velocidade >= 0.05f && tempo == TempoEntrePegadas) {
RaycastHit hit;
Ray ray = new Ray (transform.position, -transform.up);
if (Physics.Raycast (ray, out hit, 20)) {
if (hit.collider.tag == "Terrain") {
Instantiate (PegadaDir, hit.point + (hit.normal * AlturaPegada), Quaternion.FromToRotation (-Vector3.up, hit.normal));
}
}
}
if (Velocidade >= 0.05f && tempo == TempoEntrePegadas/2) {
RaycastHit hit;
Ray ray = new Ray (transform.position, -transform.up);
if (Physics.Raycast (ray, out hit, 20)) {
if (hit.collider.tag == "Terrain") {
Instantiate (PegadaEsq, hit.point + (hit.normal * AlturaPegada), Quaternion.FromToRotation (-Vector3.up, hit.normal));
}
}
}
}
}
Agradeço se Alguém puder me Ajudar!
Última edição por AndyShow em Sáb Out 01, 2016 10:51 am, editado 1 vez(es)
Re: [RESOLVIDO] Pegadas do Player no FirstPerson
tente isso
evite repetir código
- Código:
public GameObject PegadaDir;
public GameObject PegadaEsq;
public int TempoEntrePegadas = 50;
public float AlturaPegada = 0.01f;
public int tempo = 0;
float Velocidade;
GameObject Jogador;
void Start()
{
Jogador = GameObject.FindGameObjectWithTag("Player");
}
void Update()
{
Velocidade = Jogador.GetComponent<CharacterController>().velocity.magnitude;
tempo += 1;
if (tempo >= TempoEntrePegadas + 1)
{
tempo = 0;
}
if (Velocidade >= 0.05f && tempo == TempoEntrePegadas)
{
InstatiatePegada(PegadaDir);
}
if (Velocidade >= 0.05f && tempo == TempoEntrePegadas / 2)
{
InstatiatePegada(PegadaEsq);
}
}
void InstatiatePegada(GameObject pegada)
{
RaycastHit hit;
Ray ray = new Ray(transform.position, -transform.up);
if (Physics.Raycast(ray, out hit, 20))
{
if (hit.collider.tag == "Terrain")
{
GameObject new_pegada = Instantiate(pegada, hit.point + (hit.normal * AlturaPegada), Quaternion.FromToRotation(-Vector3.forward, hit.normal)) as GameObject;
new_pegada.transform.rotation = Quaternion.Euler(new_pegada.transform.eulerAngles.x, Jogador.transform.eulerAngles.y, new_pegada.transform.eulerAngles.z);
}
}
}
evite repetir código
Weslley- Moderador
- PONTOS : 5726
REPUTAÇÃO : 744
Idade : 26
Áreas de atuação : Inversión, Desarrollo, Juegos e Web
Respeito as regras :
Tópicos semelhantes
» [RESOLVIDO] Inimigo seguir o player
» [Resolvido]Problema com player e animação
» [RESOLVIDO] Player Sair Da animaçao
» [RESOLVIDO] spawnar o player selecionado
» [RESOLVIDO] Raycast que seque o player
» [Resolvido]Problema com player e animação
» [RESOLVIDO] Player Sair Da animaçao
» [RESOLVIDO] spawnar o player selecionado
» [RESOLVIDO] Raycast que seque o player
SchultzGames :: UNITY 3D :: Resolvidos
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos