Як я можу моделювати зірку?


22

Я намагаюся моделювати зірку в Unity, і це, як-то працює, але це не ідеально. В даний час я використовую велику сферу з самоосвітлюючим матеріалом, що містить зіркову текстуру, нанесену на її поверхню, і прожектор, щоб створити ефект зоряного світла, як це:

введіть тут опис зображення

Хоча це працює, він виглядає не найбільше. Я шукаю ефект більше, як космічна програма Kerbal моделює зірку:

введіть тут опис зображення

Як я можу досягти цього ефекту?


1
Я не знаю про Unity, але виглядає так, що потрібно малювати в режимі "добавки".
Thane Brimhall

1
Ви завжди можете піти в цьому напрямку: shadertoy.com/view/XdBSDh
Алан Вулф,

4
Вам потрібно бути набагато конкретнішим і показати, що ви провели своє дослідження. Там є безліч інформації для зіркового візуалізації. Зазвичай ви будете використовувати двомірний рекламний щит, орієнтований на камеру, щоб візуалізувати корону поверх вашої родової зірки. Ніхто не може навчити вас всього, що стосується, щоб зробити реалістичну зірку на відповідь SE. Ось хороший підручник з гри Seed of Andromeda. seedofandromeda.com/blogs/51-procedural-star-rendering . Інший, більш грубий підручник з reddit, але хороша інформація нічим не менш seedofandromeda.com/blogs/51-procedural-star-rendering
Fuzzy Logic

В Unity змініть Шейдер матеріалу на добавку (я думаю, це підменю Частинки, тому що режим аддитивного змішування в основному корисний для частинок).
поштовх

1
@Shane Два роки пізніше, але краще пізно, ніж ніколи не здогадуюсь. Ура .. reddit.com/r/gamedev/comments/33xuyj/procedural_star_rendering
Fuzzy Logic

Відповіді:


25
  • Використовуйте анімовані текстури. * У магазині є кілька хороших за <10 доларів.
  • Додайте ореол. Ви можете використовувати систему частинок або просто прозору текстуру світіння на рекламному щиті перед сонцем зі сценарієм, щоб переставити текстуру при переміщенні камери. Це приховує в’язані краї моделі сфери, що дозволяє використовувати нижню модель полі, і виглядає красиво.
  • Обертайте сонце, повільно.
  • Використовуйте систему частинок для вивержень.
  • Використовуйте користувальницький шейдер, щоб краї добре збігалися з ореолом (помножте нормально на вектор камери, щоб знайти краї).

Анімований gif спочатку показує статичну текстуру, а потім ряд доповнень, щоб:

  1. Анімована текстура
  2. Покрасьте краї сфери на основі нормалів
  3. Додайте прозорий рекламний щит на обличчя камери з білим / жовтим ореолом
  4. Частинки, рухаючись від центру назовні, потім згасають
  5. Додайте 2 прозорі білборди "промінь", звернені до камери та обертаючись уздовж осі камери у протилежних напрямках.

Побудова Сонця

З анімованою текстурою не забудьте використовувати mipmaps, інакше це виглядатиме жахливо на деяких відстанях. Повільні частоти кадрів у текстурі (10 кадрів в секунду) чудові, коли дивитесь на сонце здалеку, але коли ви наблизитесь, ви також можете скористатися більш високою частотою кадрів. Якщо у вас немає текстури з високою частотою кадрів або ви не можете витрачати відео пам'ять ні на одну, ви можете скористатися спеціальним шейдером для інтерполяції кожного іншого пікселя на основі попереднього та наступного зображення.

Змінюючи використання відтінку / насиченості / значення в шейдері, ви можете отримати такі результати, не змінюючи текстури:

введіть тут опис зображення введіть тут опис зображення введіть тут опис зображення введіть тут опис зображення [тут введіть опис зображення введіть тут опис зображення

Я почав з дешевої моделі з магазину, тому мені не довелося робити анімовані текстури. З іншого боку, це означає, що я не можу поділитися поточним збірним, оскільки текстура придбана.


* Крім того, ви можете вивчити відображення 2D-шуму на кулі і використовувати 3D-шум для часового виміру, або використовувати 4D-шум, якщо ви не хочете робити карти і можете зекономити продуктивність.


3
Якщо ви прагнете, щоб вона була реалістичною: краї зірки насправді не яскравіші, але менш яскраві, ніж центр диска.
planetmaker

1
@planetmaker Абсолютно. Але холодного вигляду ефекту простіше досягти за допомогою білого або білого ореолу та деталей у центрі. Це можна зробити і в інший спосіб, але я думаю, що це зовсім трохи складніше, все одно, дивлячись на реалістичне сонце назавжди засліплює нас, тому ми не хочемо реалістичного сонця :)
Пітер - Унбан Роберт Харві

10

Окрім системи частинок і ефектів ореолу, Вадим згадав, що ви можете створити свій власний ефект шейдера. Існує деякий вступ до шейдерів для Unity, і можливості нескінченні .


Я не знаю, чи ви знайшли або створили цей шейдер, але він абсолютно чудовий.
Draco18s

Ні, я не створив шейдер, на жаль, мої знання про шейдери є досить базовими. Але я згоден, це чудово;).
Мадменьо

2

Спробуйте використовувати систему частинок і ефект ореолу. Ви також можете додати світло до зірки та мати ефект цвітіння на камері.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.