Noticias

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

texto de frente a la camara

Iniciado por rogerdv, Noviembre 11, 2015, 05:48:24 PM

Tema anterior - Siguiente tema
Estoy implementando un texto flotante sobre los personajes, ya he conseguido poner un canvas en el gameobject del mismo, agregarle el texto en el momento necesario y eliminarlo unos segundos despues. Sin embargo, no consigo que el texto quede siempre de frente a la camara. Las soluciones que he encontrado casi siempre hablan de usar LookAt en el transform del texto para que mire a la camara, pero esto no me funciono.  Este es el codigo basico que instancia el texto:
var prefab = Resources.Load("FloatingText") as GameObject;
var t = Instantiate (prefab) as GameObject;
RectTransform r = t.GetComponent<RectTransform> ();
t.transform.SetParent (gameObject.transform.FindChild ("MyCanvas"));
r.transform.localPosition = prefab.transform.localPosition;
r.transform.localScale = prefab.transform.localScale;
r.transform.localRotation = prefab.transform.localRotation;
t.GetComponent<Text>().text = "I have a cast for a real game next week";
Destroy (t, 3);
Cualqueir idea para mejorarlo es bienvenida.

http://dsgp.blogspot.com">Divagaciones sobre programación y juegos



Noviembre 11, 2015, 05:55:24 PM #1 Ultima modificación: Noviembre 12, 2015, 02:28:31 PM por iRobb
Cuando dices "poner un canvas en el gameobject"? Cuántos canvas tienes y de donde cuelgan?

Noviembre 11, 2015, 10:58:58 PM #2 Ultima modificación: Noviembre 11, 2015, 11:00:43 PM por juanma_teso
Te dejo un http://wiki.unity3d.com/index.php?title=ObjectLabel">enlace a un script que hace la mítica barra de vida encima del objeto, puede puedas modificar un poco para usar un Text y cambiar su posición en el Canvas según la posición del objeto.

Acordaos siempre de implementar una pequeña rutina que compruebe si ya existen canvas o paneles en la escena, para que no los duplique.Sólo es añadir 3 IF's bien puestos, no os cuesta nada...

Disculpen al demora, es que el sitio no me dejaba entrar (como siempre). TEngo varios canvas, uno es el "global" que es donde va el UI del juego. Para cada personaje tengo un child canvas, que utilizaria para los textos flotantes.

http://dsgp.blogspot.com">Divagaciones sobre programación y juegos



Me lo imaginaba. Porqué tantos canvas? Con uno en tu caso sería suficiente a menos que no lo hayas explicado todo. De aquí tienes tu problema con la cámara.

Enlace de descarga: http://www.speedyshare.com/Fjk32/textoui.unitypackageYo he utilizado un único Canvas para todos los textos con el mismo 'Order in Layer'. Luego mediante script aplico la posicion y la rotacion. El Canvas esta en modo Render: World Space, y con una escala de 0.02 en el RectTransform. Mueve y rota la cámara para ver el texto desde diferentes posiciones.

Cita de: iRobb date=1447344688" data-ipsquote="" data-cite="iRobb" class="ipsQuoteMe lo imaginaba. Porqué tantos canvas? Con uno en tu caso sería suficiente a menos que no lo hayas explicado todo. De aquí tienes tu problema con la cámara.
Es que así era el tutorial. Había intentado anteriormente colgar el texto directo del gameobject y no funcionaba, tampoco lo conseguí usando un Text3d.

http://dsgp.blogspot.com">Divagaciones sobre programación y juegos



Etiquetas: