Noticias

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

[ASSET] InGameInternet

Iniciado por Jose134, Julio 06, 2016, 01:30:13 PM

Tema anterior - Siguiente tema
Hola, en un descanso de hacer mi GameEngine (el cual va lentamente avanzando)he hecho este pequeño asset el cual permite añadir "tu propia version de internet" al juego (como el internet de los GTA 4 y 5).
 
 
 
Es muy sencillo de usar, simplemente creas un panel, le añades el script Browser, dentro del panel añades un TextField llamado UrlBar y configuras los scripts WebDB (para almacenar todas las webs) y Browser (solo hay que añadir la pagina de inicio).
 
Luego para poder buscar webs añade un boton y en los eventos llamas a Browser.SearchFor() y para ir a la pagina de inicio otro boton que llame a Browser.Home(), de todos modos en la escena de prueba esta todo bien configurado y si teneis alguna duda lo podeis mirar ahi.
 

 
 
 
ENLACE: https://mega.nz/#!DoI2SIgQ!eoB9gdf2FgZ1-Fc3fTxCNNKxsxT92VgEQwa-BrcZIow

Sería interesante si el navegador simulado, se proyectara sobre una textura. Por ejemplo que se pudiera controlar dentro de la pantalla de un ordenador en 3D, es un pelín complicado pero se puede hacer. Un poco mas difícil seria intercalar imágenes entre el texto proyectado. Eso ya son muchos cálculos adicionales.

Cita de: Miguel_Angel date=1467817824Sería interesante si el navegador simulado, se proyectara sobre una textura. Por ejemplo que se pudiera controlar dentro de la pantalla de un ordenador en 3D, es un pelín complicado pero se puede hacer. Un poco mas difícil seria intercalar imágenes entre el texto proyectado. Eso ya son muchos cálculos adicionales.
   


Es una idea muy interesante, queda anotada ;)

Cita de: Miguel_Angel date=1467817824Sería interesante si el navegador simulado, se proyectara sobre una textura. Por ejemplo que se pudiera controlar dentro de la pantalla de un ordenador en 3D, es un pelín complicado pero se puede hacer. Un poco mas difícil seria intercalar imágenes entre el texto proyectado. Eso ya son muchos cálculos adicionales.
   


se me ocurre que navegador este fuera de la camara principal, ya sea que no se rendee por culling o siemplemente por el angulo no se vea, y que atravez de texture rendering proyectes otra camara (la camara que vea el navegador) en esa textura, algo parecido hice con el mapa de mi juego, que lo proyecto en la "pantalla" de una tablet
 

Entiendo que eso se puede hacer con la versión personal, que no hace falta la profesional, los textos de la tableta se tendrían que poder seleccionar con el ratón, se tendrían que poder proyectar varias pantallas al mismo tiempo en diferentes partes de la escena y todas tendrían que ser visibles. El contenido de las pantallas seria dinámico y en ocasiones estarían moviéndose mientras cambia su contenido.
 
Algunas pantallas hasta ocho al a vez estarían en paredes proyectando contenidos en tiempo real. Todos diferentes. El impacto sobre el rendimiento tendría que ser cero.
 
Lo que has echo con la tablea es interesante. Pero solo se ve una imagen estática. Prueba con ocho pantallas a la vez.
 
Proyectar lo que ve una cámara sobre una textura ya lo he hecho alguna vez, pero se consume mucho proceso. Lo ideal es que pudieran proyectar 100 pantallas a la vez sin consumo de proceso.

Cita de: Miguel_Angel date=1468336765Entiendo que eso se puede hacer con la versión personal, que no hace falta la profesional, los textos de la tableta se tendrían que poder seleccionar con el ratón, se tendrían que poder proyectar varias pantallas al mismo tiempo en diferentes partes de la escena y todas tendrían que ser visibles. El contenido de las pantallas seria dinámico y en ocasiones estarían moviéndose mientras cambia su contenido.
   
   
      Algunas pantallas hasta ocho al a vez estarían en paredes proyectando contenidos en tiempo real. Todos diferentes. El impacto sobre el rendimiento tendría que ser cero.
   
   
      Lo que has echo con la tablea es interesante. Pero solo se ve una imagen estática. Prueba con ocho pantallas a la vez.
   
   
      Proyectar lo que ve una cámara sobre una textura ya lo he hecho alguna vez, pero se consume mucho proceso. Lo ideal es que pudieran proyectar 100 pantallas a la vez sin consumo de proceso.
   


la pregunta del millon de dolares es: ¿Por que deberia tener 100 texture rendering al mismo tiempo? si lo dice como para llenar una sala de com*** con 100 terminales, no creo que sea necesario que tengan en primera instancia un texture render, podrias simular las pantallas con una textura animada de baja resolucion y cuando el jugador interactue con un equipo podrias reemplazar el gameobject de la textura animada por el texture rendering.
 
en videojuegos a veces es mala idea pensar en grandes numeros...

No hace falta cien pantallas, solo es un ejemplo de rendimiento. Si quisiera poner 100 pantallas no se tendría que notar en el rendimiento. Solo quería saber las alternativas. De todas formas es un dilema que ya tengo resuelto hace muchos años.

Todo depende de a quien le preguntes, algunos te diran que pongas menos pantallas, otros daran alguna idea como la de yugosama de usar videos de baja resolucion y luego cambiar el gameObject, a otros se le ocurrira una brillante solucion, otros diran que es imposible... En mi opinion, la solucion mas simple casi siempre es la mejor (notese que soy un poco vago) aunque para este caso concreto no se muy bien cual elegir

Julio 16, 2016, 08:55:13 AM #8 Ultima modificación: Julio 16, 2016, 09:56:34 AM por Miguel_Angel
La solución mas potente y eficiente que conozco hasta ahora, es la de programar un shader que dibuje texto en una textura, el problema es que cada vez que actualizo Unity parece que cambian algo y deja de funcionar, es decir cada vez que actualizo tengo que reprogramar muchos shaders.
 
La mayoría de los programadores, dicen que la solución mas simple es la mas correcta (mino esfuerzo).

Etiquetas: