3 डी ट्री मेश निर्मित


16

मुझे इन पंक्तियों पर एक सवाल अभी तक नहीं मिला, अगर मैं गलत हूं तो मुझे सुधारो।

पेड़ (और सामान्य रूप से जीव) खेल में आम हैं। उनकी प्रकृति के कारण, वे प्रक्रियात्मक पीढ़ी के लिए एक अच्छे उम्मीदवार हैं।

नहीं है SpeedTree यदि आप इसे बर्दाश्त कर सकते हैं, निश्चित रूप से, जहाँ तक मैं बता सकता हूँ, यह रनटाइम पर आपके पेड़ के जालों को पैदा करने की संभावना प्रदान नहीं करता है। उसके बाद SctppyTree , एक ऑनलाइन वेबलॉग आधारित ट्री जनरेटर है जो कि proctree.js पर आधारित है जो जावास्क्रिप्ट की कुछ ~ 500 लाइनें है।

ऊपर दिए गए कुछ (या कुछ अन्य ट्री जनरेटर का उपयोग मैंने नहीं किया है) पहले से कुछ दर्जन ट्री मेश बनाने के लिए - या उन्हें एक 3 डी मोडेलर में खरोंच से मॉडल करें - और फिर कुछ और वेरिएंट के लिए बेतरतीब ढंग से मिरर / स्केल करें। ..

लेकिन मेरे पास एक मुफ्त, लिंक करने योग्य पेड़ जाल जनरेटर होगा।

संभव समाधान:

  • पोर्ट proctree.js से c ++ और ओपन सोर्स लाइसेंस से निपटना (जीपीएल नहीं लगता है, इसलिए यह संभव हो सकता है; लेखक भी लाइसेंस को और अधिक मुक्त बनाने के लिए सहयोग करने के लिए तैयार हो सकता है)।
  • एल-सिस्टम के आधार पर मेरा अपना रोल करें।
  • परेशान मत हो, बस ऑफ़लाइन उत्पन्न पेड़ों का उपयोग करें।
  • कुछ अन्य विधि का उपयोग करें जो मैंने अभी तक नहीं पाया है।

अद्यतन २०१५ : proctree.js को c ++ https://github.com/jarikomppa/proctree पर पोर्ट करना समाप्त कर दिया


5
अपना स्वयं का रोल करने के लिए, मैं Prusinkiewicz और Lindenmeyer की पुस्तक 'पौधों की एल्गोरिदमिक सुंदरता' की सिफारिश करूँगा, जो कि एल्गोरिदमिकबॉटनी डॉट ओआरजीपी /#abop पर उपलब्ध है । पुस्तक और साइट आभासी वनस्पति विज्ञान की पीढ़ी पर बहुत सारे शोध पत्रों को सूचीबद्ध करती है।
Exilyth

मैंने WebGL के साथ 3DFlora नामक एक ऑनलाइन टूल बनाया है। इसमें 80 से अधिक पैरामीटर हैं और आप एक ओब्ज फ़ाइल के रूप में परिणाम डाउनलोड करते हैं। आप इसके साथ लगभग किसी भी प्रकार के पौधे बना सकते हैं। इसे यहाँ देखें: 3dflora.sina-s.com
user2002741

जवाबों:


12

मैंने इस क्षेत्र में काफी काम किया है, हालाँकि मेरे अधिकांश डेमो पुराने हैं:

(फ्लैश 2010)
http://genesisbbs.com/appstem.html (क्लिक करें और खींचें माउस)
http://genesisbbs.com/appstem2.html
(DirectX 2006)
http://vimeo.com/5206795

यदि आप मज़े के लिए ऐसा कर रहे हैं, तो मैं आपको अपना खुद का रोल करने के लिए प्रोत्साहित करता हूँ। आपको लगभग निश्चित रूप से Quaternions के साथ काम करने की आवश्यकता होगी । उन्हें समझना बहुत कठिन है, लेकिन आपको उनका उपयोग करने के लिए बहुत गहरे जाने की आवश्यकता नहीं है। एक अतिरिक्त घटक के साथ एक वेक्टर के रूप में एक चतुर्भुज के बारे में सोचो: रोटेशन। यदि आप चाहते हैं कि आपके पौधे बढ़ने के साथ-साथ मुड़ें और मुड़ें, तो उन्हें quaternions की आवश्यकता होगी।

सीखने के लिए अन्य चीजें:
लिचेनबर्ग आंकड़े
लाप्लासियन ग्रोथ
वोरोनोई डायग्राम्स
निकटतम पड़ोसी एल्गोरिदम (उन्हें Google):

I (व्यक्तिगत रूप से) L- सिस्टम के उपयोग को हतोत्साहित करेगा, अन्य के अलावा शायद व्याकरण का निर्धारण करने के लिए कि क्या बढ़ता है, जहां [बीज -> [जड़] / [ट्रंक-> शाखा -> [फूल / पत्ती]]। एल सिस्टम सूरज की रोशनी, दिशा, गुरुत्वाकर्षण, बाधाओं आदि जैसे पर्यावरणीय उत्तेजनाओं के जवाब के लिए अच्छे नहीं हैं।

गति संबंधी चिंताओं के लिए, वास्तविक समय में एक ही पेड़ उत्पन्न किया जा सकता है। हालाँकि, स्मृति उद्देश्यों और प्रदर्शन के लिए, आप केवल पेड़ों के एक छोटे समूह को उत्पन्न करना चाहते हैं और यदि आप वनों के साथ काम कर रहे हैं तो उन्हें थोड़ा सा उदाहरण देना चाहते हैं।

ज्यादातर मौजूदा ट्री जेनरेटर उस महान (IMHO) के अलावा नहीं हैं, इसके अलावा माया और इस तरह के लिए इस्तेमाल होने वाले हाई-एंड भी हैं।

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


3

व्यक्तिगत रूप से मैं शायद पहले से उत्पन्न पेड़ों के साथ शुरू करूँगा और केवल एक बार मैं एक किक-गधा वन रेंडरिंग इंजन लगाऊंगा - झाड़ियों, घास, मशरूम और सामान के साथ पूरा - अगर मुझे अधिक चर पेड़ के जाल की आवश्यकता है, तो मैं देखना शुरू करूंगा।

कहा जा रहा है, आप ngPlant पर एक नज़र डाल सकते हैं । इसमें GPL प्रक्रियात्मक ट्री मॉडलर ऐप शामिल है, लेकिन सभी भारी उठाने वाले पुस्तकालय बीएसडी लाइसेंस प्राप्त हैं। यह C ++ में लिखा है।

फ़ॉरेस्ट रेंडरिंग के लिए, Ogre रेंडरिंग इंजन के लिए PIT जियोमेट्री (MIT लाइसेंस प्राप्त) है ।


3

प्रक्रियात्मक पेड़ों के साथ मुख्य समस्या उन्हें पैदा नहीं कर रही है, बल्कि रनटाइम के दौरान उन्हें हर फ्रेम प्रदान कर रही है। यही कारण है कि आप एएए गेम में कई समान पेड़ देखेंगे, ऐसा नहीं है कि वे तकनीक को लागू नहीं कर सकते हैं या अद्वितीय पेड़ नहीं बना सकते हैं, यह है कि इसका मतलब होगा कि आपको खेल के लिए अन्य सुविधाओं का एक भार काटना होगा। चलाने के लिए।

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

बस एक सेकंड के लिए इस समस्या के बारे में सोचकर, एक खुशहाल माध्यम हो सकता है - कैसे आप के बारे में कुछ अलग पेड़ भागों, चड्डी, शाखाओं, पत्तियों आदि को उत्पन्न करते हैं .. लेकिन वे सभी पेड़ के लेगो की तरह मॉड्यूलर तरीके से एक साथ फिट होते हैं। तब आपके पास कई संयोजन और कुछ काफी अनोखे पेड़ हो सकते हैं, लेकिन आप तेजी से चलने वाले खेल के लिए कई हिस्सों में सभी का उपयोग कर सकते हैं।


टुकड़े के विचार के अलावा यह उत्तर वास्तव में कुछ नया नहीं जोड़ता है।
जरी कोमप्पा

3
हमेशा अच्छा होता है जब ओपी इतनी सराहना करता है। एक QandA साइट के लिए आपकी पोस्ट में प्रश्नों की एक अलग कमी है। इस उत्तर के अलावा सीधे आपके बुलेट पॉइंट को संबोधित करता है।
सिरयाकोट

हाँ, वहाँ खुद गया है, माफी।
जरी कोमप्पा

1

मैं कुछ समय पहले पेड़ से टकरा गया था [... मैंने इसका उपयोग केवल एक छोटी सी राशि के लिए एक परियोजना का परीक्षण करने के लिए किया था, लेकिन यह केवल इसलिए था क्योंकि मैंने विकास को रोक दिया था - उपकरण आपको खेलने के लिए कई प्रकार के जनरेटर विकल्प देता है। , जो मुझे याद है, वह काफी तेज है। एक लिंक नीचे है।

नकारात्मक पक्ष यह है कि यह एक पेड़ जनरेटर नहीं है जिसे आप शामिल कर सकते हैं। आपको कुछ पेड़ों को पूर्व-उत्पन्न करना होगा और फिर उनकी विशिष्टता को ट्विक करने के लिए रन-टाइम पर रखने पर डेटा को संशोधित करना होगा।

सभी ट्रीडीडी का उपयोग करने के लिए स्वतंत्र है, और आप अपने स्वयं के प्रोजेक्ट्स में उन पेड़ों को शामिल कर सकते हैं, जो वाणिज्यिक या मुफ्त हैं, जब तक कि वे मॉडल पैक, बनावट पैक, 3 डी मॉडल जनरेटर या बनावट जनरेटर नहीं हैं।


अन्य मुफ्त जनरेटर देखने के लिए अच्छा है, भले ही यह एक पुस्तकालय प्रारूप में हो।
जरी कोमप्पा

1

यह एक छोटा सा समाधान है, और मैंने इसे एक परियोजना में इस्तेमाल किया है और आपको बता सकता है कि यह तेजी से जीन के पेड़ों के लिए पर्याप्त है कि खेल क्यों चल रहा है। यह निश्चित रूप से विस्तृत नहीं है, लेकिन अगर आपको बिलबोर्ड से छुटकारा मिला तो यह बहुत साफ-सुथरा हो सकता है।

http://ltrees.codeplex.com/


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