Personagem Entrar No Carro (Com Primeira Pessoa Sem Animaçao De Entrar Em C#)
5 participantes
Página 1 de 1
Personagem Entrar No Carro (Com Primeira Pessoa Sem Animaçao De Entrar Em C#)
Queria Que o Carro Padrao do Unity Entrasse No Carro Por enquanto Sem animaçao , que quando eu clicar E no carro a uma distancia ele entrasse em primeira pessoa
Claro em C# (Lembrando O carro padrão do Unity)
Claro em C# (Lembrando O carro padrão do Unity)
Eduardoro39- Avançado
- PONTOS : 3258
REPUTAÇÃO : 11
Idade : 24
Respeito as regras :
Re: Personagem Entrar No Carro (Com Primeira Pessoa Sem Animaçao De Entrar Em C#)
É Bem Facil em 1ª Pessoa, Coloca uma Camera que Vai Ser a Visão quando estiver Dentro do Carro, e Cria um Ponto de Saida do Veículo que é pra onde o Player Vai depois que Sair do Carro! Quando vc Apertar pra Entrar no Carro, vc Desativa o Player e a Camera Dele, e Ativa a Camera do Carro, e quando Apertar pra Sair do Carro, Desativa a Camera do Carro, Ativa o Player a Camera dele e da um Player.transform.Posicion = PontoDeSaida.transform.Posicion !
Re: Personagem Entrar No Carro (Com Primeira Pessoa Sem Animaçao De Entrar Em C#)
LINK
Vídeo do canal GamesIndie.
Madness- Designer
- PONTOS : 3610
REPUTAÇÃO : 222
Áreas de atuação : Designer
Iniciante C++
Quase um programador C#
Respeito as regras :
Re: Personagem Entrar No Carro (Com Primeira Pessoa Sem Animaçao De Entrar Em C#)
Valeu Consegui mais queria Uma distancia para funciona e que apareça na tela pra clicar a tecla
aqui o script se poderem me ajudar
aqui o script se poderem me ajudar
- Código:
using UnityEngine;
using System.Collections;
public class Car : MonoBehaviour {
public GameObject Objeto;
void Update()
{
if (Input.GetKeyDown("f"))
{
if (Objeto.gameObject.activeSelf == true)
{
Objeto.gameObject.SetActive(false);
}
else if (Objeto.gameObject.activeSelf == false)
{
Objeto.gameObject.SetActive(true);
}
}
}
}
Eduardoro39- Avançado
- PONTOS : 3258
REPUTAÇÃO : 11
Idade : 24
Respeito as regras :
Re: Personagem Entrar No Carro (Com Primeira Pessoa Sem Animaçao De Entrar Em C#)
Pra Distancia vc usa o
if(Vector3.Distance(PosicaoDoCarro.transform.Position,PosicaoDoJogador.transform.Position) < 5){ // 5 é a Distancia Minima
// Aqui faz pra Aparecer o GameObject texto e Dizer que vc pode Entrar no Carro
}
Só um Exemplo, mas é assim!
if(Vector3.Distance(PosicaoDoCarro.transform.Position,PosicaoDoJogador.transform.Position) < 5){ // 5 é a Distancia Minima
// Aqui faz pra Aparecer o GameObject texto e Dizer que vc pode Entrar no Carro
}
Só um Exemplo, mas é assim!
Re: Personagem Entrar No Carro (Com Primeira Pessoa Sem Animaçao De Entrar Em C#)
Ou da pra fazer com um sistema de raycast, o resultado seria mais interessante eu acho Se quiser saber mais sobre raycast, o Marcos já fez um vídeo explicando quase tudo sobre isso!
Madness- Designer
- PONTOS : 3610
REPUTAÇÃO : 222
Áreas de atuação : Designer
Iniciante C++
Quase um programador C#
Respeito as regras :
Re: Personagem Entrar No Carro (Com Primeira Pessoa Sem Animaçao De Entrar Em C#)
com um problema aqui deu um erro
Erro = http://prntscr.com/c5dc62
Erro = http://prntscr.com/c5dc62
- Código:
using UnityEngine;
using System.Collections;
public class Car : MonoBehaviour {
public GameObject PosicaoDoJogador;
public GameObject PosicaoDoCarro;
public GameObject Objeto;
void Update()
{
if (Vector3.Distance(PosicaoDoCarro.transform.position, PosicaoDoJogador.transform.position) < 5)
if (Input.GetKeyDown("f"))
{
if (Objeto.gameObject.activeSelf == true)
{
Objeto.gameObject.SetActive(false);
}
else if (Objeto.gameObject.activeSelf == false)
{
Objeto.gameObject.SetActive(true);
}
}
}
}
Eduardoro39- Avançado
- PONTOS : 3258
REPUTAÇÃO : 11
Idade : 24
Respeito as regras :
Re: Personagem Entrar No Carro (Com Primeira Pessoa Sem Animaçao De Entrar Em C#)
O erro ta dizendo que não foi atribuído um valor a variável "PosicaoDoCarro", acho que você se esqueceu de alguma coisa :roll:Eduardoro39 escreveu:com um problema aqui deu um erro
Erro = http://prntscr.com/c5dc62
- Código:
using UnityEngine;
using System.Collections;
public class Car : MonoBehaviour {
public GameObject PosicaoDoJogador;
public GameObject PosicaoDoCarro;
public GameObject Objeto;
void Update()
{
if (Vector3.Distance(PosicaoDoCarro.transform.position, PosicaoDoJogador.transform.position) < 5)
if (Input.GetKeyDown("f"))
{
if (Objeto.gameObject.activeSelf == true)
{
Objeto.gameObject.SetActive(false);
}
else if (Objeto.gameObject.activeSelf == false)
{
Objeto.gameObject.SetActive(true);
}
}
}
}
Madness- Designer
- PONTOS : 3610
REPUTAÇÃO : 222
Áreas de atuação : Designer
Iniciante C++
Quase um programador C#
Respeito as regras :
Re: Personagem Entrar No Carro (Com Primeira Pessoa Sem Animaçao De Entrar Em C#)
Não consegui descobrir o que é se vc souber me avise
Eduardoro39- Avançado
- PONTOS : 3258
REPUTAÇÃO : 11
Idade : 24
Respeito as regras :
Re: Personagem Entrar No Carro (Com Primeira Pessoa Sem Animaçao De Entrar Em C#)
O Erro Diz que vc não Linkou a Variavel "PosiçãoDoCarro" não jogou ela no Script!
mas o Script não tem erro, só esqueceu de Linkar no Inspector mesmo!
mas o Script não tem erro, só esqueceu de Linkar no Inspector mesmo!
Re: Personagem Entrar No Carro (Com Primeira Pessoa Sem Animaçao De Entrar Em C#)
AndyShow escreveu:O Erro Diz que vc não Linkou a Variavel "PosiçãoDoCarro" não jogou ela no Script!
mas o Script não tem erro, só esqueceu de Linkar no Inspector mesmo!
não consegui não entendi o que vice falou Se poderia mostrar
- Código:
using UnityEngine;
using System.Collections;
public class Car : MonoBehaviour {
public GameObject PosicaoDoJogador;
public GameObject PosicaoDoCarro;
public GameObject Objeto;
void Update()
{
if (Vector3.Distance(PosicaoDoCarro.transform.position, PosicaoDoJogador.transform.position) < 5)
if (Input.GetKeyDown("f"))
{
if (Objeto.gameObject.activeSelf == true)
{
Objeto.gameObject.SetActive(false);
}
else if (Objeto.gameObject.activeSelf == false)
{
Objeto.gameObject.SetActive(true);
}
}
}
}
Eduardoro39- Avançado
- PONTOS : 3258
REPUTAÇÃO : 11
Idade : 24
Respeito as regras :
Re: Personagem Entrar No Carro (Com Primeira Pessoa Sem Animaçao De Entrar Em C#)
Ué é simples, você deve linkar o objeto correspondente na variável PosiçãoDoCarro O.o
Não tem nada linkando nele, este é o erro!
Não tem nada linkando nele, este é o erro!
JohnRambo- Moderador
- PONTOS : 5172
REPUTAÇÃO : 661
Idade : 24
Áreas de atuação : Unity;
Programação;
Música e Sonorização;
Graduado em Análise e Desenvolvimento de Sistemas;
Respeito as regras :
Re: Personagem Entrar No Carro (Com Primeira Pessoa Sem Animaçao De Entrar Em C#)
Consegui mais achei um problema é que o player some e nao consigo mais sair do carro pq nao vejo ele sabe como fazer para sair do carro mesmo estando longe do player e o player sair do carro em um determinado local dulado do carro?John Rambo escreveu:Ué é simples, você deve linkar o objeto correspondente na variável PosiçãoDoCarro O.o
Não tem nada linkando nele, este é o erro!
Eduardoro39- Avançado
- PONTOS : 3258
REPUTAÇÃO : 11
Idade : 24
Respeito as regras :
Re: Personagem Entrar No Carro (Com Primeira Pessoa Sem Animaçao De Entrar Em C#)
Sim sei
Crie uma variável do tipo Transform, que será a posição de saída do carro, então crie um GameObject vazio e coloque do lado da porta do carro, que será o local de onde o player vai aparecer ao sair do carro, torne este GameObject filho do carro, linke este GameObject na variável Transform que você vai criar, e faça o que o AndyShow já disse: "e quando Apertar pra Sair do Carro, Desativa a Camera do Carro, Ativa o Player a Camera dele e da um Player.transform.Posicion = PontoDeSaida.transform.Posicion ! "
Crie uma variável do tipo Transform, que será a posição de saída do carro, então crie um GameObject vazio e coloque do lado da porta do carro, que será o local de onde o player vai aparecer ao sair do carro, torne este GameObject filho do carro, linke este GameObject na variável Transform que você vai criar, e faça o que o AndyShow já disse: "e quando Apertar pra Sair do Carro, Desativa a Camera do Carro, Ativa o Player a Camera dele e da um Player.transform.Posicion = PontoDeSaida.transform.Posicion ! "
JohnRambo- Moderador
- PONTOS : 5172
REPUTAÇÃO : 661
Idade : 24
Áreas de atuação : Unity;
Programação;
Música e Sonorização;
Graduado em Análise e Desenvolvimento de Sistemas;
Respeito as regras :
Re: Personagem Entrar No Carro (Com Primeira Pessoa Sem Animaçao De Entrar Em C#)
John Rambo escreveu:Sim sei
Crie uma variável do tipo Transform, que será a posição de saída do carro, então crie um GameObject vazio e coloque do lado da porta do carro, que será o local de onde o player vai aparecer ao sair do carro, torne este GameObject filho do carro, linke este GameObject na variável Transform que você vai criar, e faça o que o AndyShow já disse: "e quando Apertar pra Sair do Carro, Desativa a Camera do Carro, Ativa o Player a Camera dele e da um Player.transform.Posicion = PontoDeSaida.transform.Posicion ! "
- Código:
void OnPlayer() {
if (Input.GetKeyDown("f")) ;
if (Objeto.gameObject.activeSelf == false) ;
PosicaoDoJogador.transform.position = PontoDeSaida.transform.position;
}
}
Eduardoro39- Avançado
- PONTOS : 3258
REPUTAÇÃO : 11
Idade : 24
Respeito as regras :
Re: Personagem Entrar No Carro (Com Primeira Pessoa Sem Animaçao De Entrar Em C#)
Sim isso, mas ai tem um Segredinho, pra Dar Certo, vc tem que usar o :
Input.GetKeyUp("f")) pra Entrar, e o Input.GetKeyDown("f")) pra Sair,pq senão quando Entrar ele ja vai sair de Novo em Seguida!
Se For Ao Contrario quando vc Manter Pressionado ele Vai entrar mas Assim que Soltar a Tecla ele ja vai sair de novo!
Usando assim Como Descrevi a cima ele só Vai Entrar quando vc Soltar aTecla, e isso Evita dele Sair Sem vc Querer, ai ele só Sai quando Apertar a Tecla "f" Novamente!
Input.GetKeyUp("f")) pra Entrar, e o Input.GetKeyDown("f")) pra Sair,pq senão quando Entrar ele ja vai sair de Novo em Seguida!
Se For Ao Contrario quando vc Manter Pressionado ele Vai entrar mas Assim que Soltar a Tecla ele ja vai sair de novo!
Usando assim Como Descrevi a cima ele só Vai Entrar quando vc Soltar aTecla, e isso Evita dele Sair Sem vc Querer, ai ele só Sai quando Apertar a Tecla "f" Novamente!
Re: Personagem Entrar No Carro (Com Primeira Pessoa Sem Animaçao De Entrar Em C#)
Eu coloquei assim e parou de funcionar
- Código:
Input.GetKeyUp("f");
{
if (Objeto.gameObject.activeSelf == true)
{
Objeto.gameObject.SetActive(false);
}
else
Input.GetKeyDown("f");
if (Objeto.gameObject.activeSelf == false)
{
Objeto.gameObject.SetActive(true);
}
Eduardoro39- Avançado
- PONTOS : 3258
REPUTAÇÃO : 11
Idade : 24
Respeito as regras :
Re: Personagem Entrar No Carro (Com Primeira Pessoa Sem Animaçao De Entrar Em C#)
AndyShow escreveu:Sim isso, mas ai tem um Segredinho, pra Dar Certo, vc tem que usar o :
Input.GetKeyUp("f")) pra Entrar, e o Input.GetKeyDown("f")) pra Sair,pq senão quando Entrar ele ja vai sair de Novo em Seguida!
Se For Ao Contrario quando vc Manter Pressionado ele Vai entrar mas Assim que Soltar a Tecla ele ja vai sair de novo!
Usando assim Como Descrevi a cima ele só Vai Entrar quando vc Soltar aTecla, e isso Evita dele Sair Sem vc Querer, ai ele só Sai quando Apertar a Tecla "f" Novamente!
Como isto está ocorrendo? Por que tipo, o GetKeyDown só é chamado 1 vez no loop, e o press dele só é computado quando o Up acontece...
Geralmente eu deixo alguma variável verdadeira ou falsa com o pressionar do "GetKeyDown", isto facilita muito. faço tipo um script de lanterna.
Re: Personagem Entrar No Carro (Com Primeira Pessoa Sem Animaçao De Entrar Em C#)
MarcosSchultz escreveu:AndyShow escreveu:Sim isso, mas ai tem um Segredinho, pra Dar Certo, vc tem que usar o :
Input.GetKeyUp("f")) pra Entrar, e o Input.GetKeyDown("f")) pra Sair,pq senão quando Entrar ele ja vai sair de Novo em Seguida!
Se For Ao Contrario quando vc Manter Pressionado ele Vai entrar mas Assim que Soltar a Tecla ele ja vai sair de novo!
Usando assim Como Descrevi a cima ele só Vai Entrar quando vc Soltar aTecla, e isso Evita dele Sair Sem vc Querer, ai ele só Sai quando Apertar a Tecla "f" Novamente!
Como isto está ocorrendo? Por que tipo, o GetKeyDown só é chamado 1 vez no loop, e o press dele só é computado quando o Up acontece...
Geralmente eu deixo alguma variável verdadeira ou falsa com o pressionar do "GetKeyDown", isto facilita muito. faço tipo um script de lanterna.
Exatamente Quando Pressiona a Tecla "KeyDown" não Acontece Nada se vc Estiver Fora do Carro,assim Que Solta "KeyUp" Ele Entra, ai só Vai Sair Novamente quando Pressionar "KeyDown" Economiza uma Boleana no Script! e Funciona do mesmo Jeito! Unica Diferença que ele Só Vai Entrar quando Soltar a Tecla!
Se For ao Contrário Quando Pressionar "KeyDown" Ele Entra no Carro mas Assim que Soltar a mesma Tecla "KeyUp" Ele Sai novamente do Carro! ai pra Não Usar Boleana Faço Assim!
Bom nos Meus Jogos Funciona Perfeitamente!
Re: Personagem Entrar No Carro (Com Primeira Pessoa Sem Animaçao De Entrar Em C#)
Eduardoro39 escreveu:Eu coloquei assim e parou de funcionar
- Código:
Input.GetKeyUp("f");
{
if (Objeto.gameObject.activeSelf == true)
{
Objeto.gameObject.SetActive(false);
}
else
Input.GetKeyDown("f");
if (Objeto.gameObject.activeSelf == false)
{
Objeto.gameObject.SetActive(true);
}
Porque Está usando o if(Objeto.gameObject.activeSelf ??
Com isso Não Vai dar Certo pq quando vc Solta a Tecla "KeyUp" ele ta Ficando "False" ai o If vai Sempre Detectar como "False" só Vai Estar "true"
QUando Pressionar a Tecla "KeyDown" mas assim que Soltar pra Entrar "False" DE NOVO!
ou faz uma Boleana como o Marcos Falou!
Ou Faz como Eu no Começo, Trigger na porta do Carro e "OnTriggerEnter" pronto ta no Carro, depois Uma "Tecla" pra sair!
mas nos meus Jogos Funciona tudo Certinho da Maneira que Eu Tentei te Explicar!
Tópicos semelhantes
» Animação em primeira pessoa
» Joystick de movimento de rotação de camera do personagem em primeira pessoa
» [TUTORIAL] Controle de personagem em primeira pessoa + pulo para android!
» Como Fazer o personagem entrar em um Carro
» [RESOLVIDO] Como faço para o personagem entrar e sair do carro?
» Joystick de movimento de rotação de camera do personagem em primeira pessoa
» [TUTORIAL] Controle de personagem em primeira pessoa + pulo para android!
» Como Fazer o personagem entrar em um Carro
» [RESOLVIDO] Como faço para o personagem entrar e sair do carro?
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos