प्राकृतिक दिखने वाले स्वर को कैसे बनाया जाए


11

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

मैंने एक वॉक्सेल गेम देखा है, जिसमें स्वाभाविक रूप से इलाके दिख रहे हैं। उस से मेरा मतलब है गैर रुकावट। खेल में प्रति घन मीटर 4 * 4 * 4 ब्लॉक होते हैं, और गंदगी, रेत और पत्थर जैसे ब्लॉक, गोल किनारे होते हैं, और एक साथ पिघलते हैं (जैसे सामान्य गेम में)। एक स्क्रीनशॉट Heres यहाँ छवि विवरण दर्ज करें

यह कैसे प्राप्त किया जाता है?



क्या आप जानते हैं कि यह कौन सा खेल है? आप यह कैसे सुनिश्चित कर सकते हैं कि यह स्वर है? : ठीक है, यह अपने आप को पाया, खेल Blockscape कहा जाता है indiedb.com/games/blockscape
Babis

Procworld.blogspot.com पर एक ब्लॉग है जिसमें सभी तरह के विस्तृत ब्लॉग पोस्ट हैं कि उसका voxel इंजन कैसे बनाया गया। जब इंजन अभी शैशवावस्था में था, तब से कई साल पहले डाक चली जाती है जब वर्तमान में उसे एवरक्वेस्ट नेक्स्ट के लिए लाइसेंस दिया जा रहा है।
स्टोकैस्टिक

जवाबों:


14

यह विभिन्न ऊंचाई के क्यूब्स के बीच रैंप को प्रक्षेपित करके प्राप्त किया जाता है।

जब आपके पास इस तरह का एक दृश्य है (साइड से देखा गया है)

  #
 ####   ##
############

आप बहुभुज जोड़ेंगे ताकि यह इस तरह दिखाई दे:

 /#\
/####\ /##\
############

इन रैंप की गणना करने के लिए एक एल्गोरिथ्म मार्चिंग क्यूब्स एल्गोरिथ्म है

जब आप चाहते हैं कि यह और भी सुंदर हो, तो सिर्फ एक बहुभुज का उपयोग क्यूब्स के बीच प्रक्षेप करने के लिए न करें, कई बहुभुजों के घटता का उपयोग करें। लेकिन ध्यान रखें कि यह आपके दृश्य में बहुत सारे बहुभुज जोड़ देगा, इसलिए आपको केवल उन क्यूब्स के लिए ऐसा करना चाहिए जो कैमरे के करीब हैं।


धन्यवाद! क्या आप एक ऐसी जगह जानते हैं, जो यह बताती है कि ओपनजील, लाइट वेट जावा गेम लाइब्रेरी में यह कैसे किया जाता है? संपादित करें: और यदि आप एक अच्छी तकनीक जानते हैं कि मार्चिंग इलाके के लिए टकराव का पता कैसे लगाया जाए, तो इसकी भी सराहना की जाएगी।
करेज

@KaareZ क्षमा करें, मैंने कभी LWJGL के साथ काम नहीं किया।
फिलिप


1
या आप पूरी तरह से मार्चिंग क्यूब छोड़ सकते हैं और बहुत अधिक दिलचस्प frankpetterson.com/publications/dualcontour/dualcontour.pdf कम जटिल पर जा सकते हैं, आप केवल अंतिम चंक के शीर्ष पर ऑफसेट के रूप में शोर के फव्वारे को जोड़ सकते हैं। आपके पास अभी भी ब्लॉक है लेकिन अब उनके पास स्ट्रेटलाइन में कड़ाई से संरेखित नहीं होने से पहाड़ियों को रोल करने की संपत्ति है ... दोहरी कंटूरिंग और यह और भी दिलचस्प परिणाम के लिए संयोजन (शीर्ष पर एक संशोधक के साथ कम या ज्यादा जैविक पीढ़ी को नियंत्रित करने के लिए) ।
user29244

forum.unity3d.com/attachments/captura-jpg.23795 यहाँ "रोलिंग ब्लॉक" (ऊर्ध्वाधर विस्थापन के रूप में लागू ऑफसेट) की एक तस्वीर है। अधिक तस्वीर है, लेकिन विस्थापन के साथ हर दिशा पर लागू किया गया है ।unity3d.com/attachments/t1- jpg.23871 फ़ोरम .unity3d.com /
user29244

6

छवि में समान गुणवत्ता प्राप्त करने के लिए आपको दो बाधाओं से निपटने की आवश्यकता है, पहला कलात्मक है और दूसरा तकनीकी (मेमोरी, प्रोसेसिंग) है। पहले मैं मान लेता हूं कि आपने अपनी कलात्मक समस्या को पहले ही हल कर लिया है, आप मॉडल, कला और शेड्स आदि बना सकते हैं (आंशिक रूप से क्योंकि मैं कला समस्याओं का जवाब नहीं दे सकता)

प्रमुख तकनीकी समस्या यह है कि जब आप उन मॉडल को विस्तार से उच्च स्तर पर बनाते हैं, तो आप बड़ी संख्या में छोटे टोक्सल्स को समाप्त कर देंगे। बड़ी संख्या में स्वरों का प्रसंस्करण और प्रतिपादन तुच्छ नहीं है। इस के उत्तर को स्पार्स वोक्सल ऑक्ट्रेसेस कहा जाता है

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

इस पत्र में एसवीओ पर अधिक जानकारी

यहाँ एसवीओ https://code.google.com/p/efficient-sparse-voxel-octrees/ के बीएसडी लाइसेंस कार्यान्वयन के साथ एक खुला स्रोत है

यहां एक वीडियो है जो बहुभुज बनाम एसवीओ आधारित प्रतिपादन (पेशेवरों और विपक्ष) की व्याख्या करता है


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