पहाड़ की विशेषताएं


10

मैं कुछ दिनों पहले एक पोर्टफोलियो / ब्लॉग साइट पर पाए गए एक प्रक्रियात्मक इलाके प्रभाव को दोहराने के लिए देख रहा हूं ।

सीढ़ीदार इलाक़ा

साइट का हवाला देते हुए, सीढ़ी के माध्यम से उत्पन्न किया गया था, "सुंदर घाटी सुविधाओं को बनाने के लिए एक निश्चित ऊंचाई सीमा के भीतर कुछ डंपिंग मूल्य से [अंतिम ऊंचाई को गुणा करना।"

मैं सोच रहा था, क्या कोई इस बारे में और अधिक तकनीकी उदाहरण या प्रक्रिया प्रदान करने में सक्षम होगा? पिछले सप्ताह के दौरान, मैं शोध कर रहा हूं और प्रक्रियात्मक इलाके / बनावट के तरीकों और प्रथाओं के बारे में बहुत कुछ सीख रहा हूं लेकिन मुझे अभी भी कुछ भी नहीं आया है जो विस्तार से बताता है कि 'क्लैम्पिंग' क्या है, और मैं निराश होने लगा हूं।


हुह, यह वास्तव में साफ है। मैं यह पता नहीं लगा सकता कि उसका क्या मतलब है। क्या आपने दोस्त को एक ईमेल भेजने की कोशिश की है (यह "संपर्क" के तहत उपलब्ध है)?
Draco18s अब SE

FYI करें: आपके उद्धरण और स्रोत में, शब्द 'भिगोना' है, लेकिन बाद में आपके प्रश्न में आप इसके बजाय 'क्लैम्पिंग' का उपयोग करते हैं।
पिकालेक

जवाबों:


11

मुझे नहीं पता कि उनका प्रोजेक्ट क्या करता है, लेकिन आप ऊँचाई पर फेरबदल के लिए आवेदन कर सकते हैं। यहां एक उदाहरण दिया गया है hजो 0.0 से 1.0 तक है और 0.0 से 1.0 तक एक नई ऊंचाई देता है:

function R(h) {
    var W = 0.4; // width of terracing bands
    var k = Math.floor(h / W);
    var f = (h - k*W) / W;
    var s = Math.min(2 * f, 1.0);
    return (k+s) * W;
}

यह एक ऐसा फ़ंक्शन है जो प्लॉट किए जाने पर ऐसा दिखता है - एक्स अक्ष मूल ऊंचाई है और वाई अक्ष नई ऊंचाई है:

ऊंचाई पुन: आकार देने का कार्य

मैंने इसे अपने कोड में लागू किया और इसे प्राप्त किया:

टेररिंग फ़ंक्शन का आउटपुट

स्वच्छ प्रभाव प्राप्त करने के लिए, आप किसी भी प्रकार के फेरबदल फ़ंक्शन में डाल सकते हैं, या उन्हें एक साथ चेन कर सकते हैं। जब उत्पादन के सपाट खंड होते हैं तो आपको छतें मिलती हैं।


मैं कसम खाता हूँ कि पूछने वाले के सवाल में एक आसान रास्ता है जो छत पर जाता है, लेकिन इसे फिर से देखते हुए, मुझे पूरा यकीन है कि यह एक भ्रम है। लेकिन मेरी आँखें अभी भी जोर देकर कहती हैं कि नहीं, वहाँ एक ऊंचाई में बदलाव है (शीर्ष कोने / शीर्ष बाएं किनारे पर छवि का केंद्र)। यदि कोई वृद्धि नहीं है, तो यह उत्तर सही है।
Draco18s अब SE को

1

भिगोना एक थरथरानवाला प्रणाली के भीतर या उस प्रभाव के लिए भौतिकी शब्द है जिसमें इसके दोलनों को कम करने, प्रतिबंधित करने या रोकने का प्रभाव होता है।

मुझे संदेह है कि आपके स्रोत लेख में एक टाइपो हो सकता है और क्लैम्पिंग हो सकता है , जो आम तौर पर किसी दिए गए रेंज के मूल्य को प्रतिबंधित करने के लिए संदर्भित करता है।

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

तीसरा विकल्प कटाव तकनीकों का उपयोग करना हो सकता है। यहाँ एक ढलान वाली भूमि के एक हिस्से को गिराकर एक चट्टान और समुद्र तट संयोजन बनाने के लिए एक है । यहाँ एक और है जो पठारों में चोटियों को मिटा सकता है ।


0

बहुत लंबे ब्रेक के बाद , अब मुझे समझ में आया कि प्रभाव कैसे प्राप्त किया गया था, और यह अविश्वसनीय रूप से सरल है। इस प्रभाव के 4 भाग हैं:

  • इलाके का प्रारंभिक ऊंचाई
  • छत 'रेंज' को परिभाषित करना, छत की सबसे कम ऊँचाई h1 और छत की ऊँचाई h2 है
  • एक भिगोना मूल्य जो छत की ऊंचाई की सीमा के भीतर जमीन को समतल करता है
  • एच 1 और एच 2 मानों को संशोधित करने के लिए एक दूसरी, लंबी दूरी की ऊंचाई, जो इस तरह से छतों के बीच निरंतर रैंप का निर्माण करती है (प्रत्येक ऊंचाई से स्वतंत्र एच 1 और एच 2 को बढ़ाने या घटाने के लिए इस्तेमाल किया जा सकता है, बड़े या छोटे छतों का निर्माण करती है)

यहाँ प्रभाव बनाने की प्रक्रिया है:

h1 = 1
h2 = 2
damp = .01

h = gen_noise(position)
hm = heightmod_noise(position)
if h1+hm <= initial_terrain_height =< h2+hm
  th = h * damp
elseif h2+hm < h
  th = h - (h2-h1) * damp
else
  th = h

(निश्चित रूप से, सीढ़ी का प्रभाव लागू होने के बाद इलाके की ऊंचाई है)

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