Zarralar tizimi - Particle system

Yong'inni simulyatsiya qilish uchun ishlatiladigan zarralar tizimi 3dengfx.
Maxsus 3dengfx-da yaratilgan galaktikani simulyatsiya qilish uchun ishlatiladigan zarralar tizimi.
Bomba portlashini simulyatsiya qilish uchun ishlatiladigan zarralar tizimi zarrachalar.

A zarralar tizimi ning texnikasi o'yin fizikasi, harakatlanish grafikasi va kompyuter grafikasi bu ko'p daqiqadan foydalanadi spritlar, 3D modellar yoki odatdagi ko'rsatish texnikasi bilan ko'paytirish juda qiyin bo'lgan "noaniq" hodisalarni taqlid qilish uchun boshqa grafik ob'ektlar - odatda juda yuqori tartibsiz tizimlar, tabiiy hodisalar yoki kimyoviy reaktsiyalar natijasida yuzaga keladigan jarayonlar.

1982 yil filmida taqdim etilgan Star Trek II: Xonning g'azabi xayoliy "Ibtido effekti" uchun,[1] fenomenlarini takrorlashni o'z ichiga olgan boshqa misollar olov, portlashlar, tutun, harakatlanuvchi suv (masalan, a sharshara ), uchqunlar, tushayotgan barglar, tosh tushadi, bulutlar, tuman, qor, chang, meteor quyruq, yulduzlar va galaktikalar yoki porloq yo'llar kabi mavhum vizual effektlar, sehr sehrlar va boshqalar - bu tezda yo'q bo'lib ketadigan va keyinchalik effekt manbasidan chiqadigan zarralardan foydalanadi. Ko'pchilikni o'z ichiga olgan narsalar uchun yana bir texnikadan foydalanish mumkin iplar - kabi mo'yna, Soch va o't - zarrachaning butun umrini bir vaqtning o'zida ko'rsatishni o'z ichiga oladi, keyinchalik uni ko'rib chiqilayotgan materialning bitta ipi sifatida chizish va boshqarish mumkin.

Zarrachalar tizimlari bo'lishi mumkin ikki o'lchovli yoki uch o'lchovli.

Odatda amalga oshirish

Havo zarralarini dinamik ravishda simulyatsiya qilish (Bifrost)

Odatda zarralar tizimining 3D fazodagi holati va harakati an deb ataladigan narsa tomonidan boshqariladi emitent. Emitent zarrachalar manbai vazifasini bajaradi va uning 3D fazodagi joylashishi ular qaerda hosil bo'lishini va qaerga ko'chishini aniqlaydi. Ertib chiqaruvchi sifatida kub yoki samolyot kabi odatdagi 3D mash ob'ektidan foydalanish mumkin. Emitent unga zarralar harakati parametrlarining to'plamini qo'shib qo'ydi. Ushbu parametrlarga yumurtlama tezligi (vaqt birligida qancha zarralar hosil bo'ladi), zarralarning boshlang'ich tezlik vektori (ular hosil bo'lgandan keyin chiqariladigan yo'nalish), zarrachalarning ishlash muddati (har bir alohida zarrachaning yo'q bo'lguncha mavjud bo'lgan vaqt uzunligi), zarrachalar rangi va boshqalar. Ushbu parametrlarning barchasi yoki aksariyati "loyqa" bo'lishi odatiy holdir - aniq son o'rniga, rassom markaziy qiymatni va markazning har ikki tomonida tasodifiylik darajasini belgilaydi (ya'ni, zarrachaning o'rtacha umri 50 bo'lishi mumkin) ramkalar ± 20%). Tarmoqli ob'ektni emitent sifatida ishlatganda, dastlabki tezlik vektori ko'pincha o'rnatiladi normal ob'ektning individual yuziga (yuzlariga), zarrachalarni har bir yuzdan to'g'ridan-to'g'ri "purkagich" ko'rinishiga olib keladi, lekin ixtiyoriy.

Oddiy zarralar tizimini yangilash tsikli (har bir animatsiya ramkasi uchun bajariladi) ikkita alohida bosqichga bo'linishi mumkin: parametrlarni yangilash / simulyatsiya qilish bosqichi va ko'rsatish bosqich.

Simulyatsiya bosqichi

Davomida simulyatsiya bosqichi, yaratilishi kerak bo'lgan yangi zarralar soni yumurtlama tezligi va yangilanishlar orasidagi interval asosida hisoblab chiqiladi va ularning har biri emitentning holatiga va belgilangan yumurtlama maydoniga qarab 3D fazoda ma'lum bir holatda tug'iladi. Zarrachalarning har bir parametrlari (ya'ni tezlik, rang va boshqalar) emitent parametrlariga muvofiq initsializatsiya qilinadi. Har bir yangilanishda, mavjud bo'lgan barcha zarralar ularning umridan oshib ketmaganligi tekshiriladi va bu holda ular simulyatsiyadan olib tashlanadi. Aks holda, zarrachalarning joylashuvi va boshqa xarakteristikalari jismoniy simulyatsiya asosida rivojlanadi, bu oddiy bo'lishi mumkin tarjima qilish ularning hozirgi holati yoki tashqi kuchlarni (tortishish, ishqalanish, shamol va boshqalarni) hisobga oladigan jismoniy aniq traektoriya hisob-kitoblarini bajarish kabi murakkab. Ijro etish odatiy holdir to'qnashuvni aniqlash zarralar atrofdagi to'siqlardan sakrashi yoki ular bilan o'zaro ta'sir qilishi uchun zarralar va sahnada ko'rsatilgan 3D o'lchamdagi narsalar o'rtasida. Zarrachalar orasidagi to'qnashuvlar kamdan kam qo'llaniladi, chunki ular hisoblash uchun juda qimmat va aksariyat simulyatsiyalar uchun ingl.

Renderlash bosqichi

Yangilash tugagandan so'ng, har bir zarracha, odatda a shaklida beriladi naqshli taxtali to'rtburchak (ya'ni har doim tomoshabinga qaraydigan to'rtburchak). Biroq, bu ba'zan o'yinlar uchun kerak emas; zarracha kichik piksellar soniga / cheklangan ishlov berish quvvatiga ega bo'lgan muhitda bitta piksel sifatida ko'rsatilishi mumkin. Aksincha, harakatlanuvchi grafika zarralari yuqori aniqlikda ham sodiqlikni ta'minlash uchun to'liq, ammo kichik o'lchamli va ko'rsatilishi oson bo'lgan 3D modellarga moyil. Zarralar quyidagicha ko'rsatilishi mumkin Metall to'plamlar offlayn rejimda; izosurfalar Metabolik zarrachalardan hisoblab chiqilgan ishonchli suyuqliklarni hosil qiladi. Va nihoyat, 3D to'rli narsalar zarralar uchun "turishi" mumkin - qor bo'roni minglab yoki millionlab zarrachalarning pozitsiyalariga mos ravishda takrorlanadigan va aylantiriladigan bitta 3D qorli to'rdan iborat bo'lishi mumkin.

"Snowflakes" va "Hair"

Zarrachalar tizimlari ham bo'lishi mumkin animatsion yoki statik; ya'ni har bir zarrachaning umri vaqt o'tishi bilan taqsimlanishi yoki birdaniga ko'rsatilishi mumkin. Ushbu farqning natijasi qor parchalari va sochlar orasidagi farqga o'xshaydi - jonlantirilgan zarralar, xuddi o'zlari atrofida aylanib yuradigan qor parchalariga o'xshashdir. ochkolar kosmosda va statik zarralar sochlarga o'xshashdir, ular aniq sondan iborat chiziqlar.

"Zarrachalar tizimi" atamasining o'zi ko'pincha yodga faqat animatsion aspekt, bu odatda harakatlanuvchi zarrachalar simulyatsiyasini yaratish uchun ishlatiladi - uchqunlar, yomg'ir, olov va boshqalar. Ushbu qo'llanmalarda animatsiyaning har bir ramkasi har bir zarrachani o'z hayot tsiklining ma'lum bir joyida joylashgan bo'lib, har bir zarracha bitta nuqta pozitsiyasini egallaydi bo'sh joy. Yong'in yoki tutun kabi tarqaladigan effektlar uchun har bir zarraga a beriladi yo'qolmoq, so'limoq vaqt yoki belgilangan umr; qor bo'ronlari yoki yomg'ir kabi effektlar, odatda zarracha ma'lum bir narsadan chiqib ketgandan keyin uning umrini tugatadi ko'rish maydoni.

Ammo, agar har bir zarrachaning butun hayot aylanishi bir vaqtning o'zida amalga oshirilsa, natijada bo'ladi statik zarralar - zarrachalarning umumiy traektoriyasini aks ettiruvchi material zarralari, aksincha nuqta zarralari. Ushbu iplar sochlar, mo'ynalar, o'tlar va shunga o'xshash materiallarni simulyatsiya qilish uchun ishlatilishi mumkin. Iplarni bir xil tezlik vektorlari, kuch maydonlari, yumurtlama tezligi va harakatlanuvchi zarrachalar itoat qiladigan og'ish parametrlari bilan boshqarish mumkin. Bunga qo'shimcha ravishda, iplarning ko'rsatilgan qalinligi boshqarilishi mumkin va ba'zi ilovalarda ipning uzunligi bo'ylab o'zgarishi mumkin. Parametrlarning turli xil kombinatsiyalari qattiqlik, mo'rtlik, og'irlik, yumshoqlik yoki boshqa har qanday xususiyatlarga ega bo'lishi mumkin. Iplar ham ishlatishi mumkin to'qimalarni xaritalash iplarning rangini, uzunligini yoki boshqa xususiyatlarini emitent yuzasi bo'ylab o'zgartirish uchun.

5000 ta animatsion zarrachalarni chiqaradigan kub, salbiy Y yo'nalishidagi "tortishish" kuchiga bo'ysunadi.
Statik zarrachalar yoki iplar yordamida bir xil kub emitenti.

Ishlab chiquvchilar uchun qulay zarralar tizimi vositalari

O'yin dvigatellari, raqamli tarkib yaratish tizimlari va effektlar dasturlariga kiritilishi mumkin bo'lgan zarrachalar tizimlarining kodlari noldan yozilishi yoki yuklab olinishi mumkin. Havok bir nechta zarrachalar tizimining API-larini taqdim etadi. Ularning Havok FX API-si, ayniqsa zarrachalar tizimining ta'siriga qaratilgan. Ageia - hozirda sho'ba korxonasi Nvidia - ko'plab o'yinlarda, shu jumladan zarralar tizimini va boshqa o'yin fizikasi API-ni taqdim etadi Unreal Engine 3 o'yinlari. Ikkalasi ham GameMaker Studio va Birlik tomonidan tez-tez ishlatiladigan ikki o'lchovli zarrachalar tizimini ta'minlash indie, havaskor yoki talaba o'yinlarini ishlab chiquvchilar, ammo uni boshqa dvigatellarga import qilish mumkin emas. Boshqa ko'plab echimlar ham mavjud va zarrachalar tizimlari tez-tez noldan yoziladi, agar nostandart effektlar yoki xatti-harakatlar zarur bo'lsa.

Shuningdek qarang

Adabiyotlar

  1. ^ Rivz, Uilyam (1983). "Zarrachalar tizimlari - loyqa ob'ektlar sinfini modellashtirish usuli" (PDF). Grafika bo'yicha ACM operatsiyalari. 2 (2): 91–108. CiteSeerX  10.1.1.517.4835. doi:10.1145/357318.357320. Olingan 2018-06-13.

Tashqi havolalar