मैं आसानी से क्लाउड टेक्सचर मैप कैसे बना सकता हूं?


16

मैं अपने खेल में 3 डी ग्रह बना रहा हूं; इन्हें "ग्लोब" के रूप में देखा जाएगा। उनमें से कुछ को बादल की परतों की आवश्यकता होगी। मैंने "धरती" बनाने के लिए विभिन्न ब्लेंडर ट्यूटोरियल्स को देखा , और उनके क्लाउड लेयर्स के लिए वे NASA से पृथ्वी क्लाउड मैप्स का उपयोग करते हैं ।

हालाँकि मैं कई प्रक्रियात्मक ग्रहों के साथ एक काल्पनिक ब्रह्मांड बना रहा हूँ। इसलिए मैं कई विविधताओं का उपयोग करना चाहूंगा।

मुझे उम्मीद है कि NASA लिंक जैसे क्लाउड मानचित्रों को संसाधित करने का एक तरीका है। मुझे गैस दिग्गज बनाने की भी आवश्यकता होगी, इसलिए मुझे अन्य प्रकार के क्लाउड बनावट मानचित्रों की भी आवश्यकता होगी ।

यदि यह बहुत मुश्किल है, तो मैं क्लाउड मैप्स के कई रूपों को बनाने के लिए वापस गिर सकता हूं। उदाहरण के लिए, पृथ्वी के लिए 3, गैस के दिग्गजों के लिए 3, आदि।

तो मैं इस तरह के क्लाउड मैप्स को सांख्यिकीय रूप से कैसे बनाऊं या प्रोग्राम करूं?

जवाबों:


19

बादल पीढ़ी मज़ा है! मैं ऑफ़लाइन और रनटाइम दोनों तरीकों को कवर करूंगा।

पूर्व-प्रदत्त बादल

यदि आप अपने क्लाउड टेक्सचर को पूर्व-रेंडर करना चाहते हैं, तो फ़ोटोशॉप (या यदि आप चाहें, तो जिम्प ) से आगे नहीं देखें । दोनों कार्यक्रम आसानी से क्लाउड पैटर्न उत्पन्न कर सकते हैं। मेनू आइटम रिलीज़ के बीच इधर-उधर चले जाते हैं, लेकिन जिम्प 2.8.2 के रूप में आप जिस कोर कमांड की तलाश कर रहे हैं Filters -> Render -> Clouds -> Solid Noise। कमांड सक्षम होने से पहले आपको एक नई रिक्त छवि बनानी होगी। मैं आपको शोर मापदंडों के साथ प्रयोग करने के लिए प्रोत्साहित करता हूं, लेकिन सिर्फ एक उदाहरण के रूप में, यहां बताया गया है कि क्या आप "रैंडम सीड" को 1, "डिटेल" को 4, "एक्स साइज" से 4.0, "वाई साइज" से 8.0 पर सेट कर सकते हैं। "रैंडमाइज़" और "टर्बुलेंट", और "टायबल" को सक्षम करें: जिम्प "ठोस शोर" कमांड का कच्चा आउटपुट

एक और कदम मैं निश्चित रूप से सुझाता हूं कि छवि के स्तर ( Colors -> Levels...जिम्प में) को संपादित करना है । समापन बिंदुओं को चारों ओर से घसीटते हुए, आप प्रभावी रूप से क्लाउड कवर के स्तर को "पूरी तरह से घटाटोप" से "आकाश में बादल नहीं" में बदल सकते हैं। गरजते बादल

अन्य दिलचस्प संभावनाएं:

  • "डॉज" और "बर्न" टूल्स का प्रयोग इमेज के मैन्युअल रूप से ब्राइट / डार्क करने के लिए करें।
  • हवा के पैटर्न का सुझाव देने के लिए क्लाउड इमेज को ताना। जिम्प की Filters -> Distorts -> Whirl and Pinch...कमांड को आज़माएं , या Filters -> Distorts -> IWarp..."स्विर" पर सेट डिफॉर्म मोड के साथ अधिक नियंत्रण उपयोग के लिए। हालाँकि, इसे सूक्ष्म रखें - बहुत अधिक ताना-बाना छवि से उच्च-आवृत्ति विस्तार को धुंधला कर देता है।
  • विभिन्न प्रकार के बादलों को अनुकरण करने के लिए कई स्वतंत्र बादल परतें जोड़ें, पतले और बुद्धिमान से बड़े और चंकी तक (मुझे यकीन है कि उनके पास उचित वैज्ञानिक नाम हैं, लेकिन लानत है जिम, मैं एक प्रोग्रामर हूं, मौसम विज्ञानी नहीं!)। इस स्थिति में, आप शायद प्रत्येक परत को एक अलग छवि के रूप में सहेजना चाहेंगे ताकि आप उन्हें स्वतंत्र रूप से रनटाइम पर चेतन कर सकें।

यह वास्तव में आपकी कलात्मक दृष्टि पर निर्भर करता है। पागल हो जाना! जब आप समाप्त कर लें, तो बनावट को एकल-चैनल ग्रेस्केल छवि के रूप में निर्यात करना याद रखें, ताकि आप रनटाइम के दौरान अपने रंग और अल्फा चैनल के लिए एक ही क्लाउड डेटा का उपयोग कर सकें।

रनटाइम क्लाउड पीढ़ी

रनटाइम पर असीमित क्लाउड पैटर्न बनाना थोड़ा अधिक शामिल है, लेकिन फिर भी पूरी तरह से संभव है। यह एक बहुत बड़ा विषय है, और यह केवल व्यापक स्ट्रोक को कवर करेगा।

मूल रूप से आप अपने shader कोड में Gimp के "सॉलिड नॉइज़" कमांड को दोहराने जा रहे हैं , अनंत, सहज, निर्धारक, (वैकल्पिक) आवधिक शोर संस्करणों को उत्पन्न करने के लिए विहित पेरीलिन शोर जैसे शोर फ़ंक्शन का उपयोग कर रहे हैं । आपके प्रश्न में यह निर्दिष्ट नहीं किया गया है कि आप किस एपीआई को लक्षित कर रहे हैं, इसलिए मैं यहां बहुत विशिष्ट नहीं हो सकता; "GPU रत्न 2" के अध्याय 26 में (कुछ हद तक) HLSL और CgFX में पेर्लिन शोर का एक प्रकार शामिल है, या आप इस ड्रॉप-इन GLSL शोर फ़ंक्शन का उपयोग कर सकते हैं। 3D शोर मात्रा के 2D स्लाइस का नमूना लेने से, आपको विस्तार = 0 के साथ Gimp "सॉलिड नॉइज़" कमांड जैसा कुछ मिलता है। आपके शोर की मात्रा के नमूनों के बीच की दूरी, कम आवृत्ति ("चिकनी") आपका शोर होगा। उच्च-आवृत्ति के विस्तार के स्तर को बढ़ाने के लिए, आधार कम-आवृत्ति शोर पैटर्न के साथ शुरू करें और शोर के अतिरिक्त उच्च-आवृत्ति "ओक्टेव्स" को जोड़ें, जहां प्रत्येक "ओक्टेव" एक बड़ा नमूना दूरी के साथ 3 डी शोर मात्रा का एक अलग टुकड़ा है और कम आयाम। इस प्रक्रिया का एक दृश्य उदाहरण (जिसे मैंने गोगलिंग "मल्टी-ऑक्टेव पेरलिन शोर" द्वारा पाया गया) यहां पाया जा सकता है

एक विशाल जोड़ा बोनस के रूप में, इस तरह से उत्पन्न क्लाउड बनावट बहुत आसानी से एनिमेटेड हो सकते हैं! अपने 3 डी शोर फ़ंक्शन नमूना निर्देशांक में एक समय-आधारित ऑफ़सेट जोड़ें, और आपको बेहद ठोस क्लाउड गति मिलेगी ( उदाहरण के लिए, इस वीडियो में देखा गया है )। ऐसा इसलिए है क्योंकि शोर समारोह तीनों आयामों में सुचारू है; U / V दिशा में बनावट को स्क्रॉल करने से बादलों को ग्रह के चारों ओर घूमने का कारण बनता है, जबकि W (लंबवत) दिशा में स्क्रॉल करने पर बादलों को धीरे-धीरे "विकसित" करने का प्रभाव पड़ता है।

तूफान जैसे प्रभावों के लिए, रनटाइम पर बादलों का वार करना भी संभव है। परिणाम वास्तव में भोले जिम्प ताना फिल्टर की तुलना में बहुत अधिक गुणवत्ता वाले हो सकते हैं, जो (जैसा कि पहले उल्लेख किया गया है) एक अत्यधिक धुंधला बनावट का कारण बन सकता है। एक निश्चित रूप से जिस तकनीक को आप देखना चाहते हैं, वह "फ्लो मैप्स" है, जैसा कि एलेक्स व्लाचोस ऑफ वाल्व ( SIGGRAPH 2010 स्लाइड्स ) या नॉर्थ डॉग ( GDC 2012 स्लाइड्स ) के कार्लोस गोंजालेज द्वारा वर्णित किया गया है । मूल विचार यह है कि आप एक वेक्टर फ़ील्ड ("फ्लो मैप") को पेंट करते हैं और रनटाइम पर क्लाउड बनावट को विकृत करने और स्क्रॉल करने के लिए इसका उपयोग करते हैं, जबकि समय-समय पर दो अलग-अलग क्लाउड टेक्सचर के बीच क्रॉस-फ़ेडिंग करते हैं जब विरूपण दूरी बहुत अधिक हो जाती है।

किस विधि का उपयोग करें?

Gimp / Photoshop में क्लाउड टेक्सचर को प्री-रेंडर करना बेहद आसान है; एक बार जब आप इसे लटकाते हैं तो आप कुछ सेकंड में एक नई बनावट उत्पन्न कर सकते हैं। रनटाइम कोड तुच्छ है, और बहुत तेज है। हालाँकि, अधिक अद्वितीय क्लाउड बनावट का अर्थ है उच्च डिस्क स्थान आवश्यकताएँ (भी, एक बड़ा / धीमा डाउनलोड) और रनटाइम पर अधिक वीआरएएम उपयोग।

रनटाइम क्लाउड पीढ़ी पहली बार में बहुत अधिक कठिन है, लेकिन एक बार जब आप इसे काम कर लेते हैं, तो पूर्व-प्रदत्त क्लाउड बनावट पर इसके कई स्पष्ट लाभ होते हैं। आप किसी भी अतिरिक्त डिस्क स्थान या वीआरएएम का उपयोग किए बिना विभिन्न प्रकार के यथार्थवादी एनिमेटेड क्लाउड पैटर्न उत्पन्न कर सकते हैं। हालांकि, प्रति पिक्सेल कई 3D शोर कार्यों का मूल्यांकन करने की रनटाइम लागत खड़ी हो सकती है; पहले से रेंडर किए गए मामले में आपके क्लाउड पिक्सेल शेड्स बहुत धीमे होंगे।

टीएल; डीआर: निश्चित रूप से पहले से रेंडर किए गए बादलों का उपयोग करके शुरू करें, और यदि अतिरिक्त विविधता की आवश्यकता है (या एक अतिरिक्त प्रोग्रामिंग चुनौती चाहते हैं) तो रनटाइम प्रक्रियात्मक बादलों पर स्विच करें।


1
यह एक महान जवाब है: बहुत व्यापक और पालन करने में आसान। मैंने आपको "हवा के पैटर्न का सुझाव देने के लिए बादलों को छेड़ने" का उल्लेख किया। यह कुछ ऐसा है जो मुझे निश्चित रूप से करने की आवश्यकता होगी, तो क्या आप थोड़ा विस्तार कर सकते हैं? एक बार मेरे पास यह है, तो मैं आपके उत्तर को स्वीकार करूंगा।
एडवर्डटेच

@ एडवर्डटेच डन; उम्मीद है की वो मदद करदे!
पोस्टगूडिज़्म
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.