¿Cómo puedo modelar una estrella?

22

Estoy tratando de modelar una estrella en Unity, y funciona, pero no es lo ideal. Actualmente, estoy usando una esfera grande con un material autoiluminador que contiene una textura de estrella aplicada a su superficie, y un foco para crear el efecto de la luz de la estrella, así:

ingrese la descripción de la imagen aquí

Si bien funciona, no se ve muy bien. Estoy buscando un efecto más en la línea de cómo Kerbal Space Program modela una estrella:

ingrese la descripción de la imagen aquí

¿Cómo puedo lograr este efecto?

Ethan Bierlein
fuente
1
No sé acerca de Unity, pero parece que necesitas dibujar en un modo de mezcla "aditivo".
Thane Brimhall
1
Siempre puedes ir en esta dirección: shadertoy.com/view/XdBSDh
Alan Wolfe
44
Debe ser mucho más específico y demostrar que ha realizado su investigación. Hay una gran cantidad de información disponible para la representación de estrellas. Por lo general, usará una valla publicitaria en 2D para representar la corona sobre la parte superior de su estrella genérica. Nadie puede enseñarle todo lo que implica para hacer una estrella de aspecto realista en una respuesta SE. Aquí hay un buen tutorial del juego Seed of Andromeda. seedofandromeda.com/blogs/51-procedural-star-rendering . Otro tutorial más duro sobre reddit, pero sin embargo buena información seedofandromeda.com/blogs/51-procedural-star-rendering
Fuzzy Logic
En Unity, cambie el sombreador del material a aditivo (creo que está en el submenú Partículas, porque el modo de mezcla Aditivo es principalmente útil en partículas).
jhocking
1
@ Shane Dos años después, pero mejor tarde que nunca, supongo. Saludos .. reddit.com/r/gamedev/comments/33xuyj/procedural_star_rendering
Fuzzy Logic

Respuestas:

25
  • Use una textura animada. * Hay algunas buenas en la tienda por <$ 10.
  • Agrega un halo. Puede usar el sistema de partículas, o simplemente una textura de brillo transparente en una valla publicitaria frente al sol con un guión para reubicar la textura cuando la cámara se mueve. Esto oculta los bordes con alias del modelo de esfera, lo que le permite usar un modelo de polietileno inferior y se ve bien.
  • Gire el sol, lentamente.
  • Utilice el sistema de partículas para las erupciones.
  • Use un sombreador personalizado para hacer que los bordes coincidan bien con el halo (multiplique lo normal con el vector de la cámara para encontrar los bordes).

El gif animado muestra primero una textura estática, seguida de una serie de adiciones, en orden:

  1. Textura animada
  2. Ilumina los bordes de la esfera según las normales
  3. Agregue una cartelera transparente orientada a la cámara con halo blanco / amarillo
  4. Partículas, que se mueven desde el centro hacia el exterior, luego se desvanecen
  5. Agregue 2 carteles transparentes de "rayos", mirando hacia la cámara y girando a lo largo del eje de la cámara en direcciones opuestas.

Construyendo un sol

Con la textura animada, asegúrese de usar mapas MIP, o se verá horrible en algunas distancias. Las velocidades de fotogramas lentas en la textura (10 fps) están bien cuando se mira un sol desde lejos, pero cuando te acercas, es posible que también quieras usar una velocidad de fotogramas más alta. Si no tiene una textura de alta velocidad de fotogramas o no puede desperdiciar la memoria de video para uno, puede usar un sombreador personalizado para interpolar cada otro píxel en función de la imagen anterior y siguiente.

Al cambiar el uso de Tono / Saturación / Valor dentro del sombreador, puede obtener resultados como estos, sin tener que modificar la textura:

ingrese la descripción de la imagen aquí ingrese la descripción de la imagen aquí ingrese la descripción de la imagen aquí ingrese la descripción de la imagen aquí [ingrese la descripción de la imagen aquí ingrese la descripción de la imagen aquí

Comencé con un modelo barato de la tienda, así que no tuve que hacer la textura animada. Por otro lado, significa que no puedo compartir el prefabricado actual, porque se compra la textura.


* Alternativamente, puede buscar en el mapeo de ruido 2D en una esfera y usar ruido 3D para la dimensión de tiempo, o usar ruido 4D si no desea hacer el mapeo y puede ahorrar el rendimiento.

Peter - Unban Robert Harvey
fuente
3
Si pretendes que sea realista: los bordes de una estrella en realidad no son más brillantes sino menos brillantes que el centro del disco.
planetmaker
1
@planetmaker Absolutamente. Pero un efecto de aspecto genial es más fácil de lograr con un halo blanco o blanco y detalles en el centro. Se puede hacer de la otra manera, pero creo que es un poco más complicado De todos modos, mirar un sol realista nos ciega permanentemente, por lo que no queremos un sol realista :)
Peter - Unban Robert Harvey
10

Aparte del sistema particular y los efectos de halo que Vadim mencionó, podría crear su propio efecto de sombreado. Hay una introducción a los sombreadores para Unity y las posibilidades son infinitas .

Madmenyo
fuente
No sé si encontraste o creaste ese sombreador, pero es absolutamente hermoso.
Draco18s
No, no he creado el sombreador, desafortunadamente mi conocimiento sobre los sombreadores es bastante básico. Pero estoy de acuerdo, es hermoso;).
Madmenyo
2

Intente usar un sistema de partículas y un efecto de halo. También podría agregar una luz a la estrella y tener un efecto de floración en su cámara.

Vadim Tatarnikov
fuente