คำถามติดแท็ก procedural-generation

การสร้างขั้นตอนคือการสร้างเนื้อหาตามขั้นตอนวิธีและการคำนวณมากกว่าด้วยมือ

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

8
ฉันจะสร้างสัญญาณรบกวนที่เป็นรูปเป็นแผ่นสำหรับการสร้างแผนที่ได้อย่างไร
เฮ้พวกฉันกำลังพยายามหาวิธีสร้างเศษส่วนแบบเรียงต่อกันในรหัส (สำหรับแผนที่เกมแต่ไม่เกี่ยวข้อง ) ฉันพยายามแก้ไขปลั๊กอินเสียงรบกวนที่มาพร้อมกับ GIMP (ด้วยความเข้าใจที่ จำกัด อย่างมากเกี่ยวกับวิธีการ รหัสใช้งานได้) แต่ฉันไม่สามารถทำงานได้อย่างถูกต้อง รหัสที่แก้ไขของฉันแล้ว (Java) โมดูลเสียงรบกวนที่เป็นของแข็งของ GIMP ที่ฉันใช้เป็นรหัส (C) นี่คือสิ่งที่ฉันพยายามที่จะบรรลุแต่ นี่คือสิ่งที่ฉันได้รับ ดังนั้นถ้าใครสามารถเห็นสิ่งที่ฉันทำผิดหรือมีข้อเสนอแนะว่าฉันจะทำมันแตกต่างกันอย่างไรฉันก็จะขอบคุณมันมาก ขอบคุณล่วงหน้า. และถ้าฉันขอวิธีที่จะมากหรือถ้าเพียงแค่ความล้มเหลวอย่างมากในชีวิตฉันขอโทษ

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

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

4
ขั้นตอนการสร้างอาคารของพื้นที่เฉพาะ
ตัวเองและทีมกำลังทำงานในเกมตัวสร้างโรงงานที่ให้ผู้เล่นโรงงานสุ่มในช่วงเริ่มต้นของเกม เพื่อให้แน่ใจว่ามี "ความเป็นธรรม" โรงงานที่สร้างแบบสุ่มจะมีพื้นที่ภายในไม่กี่หน่วย (ค่าตัวยึด) 30 มันค่อนข้างง่ายในการเขียนเครื่องกำเนิดสี่เหลี่ยมแบบสุ่มขั้นพื้นฐานเพื่อให้ตรงตามข้อกำหนดเหล่านี้ แต่เป้าหมายของเราคือโรงงานมีความซับซ้อนมากขึ้นอาจประกอบด้วย 2, 3, หรือ 4 สี่เหลี่ยมตัดกันเพื่อสร้างรูปร่างที่ซับซ้อนมากขึ้น (คิดว่า L อาคารรูปตัว U และ O) ฉันพยายามสร้างสี่เหลี่ยมผืนผ้าสุ่มแล้วใช้พีชคณิตพื้นฐานเพื่อเติมสี่เหลี่ยมที่ 2 แต่จนถึงตอนนี้ฉันยังไม่มีโชคในการใช้สี่เหลี่ยมมากกว่า 2 รูปและฉันก็ไม่พอใจกับผลลัพธ์ที่ได้จากการออกแบบสี่เหลี่ยมผืนผ้าเพียง 2 อัน . ข้อมูลที่เกี่ยวข้องเพิ่มเติมบางส่วน: 2D จากบนลงล่างกลศาสตร์บางตัวเป็นสไตล์แฟคเตริโอดังนั้นห้องควรมีความยาวและความกว้างที่เหมาะสมเพื่อให้มีที่ว่างสำหรับเครื่องจักรขณะนี้ใน Java และ Lua (สามารถใช้ห้องสมุดในตัวก็ได้ ขอบคุณล่วงหน้า! แก้ไข: เมื่อฉันพูดว่าเอาต์พุต "ดี" หรือ "ไม่ดี" เอาต์พุตที่ไม่ดีจะเป็นเอาต์พุตใด ๆ ที่มีพื้นที่ใช้งานไม่ได้โดยผู้เล่น รูปร่างของโรงงาน จำกัด ที่ผู้เล่นสามารถวางเครื่องจักรโรงงานเช่นสายพานลำเลียง ตามหลักการแล้วโรงงานไม่ควรมีพื้นที่ที่กว้างเพียง 1-2 บล็อกรูปร่างไม่ควรเป็นสี่เหลี่ยมขนาดใหญ่หนึ่งหรือสองรูปที่มีเส้น 1-2 …

3
อะไรคือความแตกต่างระหว่าง“ การสร้างแบบไดนามิก” และ“ การสร้างตามขั้นตอน”?
เมื่อฉันคิดถึงเกมที่สร้างขึ้นแบบไดนามิกฉันคิดถึงสิ่งต่าง ๆ เช่น Diablo ที่มีระดับที่สร้างแบบสุ่ม เมื่อฉันคิดถึงเกมที่สร้างตามขั้นตอนฉันคิดว่าสิ่งต่าง ๆ เช่น Flappy Bird และนักวิ่งที่ไม่มีที่สิ้นสุดอื่น ๆ แต่ทั้งสองอย่างนี้เป็นการสุ่มระดับ มันเป็นเกมที่สร้างตามขั้นตอนที่ถูกสร้างขึ้นอย่างต่อเนื่องและเกมที่สร้างขึ้นแบบไดนามิกทั้งหมดจะถูกสร้างขึ้นหน้า? หรือข้อกำหนดเหล่านี้ใช้แทนกันได้หรือไม่ ความแตกต่างระหว่างเกมที่สร้างขึ้นแบบไดนามิกและเกมที่สร้างขึ้นแบบขั้นตอนคืออะไร?

2
Dungeon Generation ที่ไม่มีทางเดินและการขึ้นต่อกันของห้อง
ฉันกำลังสร้างเกมด้วยโลกที่สร้างขึ้นตามขั้นตอนที่สร้างขึ้นในตอนต้นของเกมซึ่งประกอบด้วยหลายพื้นที่ที่แสดงโดยกริด (พูด, 8x8, 9x6 ขนาดจะเป็นการดีตามอำเภอใจ) พื้นที่เหล่านี้ควรจะเชื่อมต่อซึ่งกันและกันผ่านรายการการพึ่งพา มีการเชื่อมต่อเมื่อมีช่องว่างอย่างน้อย 3 ช่องของกริดนั้นระหว่างสองพื้นที่ ในเซลล์ตรงกลางของพื้นที่เชื่อมต่อ 3 พื้นที่นั้นเป็นประตูทางเข้าระหว่างพื้นที่: ฉันพยายามคิดหาวิธีเชื่อมโยงพวกมันเข้าด้วยกัน แต่มันก็ซับซ้อนมากขึ้นเรื่อย ๆ ในด้านที่คุณต้องพิจารณาในเวลาเดียวกัน ฉันได้ลองทำต้นแบบกระดาษและในขณะที่มันเป็นกระบวนการที่ง่ายมากเมื่อทำการมองเห็นฉันยังไม่พบชุดนิพจน์ทางคณิตศาสตร์ที่ดีที่ทำให้ฉันสามารถวางห้องที่มีประสิทธิภาพเดียวกันด้วยรหัส นี่เป็นตัวอย่าง "ง่าย ๆ " ที่ฉันกำลังดิ้นรนอยู่ตอนนี้: พื้นที่ 'a' จำเป็นต้องเชื่อมต่อกับ 'b' และ 'c' พื้นที่ 'b' จำเป็นต้องเชื่อมต่อกับ 'a' และ 'd' พื้นที่ 'c' จำเป็นต้องเชื่อมต่อกับ 'a' และ 'd' พื้นที่ 'd' จำเป็นต้องเชื่อมต่อกับ 'b' และ 'c' พิจารณาเพื่อความง่ายเราวางห้องตามลำดับที่ปรากฏในรายการ (ฉันลองคนอื่นแล้ว) ดังนั้นฉันจึงเข้าใกล้สิ่งนี้เป็นอัลกอริทึม Dungeon …

3
วิธีการแบ่งตารางฐานสิบหกอย่างเท่าเทียมกันในหมู่ผู้เล่น n?
ฉันกำลังสร้างเกมที่ใช้ฐานสิบหกแบบง่ายและฉันต้องการให้แผนที่แบ่งให้ผู้เล่นเท่า ๆ กัน แผนที่ถูกสร้างแบบสุ่มและฉันต้องการให้ผู้เล่นมีจำนวนเซลล์ที่เท่ากันโดยมีพื้นที่ค่อนข้างเล็ก ตัวอย่างเช่นหากมีผู้เล่นสี่คนและ 80 เซลล์ในแผนที่ผู้เล่นแต่ละคนจะมีประมาณ 20 เซลล์ (ไม่จำเป็นต้องมีจุดเฉพาะ) นอกจากนี้ผู้เล่นแต่ละคนควรมีเซลล์ที่อยู่ติดกันไม่เกินสี่เซลล์ กล่าวคือเมื่อสร้างแผนที่ "ชิ้นที่ใหญ่ที่สุด" ไม่สามารถมีได้มากกว่าสี่เซลล์ต่อเซลล์ ฉันรู้ว่ามันเป็นไปไม่ได้สำหรับผู้เล่นสองหรือสามคน (เช่นนี้คล้ายกับปัญหา "ระบายสีแผนที่") และฉันก็โอเคกับการแก้ปัญหาอื่น ๆ สำหรับพวกเขา (เช่นการสร้างแผนที่ที่แก้ปัญหาแทน) แต่สำหรับผู้เล่นสี่ถึงแปดคนฉันจะแก้ไขปัญหานี้ได้อย่างไร

1
ทำให้ภูมิทัศน์จากบนลงล่างสร้างขึ้นตามขั้นตอนที่น่าสนใจ
ฉันกำลังเล่นเกมกับโลกที่สร้างขึ้นแบบขั้นตอน โดยหลักการแล้วฉันต้องการสร้างภูมิทัศน์ที่สวยงามราวกับโลกของ Minecraft Minecraft มี chasms และน้ำตกและภูเขาและภูเขากลิ้งและมหาสมุทร ฯลฯ แต่เนื่องจากนี่จะเป็นเกมบนลงล่าง (จริง ๆ แล้วมีมุมมอง 3/4) ฉันไม่เชื่อว่ามันเป็นไปได้ เหตุผลหลักคือการพยายามและแสดงความสูงในมุมมองนี้ยากเพียงใด Zelda: การเชื่อมโยงไปยังอดีตสร้างภาพลวงตาของความสูงได้ดี แต่มันยากที่จะสร้างขั้นตอนขึ้นมาใหม่และยังแนะนำปัญหาบางอย่างเช่นความจริงที่ว่าโครงสร้างที่สูงที่สุดต้องอยู่ด้านบนสุดของแผนที่ ดังนั้นฉันต้องการทราบเทคนิคบางอย่างเพื่อทำให้ทิวทัศน์น่าสนใจในรูปแบบจากบนลงล่างโดยไม่ต้องปลอมเป็นมิติที่สาม (คุณไม่สามารถสร้างหรือทำลายภูมิประเทศในเกมนี้เพื่อให้มีความยืดหยุ่นมากขึ้น) แก้ไข: เพื่อให้สิ่งต่าง ๆ ชัดเจนยิ่งขึ้นฉันพยายามหลีกเลี่ยงโลกที่มีคุณสมบัติที่ต้องใช้มิติที่ 3 ตัวอย่างเช่นฉันไม่สามารถมีภูเขาหรือภูเขากลิ้งได้ สามารถเพิ่มฟีเจอร์ภูมิทัศน์ใดที่ไม่ต้องการแกล้งทำมิติที่ 3 คำตอบเดียวอาจจะเพิ่มแม่น้ำ แต่นั่นเป็นคำตอบที่ชัดเจน

1
เครื่องกำเนิดสนามดาวขั้นตอน
มีใครทราบรหัสใด ๆ ในการสร้างฟิลด์ดาวแบบเป็นขั้นตอนหรือไม่ โดยหลักการแล้วฉันอยากให้มันเป็นแบบฟิสิกส์เพื่อที่ฉันจะได้มีดาวเคราะห์และดวงจันทร์ที่เหมือนจริง ส่วนที่ดีที่สุดคือ C ++, โอเพ่นซอร์สและสามารถใช้งานได้กับ Ogre3d ฉันไม่กลัวการเขียนโค้ดบางอย่างจากรายงานของมหาวิทยาลัยหากไม่มีอะไรให้ใช้

4
จะโหลดดาวเคราะห์ทรงกลมและภูมิภาคได้อย่างไร
ฉันกำลังออกแบบเกมที่ประกอบด้วยการสำรวจดาวเคราะห์บางส่วน ฉันต้องการใช้การสร้างแบบสุ่มหลอกสำหรับพวกเขาสร้างใหม่จากเมล็ดที่กำหนดไว้เมื่อฉันต้องโหลดพวกเขาแทนที่จะเก็บทุกรายละเอียดซึ่งจะหนักเกินไป ดังนั้นฉันจะเก็บไฟล์แบบสุ่มและการดัดแปลงที่ทำโดยผู้เล่นในไฟล์ถ้ามี ผู้เล่นจะต้องสามารถมองเห็นดาวเคราะห์จากวงโคจร (ด้วยรายละเอียดที่ต่ำมากจากนั้นก็ลงไปที่พื้นเพิ่มระดับของรายละเอียดของภูมิภาคที่เขา / เธอลงจอดอย่างช้า ๆ และขนลงด้านอื่น ๆ ของดาวเคราะห์ซึ่งอยู่นอกมุมมองของผู้เล่น ถ้าฉันต้องทำบนพื้นราบฉันจะทำอย่างง่ายดายด้วยระบบอันทรงสี่เหลี่ยม แต่ปัญหาตรงนี้ก็คือดาวเคราะห์เกือบจะเป็นทรงกลม ดังนั้นวิธีที่ดีที่สุดในการโหลดรายละเอียดภาคพื้นดิน (วัตถุการผ่อนปรนและวัตถุที่มีการลงดิน) รอบจุดที่แม่นยำคืออะไร ฉันว่าแล้วในสองวิธี แต่ทั้งสองมีจุดอ่อน: 1. การตัดทรงกลมเป็นชิ้นสี่เหลี่ยม เมื่อผู้เล่นอยู่ใกล้พื้นดินมากพอฉันต้องปรับปรุงรายละเอียดของสี่เหลี่ยมที่ใกล้เคียงที่สุดจากตำแหน่งของเขา / เธอ หากยังไม่พอฉันยังสามารถตัดสี่เหลี่ยมแต่ละช่องเป็นสี่เหลี่ยมย่อยเพื่อโหลดเมื่อผู้เล่นอยู่บนหรือใกล้พื้นดินจริงๆ แต่อย่างที่คุณเห็นในภาพมีปัญหาถ้าผู้เล่นพยายามที่จะลงจอดบนเสา: สแควร์สกลายเป็นรูปสี่เหลี่ยมผืนผ้าที่บางมากหรือแม้กระทั่งรูปสามเหลี่ยมสำหรับบรรทัดสุดท้ายและนอกจากนี้ความจริงที่ว่าพวกเขาจะโหลดจำนวนมาก รุ่นจะปรากฏบิดเบี้ยว 2. เริ่มต้นจาก icosahedron ที่นี่ฉันสามารถเพิ่มรูปสามเหลี่ยม tessellation รอบตำแหน่งของผู้เล่นเมื่อเขา / เธอเข้าใกล้ แต่ฉันไม่รู้วิธีหาสามเหลี่ยมใกล้ตำแหน่งของผู้เล่น ฉันได้ยินว่าพิกัดคาร์ทีเซียนอาจเป็นประโยชน์อย่างเต็มที่ในกรณีนั้น แต่ฉันไม่รู้วิธีใช้งาน ฉันใช้ C ++ / OpenGL สำหรับมันดังนั้นสิ่งสำคัญในการสร้างและโหลดที่นี่คือจุดยอดที่แสดงถึงการลดพื้นผิวและสี / พื้นผิว

3
การสร้างขั้นตอนของระบบดาวเคราะห์กึ่งถูกต้อง
ดังนั้นมีแหล่งข้อมูลมากมายที่คุณสามารถค้นหาผ่าน Google หรือใช้การค้นหาที่นี่เกี่ยวกับวิธีการสร้างกาแลคซีทั้งหมด แต่ฉันไม่สามารถหาแหล่งข้อมูลที่ดีเกี่ยวกับวิธีสร้างระบบดาวเคราะห์ที่เป็นไปตามเกณฑ์เหล่านี้: ระบบไม่จำเป็นต้องเป็นการจำลองวงโคจรที่แม่นยำ แต่ควรอยู่ใกล้กับวงโคจรที่น่าเชื่อถือ ฉันไม่สนใจเกี่ยวกับการจำลองใด ๆ ที่สนใจว่าระบบจะมองอย่างไรใน 200 พันปีปีวงโคจรอาจจะแข็งกระด้าง ปัญหาหลักที่ฉันเผชิญคือวิธีการสร้างระบบแบบสุ่มที่น่าจะเป็นไปได้ สิ่งนี้จะน่าสนใจเป็นพิเศษเมื่อคุณมีระบบที่มีดาวคู่ เพียงแค่การสร้างวงโคจรโดยการสุ่มจะไม่สร้างระบบที่น่าเชื่อถือคุณจะพบกับวงโคจรที่ไม่ทำงาน ใช่ฉันตระหนักถึงปัญหาของร่างกาย N :) แต่นี่ไม่ได้ช่วยฉันอย่างน้อยฉันก็คิดอย่างนั้นเพื่อแก้ปัญหาการสร้างระบบที่น่าเชื่อถือได้? ฉันคิดว่าคุณสามารถสุ่มวางไข่ดาวเคราะห์บนวงโคจรของพวกเขาและให้มวลกับพวกมันแล้วใช้คณิตศาสตร์ N-body เพื่อคำนวณว่าพวกมันถูกต้องหรือไม่ถ้าไม่เริ่มต้นและสุ่มสร้างวงโคจรใหม่จนกว่าคุณจะได้สิ่งที่ตรงกัน แต่นี่จะไม่มีประสิทธิภาพมาก

2
เร่งการสร้างพื้นผิวขั้นตอน
เมื่อไม่นานมานี้ฉันเริ่มทำงานกับเกมที่เกิดขึ้นในระบบสุริยจักรวาล หลังจากเส้นโค้งการเรียนรู้เล็กน้อย (โดยที่ไม่เคยทำงานกับ Scala, OpenGL 2 ES หรือ Libgdx มาก่อน) ฉันมีการสาธิตเทคโนโลยีพื้นฐานที่คุณหมุนรอบดาวเคราะห์ที่มีพื้นผิวเดียว: ปัญหาที่ฉันพบคือประสิทธิภาพของการสร้างพื้นผิว ภาพรวมอย่างรวดเร็วของสิ่งที่ฉันทำ: ดาวเคราะห์เป็นลูกบาศก์ที่ได้รับการเปลี่ยนรูปทรงกลม ในแต่ละด้านจะมีการใช้พื้นผิว anxn (เช่น 256 x 256) ซึ่งรวมอยู่ในพื้นผิว 8n xn หนึ่งอันที่ถูกส่งไปยังส่วนย่อย ไม่ได้ใช้ช่องว่างสองอันสุดท้ายพวกเขาอยู่ที่นั่นเพื่อให้แน่ใจว่าความกว้างเท่ากับกำลังงาน 2 พื้นผิวถูกสร้างขึ้นบน CPU ในปัจจุบันโดยใช้อัลกอริธึมเสียงรบกวน simplex เวอร์ชั่น 2012 ที่เชื่อมโยงกับกระดาษ'Simplex เสียง demystified '. ฉากที่ฉันใช้ทดสอบอัลกอริธึมมีสองทรงกลม: ดาวเคราะห์และพื้นหลัง ทั้งสองใช้พื้นผิวแบบ greyscale ซึ่งประกอบด้วยเสียงหกมิติแบบหกเสี้ยวง่ายเช่นถ้าเราเลือก 128x128 เป็นขนาดพื้นผิวมีขนาด 128 x 128 x 6 x 2 …

3
อัลกอริธึมการกระจัดกลาง
คำถามนี้ส่วนใหญ่มาจากความสิ้นหวังที่แท้จริงหลังจากใช้เวลาหลายชั่วโมงพยายามที่จะเข้าใจปัญหา หากคุณละสายตาไปที่รูปภาพด้านบนคุณจะเห็นว่าอัลกอริทึมการแทนที่ตำแหน่งกลางของฉันทำงานได้สำเร็จ ในการผลิตรูปแบบเสียงค่อนข้างสอดคล้องกัน อย่างไรก็ตามมันทิ้งไว้ข้างหลังจุดประสีดำบนภาพและฉันก็ไม่รู้ว่าทำไม ฉันคาดการณ์ได้ว่านี่เป็นปัญหาในวิชาคณิตศาสตร์ แต่ฉันมองไม่เห็น และนี่ไม่ได้ชี้ให้เห็นในแหล่งข้อมูลออนไลน์ใด ๆ ว่าเป็นปัญหาที่เป็นไปได้; ดังนั้นความช่วยเหลือใด ๆ จะได้รับการชื่นชมว่าจะตามล่าข้อผิดพลาดนี้ unsigned char** mdp(unsigned char** base, unsigned base_n, unsigned char r) { size_t n = (2 * base_n) - 1; unsigned char** map = new unsigned char*[n]; for (unsigned i = 0; i < n; ++i) map[i] = new …

2
การเคลื่อนไหวนั้นขึ้นอยู่กับอัตราเฟรมแม้จะใช้ Time.deltaTime
ฉันมีรหัสต่อไปนี้เพื่อคำนวณการแปลที่จำเป็นในการย้ายวัตถุเกมใน Unity ซึ่งเรียกว่าLateUpdateมา จากสิ่งที่ฉันเข้าใจการใช้งานของฉันTime.deltaTimeควรจะทำให้เป็นอิสระแปลสุดท้ายอัตราเฟรม (โปรดทราบCollisionDetection.Move()เป็นเพียงการแสดง raycasts) public IMovementModel Move(IMovementModel model) { this.model = model; targetSpeed = (model.HorizontalInput + model.VerticalInput) * model.Speed; model.CurrentSpeed = accelerateSpeed(model.CurrentSpeed, targetSpeed, model.Accel); if (model.IsJumping) { model.AmountToMove = new Vector3(model.AmountToMove.x, model.AmountToMove.y); } else if (CollisionDetection.OnGround) { model.AmountToMove = new Vector3(model.AmountToMove.x, 0); } model.FlipAnim = flipAnimation(targetSpeed); // If …

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