Noticias

¡RECUERDA QUE SI ERES UN NUEVO USUARIO, DEBES PRESENTARTE PARA PODER PUBLICAR MENSAJES! | TENEMOS CANAL OFICIAL DE TELEGRAM: t.me/unity3dspain

Ayuda Museo Virtual

Iniciado por Danivr92, Agosto 15, 2016, 12:11:02 PM

Tema anterior - Siguiente tema
Agosto 15, 2016, 12:11:02 PM Ultima modificación: Enero 01, 1970, 01:00:00 AM por Danivr92
Buenas! Necesito ayuda sobre un par de cuestiones fundamentales para el proyecto de museo virtual que estoy realizando en Unity : 
 
1. ¿Cómo hacer que la flecha del mouse aparezca en la opción game de mi escena? ¿Tengo que crear un script nuevo y enlazarlo al FPSController?
 
2. Me gustaría que, en el modo game, pudiera pinchar sobre una obra de arte y que me saliera la información de dicha obra. Por ejemplo, que cuando pinche el cuadro de Las Meninas, por decir uno, me saliera una pequeña imagen con la información: autor, fecha, etc. 
 
Muchas gracias!!
 
En caso de no haberme explicado bien, decídmelo :) 

1.-Nunca lo he hecho asi que lo he mirado en google xD xD
 

var myCursor:Texture2D;
var cursorSizeX: int = 32;  
var cursorSizeY: int = 32;  
function Start(){
Screen.showCursor = false;
}
function OnGUI(){
    GUI.DrawTexture (Rect(Input.mousePosition.x-cursorSizeX/2, (Screen.height-Input.mousePosition.y)-cursorSizeY/2, cursorSizeX, cursorSizeY),myCursor);
}

 
Tambien tienes Cursor.SetCursor() ,para ir cambiando el aspecto.
 


 


 
2.-Con ScreenPointToRay, lanzas un raycast desde la posicion del mouse en la pantalla y compruebas el tag de la colision que te de si ha clicado en un cuadro recoges con getcomponent algun script que tengas asociado donde este la informacion del cuadro y que llame a una funcion que cambie el UI.Podrias ponerle al gameobject de la obra de arte un TriggerCollider para comprobar si el player esta cerca y entonces mostrar el puntero del raton.
 
 
 

if(input.MouseButtonDown(0)){
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
 RaycastHit hit;
 
 if(Physics.Raycast (ray, out hit))
 {
      if(hit.transform.name == "Cuadri")
      {
   Debug.Log ("Es un cuadro");
   ShowObjectUI(hit.GetComponent<CuadroStats>());
         
      }
      else {
          Debug.Log ("Otra cosa");                
      }
 }
 }

 
 

Etiquetas: