Roblox गेम्स में विजुअल इफेक्ट्स (VFX) एक्शन को रोमांचक बनाते हैं। लेकिन बिना ऑप्टिमाइज़ किए गए पार्टिकल सिस्टम मोबाइल पर भारी लैग पैदा करते हैं।
Flipbook टेक्सचर्स के जरिए आप सैकड़ों पार्टिकल्स के बजाय सिर्फ एक पार्टिकल क्वाड में शानदार आग और धुएं का एनिमेशन बना सकते हैं।
1. ParticleEmitter कोर आर्किटेक्चर और फिजिक्स
इंजन सिमुलेशन को समझना हाई-परफॉरमेंस VFX की पहली शर्त है:
- सिमुलेशन स्पेस: World स्पेस (पार्टिकल वहीं रहता है) बनाम Local स्पेस (पार्टिकल पैरेंट के साथ चलता है)।
- डायरेक्शन और स्प्रेड: EmissionDirection और SpreadAngle से सटीक कोण में पार्टिकल्स छोड़ें।
- ड्रैग और एक्सीलरेशन: Drag हवा के घर्षण का सिमुलेशन करता है और Acceleration लगातार बल लगाता है।
- साइज और ट्रांसपेरेंसी: NumberSequence से पार्टिकल के लाइफसाइकिल में स्मूथ बदलाव करें।
2. Flipbook टेक्सचर्स: 4x4 और 8x8 स्प्राइट शीट्स
एक ही टेक्सचर ग्रिड में कई फ्रेम्स रखकर एक्टिव पार्टिकल्स की संख्या 90% तक घटाई जा सकती है:
- FlipbookLayout मोड्स: Grid2x2, Grid4x4 (16 फ्रेम्स) और Grid8x8 (64 फ्रेम्स) का सपोर्ट।
- प्लेबैक मोड्स: 1 से 30 FPS स्पीड और Loop, OneShot या PingPong विकल्प।
- FlipbookStartRandom: कई पार्टिकल्स में एक जैसा पैटर्न रोकने के लिए रैंडम फ्रेम स्टार्ट।
- मेमरी मैनेजमेंट: 8x8 फ्लिपबुक के लिए 1024x1024 टेक्सचर ऑप्टिमाइज़ेशन जरूरी है।
--!strict
-- Luau VFX Manager with Distance LOD
local RunService = game:GetService("RunService")
local Camera = workspace.CurrentCamera
3. शेडिंग मोड्स: LightEmission बनाम LightInfluence
सीन लाइटिंग और पार्टिकल्स का तालमेल परफॉरमेंस को सीधे प्रभावित करता है:
- LightEmission (एडिटिव ब्लेंडिंग): 1 पर सेट करने पर बिना शैडो के ग्लोइंग नियन या आग बनती है।
- LightInfluence: 1 पर सेट करने पर पार्टिकल्स आसपास की रोशनी को नेचुरल तरीके से ग्रहण करते हैं।
- ओवरड्रॉ का खतरा: बहुत ज्यादा एडिटिव पार्टिकल्स मोबाइल चिपसेट को जल्दी गर्म कर देते हैं।
- धुआं और धूल: यथार्थवादी माहौल के लिए LightInfluence = 1 और LightEmission = 0 रखें।
4. मोबाइल ओवरड्रॉ और पार्टिकल बजट
स्मार्टफोन पर 60 FPS बनाए रखने के तकनीकी नियम:
- स्क्रीन कवरेज: पूरी स्क्रीन को ढकने वाले बड़े धुएं के बादल मोबाइल GPU पर भारी पड़ते हैं।
- पार्टिकल लिमिट: मोबाइल गेम्स में एक्टिव पार्टिकल्स की कुल संख्या 400 से कम रखें।
- साइज शेड्यूलिंग: पार्टिकल्स को तभी बड़ा करें जब उनकी ट्रांसपेरेंसी लगभग पूरी हो।
- ZOffset ट्यूनिंग: दीवारों और फर्श से टकराने पर होने वाले फ्लिकर को ZOffset से ठीक करें।
5. बेस्ट प्रैक्टिसेज और प्रोडक्शन चेकलिस्ट
Roblox प्रोडक्शन गेम्स के लिए आवश्यक नियम:
- MicroProfiler टेस्ट: Ctrl+F6 दबाकर `scene::render` में स्पाइक्स की निगरानी करें।
- ऑब्जेक्ट पूलिंग: बार-बार नए इंस्टेंस बनाने और मिटाने के बजाय एमीटर्स को रीसायकल करें।
- Emit(n) का इस्तेमाल: बंदूक की गोली जैसे इफेक्ट्स के लिए ParticleEmitter:Emit() का प्रयोग करें।
- ग्राफिक्स सेटिंग्स: कमजोर मोबाइल्स के लिए सेटिंग्स मेनू में पार्टिकल बंद करने का विकल्प दें।
Frequently Asked Questions
Flipbook टेक्सचर्स का सबसे बड़ा फायदा क्या है?
यह 75-90% कम पार्टिकल्स का इस्तेमाल करके बेहद स्मूथ 64-फ्रेम एनिमेशन दिखाता है।
स्मार्टफोन पर पार्टिकल इफेक्ट्स से लैग क्यों होता है?
ओवरड्रॉ के कारण मोबाइल GPU को एक ही पिक्सल पर बार-बार कलर री-कैलकुलेट करना पड़ता है।
Emit(n) और Enabled = true में क्या अंतर है?
Emit(n) सिर्फ एक फ्रेम में तय संख्या के पार्टिकल छोड़ता है और बैकग्राउंड में चालू नहीं रहता।
LockedToPart कब बंद करना चाहिए?
रॉकेट के धुएं या पैरों की धूल के लिए, जो सोर्स के आगे बढ़ने पर पीछे दुनिया में रहनी चाहिए।