การพัฒนาเกม

คำถาม & คำตอบสำหรับนักพัฒนาเกมมืออาชีพและเป็นอิสระ

2
ตรวจสอบว่าองค์ประกอบของวัตถุในเกมสามารถถูกทำลายได้หรือไม่
การพัฒนาเกมใน Unity ฉันใช้ประโยชน์อย่างมากมาย[RequireComponent(typeof(%ComponentType%))]เพื่อให้แน่ใจว่าส่วนประกอบต่างๆมีการพึ่งพาทั้งหมด ตอนนี้ฉันกำลังใช้ระบบการสอนที่เน้นวัตถุ UI ต่างๆ เพื่อทำการไฮไลต์ฉันกำลังอ้างอิงถึงGameObjectในฉากจากนั้นฉันโคลนด้วย Instantiate () จากนั้นปลดส่วนประกอบทั้งหมดที่ไม่จำเป็นสำหรับการแสดงซ้ำ ปัญหาคือว่าด้วยการใช้งานอย่างเสรีRequireComponentในองค์ประกอบเหล่านี้หลายคนไม่สามารถลบออกได้ในลำดับใด ๆ เนื่องจากมันขึ้นอยู่กับส่วนประกอบอื่น ๆ ซึ่งยังไม่ถูกลบ คำถามของฉันคือ: มีวิธีการตรวจสอบว่าComponentสามารถลบออกจากที่GameObjectแนบมากับปัจจุบันได้หรือไม่ รหัสที่ฉันโพสต์ใช้งานได้ทางเทคนิค แต่มันมีข้อผิดพลาด Unity (ไม่ติดในบล็อค try-catch ดังที่เห็นในภาพ นี่คือรหัส: public void StripFunctionality(RectTransform rt) { if (rt == null) { return; } int componentCount = rt.gameObject.GetComponents<Component>().Length; int safety = 10; int allowedComponents = 0; while (componentCount …
11 unity  c# 

2
ฉันจะมองเห็นการเปลี่ยนแปลงที่เกิดขึ้นกับฉากได้อย่างไรตั้งแต่คอมไพล์ล่าสุดส่งมอบ
ฉันต้องการดูการเปลี่ยนแปลงที่เกิดขึ้นในฉาก (ไฟล์. unity) ก่อนที่จะส่งไปคอมไพล์ ฉันได้ดูโซลูชัน GIT / Unity หลายอย่าง แต่ทั้งหมดนี้ทำเพื่อรวมการเปลี่ยนแปลงและไม่แสดงความแตกต่างกับรุ่นล่าสุด ปัญหาเกี่ยวกับไฟล์ซีนคือพวกเขาใช้ GUID ที่ชี้ไปที่สินทรัพย์อื่นและเมื่อฉันเปิดไฟล์ diff สำหรับไฟล์ซีนฉันไม่สามารถทำอะไรออกมาได้เลย ตัวอย่างเช่น: แต่ฉันต้องการเห็นสิ่งนี้: มีอะไรอีกไหมที่ทำสิ่งนี้?

3
ฉันจะทำให้หยดฝนธรรมชาติบนหน้าจอได้อย่างไร
ฉันกำลังพยายามทำให้เอฟเฟกต์ฝนตกด้วยmetaballsและ trail บนหน้าจอฉันพบเบาะแสใน shadertoy แต่ฉันไม่เข้าใจวิธีการใช้งาน: https://www.shadertoy.com/view/ltffzl น่าเสียดายที่มันมีการคำนวณทางคณิตศาสตร์มากมายและฉันไม่สามารถใช้งานแบบเอกภาพได้เพราะมันสร้างความล่าช้าแน่นอนว่าฉันควรใช้พื้นผิว แต่ฉันจะมีเอฟเฟกต์เส้นทางได้อย่างไร! ความคิดของฉันคือการใช้ texture และ trail renderer สำหรับการดร็อป แต่ฉันจะมีเอฟเฟกต์เมทัลลิลได้อย่างไร ปรับปรุง ฉันสามารถใช้ Metaballs ได้โดยบทความนี้ https://github.com/smkplus/RainFX/tree/master แต่ฉันไม่ได้คิดเกี่ยวกับเส้นทาง

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

2
การสร้างเรน 2D (และพลศาสตร์ของไหล)
ฉันกำลังทดลองกับสภาพอากาศในเกมของฉันและฉันก็ประทับใจกับวิธีที่ Starbound จัดการฝน โดยทั่วไปเมื่อฝนตกกระทบพื้นดินมันก็กระจายตัวในแนวนอน (และถูกดูดซับโดยพื้นดิน) หรือก่อให้เกิดกองน้ำ วิดีโอนี้แสดงให้เห็นอย่างชัดเจน: http://imgur.com/gallery/CKCGKbG ฉันรู้วิธีที่จะทำให้ฝนตกและตรวจสอบว่ามันกระทบพื้น แต่นั่นคือสิ่งที่ฉันติด คำถามของฉันคือ: สิ่งนี้สามารถสร้างได้อย่างไร? และรูปแบบหนึ่งของการไหลของน้ำได้อย่างสมบูรณ์แบบโดยไม่ฆ่าประสิทธิภาพได้อย่างไร ขอบคุณล่วงหน้า!

2
การลบความล่าช้าเมื่อเริ่มต้นการกดปุ่ม
ฉันกำลังสร้างเกมง่ายๆและหนึ่งในปัญหาที่ฉันพบคือความล่าช้าที่น่ารำคาญเมื่อกดปุ่มอย่างต่อเนื่อง ดังนั้นโดยทั่วไปเมื่อฉันกด (เป็นเวลานานมาก) ตัวอย่างเช่นUpวัตถุของฉันจะเคลื่อนที่ 1 หน่วยขึ้นไปไม่ขยับ (ประมาณ 1 วินาที) จากนั้นเลื่อนอย่างต่อเนื่อง 1 หน่วยขึ้นไป (โดยไม่ล่าช้า) ขณะนี้ฉันใช้สิ่งนี้เพื่อย้ายวัตถุ (SDL2): while (SDL_PollEvent(&event)) { switch (event.type) { case SDL_KEYDOWN: switch (event.key.keysym.sym) { case SDLK_UP: //Move object 1 unit up break; //Other unrelated things omitted } break; //Omitted other cases } } สิ่งที่ฉันต้องการคือการลบความล่าช้าเพื่อให้วัตถุสามารถเคลื่อนที่Upได้อย่างรวดเร็วในทันที มีวิธีการทำเช่นนี้?
11 c++  sdl2  keyboard 

2
จะชดเชยการเคลื่อนย้ายวัตถุด้วยการทำนายฝั่งไคลเอ็นต์ได้อย่างไร
ผมดำเนินการเซิร์ฟเวอร์เกมที่สนับสนุนดาวควบคุมเหมือนกันพัลวัน ดังนั้นคุณต้องมีเรือที่บินและยิงด้วยฟิสิกส์ความเร็ว / การเร่งความเร็ว / ลดแรงกระแทกที่ง่ายที่สุดในการขับเคลื่อนการเคลื่อนไหว ฉันได้อ่าน Valve, Gafferon และ Gambetta และใช้อัลกอริทึมของ Gambettaเพื่อการคาดการณ์ลูกค้า: การทำนายลูกค้าทำงานบนเรือของผู้เล่นโดยอัพเดทตำแหน่งจากเซิร์ฟเวอร์ตามที่มาและจากนั้นนำอินพุตที่ยังไม่ได้ประมวลผลโดยเซิร์ฟเวอร์ไปยังผู้เล่น น่าเสียดายที่เกมของฉันใช้งานไม่ได้ ฉันเชื่อว่ามันเกี่ยวข้องกับความจริงที่ว่าตัวอย่างของ Gambetta ไม่ได้คำนึงถึงวัตถุที่เคลื่อนไหวอยู่แล้วหรือคำสั่งที่ได้รับการปรับปรุงทีละขั้นตอน (โดย "ขั้นตอน" ฉันหมายถึงเฟรม) ดังนั้นในเกมของฉันผู้เล่นกดขึ้นเพื่อเร่งการส่ง (ที่กำลังเคลื่อนไหว) ซึ่งยังคงเคลื่อนที่บนไคลเอนต์ส่งคำสั่งไปยังเซิร์ฟเวอร์และมักจะได้รับสแนปช็อตโลกจากเซิร์ฟเวอร์ในขั้นตอนถัดไป ฉันได้รับสิ่งที่ชอบมากขึ้น: คำสั่ง player รันที่ไคลเอ็นต์ขั้นตอน 3แต่บนเซิร์ฟเวอร์จะรันที่เซิร์ฟเวอร์ขั้นตอนที่ 5เท่านั้น เมื่อถึงเวลาที่ลูกค้าได้รับสแนปชอตของโลกในขั้นตอนที่ 6ลูกค้าการคาดการณ์จะถูกปิดโดยเฉพาะอย่างยิ่งในความเร็วที่เร็วขึ้น ปมของปัญหาคือว่าลูกค้ารันคำสั่งในขั้นตอนที่ 5แต่เซิร์ฟเวอร์ทำงานมันในขั้นตอนที่ 6 ฉันคิดถึงการส่งขั้นตอนไคลเอนต์ด้วยคำสั่งและให้เซิร์ฟเวอร์ย้อนกลับและเรียกใช้คำสั่งอีกครั้งด้วยขั้นตอนเวลาของไคลเอ็นต์ สิ่งนี้อาจนำไปสู่ปัญหาอื่น ๆ ที่เกิดขึ้นเช่น - สิ่งที่เกิดขึ้นกับคำสั่งที่ได้รับตั้งแต่การย้อนกลับหรือการโกงลูกค้าสามารถใช้ประโยชน์จากการเปลี่ยนขั้นตอนการส่ง การอ่านและการดูวิดีโอเช่นนี้จาก Google กล่าวถึงวิธีการที่แตกต่างกันซึ่งคุณจะค่อยๆเปลี่ยนตำแหน่งผู้เล่นเพื่อให้ตรงกับภาพรวมในไม่กี่ขั้นตอน คำถามของฉัน: คุณสามารถทำให้อัลกอริทึมของ Gambetta ทำงานกับการเคลื่อนที่แบบสเต็ปคงที่ได้หรือไม่? หรือมันขัดกับแนวคิดของเกมของฉัน? การแก้ไขแบบค่อยเป็นค่อยไปเหนือขั้นตอนเป็นวิธีที่ถูกต้องหรือไม่? …

2
ทำไมระยะห่างจากวัตถุถึงไม่เกี่ยวข้องกับดวงตาในแบบจำลองการส่องสว่าง?
ตัวอย่างเช่นในรุ่นพงษ์และรุ่นBlinnความเข้มของแสงจะไม่เปลี่ยนแปลงขึ้นอยู่กับว่ากล้องอยู่ไกลแค่ไหน ทำไมถึงเป็นอย่างนั้น?

4
เราจะสร้าง Navigation Grid สำหรับโลก 3 มิติได้อย่างไร
ฉันพยายามค้นหาวิธีแก้ไขปัญหานี้ ฉันกำลังพยายามสร้างตาข่ายนำทางในรูปแบบของตารางของจุดยอดที่ล็อค x, y พิกัดพื้นในรูปสี่เหลี่ยมสำหรับพื้นที่ 3D แต่ฉันมีปัญหาในการพยายามหาวิธีที่จะไปเกี่ยวกับเรื่องนี้ ฉันลองดูที่ห้องสมุด Recast มันเป็นวิธีที่ค่อนข้างแข็งแกร่ง แต่เห็นได้ชัดว่าช้าลงด้วยแผนที่ขนาดใหญ่และพื้นที่เปิดโล่ง ฉันยังไม่รู้ว่าพวกมันสร้างจุดยอดและขอบสำหรับพื้นที่โลกด้วยแผนที่ความสูงได้อย่างไร ความคิดต่อไปของฉันคือการทำสิ่งที่ Unreal Engine 3 เคยทำ https://udn.epicgames.com/Three/NavigationMeshReference.html ซึ่งก็คือการใช้ raycasts เพื่อสร้างตาข่าย ฉันไม่สามารถหาวิธีที่จะให้ raycasts หยุด ดังนั้น ... ตัวเลือกถัดไปของฉันคือกล่อง สร้างปริมาตรย่อยที่มีขนาดเท่ากับกำลังของ 2 จัดแนวกล่องให้เข้ากับกริดและยิงปริซึมสี่เหลี่ยมลงด้านล่างเป็นรังสี ถ้ามันตกลงบนชิ้นส่วนของรูปทรงเรขาคณิตซึ่งเป็นส่วนหนึ่งของพื้นดินและสี่เหลี่ยมผืนผ้าไม่ได้ถูกตัดกันให้ปล่อยให้เป็นรูปสี่เหลี่ยมจัตุรัส และดำเนินการต่อไปจนกระทั่งถึงระดับเสียง ในการตรวจสอบว่าจำเป็นต้องทำการเชื่อมโยงขอบหรือไม่ฉันคิดว่าฉันสามารถตรวจสอบเพื่อดูว่าความชันระหว่างจุดยอดสองคู่อยู่ในความลาดชันที่เดินได้หรือไม่หากรวมให้เป็นจริง ปัญหาหลักของฉันคือ ... นี่ดูเหมือนจะไม่เหมาะสมที่สุด โดยไม่ต้องคิดเลยเมื่อกระบวนการประมาณ O (N ^ 3) สำหรับระดับหลายชั้น ซึ่งจะได้รับที่น่ารังเกียจสวย และบิตสุดท้ายสำหรับสร้างกลุ่มสี่เหลี่ยมของสี่เหลี่ยมเหล่านี้โดยอัตโนมัติ ฉันไม่แน่ใจทั้งหมดว่าจะทำอย่างไร การใช้งานที่ไม่จริงแยกพวกเขาด้วยความลาดชัน อย่างไรก็ตามฉันพยายามที่จะรักษารูปแบบกริด นั่นไม่จำเป็นเลย ปัญหายังคงอยู่ในการสร้างแผ่นสี่เหลี่ยมขนาดใหญ่เพื่อแบ่งเส้นทางการค้นหาเป็นแบบเรียงต่อแผ่น กระเบื้องต้องไม่ใหญ่เกินไปหรือเล็กเกินไป …
11 c++  tiles  navmesh 

2
จะรอการดำเนินการ async / coroutines ได้อย่างไร
ฉันกำลังมองหาวิธีทั่วไป / นำมาใช้ซ้ำเพื่อรอ coroutines และการดำเนินการแบบอะซิงโครนัสให้เสร็จใน Unity 5 คล้ายกับawaitคำสำคัญของ C # 5 วิธีที่ง่ายที่สุดที่ฉันนึกได้ก็คือ: public class SomeUtility { public bool IsDoingSomething { get; private set; } public IEnumerator DoSomethingAsync() { IsDoingSomething = true; yield return new WaitForSeconds(2); IsDoingSomething = false; } } และจากนั้นใน coroutine อื่น: while(!someUtilityInstance.IsDoingSomething) yield return null; อย่างไรก็ตามมันไม่ได้ดีมากเพราะมันจะตัดโค้ดที่มีwhileคำสั่งไม่สามารถใช้ซ้ำได้ (ต้องการอินสแตนซ์และคลาสเฉพาะแม้กระทั่งสำหรับฟังก์ชั่นยูทิลิตี้ง่าย ๆ …

5
จะปรับปรุงการสร้างตัวเลขสุ่มในบริบทของฉันได้อย่างไร
ในเกมของฉันมีคำที่ด้านบนของหน้าจอตัวอักษรมีฝนตกจากด้านบนและผู้ใช้ต้องสัมผัสตัวอักษรเพื่อให้คำสมบูรณ์ ขณะนี้ฉันกำลังสร้างตัวอักษรแบบสุ่ม (จริง ๆ แล้วตัวเลขและตัวเลขสุ่มเป็นดัชนีสำหรับอาร์เรย์ของตัวอักษรเช่น: 0 = a, 1 = b) แต่ปัญหาคือว่ามันใช้เวลามากเกินไปที่จะได้รับตัวอักษรที่ต้องการทั้งหมด คำ. สิ่งที่ฉันต้องการคือตัวเลขสุ่มที่ฉันกำลังสร้างควรสร้างตัวอักษรที่ต้องการบ่อยขึ้นเพื่อให้ผู้เล่นไม่ต้องใช้เวลาทั้งวันในการกรอกหนึ่งคำ ฉันได้ลองวิธีต่อไปนี้แล้ว: ตรวจจับตัวอักษรทั้งหมดในคำ (คำมีความยาว 6 ตัวอักษรเสมอ) สร้างอาร์เรย์ของดัชนีความยาว 6 กำหนดดัชนีแต่ละชุดของอาร์เรย์ให้เป็นตัวเลขสุ่มจากตัวอักษร -2 ถึงตัวอักษร + 2 และในที่สุดเลือกสุ่มหนึ่งดัชนี จากอาร์เรย์ที่จะแสดง มีตัวแปรตัวเลือกที่มีค่าอยู่ในช่วง [0..2] ซึ่งสร้างแบบสุ่มหากตัวเลือก == 0 จากนั้นตรวจจับตัวอักษรที่ทำให้คำนั้นและสุ่มเลือกตัวอักษรหนึ่งตัวอื่น ๆ จะได้รับตัวอักษรแบบสุ่มจาก az วิธีการทั้งสองนี้ไม่ได้ช่วยอะไรฉัน ฉันจะมีความสุขมากถ้าคุณสามารถช่วยฉันได้ ขอบคุณสำหรับการอ่านนี้ฉันหวังว่าคุณจะเข้าใจคำถามและฉันกำลังรอคำตอบ
11 random 

2
ฉันจะสร้างเอฟเฟกต์การแยก 2D“ gooey” /“ เหนียว” ได้อย่างไร?
ฉันต้องการสร้างเอฟเฟกต์คล้ายกับอนิเมชั่นนี้โดยที่รูปร่างสองแบบแยกกันตามกาลเวลา แต่มีการเชื่อมต่อ (บางครั้ง) โดยบางสิ่งที่เหนอะหนะที่ยืดออกและแตกในที่สุด ชอบพิซซ่าชีสแต่เฉพาะในแบบ 2D ฉันใช้ Swift และ SpriteKit ฉันคิดว่านี่อาจเกี่ยวข้องกับภาพเคลื่อนไหวของเส้นทางหลักที่สำคัญกว่า แต่ฉันไม่แน่ใจ ฉันจะบรรลุผลนี้ได้อย่างไร
11 animation 

2
วิธีคำนวณเวลาเดลต้าด้วย SDL
ฉันได้ยินมาว่าคุณสามารถคำนวณเวลาเดลต้าด้วยฟังก์ชันสองอย่างที่เรียกว่า SDL_GetPerformanceCounter และ SDL_GetPerformanceFrequency ฉันไม่แน่ใจว่าทำงานได้อย่างไร แต่ฉันได้ยินมาว่ามันคล้ายกับการใช้ SDL_GetTicks () Uint64 NOW, LAST; double deltaTime = 0; while (somebool) { LAST = SDL_GetPerformanceCounter(); NOW = SDL_GetPerformanceCounter(); LAST = NOW; deltaTime = (NOW - LAST) / (double)SDL_GetPerformanceFrequency(); /**Rendering**/ } ฉันมีรหัสนี้ แต่เมื่อใดก็ตามที่ฉันพิมพ์ deltaTime หรือพยายามใช้มันจะเท่ากับตัวเลขสุ่มและตัวเลขบ้าเสมอ ถูกต้องหรือไม่
11 c++  algorithm  sdl 

2
วิธีการใช้ BillboardRenderer ใน Unity
ตั้งแต่เวอร์ชั่น 5 (?) BillboardRendererความสามัคคีมีองค์ประกอบใหม่ชนิด น่าเสียดายที่เอกสารค่อนข้างแย่ มันสามารถเพิ่มในการตรวจสอบโดยคลิกที่ "เพิ่มส่วนประกอบ -> ผิด -> บิลบอร์ด Renderer" แต่เห็นได้ชัดว่ามันต้องมีBillboard Assetการทำอะไร ดูเหมือนจะไม่มีวิธีใดที่จะสร้างได้จากอินเทอร์เฟซ Unity หนึ่งในไม่กี่ประโยคจากเอกสารที่ไม่ดีเท่า ๆ กันของ BillboardAsset อ่าน: imageCount จำนวนรูปภาพที่เตรียมไว้ล่วงหน้าที่สามารถเปลี่ยนได้เมื่อดูบิลบอร์ดจากมุมที่แตกต่างกัน โปรเจ็กต์ใหม่ล่าสุดของฉันจะมีกราฟิกผสมสไปรต์ / รูปหลายเหลี่ยมดังนั้นส่วนประกอบที่แสดงป้ายโฆษณาที่มีสไปรต์ที่แตกต่างกันขึ้นอยู่กับมุมมองเป็นสิ่งที่ฉันสามารถใช้ประโยชน์ได้ แต่ดูเหมือนจะไม่มีวิธีใด ๆ ในการเพิ่มภาพดังกล่าว ดังนั้นฉันสงสัยว่าคุณสามารถโพสต์ตัวอย่างวิธีการใช้องค์ประกอบนี้
11 unity 

1
ฉันจะนำแสงและเงาไปใช้ในแผนที่ย่อยหลายชั้น 2 มิติได้อย่างไร
ฉันอยู่ในขั้นตอนการเขียนเกมมีมิติเท่ากันตั้งแต่เริ่มต้นและฉันต้องการทราบว่าฉันสามารถเพิ่มแสงและเงาได้อย่างไร รหัสที่ฉันได้จนถึงสามารถพบได้ที่นี่แต่มันควรจะเพียงพอที่จะรู้ว่าตอนนี้แผนที่มีอาร์เรย์ 3 มิติที่เรียบง่ายของจริง / เท็จค่า นี่คือภาพของสภาพแวดล้อม: หากเป็นเลเยอร์แผ่นเดียวมันจะตรงไปข้างหน้า ฉันสามารถเข้าใจ raycasting อย่างง่าย ๆ ใน 2d ที่จำเป็น อย่างไรก็ตามเนื่องจากแผนที่ของฉันมีความสูงหลายระดับเช่นเดียวกับบริเวณที่เป็นเหมือนถ้ำฉันจึงไม่รู้ว่าจะทำอย่างไรเพื่อให้เกิดเงาที่น่าเชื่อถือ บางทีวิธีต่อบล็อกเป็นวิธีที่เหมือนจริงหรือไม่?

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