Como Abrir Porta do Carro (Capo,PortaMalas, Portas) Mirando Nelas
2 participantes
Página 1 de 1
Como Abrir Porta do Carro (Capo,PortaMalas, Portas) Mirando Nelas
Ola, estou precisando de Ajuda para Criar um sistema em que eu coloco a "mira" na tranca e Aperto Alguns Bototes "E"
e a porta abre o mesmo com o portamalas
"Ai voce pode falar mais isso e simples cria um collider e coloca ele en trigger" ........
nao nao e isso
e a porta abre o mesmo com o portamalas
"Ai voce pode falar mais isso e simples cria um collider e coloca ele en trigger" ........
nao nao e isso
EricknhYT- Avançado
- PONTOS : 2046
REPUTAÇÃO : 8
Idade : 20
Áreas de atuação : Programando Patrulha Ostensiva - Msc Studios
Respeito as regras :
Re: Como Abrir Porta do Carro (Capo,PortaMalas, Portas) Mirando Nelas
opa fiz isso recentemente, primeiramente:
1- não me baseei em nenhum tutorial, fiz usando os conhecimentos que tinha a disposição, então não sei se é a melhor forma de se fazer.
Como funciona:
Primeiramente Vamos Aos Objetos existentes na Cena:
1- Player: Possui um Script Que cuida da movimentação e interação
2- Porta: Possui 2 Scripts (Interagivel e Porta) e possui um Collider com tag: interagivel
Agora uma explicação extra sobre a porta:
Essa porta ela são uns 3 GameObjects
-Batente Da porta
-PivotDeRotação(o Collider Fica nesse aqui, foi posicionado na Macaneta é um box collider, assim como os 2 Scripts)
-Porta
Como Funciona:
1- Player: Aperta Botão > é Criado um RayCast na Direção Forward Apartir da câmera.
2- Se o Raycast Colidir com um GameObject Com Tag Intergivel Então: Executar UnityEvent Interagir do Script Interagivel do GameObject Colidido.
Agora uma Explicação sobre os Scripts:
Interagivel:
Esse Script é bem pequeno e simples
para saber mais:
https://docs.unity3d.com/ScriptReference/Events.UnityEvent.html
Porta:
O Script Porta vai ter um Método AbreFecha() que val ser colocado no UnityEvent do Script Interagivel
esse metodo vai cuidar de Alternar o Estado da porta
Outra Coisa a se Levar Em Conta:
Não sei se viu todo meu video, mas quase tudo nele usa o Script Interagivel, e juntamente com Ele um Script Próprio, fiz ele pensando em ser Multiuso.
O Telefone Usa o Interagivel e um Script Telefone
O Interruptor Sambem alem de um Script Interruptor
A Tv também...
Só os Itens que não eu Criei um Script Multiuso Item para eles... mas segue a Mesma Logica Usando o UnityEvent
1- não me baseei em nenhum tutorial, fiz usando os conhecimentos que tinha a disposição, então não sei se é a melhor forma de se fazer.
Como funciona:
Primeiramente Vamos Aos Objetos existentes na Cena:
1- Player: Possui um Script Que cuida da movimentação e interação
2- Porta: Possui 2 Scripts (Interagivel e Porta) e possui um Collider com tag: interagivel
Agora uma explicação extra sobre a porta:
Essa porta ela são uns 3 GameObjects
-Batente Da porta
-PivotDeRotação(o Collider Fica nesse aqui, foi posicionado na Macaneta é um box collider, assim como os 2 Scripts)
-Porta
Como Funciona:
1- Player: Aperta Botão > é Criado um RayCast na Direção Forward Apartir da câmera.
2- Se o Raycast Colidir com um GameObject Com Tag Intergivel Então: Executar UnityEvent Interagir do Script Interagivel do GameObject Colidido.
- Código:
if (Input.GetKeyDown(KeyCode.Mouse0))
{
RaycastHit hit;
string tag = "";
if(Physics.Raycast(mainCam.transform.position,mainCam.transform.forward, out hit, 6f))
{
tag = hit.transform.tag;
if (tag.Equals("Interagivel")) //interagir {
hit.collider.transform.gameObject.GetComponent<Interagivel().interagir.Invoke();
}
Agora uma Explicação sobre os Scripts:
Interagivel:
Esse Script é bem pequeno e simples
- Código:
public class Interagivel : MonoBehaviour
{
public string Nome;
public string acao;
public UnityEvent interagir;
}
para saber mais:
https://docs.unity3d.com/ScriptReference/Events.UnityEvent.html
Porta:
O Script Porta vai ter um Método AbreFecha() que val ser colocado no UnityEvent do Script Interagivel
esse metodo vai cuidar de Alternar o Estado da porta
Outra Coisa a se Levar Em Conta:
Não sei se viu todo meu video, mas quase tudo nele usa o Script Interagivel, e juntamente com Ele um Script Próprio, fiz ele pensando em ser Multiuso.
O Telefone Usa o Interagivel e um Script Telefone
O Interruptor Sambem alem de um Script Interruptor
A Tv também...
Só os Itens que não eu Criei um Script Multiuso Item para eles... mas segue a Mesma Logica Usando o UnityEvent
- Como funciona aquela UI que aparece o nome do Item para qual esta apontando:
é um Raycast que é chamado Periodicamente eu usei um InvokeRepeating, tambem poderia usar um Update, mas não achei necessário
quando esse Raycast Colide em um item ou um Interagivel:
caso Item ele pega o nome do item (Script Item)
caso Interagivel ele pega a acao (Scrip Interagivel)
e tem um tipo de hierarquia
senão tiver apontando para nada e tiver algo equipado ele pega a acao do item equipado (Script Item)
mesmo que esteja segurando e apontar para algo ele pega a ação ou nome do obj apontado
Tópicos semelhantes
» Galera como que faz para abrir a porta do onibus???
» ABRIR PORTAS DO CARRO!
» ABRIR E FECHAR PORTAS DO CARRO
» Como abrir portas/gavetas com click do mouse, usando raycast!
» COMO FAZER A PORTA ABRIR SÓ EMPURRANDO ELA COM O PLAYER?
» ABRIR PORTAS DO CARRO!
» ABRIR E FECHAR PORTAS DO CARRO
» Como abrir portas/gavetas com click do mouse, usando raycast!
» COMO FAZER A PORTA ABRIR SÓ EMPURRANDO ELA COM O PLAYER?
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos