Como faço pra interagir com objeto ao olhar pra ele?
2 participantes
Página 1 de 1
Como faço pra interagir com objeto ao olhar pra ele?
Bom dia,
Atualmente no meu jogo, a interação com os objetos é feito por proximidade. Como faço pra eu poder interagir com um objeto apenas quando eu olhar pra ele( Usando o FirstPerson Prefab)? Tou com dificuldade de programar essa parte
Script que uso pra visualizar objetos mais de perto:
Atualmente no meu jogo, a interação com os objetos é feito por proximidade. Como faço pra eu poder interagir com um objeto apenas quando eu olhar pra ele( Usando o FirstPerson Prefab)? Tou com dificuldade de programar essa parte
Script que uso pra visualizar objetos mais de perto:
- Código:
using System.Collections;
using System.Collections.Generic;
using System.Globalization;
using System.Reflection;
using UnityEngine;
using UnityEngine.UI;
using UnityStandardAssets.Characters.FirstPerson;
[RequireComponent(typeof(AudioSource))]
public class VisualizadorObj : MonoBehaviour
{
public Transform jogador;
public float distanciaMinima = 2;
public GameObject PlayerScript;
public GameObject desfoqueFundo;
public GameObject cameraGiradora;
public GameObject objetoVisualizar;
float distancia;
bool visualizacaoAtiva;
public Text infoAtivar, infoVoltar;
public Image picAtivar, picvoltar;
void Start()
{
PlayerScript.GetComponent<FirstPersonController>().enabled = true;
desfoqueFundo.SetActive(false);
cameraGiradora.SetActive(false);
objetoVisualizar.SetActive(false);
infoAtivar.enabled = false;
picAtivar.enabled = false;
infoVoltar.enabled = false;
picvoltar.enabled = false;
visualizacaoAtiva = false;
}
void Update()
{
infoAtivar.enabled = false;
picAtivar.enabled = false;
infoVoltar.enabled = false;
picvoltar.enabled = false;
if (jogador)
{
distancia = Vector3.Distance(transform.position, jogador.transform.position);
if (distancia < distanciaMinima)
{
if (Input.GetKeyDown(KeyCode.E) && visualizacaoAtiva==false)
{
visualizacaoAtiva = true;
}
if (Input.GetKeyDown(KeyCode.Escape) && visualizacaoAtiva==true)
{
visualizacaoAtiva = false;
}
if(visualizacaoAtiva == true)
{
PlayerScript.GetComponent<FirstPersonController>().enabled = false;
desfoqueFundo.SetActive(true);
cameraGiradora.SetActive(true);
objetoVisualizar.SetActive(true);
infoAtivar.enabled = false;
picAtivar.enabled = false;
infoVoltar.enabled = true;
picvoltar.enabled = true;
Cursor.visible = true;
Cursor.lockState = CursorLockMode.None;
}
if(visualizacaoAtiva == false)
{
PlayerScript.GetComponent<FirstPersonController>().enabled = true;
desfoqueFundo.SetActive(false);
cameraGiradora.SetActive(false);
objetoVisualizar.SetActive(false);
infoAtivar.enabled = true;
picAtivar.enabled = true;
infoVoltar.enabled = false;
picvoltar.enabled = false;
Cursor.visible = false;
Cursor.lockState = CursorLockMode.Locked;
}
}
}
}
}
Stolenedu094- Iniciante
- PONTOS : 2996
REPUTAÇÃO : 2
Idade : 24
Respeito as regras :
Re: Como faço pra interagir com objeto ao olhar pra ele?
Tente usar um Raycast.
https://docs.unity3d.com/ScriptReference/Physics.Raycast.html
OBS: Há um video do Marcos no Youtube ensinado como usa-lo.
https://docs.unity3d.com/ScriptReference/Physics.Raycast.html
OBS: Há um video do Marcos no Youtube ensinado como usa-lo.
Magnatah- Instrutor
- PONTOS : 3548
REPUTAÇÃO : 209
Idade : 24
Áreas de atuação : Dєรєиvσlvєdσя Wєb(Fяσит-єиd), Blєиdєя, υиiтy, C#, ρнρ є Jαvαรcяiρт.
Respeito as regras :
Tópicos semelhantes
» Como eu faço pra poder interagir apenas uma vez com um objeto de luz?
» Como fazer para interagir um objeto com um outro objeto [Estilo Granny]
» Como faço para o código funcionar só em um objeto?
» Como que faço para rotacionar um objeto na posição do player como o cenario
» Como faço para mover um objeto?
» Como fazer para interagir um objeto com um outro objeto [Estilo Granny]
» Como faço para o código funcionar só em um objeto?
» Como que faço para rotacionar um objeto na posição do player como o cenario
» Como faço para mover um objeto?
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos