คำถามติดแท็ก terrain

ใช้เพื่ออธิบายภูมิศาสตร์ทางกายภาพของสถานที่ ซึ่งอาจรวมถึงระดับความสูงความชันและทิศทางของคุณสมบัติ

5
การใช้แนวนอนแบบทำลายได้ 2D (เช่น Worms)
ขั้นตอนใดที่จะมีส่วนร่วมในการสร้างภูมิทัศน์ 2D แบบทำลายได้เช่นใน Worms? ในทางอุดมคติแล้วมีวิธีใดบ้างที่กระบวนการนี้จะทำให้มีประสิทธิภาพมากที่สุด
76 2d  terrain 

5
โลก 'ถิ่นทุรกันดาร' ที่สร้างขึ้นขนาดใหญ่
ฉันแน่ใจว่าคุณทุกคนรู้เกมเช่นป้อมปราการแคระ - ถิ่นทุรกันดารและแผ่นดินที่สร้างขึ้นขนาดใหญ่ บางสิ่งเช่นนี้นำมาจากบทความที่มีประโยชน์มากนี้ อย่างไรก็ตามฉันสงสัยว่าฉันจะใช้สิ่งนี้กับขนาดที่ใหญ่ขึ้นได้อย่างไร ขนาดของ Minecraft นั้นมาถึงใจแล้ว (ไม่ใช่ขนาด 8x ของพื้นผิวโลกใช่ไหม) Pseudo-infinite ฉันคิดว่าคำที่ดีที่สุดจะเป็น บทความพูดถึงเสียงเพอร์ลินเศษส่วน ฉันไม่มีทางเป็นผู้เชี่ยวชาญในเรื่องนี้ แต่ฉันได้รับความคิดทั่วไป (มันเป็นเสียงที่สร้างขึ้นแบบสุ่มซึ่งมีลักษณะกึ่งกันดังนั้นจึงไม่ใช่แค่ค่าพิกเซลแบบสุ่ม) ฉันสามารถกำหนดขอบเขต X โดย X ในขนาดเพิ่มสิ่งที่ประเภทโหลดภูมิภาคบางส่วนและมีเสียงหนึ่งบิตสร้างภูมิภาค แต่สิ่งนี้จะส่งผลให้เกิดหมู่เกาะจำนวนมาก ในอีกด้านหนึ่งฉันไม่คิดว่าฉันจะสามารถสร้างเสียงเพอร์ลินซึ่งมีมวลมหาศาลได้ และมันจะเป็นแค่เกาะใหญ่ที่ฉันคิดว่า ฉันค่อนข้างมั่นใจว่าเสียงเพอร์ลินหรือเสียงรบกวนจะเป็นคำตอบในทางใดทางหนึ่ง ฉันหมายถึงแผนที่ดูดีจริงๆ และคุณสามารถแทนที่ ascii ด้วยกระเบื้องและดูสิ่งที่สวยงามมาก

6
ฉันจะเพิ่มประสิทธิภาพโลก Minecraft-esque voxel ได้อย่างไร?
ฉันพบว่าโลกขนาดใหญ่ที่ยอดเยี่ยมของ Minecraft นั้นช้ามากในการนำทางแม้ว่าจะใช้ Quad-Core และกราฟิกการ์ดเนื้อ ฉันถือว่าความเชื่องช้าของ Minecraft มาจาก: Java เนื่องจากการแบ่งพาร์ติชันและการจัดการหน่วยความจำเร็วขึ้นในภาษา C ++ การแบ่งพาร์ติชันที่อ่อนแอของโลก ฉันอาจผิดทั้งสองข้อ อย่างไรก็ตามนี่ทำให้ฉันคิดถึงวิธีที่ดีที่สุดในการจัดการโลก voxel ขนาดใหญ่ มันเป็นโลก 3 มิติจริงที่บล็อกสามารถอยู่ในส่วนใดของโลกก็เป็นพื้นอาร์เรย์ใหญ่ 3D [x][y][z]ซึ่งแต่ละบล็อกในโลกที่มีประเภท (เช่นBlockType.Empty = 0, BlockType.Dirt = 1ฯลฯ ) ฉันคิดว่าเพื่อให้โลกประเภทนี้ทำงานได้ดีคุณจะต้อง: ใช้ต้นไม้ที่มีความหลากหลาย ( oct / kd / bsp ) เพื่อแยกลูกบาศก์ทั้งหมดออก ดูเหมือนว่า oct / kd จะเป็นตัวเลือกที่ดีกว่าเนื่องจากคุณสามารถแบ่งพาร์ติชันในระดับต่อคิวบ์ไม่ใช่ระดับต่อสามเหลี่ยม ใช้อัลกอริทึมบางอย่างเพื่อหาว่าบล็อกใดที่สามารถเห็นได้ในปัจจุบันเนื่องจากบล็อกที่อยู่ใกล้กับผู้ใช้มากขึ้นอาจทำให้บล็อกยุ่งเหยิง ทำให้วัตถุบล็อกมีน้ำหนักเบาดังนั้นจึงเป็นการเพิ่มและนำออกจากต้นไม้ได้อย่างรวดเร็ว ฉันเดาว่าไม่มีคำตอบที่ถูกต้องสำหรับเรื่องนี้ แต่ฉันสนใจที่จะเห็นความคิดเห็นของประชาชนในเรื่องนี้ คุณจะปรับปรุงประสิทธิภาพในโลก voxel …

3
อัลกอริทึมสำหรับปริมาณน้ำฝน + การสร้างแม่น้ำในภูมิประเทศที่สร้างขึ้นแบบขั้นตอน
เมื่อไม่นานมานี้ฉันรู้สึกทึ่งกับสิ่งต่าง ๆ ที่สามารถทำได้กับภูมิประเทศแบบขั้นตอนและเริ่มทำการทดลองกับการสร้างโลกขึ้นมาเล็กน้อย ฉันต้องการที่จะทำให้โลกเป็นเหมือนป้อมปราการของคนแคระที่มีรายได้ที่สร้างขึ้นจากการผสานแผนที่ต่างๆเข้าด้วยกัน ดังนั้นขั้นตอนแรกจึงถูกทำขึ้นมา การใช้อัลกอริทึม Diamond-Square ฉันได้สร้าง hieghtmaps ที่ดีบางอย่าง ขั้นต่อไปคือฉันต้องการที่จะเพิ่มคุณสมบัติของน้ำและสร้างพวกเขาค่อนข้างสมจริงกับปริมาณน้ำฝน ฉันได้อ่านเกี่ยวกับวิธีการที่แตกต่างกันสองสามอย่างเช่นเริ่มต้นที่จุดสูงสุดของแผนที่และ "ก้าว" ลงไปยังจุดต่ำสุดที่อยู่ใกล้เคียงกันการรวม / การเซาะเนื่องจากมันทำงานไปจนถึงระดับน้ำทะเล มีอัลกอริทึมใด ๆ ที่มีเอกสารเกี่ยวกับสิ่งนี้หรือมากกว่าข้อมือ? จะรักคำแนะนำ / ความคิดใด ๆ

6
สร้างภูมิภาคบนเกาะตามขั้นตอน
ขณะนี้ฉันมีเกาะที่มีลักษณะเช่นนี้: และฉันต้องการแบ่งขั้นตอนออกเป็นส่วน ๆ ตามภูมิภาคดังนี้: ขั้นตอนวิธีใดที่ฉันกำลังมองหา คุณมีคำแนะนำเกี่ยวกับวิธีการสร้างภูมิภาคที่เชื่อมโยงกันเหมือนในภาพด้านล่าง ความช่วยเหลือของคุณได้รับการชื่นชม

2
ฉันจะลดผลกระทบด้านประสิทธิภาพของการแสดงผลต้นไม้ได้อย่างไร
ฉันกำลังทำเกมโพลีสุกใสต่ำ ฉันมีภูมิประเทศที่มีน้ำและฉันต้องการต้นไม้มากมาย ฉันมีต้นไม้จำนวน 10,000 ต้นในขณะนี้ ต้นไม้แต่ละต้นมีรูปสามเหลี่ยมไม่เกิน 200 รูปดังนั้นพวกเขาจึงไม่เก็บภาษีมากเกินไป ปัญหาหลักคือมีทะเลสาบและทะเลสาบมีขนาดค่อนข้างใหญ่ คุณไม่สามารถเห็นต้นไม้ใด ๆ ที่อยู่อีกด้านหนึ่งของทะเลสาบและนั่นก็ดูแย่มากโดยเฉพาะเมื่อคุณเดินไปที่นั่นและต้นไม้ก็ปรากฏขึ้นทันที ในการแก้ไขปัญหานี้ฉันต้องเพิ่มระยะห่างของต้นไม้เพื่อให้คุณสามารถเห็นต้นไม้จำนวนหนึ่งที่อยู่ตรงข้ามทะเลสาบ แต่ลดประสิทธิภาพลง 40-50fps และแทบไม่มีอะไรในเกมเลย ฉันใช้ GTX 1080 หากเป็นเช่นนั้น ฉันจะทำอย่างไรเพื่อให้เกมของฉันทำงานเร็วขึ้นด้วยต้นไม้มากขึ้น

6
วิธีที่ง่ายที่สุดในการสร้างภูมิประเทศที่ราบรื่นสำหรับเกม 2d คืออะไร?
วิธีที่ง่ายที่สุดในการสร้างภูมิประเทศที่ราบรื่นสำหรับเกม 2d เช่น "Moon Buggy" หรือ "Route 960" คืออะไร? ฉันได้รับคำตอบที่ stackoverflow.com เกี่ยวกับการสร้างอาเรย์ของความสูงแบบสุ่มและเบลอในภายหลัง ใช่มันค่อนข้างโอเค แต่มันจะเป็นการดีกว่าถ้าคุณให้คะแนนและรับโค้งที่ราบรื่น

4
จะเริ่มต้นเมื่อสร้างเครื่องมือแก้ไขภูมิประเทศ 3 มิติได้อย่างไร [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นไปตามหัวข้อสำหรับ Game Exchange Stack Exchange ปิดให้บริการใน4 ปีที่แล้ว ฉันกำลังมองหาการสร้าง (สำหรับการเริ่มต้น) เครื่องมือง่ายๆที่สามารถยกระดับลดลงราบเรียบและสัมผัสพื้นผิวได้ ดังนั้นสิ่งที่ฉันต้องทำเพื่อแก้ไขภูมิประเทศเช่นนั้นคืออะไร และอาจมีทรัพยากรที่มีค่าในเรื่อง? ใช่ลืมที่จะพูดถึงว่าฉันสนใจในเครื่องมือแก้ไขภูมิประเทศ 3 มิติ

6
ฟังก์ชั่นลดเสียงรบกวน 3 มิติใช้เพื่อสร้างภูมิประเทศอย่างไร
ฉันสามารถพันหัวของฉันไปรอบ ๆ โดยใช้ฟังก์ชั่นเสียงรบกวน 2d perlin เพื่อสร้างมูลค่าความสูง แต่ฉันไม่เข้าใจว่าทำไมฟังก์ชั่นเสียงรบกวน 3d perlin จะถูกนำมาใช้ ในบล็อกของ Notch http://notch.tumblr.com/post/3746989361/terrain-generation-part-1เขากล่าวถึงการใช้ฟังก์ชั่นลดเสียงรบกวน 3 มิติสำหรับการสร้างภูมิประเทศบน Minecraft ไม่มีใครรู้วิธีการที่จะทำและทำไมมันจะมีประโยชน์หรือไม่ หากคุณผ่านค่า x, y, และ z นั่นไม่ได้หมายความว่าคุณมีความสูงอยู่แล้ว?

5
ฉันจะสร้างภูมิประเทศขนาดใหญ่ในความสามัคคีได้อย่างไร
ฉันจะทำให้มากภูมิประเทศอย่างมากในความสามัคคี? ดูเหมือนว่าฉันสามารถตั้งค่าความกว้างและความยาวเป็นค่าขนาดใหญ่ได้ แต่ความละเอียด Heightmap จะสูงถึง 4097 และ Resolution ละเอียดจะสูงถึง 4048 เท่านั้น ความคิดใด ๆ

4
โครงสร้างข้อมูลใดที่ควรใช้เพื่อเป็นตัวแทนของภูมิประเทศ voxel
ตามหน้า Wikipediaเกี่ยวกับ voxels "[... ] ตำแหน่งของ voxel นั้นอนุมานตามตำแหน่งของมันเมื่อเทียบกับ voxels อื่น ๆ (เช่นตำแหน่งของมันในโครงสร้างข้อมูลที่ทำขึ้นเป็นรูปปริมาตรเดียว)" เราควรนำโครงสร้างข้อมูลไปใช้อย่างไร? ฉันกำลังคิดเกี่ยวกับลำดับที่หนึ่ง แต่ฉันสงสัยว่ามีอย่างอื่นที่ฉันไม่เคยได้ยิน

2
ฉันจะสร้างแผนที่แบบสุ่มที่รู้สึกเหมือนแผนที่แบบสุ่มของ Age of Empires II ได้อย่างไร
ฉันชอบวิธีที่ Age of Empires II สร้างแผนที่แบบสุ่มปรากฎ (ความหลากหลายที่ดีการเปลี่ยนภาพทางชีวภาพที่ดีแผนที่รู้สึกแบบสุ่มโดยไม่รู้สึกวุ่นวาย) แต่ฉันพยายามที่จะเลียนแบบสไตล์ ฉันได้ลองใช้เช่นเสียงเพอร์ลิน แต่ทุกอย่างออกมาเป็นเนื้อเดียวกันมากเกินไปหรือไม่ถ้านั้นค่าเปอร์ลิน -> ฮิวริสติกภูมิประเทศนั้นอ่อนไหวและบอบบางเกินไปที่จะทำให้โลกมีความหลากหลาย ฉันจำประเภทแผนที่ AoE2 "The Unknown" ที่โฆษณา "100,000 แผนที่ที่เป็นไปได้" แนะนำการใช้หมายเลขเมล็ดพืชบางอย่าง แต่ฉันไม่แน่ใจว่าจะใช้หมายเลขเมล็ดพันธุ์เพื่อผลิตสิ่งที่ฉันเห็นได้อย่างไร อัลกอริทึมและการวิเคราะห์พฤติกรรมแบบใดที่ฉันสามารถใช้ในการสร้างแผนที่แบบสุ่มที่ให้ความรู้สึกเหมือนแผนที่แบบสุ่มของ AoE2 แก้ไขให้เฉพาะเจาะจงมากขึ้น: คิดเพิ่มเติมเกี่ยวกับปัญหาของฉันและการศึกษาสิ่งที่ผมชอบเกี่ยวกับเครื่องมือแผนที่ AoE2 สุ่มผมเชื่อว่าปัญหาที่ใหญ่ที่สุดของฉันคือการจัดการการกระจายของน้ำและพืชชีวิตบนแผนที่ ตอนนี้ฉันเห็นแล้วว่าฉันผูกติดอยู่กับความคิดของฉันด้วย "การเปลี่ยนแปลงทางชีวภาพที่เหมาะสม" แต่นั่นเป็นปัญหาที่แตกต่าง (แม้ว่าฉันคาดหวังว่าการใช้ Perlin noise อย่างต่อเนื่องจะทำให้แก้ไขได้ยาก) ฉันได้เพิ่มแผนที่สุ่ม AoE2 หลายรายการที่เน้นสิ่งที่ฉันชอบเกี่ยวกับเครื่องมือการทำแผนที่ซึ่งความพยายามของฉันเองไม่สามารถทำซ้ำได้ ภาพหน้าจอทั้งหมดนำมาจากแผนที่แบบสุ่ม "กำหนดเอง" -> "ไม่ทราบ" ฉันไม่ได้สั่งให้เกมใช้ภูมิศาสตร์เฉพาะเช่นหมู่เกาะ ด้านล่างคือภาพจากเครื่องมือสร้างแผนที่ของฉันเอง แต่ละพิกเซลสอดคล้องกับแผนที่ย่อย AoE2 หนึ่งจุด ปัญหาหนึ่งสำหรับโครงการของฉันคือฉันต้องการให้แผนที่มีขนาดใหญ่กว่าแผนที่ AoE2 หลายเท่า ดังนั้นสิ่งที่เครื่องยนต์ที่ฉันใช้จะต้องสามารถสร้าง …

1
เข้าใจอย่างลึกซึ้ง“ ระดับรายละเอียดที่หนาเป็นชิ้น”
เพิ่งพยายามทำความเข้าใจกับการนำระบบรายละเอียดมาใช้ใน Unity ฉันจะสร้างเครื่องบินตาข่ายสี่ลำโดยแต่ละแผนที่มีความสูง แต่ฉันเดาว่าไม่สำคัญเกินไปในขณะนี้ ฉันมีคำถามมากมายหลังจากอ่านเกี่ยวกับเทคนิคนี้ฉันหวังว่านี่จะไม่มากเกินไปที่จะขอให้ทุกคนในครั้งเดียว แต่ฉันจะขอบคุณมากสำหรับใครบางคนที่จะช่วยให้ฉันเข้าใจเทคนิคนี้ 1 : ฉันไม่สามารถเข้าใจได้ว่าจุดใดที่ท่อส่งของChunked LODที่ตาข่ายแบ่งออกเป็นชิ้น ๆ เป็นสิ่งนี้ในระหว่างการสร้างตาข่ายครั้งแรกหรือมีอัลกอริทึมแยกซึ่งทำสิ่งนี้ 2 : ฉันเข้าใจว่ามีการใช้โครงสร้างข้อมูล Quadtree เพื่อเก็บข้อมูลChunked LODฉันคิดว่าฉันพลาดจุดนี้ไปเล็กน้อย แต่ Quadtree เก็บข้อมูลจุดสุดยอดและสามเหลี่ยมสำหรับแต่ละแผนกย่อยหรือไม่? 3a : ระยะห่างของกล้องคำนวณโดยทั่วไปอย่างไร เมื่ออ่านเกี่ยวกับควอดทรีของกล่องจัดชิดขอบแกนเป็นที่กล่าวถึงมาก ในกรณีนี้แต่ละอันจะมีช่องสำหรับชนกันเพื่อตรวจจับกล้องหรือเครื่องเล่นอยู่ใกล้ ๆ หรือไม่? หรือมีวิธีที่ดีกว่าในการทำเช่นนี้? (raycast อาจจะ?) 3b : กลุ่มก้อนคำนวณระยะทางของกล้องด้วยตนเองหรือไม่? 4 : แต่ละก้อนมี "การแก้ไข" ที่เหมือนกันหรือไม่ ตัวอย่างเช่นที่ระดับบนสุดตาข่ายจะเป็น 32x32 แต่ละโหนดย่อยจะเป็น 32x32 ตัวอย่างด้านล่าง:

2
การสร้างเอกภพขั้นตอนที่ 2d
ฉันต้องการสร้างเอกภพที่แบนราบซึ่งตอนแรกทั้งจักรวาลว่างเปล่า ซึ่งจะแสดงโดยภาพพื้นหลังเนบิวลาเลื่อนภาพพารัลแลกซ์ สิ่งที่ฉันต้องการจะทำคือเป็นตัวแทนของดาวเคราะห์ในรูปวัตถุแผ่นดิสก์ในจักรวาล พวกเขาสามารถมีขนาดต่าง ๆ ด้านในของแผ่นดิสก์จะประกอบด้วยผืนดินจากนั้นภายนอกซึ่งจะเป็นแหล่งน้ำและหลังจากอากาศนั้น สิ่งที่จะเป็นวิธีที่ดีที่สุดในการสร้างกระเบื้องเหล่านั้นเป็นขั้นตอนตัวอย่างเช่นอากาศจะประกอบด้วยก๊าซหลายชนิดและดินแดนแห่งแร่ธาตุและทรัพยากรต่าง ๆ ความคิดแรกของฉันคือการสร้างภาพพื้นผิวจากนั้นประทับตราวงกลมออกจากพื้นผิวเหล่านั้น แต่ปัญหาคือพื้นผิวเหล่านั้นจะต้องห่อในแนวนอนและแนวตั้ง มีวิธีการดำเนินการอย่างเต็มที่ในการทำเช่นนี้?

1
การสร้างภูมิประเทศสำหรับ platformer 2D ที่ใช้กระเบื้อง
ขณะนี้ฉันกำลังทำงานกับ platformer 2D ที่ใช้กระเบื้องคล้ายกับ Terraria ในบางวิธีแม้ว่าฉันจะมีปัญหากับการสร้างภูมิประเทศ ฉันมีพื้นฐานบางอย่างที่ทำแม้ว่าพวกเขาจะไม่ออกมาเป็นสิ่งที่มีประโยชน์ ฉันได้ลองใช้เทคนิคที่แตกต่างกันสองสามอย่างเช่น Perlin Noise และอ่านเกี่ยวกับเทคนิคอื่น ๆ เช่น Midpoint Displacement ถึงแม้ว่าฉันไม่แน่ใจว่าสิ่งใดจะดีที่สุดหรือผสมผสานเทคนิคต่าง ๆ เพื่อสร้างพื้นที่ที่แตกต่างกัน (เช่น Midpoint Displacement สำหรับรูปร่างทั่วไปของภูมิประเทศและ Perlin Noise สำหรับถ้ำ) ฉันได้พบคำอธิบายที่ยอดเยี่ยมว่าฉันจะเพิ่มเลเยอร์ให้กับมันได้อย่างไร Accidental Noise Library ได้อย่างไรแม้ว่ามันจะอยู่ใน C ++ และฉันไม่รู้ C ++ มากพอที่จะรวบรวมมันเป็น DLL ที่ฉันสามารถใช้จาก C # ฉันพยายามคัดลอกสิ่งนี้ใน C # ถึงแม้ว่าฉันไม่ทราบว่าฉันจะรวมเอฟเฟกต์สองอย่างเข้าด้วยกันได้อย่างไร (การไล่ระดับสีสำหรับฐานทั่วไปแล้วเศษส่วนเพื่อดูรายละเอียด) ขณะนี้ฉันกำลังใช้เศษส่วนพลาสม่าและผลลัพธ์มีความหลากหลายอย่างมาก ตัวอย่างเช่นมันสามารถสร้างภูมิประเทศที่ไม่มีพื้นผิวใด ๆ หรือมันสามารถสร้างภูมิประเทศที่ไม่มีพื้นผิวเลย ตัวอย่างของแผนที่โอเคน่าจะดีขึ้นหากมีการปรับปรุงเพิ่มเติม …

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.