การพัฒนาเกม

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

1
วิธีการจับคู่ขนาดตัวอักษรกับความละเอียดหน้าจอ?
ดังนั้นฉันทำงานเกมโดยใช้ LibGDX และฉันมีปัญหา เพื่อให้เกมของฉันเหมาะสมกับความละเอียดที่สุดฉันได้สร้างเนื้อหาพื้นฐานสำหรับแต่ละอัตราส่วนตัวอย่างเช่นรูปภาพพื้นหลังเมนูหลักฉันสร้างเป็น 800X600 สำหรับ 4: 3, 1280X720 สำหรับ 16: 9 เป็นต้น ตอนนี้ฉันกำลังพยายามรวมTextButtonเกมเข้าด้วยกันเพื่อเป็นทางเลือก ปัญหาของฉันคือฉันไม่สามารถหาขนาดตัวอักษรที่ตรงกับความละเอียดของหน้าจอได้ มีวิธีคิดออกหรือไม่ฉันต้องไปทีละความละเอียดแต่ละฉันมีและตรงกับข้อความที่ความละเอียดด้วยตนเอง?

1
แนวปฏิบัติที่ดีที่สุดของขนาดพื้นผิว
ฉันอยากรู้ว่าฉันควรกำหนดขนาดพื้นผิวที่ดีอย่างไร ปัจจุบันฉันมักจะสร้างพื้นผิวยูวีที่ 1024x1024px แต่ถ้าฉันสร้างตัวอย่างบ้านหลังใหญ่ที่มีขนาดพื้นผิว 1024px มันจะดูไม่ดีเลย ดังนั้นฉันควรสร้างขนาดพื้นผิวที่แตกต่างกัน (512, 1024, ... ) สำหรับขนาดตาข่ายที่แตกต่างกันเช่นนี้หรือไม่? : หรือมันจะดีกว่าที่จะทำพื้นผิวที่มีความละเอียดสูงแล้วลดลงในซอฟต์แวร์ (เช่น: เพิ่มการตั้งค่า LODBias ใน UDK เพื่อลดขนาดของพื้นผิว)? ขอบคุณสำหรับคำตอบ. ps: ขอโทษสำหรับภาษาอังกฤษของฉัน!
12 3d  textures  udk 

3
การจัดกลุ่มเอนทิตีของส่วนประกอบเดียวกันที่กำหนดไว้ในหน่วยความจำเชิงเส้น
เราเริ่มต้นจากขั้นพื้นฐานวิธีการระบบส่วนประกอบที่มีหน่วยงาน ขอสร้างassemblages (ระยะที่ได้มาจากนี้บทความ) เพียงออกของข้อมูลเกี่ยวกับชนิดของชิ้นส่วน มันจะทำแบบไดนามิกที่รันไทม์เช่นเดียวกับที่เราจะเพิ่ม / ลบส่วนประกอบไปยังเอนทิตีทีละคน แต่ขอเพียงแค่ตั้งชื่อได้อย่างแม่นยำมากขึ้นเพราะมันเป็นเพียงเกี่ยวกับข้อมูลประเภท แล้วเราจะสร้างหน่วยงานที่ระบุการชุมนุมทุกครั้งของพวกเขา เมื่อเราสร้างเอนทิตีแล้วชุดประกอบของมันจะไม่เปลี่ยนรูปซึ่งหมายความว่าเราไม่สามารถแก้ไขได้โดยตรง แต่ก็ยังสามารถรับลายเซ็นของเอนทิตีที่มีอยู่ไปยังสำเนาภายในเครื่อง (พร้อมกับเนื้อหา) ทำการเปลี่ยนแปลงที่เหมาะสมและสร้างเอนทิตีใหม่ ของมัน ตอนนี้สำหรับแนวคิดหลัก: เมื่อใดก็ตามที่มีการสร้างเอนทิตีมันจะถูกกำหนดให้กับวัตถุที่เรียกว่าbucket bucketlageซึ่งหมายความว่าเอนทิตีทั้งหมดของลายเซ็นเดียวกันจะอยู่ในคอนเทนเนอร์เดียวกัน (เช่นใน std :: vector) ตอนนี้ระบบเพียงทำซ้ำผ่านทุกกลุ่มที่สนใจและทำงานของพวกเขา วิธีนี้มีข้อดีดังนี้ ส่วนประกอบถูกเก็บไว้ในหน่วยความจำที่ต่อเนื่องกันสองสามชิ้น (แม่นยำ: จำนวนถัง) - ช่วยเพิ่มความเป็นมิตรกับหน่วยความจำและง่ายต่อการทิ้งสถานะเกมทั้งหมด ระบบประมวลผลองค์ประกอบในลักษณะเชิงเส้นซึ่งหมายถึงการปรับปรุงการเชื่อมโยงกันแคช - ลาก่อนพจนานุกรมและหน่วยความจำแบบสุ่มกระโดด การสร้างเอนทิตีใหม่นั้นง่ายเหมือนการทำแผนที่ชุดประกอบเพื่อฝากข้อมูลและผลักดันส่วนประกอบที่ต้องการกลับไปยังเวกเตอร์ การลบเอนทิตีเป็นเรื่องง่ายเหมือนกับการเรียก std :: move เพื่อสลับองค์ประกอบสุดท้ายกับอันที่ถูกลบเพราะลำดับไม่สำคัญในตอนนี้ หากเรามีเอนทิตีจำนวนมากที่มีลายเซ็นที่แตกต่างกันโดยสิ้นเชิงประโยชน์ของการเชื่อมโยงกันของแคชลดน้อยลง แต่ฉันไม่คิดว่ามันจะเกิดขึ้นในแอปพลิเคชันส่วนใหญ่ นอกจากนี้ยังมีปัญหาเกี่ยวกับการทำให้ตัวชี้ใช้ไม่ได้เมื่อมีการจัดสรรเวกเตอร์ใหม่ซึ่งสามารถแก้ไขได้โดยการแนะนำโครงสร้างเช่น: struct assemblage_bucket { struct entity_watcher { assemblage_bucket* owner; entity_id real_index_in_vector; …

3
ฉันจะหมุนสไปรต์ภาพพิกเซลโดยไม่ทำลายความสวยงามได้อย่างไร
ตอนนี้ฉันอยู่หน้าคำถาม "การออกแบบเกม" ที่ยิ่งใหญ่ ฉันกำลังสร้างเกมพิกเซล - อาร์ต - อิชและการใช้การแก้ไขแบบบิลิแนร์สามารถแก้ปัญหาภาพเคลื่อนไหวได้มากมาย ในทางกลับกันมันไม่ใช่ "เกมพิกเซล" อีกต่อไป ถ้าฉันใช้ Bilinear Interpolation อนิเมชั่นก็ใช้งานได้ แต่มันก็ดูเหมือน "ไฮบริด - อิช" และรูปแบบศิลปะก็หายไป ฉันอาจทำให้ภาพเคลื่อนไหวของฉันยุ่งเหยิงหรือทำให้ภาพศิลปะแย่ลง ฉันมองไม่เห็นทั้งคู่ มีวิธีอื่นในการแก้ปัญหานี้หรือไม่?
12 2d  rotation  pixel-art 

1
ความแตกต่างใน glDrawArrays และ glDrawElements
ในขณะที่สดชื่นใจของฉันกับ OpenGL ES ฉันมาข้ามและglDrawArraysglDrawElements ฉันเข้าใจว่ามีการใช้งานอย่างไรและเข้าใจว่าทำไมจึงแตกต่างกัน สิ่งที่ฉันดูเหมือนจะไม่เข้าใจก็คือฉันไม่สามารถดูวิธีการglDrawElementsบันทึกการโทรแบบดึง ( การบันทึกการโทรแบบดึงเป็นคำอธิบายที่กล่าวถึงในหนังสือส่วนใหญ่ที่ฉันได้อ่าน ลองนึกภาพสถานการณ์ง่าย ๆ ที่ฉันพยายามวาดรูปสี่เหลี่ยมโดยใช้รูปสามเหลี่ยม 2 รูป ฉันจะต้องมีชุดของ 6 จุดยอดใช้glDrawArraysในขณะที่ใช้glDrawElementsฉันต้องการเพียง 4 นอกเหนือจากอาร์เรย์ดัชนีที่มี 6 องค์ประกอบ รับข้างต้นนี่คือสิ่งที่ฉันไม่เข้าใจ: จะglDrawElementsบันทึกการเรียกสายได้อย่างไรถ้ายังต้องการใช้อาร์เรย์ดัชนี (ดัชนี 6 ตัวในกรณีสี่เหลี่ยม) เพื่อจัดทำดัชนีลงในอาร์เรย์จุดสุดยอดของฉันที่มี 4 องค์ประกอบ (6 ครั้ง) พูดอีกอย่างว่าหมายความว่าglDrawElementsยังคงต้องมีการดึงสายเรียกเข้าทั้งหมด 6 ครั้งglDrawArraysใช่ไหม จะใช้glDrawElementsพื้นที่ประหยัดได้อย่างไรถ้าใครยังคงต้องมี 2 อาร์เรย์คือหนึ่งสำหรับจุดยอดและอีกหนึ่งสำหรับดัชนี? ในกรณีของการวาดรูปสี่เหลี่ยมจัตุรัสจากรูปสามเหลี่ยม 2 รูปแบบเพื่อความง่ายจำนวนการเรียกแบบดึงglDrawElements(จำนวน 4 รายการในอาร์เรย์จุดยอดและ 6 รายการในแถวลำดับดัชนี) และglDrawArrays(6 รายการเฉพาะในจุดสุดยอดอาร์เรย์) ต้องแยกกันหรือไม่? ขอบคุณ

1
GLSL - ประกาศตัวแปรโกลบอลนอกขอบเขตฟังก์ชั่นหลัก
ช่วยประกาศตัวแปรนอกขอบเขตหน้าที่หลักของคุณใน GLSL หรือไม่? ตัวแปรเหล่านี้กลับมาใช้ซ้ำได้จริงและมีประสิทธิภาพมากขึ้นหรือไม่ นี่คือรหัสคำถาม: varying vec2 vposition; uniform float seed; uniform float top; uniform float bottom; uniform float phi; uniform float theta; uniform float scaledPI; uniform float yn; uniform float ym; uniform float rx; uniform float ry; uniform float radius; const float PI = 3.141592653589793238462643383; float left; float right; …
12 glsl 

5
จะจัดการกับการชนในเกมที่มีส่วนประกอบได้อย่างไร
พยายามพาดหัวของฉันในการจัดการกับการชนในเกมที่ออกแบบมาสำหรับส่วนประกอบต่างๆ ฉันเห็นตัวอย่างมากมายที่มีการเรียงลำดับบางอย่างPhysicsComponentที่เพิ่มเข้าในรายการส่วนประกอบของเอนทิตี แต่การใช้งานจริงทำให้ฉันสับสน เพื่อให้สามารถใช้งานได้PhysicsComponentต้องมีการเข้าถึงโลกรอบตัว สิ่งนี้ไม่สมเหตุสมผลกับฉัน ส่วนประกอบไม่ควรไม่รู้ว่าเป็นเพียงแค่คอนเทนเนอร์ (เอนทิตี) แต่เป็นคอนเทนเนอร์ของคอนเทนเนอร์ (โลก)? สำหรับฉันแล้วมันดูเหมือนว่าระดับหรือฉากควรรักษารายการของเอนทิตีเหล่านี้และการอัปเดตเกมทุกครั้ง คำถามของฉันคือประการแรกไม่ว่าจะเป็นการออกแบบที่ดีหรือไม่และประการที่สองจะตัดสินได้อย่างไรว่าเอนทิตีใดสามารถชนกันได้ ฉันสมมติว่าเอนทิตีแข็งสามารถใช้อินเทอร์เฟซ IRigidBody ว่างเพื่อให้ระดับสามารถกำหนดเอนทิตีที่อยู่ในรายการสนับสนุนการชนกัน แต่นี่เป็นการทำลายการออกแบบส่วนประกอบหรือไม่? แต่ควรมีส่วนประกอบ RigidBody ที่ว่างเปล่าแทนหรือไม่ นี่อาจจะดีกว่าเพราะมันอาจไม่ว่างเสมอไปและวิธีนี้เป็นวิธีที่พิสูจน์ได้ในอนาคต ปัญหาเดียวของเรื่องนี้ก็คือความซับซ้อน ฉากจะต้องวนซ้ำไม่เพียง แต่ทุกเอนทิตีเท่านั้น แต่ยังรวมถึงองค์ประกอบของเอนทิตีทุกอันเพื่อพิจารณาว่ามีส่วนประกอบ RigidBody นี้หรือไม่ ประการที่สามเมื่อพวกเขาชนกันทั้งสองหน่วยงานควรได้รับแจ้งอย่างใดและฉันไม่แน่ใจว่าจะทำสิ่งนี้ได้อย่างไร สมมติว่าทั้งสองเอนทิตีมี HealthComponent และเมื่อพวกเขาชนทั้งสุขภาพของพวกเขาจะลดลงตามมูลค่าโดยพลการ 5. ฉันคิดว่ามันเป็นความรับผิดชอบของฉากที่จะจัดการเรื่องนี้เมื่อตรวจพบการชนกันระหว่างสองเอนทิตี้? แต่ฉากนั้นรับผิดชอบมากเกินไปหรือไม่? ฉันเห็นว่าสิ่งนี้อาจหลุดพ้นจากมือและไม่สะดวกสบายเมื่อฉากรับผิดชอบหลาย ๆ สิ่งที่เอนทิตีไม่ควรเข้าถึง (?) แก้ไข:คำถามได้รับการอัปเดตพร้อมรายละเอียดเพิ่มเติม

2
จะสร้าง AI ที่เหมาะสมได้อย่างไร?
ฉันกำลังสร้างเกมตรรกะขึ้นอยู่กับเกม Fox and Hounds ผู้เล่นเล่นสุนัขจิ้งจอกและ AI เล่นสุนัขล่าเนื้อ (เท่าที่ฉันเห็น) ฉันพยายามทำให้ AI สมบูรณ์แบบดังนั้นมันจึงไม่มีวันสูญเสีย การปล่อยให้เป็นเช่นนี้คงไม่สนุกนักสำหรับผู้เล่นของมนุษย์ ตอนนี้ฉันต้องใบ้ AI เพื่อให้มนุษย์สามารถชนะ แต่ฉันไม่แน่ใจว่าเป็นอย่างไร ตรรกะ AI ปัจจุบันขึ้นอยู่กับการจับคู่รูปแบบ - ถ้าฉันแนะนำการเคลื่อนไหวแบบสุ่มซึ่งทำให้กระดานออกจากพื้นที่รูปแบบ AI อาจเล่นเป็นใบ้จนจบเกม ความคิดใด ๆ ที่ทำให้ใบ้ AI ในลักษณะที่ไม่ได้เปลี่ยนจาก "อัจฉริยะ" ไปเป็น "โง่อย่างสมบูรณ์" ในการย้ายครั้งเดียว?
11 ai 

3
ฉันต้องการกำจัดรูปแบบการออกแบบที่ทำให้ทุกอย่างคงที่และเป็นสากล แต่อย่างไร
ฉันทำดันเจี้ยนเล็ก ๆ น้อย ๆ ในอวกาศและฉันอยากจะฟังคำแนะนำบางอย่างเกี่ยวกับวิธีสร้างแบ็กเอนด์ของเครื่องยนต์ที่ดีกว่า โดยทั่วไปปัจจุบันทุกอย่างขึ้นอยู่กับ crapload ของผู้จัดการ: BackgroundManager: มีAddBackground(image, parallax)วิธีในการสร้างเอฟเฟกต์ฉากหลังที่ยอดเยี่ยม ConfigManager: อ่าน / สร้างไฟล์ config และเก็บข้อมูลที่อ่านจากไฟล์ config นั้น DrawManager: มีDraw(sprite)วิธีการวาดสิ่งที่จะหน้าจอและสิ่งที่ชอบSetView(view), GetView()ฯลฯ EntityManager: เก็บเอนทิตีที่ใช้งานอยู่ทั้งหมดและมีวิธีการเพิ่มลบและค้นหาเอนทิตี DungeonManager (ที่จริงเรียกว่า GridManager แต่นี่คือความเรียบง่าย): มีวิธีการชอบGenerateDungeon(), PlaceEnemies(), PlaceFinish()ฯลฯ ตอนนี้ฉันยังไม่ได้บอกรายชื่อผู้จัดการทั้งหมดของฉันดังนั้นฉันคิดว่าสิ่งนี้ต้องเปลี่ยน เกมของฉันขึ้นอยู่กับหน้าจอซึ่งทำให้มันน่ารำคาญมากขึ้นเพราะฉันไม่ต้องการครึ่งหนึ่งของสิ่งที่ผู้จัดการของฉันกำลังจัดการอยู่เช่นเมนูหลัก (ฉันไม่ต้องการฟิสิกส์ / เอนทิตี / ดันเจี้ยนในเมนูหลักของฉัน !) ตอนนี้ฉันคิดเกี่ยวกับการทำให้ผู้จัดการไม่คงที่และให้ ScreenMainGame เป็นตัวอย่างของผู้จัดการเฉพาะเกมทั้งหมด แต่นั่นทำให้การโทร / รับอะไรก็ตามที่เกี่ยวข้องกับผู้จัดการเป็นเรื่องใหญ่ ... ตัวอย่างเช่นถ้าฉันต้องการดึงดันเจี้ยนของฉันจากสถานที่ใด ๆ ที่ไม่ได้อยู่ScreenMainGame.Draw()ฉันจะต้องทำสิ่งนี้ ... …

1
มีชื่อเฉพาะสำหรับแนวคิดศิลปะประเภทนี้และศิลปินที่เป็นคนทำหรือไม่?
สมมติว่าคุณมีพื้นฐานของเกมอยู่แล้ว: คุณสร้างเกมที่คุณและผู้เล่น (เป็นไปได้) พบกับความสนุกในการเล่นและคุณคิดว่าคุณสามารถเล่นเกมของคุณได้มากขึ้น อย่างไรก็ตามมันเป็นเพียงแค่บล็อกและกรวยที่ไม่มีสีในขั้นตอนนี้ มันยังคงเป็นเพียงต้นแบบและคุณไม่ได้มีวิสัยทัศน์ที่ชัดเจนของวิธีการที่คุณต้องการเล่นเกมที่จริงดู ก่อนที่คุณจะพยายามรวมสิ่งที่น่าสนใจไว้ในเอ็นจิ้นเกมของคุณคุณต้องการสร้างการจำลองว่าเกมของคุณมีลักษณะอย่างไรเช่นเดียวกับที่ Bloodstained ทำในหน้าKickstarter : สิ่งเหล่านี้ไม่ใช่ภาพหน้าจอในเกมซึ่งสร้างขึ้นก่อนเกมจะเริ่มต้นขึ้น ภาพต้นแบบเหล่านี้มีการเรียกอย่างไรและศิลปินของพวกเขาเรียกว่าอย่างไร ฉันต้องค้นหา "คำหลัก" ประเภทใดหากต้องการจ้างศิลปินเพื่อสร้างต้นแบบที่เป็นไปได้สำหรับเกมของฉัน

1
การทำงานกับผู้เผยแพร่ช่วยฉันป้องกันไม่ให้เกมของฉันถูกโคลนได้หรือไม่
ฉันอ่านบทความมากมายเกี่ยวกับ "วิธี (หรือทำไมไม่ทำ) เพื่อสร้างเกมมือถือที่ไม่มีผู้เผยแพร่" แต่คำถามที่รบกวนจิตใจฉันคือ: "ถ้าฉันทำเกมมันจะทำให้ตลาดเป็นที่สนใจและผู้คนเริ่มเล่นกัน แต่ผู้เผยแพร่บางรายจะเห็นเกมของฉันและสร้างเกมที่คล้ายกันมากใน 2 สัปดาห์และทำให้มันประสบความสำเร็จมากกว่าเดิม" นี่คือเหตุผลหลักที่ทำไมฉันควรเลือกที่จะไปกับผู้เผยแพร่? แก้ไข: ความกังวลหลักของฉันไม่เกี่ยวกับสัปดาห์ของฉันใช้ในการพัฒนา (ฉันรักมัน!) ความกังวลของฉันคือ: ฉันทำงานโดยไม่ต้องใช้ผู้เผยแพร่ (ดังนั้นการใช้เทคนิคการตลาดที่ไม่ค่อยดีนัก) อาจใช้เวลาสักครู่เพื่อให้เกมของฉันเข้าถึงผู้คนได้มากนักพัฒนา VS (ผู้เผยแพร่โฆษณารายอื่น) ได้เร็วขึ้น ก่อนที่ผู้คนจะรู้ตัวว่ามันเป็นเลียนแบบ

2
รหัสใดในสองรหัสนี้ที่ 'ดีกว่า' ทำให้ตัวแปรท้องถิ่นหรือตัวแปรคลาส?
ฉันสร้างเกมมากขึ้นและถามคำถามที่โง่กว่านี้ หวังว่าอันนี้จะสั้นมาก ฉันกำลังสร้างคลาสพื้นฐานที่เพิ่งย้ายวัตถุ Player โดยใช้กำลังกับคนที่แข็งทื่อ แต่มันทำให้ฉันสงสัยว่าฉันควรจะอ้างอิงคลาสกับ rb หรือเพียงแค่ตัวแปรท้องถิ่นในอัปเดตทุกเฟรมหรือไม่ (จำไว้ว่ามันมีอยู่แล้วใน Monobehaviour.GameObject ระดับผู้ปกครองสามัคคี) ฉันสงสัยว่าถ้าทำหลายตัวแปรในท้องถิ่นจะทำให้วงทั้งหมดช้าลง (โดยเฉพาะที่ฉันหมายถึงในฟังก์ชั่นของตัวเองไม่ใช่ในชั้นเรียน - หวังว่าฉันจะใช้คำศัพท์ที่ถูกต้อง) นี่คือสิ่งที่ฉันหมายถึงสองวิธีที่ฉันคิดทำ: public class Player : MonoBehaviour { private void FixedUpdate() { Rigidbody rb = GetComponent<Rigidbody>(); float v = Input.GetAxis("Vertical"); rb.AddForce(v * rb.transform.forward * Const.walkForce); } } หรือ... public class Player : MonoBehaviour { Rigidbody rb; …
11 unity  c#  game-loop 

1
ระบบส่วนประกอบของเอนทิตี - วิธีการใช้การแปลงของวัตถุ?
ในการออกแบบระบบเอนทิตีส่วนประกอบสำหรับเครื่องยนต์ของฉันฉันเจออุปสรรคเล็กน้อยในการจัดเก็บและดึงส่วนประกอบบางประเภท ก่อนอื่นให้ฉันตั้งคำศัพท์เล็กน้อยที่ฉันจะใช้ในคำถามนี้: ฉันเรียกว่า " ส่วนประกอบ " โครงสร้างข้อมูลที่เก็บข้อมูลที่เกี่ยวข้องสำหรับระบบเฉพาะ ฉันเรียกว่า " ระบบ " การรวมวิธีการและโครงสร้างข้อมูลที่ใช้ประโยชน์จากส่วนประกอบเพื่ออัปเดตสถานะเกม / อินเตอร์เฟสกับผู้ใช้ " เอนทิตี " นั้นเป็นเพียง ID ที่ใช้เพื่อดึงส่วนประกอบเฉพาะและแก้ไขข้อมูลในตรรกะของเกม แต่ละระบบมีอาร์เรย์ (ID-mapped) ของประเภทส่วนประกอบ (เช่น Physics-> PhysicsComponent, AI-> AIComponent, Rendering-> RenderingComponent) เพื่อให้สามารถทำซ้ำข้อมูลได้อย่างมีประสิทธิภาพ อย่างไรก็ตามส่วนประกอบทั้งหมดไม่ได้เป็นของระบบโดยเฉพาะ ตัวอย่างเช่นองค์ประกอบการแปลงเก็บตำแหน่งการหมุนและขนาดของวัตถุ เป็นหนึ่งในส่วนที่สำคัญที่สุดของเอนทิตี (Unity ทำให้เป็นข้อบังคับ) แม้จะถูกใช้โดยระบบจำนวนมากเช่น Physics, AI, Rendering เป็นต้น นี่เป็นปัญหาที่ฉันเผชิญอยู่มาก เนื่องจากระบบอื่น ๆ ใช้การแปลงเป็นจำนวนมากฉันจะต้องเรียกใช้เพื่อใช้สำหรับแต่ละคอมโพเนนต์อย่างไร ทางออกหนึ่งที่เป็นไปได้ที่ฉันเห็นคือการทำให้แต่ละ Component เก็บรหัสเอนทิตีของตัวเอง มันจะง่ายต่อการดึงองค์ประกอบใด ๆ …

2
วิธีการใส่เมาส์ล่าช้า?
ฉันมีเกมรถและแนวคิดก็คือผู้เล่นนั้นเมา ฉันต้องการอินพุตที่ล่าช้าจากเมาส์ซึ่งคุณเลื่อนเมาส์ไปทางด้านข้างเพื่อเลื่อน ฉันจะตั้งค่าการหน่วงเวลาคงที่ระหว่างอินพุตที่ผู้ใช้ให้และจำนวนเทิร์นของรถได้อย่างไร? ตอนนี้ฉันมีสิ่งนี้: h = Mathf.Lerp(h, (((Input.mousePosition.x / Screen.width) * 2) - 1), Time.deltaTime * 2); สิ่งที่เกิดขึ้นคือการเลี้ยวล่าช้า แต่ช้ามากกล่าวอีกนัยหนึ่งถ้าฉันเลื่อนเมาส์เร็วรถจะหมุนช้ามาก แต่ถ้าฉันหมุนตัวคูณเพื่อTime.deltaTimeให้รถหมุนเร็วขึ้น แต่เอฟเฟกต์ล่าช้าจะลดลง . ฉันจะทำสิ่งนี้ได้อีก
11 unity  c#  input  mouse 

2
ฉันจะกำหนดสคริปต์ที่สร้างขึ้นเองโดยอัตโนมัติได้อย่างไร
เมื่อคุณสร้างสคริปต์ผ่านตัวแก้ไข Unity สคริปต์จะสร้างสคริปต์ด้วยโค้ดที่จัดรูปแบบไว้ล่วงหน้า using System.Collections; using System.Collections.Generic; using UnityEngine; public class GenericClass : MonoBehaviour { // Use this for initialization void Start () { } // Update is called once per frame void Update () { } } เมื่อฉันสร้างสคริปต์โดยทั่วไปฉันรับประกันว่าจะใช้รหัสเพิ่มเติมเช่นเนมสเปซหรือตัวแก้ไขที่กำหนดเอง นอกจากนี้ฉันมักจะลบเนื้อหาออกจากสคริปต์ที่สร้างขึ้นโดยอัตโนมัติ มีวิธีในการเปลี่ยนรหัสอัตโนมัติที่สร้างโดย Unity หรือไม่
11 unity 

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