3 डी इलाके संपादक का निर्माण कब शुरू करें? [बन्द है]


22

मैं एक सरल उपकरण बनाने (शुरू करने) के लिए देख रहा हूं, जो इलाके को कम, चिकना और बनावट कर सकता है।

तो, इस तरह के इलाके संपादक बनाने के लिए मुझे किन चीजों से गुजरना पड़ता है?

और हो सकता है कि विषय पर बहुमूल्य संसाधन उपलब्ध हों?

हां, उल्लेख करना भूल गया, कि मुझे 3D इलाके के संपादक में दिलचस्पी है।

जवाबों:


24

'क्लासिक' 3D इलाके संपादक के लिए, चरण वे हो सकते हैं:

एक जाल उत्पन्न करें (जैसे चौकों का एक ग्रिड, दो त्रिकोणों से बना हर वर्ग), सभी कोने त्रिकोण के बीच साझा किए जाते हैं (ताकि प्रति चौराहे पर केवल एक सामान्य हो)। यहां छवि विवरण दर्ज करें

यह एक 3DMesh बनाया जाना चाहिए और आपके कार्यक्रम में प्रदान किया जाना चाहिए।

ग्रिड के कुछ हिस्सों (छोटे और बड़े) को ऊपर उठाने और कम करने के लिए एक उपकरण बनाएं (आपको यह गणना करने की आवश्यकता है कि माउस कर्सर पर कहां है और मेष के कोने को संशोधित करें, लेकिन केवल ऊपर और नीचे)।

एक बड़ी बनावट (जैसे 1024x1024x4 या उससे बेहतर) बनाएं और इसे एक बनावट-मानचित्र कहा जाता है: यहां छवि विवरण दर्ज करें

इसे पेंट करना संभव करें (उदाहरण के लिए, आर, जी, बी या अल्फा के साथ, गुलाबी नहीं) और उन बदसूरत प्राथमिक रंगों (लाल, नीला, हरा, अल्फा) या इसके अलावा की जगह वाले बनावट का चयन करें, उनके द्वारा प्रतिनिधित्व किया जाए:

Shader (जिसे आपको बनाने की आवश्यकता होगी) उन अच्छे बनावट (जैसे पत्थर, घास, ...) को चपटा (तीव्रता से एक) में गुणा करें और फिर पूरे को एक साथ मिलाएं ताकि यह दिखता है, उदाहरण के लिए (साथ में) केवल 2 रंगों की तरह), इस तरह: यहां छवि विवरण दर्ज करें

बड़ी छवियों के लिए खेद है, मैं काम पर एक साथ मार पड़ी है ...


आह, यह थोड़ा स्पष्ट हो गया। सैद्धांतिक रूप से, 3 डी मेष के बाद यह सिर्फ़ वर्टीकल रिस्पॉन्सिंग (अप / डाउन) है और इस उदाहरण पर टेक्सचरिंग आपने "स्पैटमैप" तरीके से किया है, जिसके बाद शेडर इसे "3 डी" इलाके में मिलाता है?
जोल्टमोड

1
3 डी मेष के लिए सही। Shader जाल (वर्टिकल shader) के साथ कुछ खास नहीं करता है, बड़ा काम है टुकड़े-टुकड़े ("पिक्सेल shader") में जहां स्पैटमैप से टेक्सल लुकअप घास, पत्थर आदि को अंतिम पिक्सेल देता है प्राप्त कर सकते हैं (आप निश्चित रूप से एक 'आधार' बनावट भी कर सकते हैं, उदाहरण के लिए पत्थर की तरह जो हमेशा 100% पर होता है और अन्य बनावट उस पर छप जाती है)।
वालमंड

6

पहली बात यह है कि आपके इलाके की डेटा संरचना पर स्पष्ट होना चाहिए, और आप एक संपादक से क्या चाहते हैं। क्या यह एक जाल है? ऊंचाइयों की एक सरणी? Minecraft शैली स्वर प्रणाली के कुछ प्रकार? क्या आपको पेड़ों और इमारतों की तरह जाल इलाके की विशेषताओं को जोड़ने में सक्षम होने की आवश्यकता है? मैन्युअल रूप से, स्वचालित रूप से या दोनों? मैं आगे जा सकता हूँ, लेकिन तुम्हें यह विचार समझ आ गया।

एक मूल भू-भाग संपादक को लिखना मुश्किल नहीं है, लेकिन आपके द्वारा किए जा रहे खेल के आधार पर विवरण बहुत भिन्न होंगे, और इस प्रकार जिस प्रकार का इलाक़ा आप बनाना चाहते हैं।


खैर, एक जाल / सरणी और ऊंचाइयों / voxels आदि केवल assocated डेटा को संग्रहीत करने का एक तरीका है, मुझे अधिक दिलचस्पी थी, इस डेटा को पॉप्युलेट करने के लिए उपकरण कैसे लिखें। दरअसल, मुझे इस बात का कोई अंदाजा नहीं है कि एक इलाके का संपादक "पर्दे के पीछे" कैसा दिखता है। मैं इसे इंजीनियर कर सकता हूं, लेकिन केवल अपने तरीके से, मैं शर्त लगाता हूं कि कुछ दिशानिर्देश हैं, जिनका मुझे हालांकि पालन करना चाहिए ...
joltmode

2
-1। यह मेरे लिए एक जवाब की तरह नहीं दिखता है। आप कुछ सवाल पूछ रहे हैं, जो एक टिप्पणी के रूप में बेहतर होता।
बंमज़ैक

5

यह ज्यादातर वालमंड की प्रतिक्रिया का अनुवर्ती है, लेकिन यह एक टिप्पणी के रूप में जोड़ने के लिए पर्याप्त छोटा नहीं लगता है।

एक बार जब आप एक मूल संपादक बनाने के लिए तैयार हो जाते हैं, तो आप पूरी तरह से GPU पर ऊँचाई उत्पन्न करके प्रयोग करना चाह सकते हैं। यह पूरी तरह से वैकल्पिक है लेकिन यह लगातार बदलते इलाके के लिए GPU में काम करने का एक अच्छा तरीका है। वालमंड ने पहले ही पिक्सेल शेडर पर की जा रही बनावट का उल्लेख किया था, लेकिन ग्रिड में वर्टीकल को ऊपर उठाने और कम करने के लिए एक बनावट लुकअप का उपयोग करके वर्टेक्स शेडर का भी उपयोग किया जा सकता है। यहाँ कैसे शीर्ष shader के साथ यह पूरा करने के लिए एक ट्यूटोरियल है । गैर-shader सामान C # और XNA विशिष्ट है, लेकिन महत्वपूर्ण सामग्री shader कोड में है।

इस स्थिति में, सीपीयू पक्ष पर आपका कोड बस मेमोरी में संग्रहीत ग्रेस्केल बनावट को संशोधित करने से निपटेगा। आपका जाल ग्रिड सपाट रहता है, सीपीयू द्वारा अपडेट नहीं किया जाता है। हर बार जब बनावट बदली जाती है, तो नई बनावट को GPU में पारित किया जा सकता है।

ध्यान रखें कि सभी shader मॉडल वर्टेक्स shader पर बनावट के नमूने का समर्थन नहीं करते हैं (उदाहरण के लिए HLSL में आपको कम से कम shader मॉडल 3.0 की आवश्यकता होती है)।


0

आप Ogre के ETM http://www.ogre3d.org/addonforums/viewforum.php?f=16 पर एक नज़र डाल सकते हैं , आपको कुछ विचार देने चाहिए। यदि आप इसे क्रिया में देखना चाहते हैं, तो Artifex Terra इस पर आधारित है।


2
मेरा सुझाव है कि आप अपने उत्तरों को मर्ज करें और अप्रयुक्त को हटा दें।
जोल्टमोड

GPU के लिए निर्मित / हेरफेर किए गए इलाके की जाँच करें, गिलियम डी कारपेंटियर के बलात्कार लेख, इस विषय पर बहुत जानकारीपूर्ण पढ़ा गया। decarpentier.nl/scape-render
जोहान

जैसा कि टॉम ने पहले ही यह सुझाव दिया था, स्केप लेख शायद पहले से ही एक दिलचस्प संदर्भ के रूप में जनरेट और रेंडरिंग इलाके पर काम कर रहे हैं। लेकिन उस सुझाव के बाद, मैंने अभी तक एक और स्केप लेख पोस्ट किया है जो इस विषय के लिए और भी अधिक प्रासंगिक है, पूरी तरह से इसके ब्रश-आधारित संपादन पाइपलाइन को कवर करता है। इसलिए मैं हालांकि आपको बता दूंगा। www.decarpentier.nl/scape-brush-pipeline
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.