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

Unity เป็นระบบการสร้างเกมข้ามแพลตฟอร์มที่มุ่งเน้นกระบวนการไปป์ไลน์ที่ง่าย ประกอบด้วยเอ็นจิ้นเกมและสภาพแวดล้อมการพัฒนาแบบรวม การสร้างสคริปต์ของเอ็นจิ้นเกมสร้างขึ้นบนโมโน

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

4
ฉันจะสร้างเกมใน Unity ด้วยการใช้เครื่องมือแก้ไขภาพขั้นต่ำ / ไม่ใช้งานได้อย่างไร
ฉันต้องการเขียนเกมทั้งหมดใน C # ในการค้นหาเครื่องมือของฉันฉันพบ Unity3D แต่บทเรียนและเอกสารประกอบทั้งหมดพูดถึงตัวแก้ไขภาพและ Unity IDE ที่คุณคลิกและชี้ไปรอบ ๆ เพื่อสร้างฉากและสคริปต์ ฉันไม่ต้องการทำเช่นนั้น ฉันชอบการครอบคลุมโค้ดแบบเต็มมากกว่านักออกแบบที่แยกแยะสิ่งต่าง ๆ ออกไปจากฉัน ฉันต้องการเขียนโค้ด C # บริสุทธิ์ตั้งแต่เริ่มต้นหรือหากต้องการสคริปต์ Unity เป็นการเพิ่มเติม ฉันไม่พบคำอธิบายหรือเอกสารเกี่ยวกับการทำเช่นนั้น ฉันจะสร้างเกมโดยใช้ Unity และใช้การแก้ไขแบบขั้นต่ำ (หรือไม่ใช้) ได้อย่างไร
24 c#  unity 

2
ใช้ Quaternions: ฉันจะทำอะไรกับพวกเขา? (ไม่มีคณิตศาสตร์)
ฉันเป็นนักพัฒนาเกมและไม่ได้เรียนวิชาคณิตศาสตร์ ดังนั้นฉันต้องการใช้ Quaternions เป็นเครื่องมือเท่านั้น และเพื่อให้สามารถทำงานกับการหมุน 3 มิติได้จำเป็นต้องใช้ Quaternions (หรือเมทริกซ์ แต่ให้อยู่ที่ Quaternions ที่นี่ในคำถามนี้) ฉันคิดว่ามันสำคัญสำหรับนักพัฒนาหลายคนที่จะใช้พวกเขา นั่นเป็นเหตุผลที่ฉันต้องการแบ่งปันความรู้ของฉันและหวังว่าจะเติมเต็มช่องว่างที่ฉันมี ตอนนี้ .... เท่าที่ฉันเข้าใจ: Quaternion สามารถอธิบาย 2 สิ่ง: การวางแนวปัจจุบันของวัตถุ 3 มิติ การแปลงการหมุนที่วัตถุทำได้ (rotationChange) คุณสามารถทำอะไรกับ Quaternion: คูณ: Quaternion endOrientation = การหมุน QuaternionChange * Quaternion currentOrientation; ตัวอย่างเช่น: วัตถุ 3 มิติของฉันหันไปทางซ้าย 90 องศา - และการหมุนของฉันฉันคูณคือการหมุน 180 องศาไปทางขวาในที่สุดวัตถุ 3 มิติของฉัน 90 …

7
ฉันจะหลีกเลี่ยงการแต่งงานคับใน Unity ได้อย่างไร
เมื่อหลายปีก่อนฉันเริ่มทำงานกับ Unity และฉันยังคงต่อสู้กับปัญหาของสคริปต์คู่ที่แน่น ฉันจะจัดโครงสร้างรหัสของฉันเพื่อหลีกเลี่ยงปัญหานี้ได้อย่างไร ตัวอย่างเช่น: ฉันต้องการมีระบบสุขภาพและความตายในสคริปต์แยกต่างหาก ฉันต้องการมีสคริปต์การเดินที่สามารถเปลี่ยนได้ที่แตกต่างกันซึ่งทำให้ฉันสามารถเปลี่ยนวิธีการที่ตัวละครของผู้เล่นถูกย้าย (การควบคุมแรงเฉื่อยทางฟิสิกส์เช่นในมาริโอเมื่อเทียบกับการควบคุมที่กระตุกอย่างรวดเร็วเช่นใน Super Meat Boy) สคริปต์สุขภาพจำเป็นต้องมีการอ้างอิงถึงสคริปต์แห่งความตายเพื่อที่จะสามารถเปิดใช้วิธีการ Die () เมื่อสุขภาพของผู้เล่นถึง 0 สคริปต์ความตายควรมีการอ้างอิงถึงสคริปต์การเดินที่ใช้เพื่อปิดการเดินบนความตาย (ฉัน เหนื่อยกับซอมบี้) ฉันจะตามปกติสร้างการเชื่อมต่อเช่นIWalking, IHealthและIDeathเพื่อที่ฉันสามารถเปลี่ยนองค์ประกอบเหล่านี้ที่ราชประสงค์โดยไม่ทำลายส่วนที่เหลือของรหัสของฉัน PlayerScriptDependancyInjectorฉันจะมีพวกเขาตั้งขึ้นโดยสคริปต์แยกวัตถุเล่นพูด บางทีนั่นอาจจะมีสคริปต์สาธารณะIWalking, IHealthและIDeathคุณลักษณะเพื่อให้การอ้างอิงที่สามารถตั้งค่าโดยนักออกแบบระดับจากการตรวจสอบโดยการลากและวางสคริปต์ที่เหมาะสม นั่นจะทำให้ฉันสามารถเพิ่มพฤติกรรมให้กับวัตถุเกมได้อย่างง่ายดายและไม่ต้องกังวลกับการพึ่งพารหัสฮาร์ดโค้ด ปัญหาใน Unity ปัญหาที่อยู่ในความสามัคคีฉันไม่สามารถสัมผัสอินเตอร์เฟซในการตรวจสอบและถ้าผมเขียนตรวจสอบของตัวเองอ้างอิงเคยได้รับต่อเนื่องและเป็นจำนวนมากของการทำงานที่ไม่จำเป็น นั่นเป็นเหตุผลที่ฉันทิ้งไว้กับการเขียนรหัสคู่แน่น Deathสคริปต์ของฉันแสดงการอ้างอิงถึงInertiveWalkingสคริปต์ แต่ถ้าฉันตัดสินใจว่าฉันต้องการให้ผู้เล่นควบคุมตัวละครให้แน่นฉันไม่สามารถลากและวางTightWalkingสคริปต์ได้ฉันต้องเปลี่ยนDeathสคริปต์ ที่ดูด ฉันสามารถจัดการกับมันได้ แต่วิญญาณของฉันร้องไห้ทุกครั้งที่ฉันทำอะไรแบบนี้ ทางเลือกที่ต้องการไปยังอินเตอร์เฟสใน Unity คืออะไร? ฉันจะแก้ไขปัญหานี้ได้อย่างไร ฉันพบสิ่งนี้แต่มันบอกสิ่งที่ฉันรู้แล้วและมันไม่ได้บอกวิธีทำใน Unity! สิ่งนี้จะกล่าวถึงสิ่งที่ควรทำไม่ใช่วิธีการที่มันไม่ได้แก้ไขปัญหาการมีเพศสัมพันธ์อย่างแน่นหนาระหว่างสคริปต์ โดยรวมแล้วฉันรู้สึกว่ามันถูกเขียนขึ้นสำหรับผู้ที่มาที่ Unity ด้วยพื้นหลังการออกแบบเกมที่เพิ่งเรียนรู้วิธีเขียนโค้ดและมีทรัพยากรน้อยมากใน Unity สำหรับนักพัฒนาทั่วไป มีวิธีมาตรฐานในการจัดโครงสร้างโค้ดของคุณใน Unity หรือฉันต้องหาวิธีการของตัวเอง?
24 c#  unity  scripting 

3
UnityEngine.Random และ System.Random แตกต่างกันอย่างไร
ความแตกต่างระหว่างนี้คืออะไร int randomNumber = UnityEngine.Random.Range(0, 10); และนี่ // on top of the class private System.Random _rnd = new System.Random(); // inside a methode of the same class int randomNumber = _rnd.Next(0, 10); ฉันรู้ว่าSystem.Randomจะต้องมีการเริ่มต้นด้านบนของชั้นเรียนของคุณโดยUnityEngine.Randomไม่จำเป็นต้องมี ฉันรู้ว่ายังSystem.Randomทำงานร่วมกับ "นาฬิกา" ฝึกงานและหมายเลข "สุ่ม" จะขึ้นอยู่กับที่ คำถามของฉันตอนนี้มีความแตกต่างอื่น ๆ ระหว่างUnityEngine.RandomและSystem.Randomกับรหัสแม่มดจะดีกว่าที่จะใช้สำหรับโครงการความสามัคคี?
24 unity  c#  random 

1
ฉันจะป้องกันไม่ให้โฆษณาที่ไม่เหมาะสมปรากฏในเกมของฉันได้อย่างไร
เกมของฉันใช้โฆษณา Unity และได้รับการออกแบบโดยคำนึงถึงผู้ชมที่เป็นสากล ด้วยเหตุนี้ฉันจึงไม่ต้องการให้มีโฆษณา 18+ รายการ (หรือโฆษณามากกว่า 13 รายการขึ้นอยู่กับสถานการณ์) โดยเฉพาะอย่างยิ่งเนื่องจากจะดึงดูดผู้ชมที่อายุน้อยกว่าด้วย จากนั้นคำถามของฉันคือฉันจะป้องกันไม่ให้โฆษณาที่ไม่เหมาะสมปรากฏตามอายุได้อย่างไร มีวิธีในการตั้งค่า จำกัด อายุหรือ จำกัด เนื้อหาของโฆษณา Unity หรือไม่ การตั้งค่าเฉพาะตามบรรทัดเหล่านั้นที่ฉันสามารถค้นหาได้คือการสลับ COPPA และนั่นจะทำให้เกิดปัญหาอื่น ๆ (ไม่ต้องพูดถึงว่ามันจะไม่ทำอะไรกับโฆษณา) ฉันได้ดูในแดชบอร์ดมาระยะหนึ่งแล้วและฉันพยายามค้นคว้ามาก่อน แต่ความจริงที่ว่าพวกเขาได้เปลี่ยนไปใช้หน้าบริการส่วนกลางเปลี่ยนเส้นทางการเชื่อมโยงเก่าทั้งหมด (ทำลายพวกเขาในกระบวนการ) จัดระเบียบการตั้งค่าในแดชบอร์ดและ 404d โพสต์คำถามที่พบบ่อยของพวกเขาในหัวข้อไม่ได้ช่วย การปิดกั้นโฆษณาตามการให้คะแนนจะใช้งานได้เช่นกันเพราะฉันจะต้องได้รับเพราะฉันกำลังเผยแพร่ไปยัง Google Play แก้ไข: ลิงค์ที่สองเพียง 404s บางครั้ง ฉันเพิ่งเกิดขึ้นทุกครั้งก่อนถามคำถามนี้ โชคไม่ดีฉันเดา



4
บันทึกความคืบหน้าของผู้เล่นในเกม Unity
ฉันสร้างเกมโดยใช้เอ็นจิ้นเกม Unity ฉันต้องการบันทึกความคืบหน้าของผู้เล่นรวมถึงระดับคะแนนประสบการณ์ตัวละครที่เลือก ฯลฯ ปัจจุบันฉันใช้playerprefsแต่ฉันต้องการทราบว่าจะใช้งานได้กับเกมที่จะเล่นเกมนี้บนอุปกรณ์มือถือ (Android / iOS) หรือไม่ เป็นเดสก์ท็อป (OSX / พีซี) ถ้าไม่เช่นนั้นฉันควรบันทึกข้อมูลนี้อย่างไร ฉันต้องการบันทึกความคืบหน้าของผู้เล่นโดยอัตโนมัติหลังจากล้างแต่ละด่าน
22 android  unity 

2
ฉันจะใช้เอฟเฟกต์หญ้าตัดสั้นได้อย่างไร
ฉันได้ดูภาพหน้าจอจากเกมเช่น Rocket League และ FIFA: และฉันเริ่มสงสัยว่าใครจะได้รับเอฟเฟกต์หญ้าสั้น มันเป็น shader หรือไม่? มันเป็นรูปทรงเรขาคณิตที่เกิดขึ้นจริงเหรอ? หรือเพียงแค่คณะสี่คน หากใครสามารถชี้นำฉันในทิศทางที่จะชื่นชมอย่างมาก

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

2
คุณสมบัติ pixels to units ใน Unity sprites ใช้เพื่ออะไร
ฉันเริ่มเรียนรู้ Unity เพื่อการพัฒนา 2D ดังนั้นฉันกำลังนำเข้าหลายสไปรท์ในเกมและผมก็ไม่สามารถช่วย แต่แจ้งให้ทราบว่ามีการ "พิกเซลหน่วย" 100ทรัพย์สินโดยเริ่มต้นใน 1ปกติผมตั้งค่าให้ มีเหตุผลที่ฉันจะต้องมีค่านี้แตกต่างจาก1? หรือโดยทั่วไปมีเหตุผลที่จะมีหลายสไปรต์ที่ต่างกัน
22 2d  unity 

3
ฉันจะสร้างดาวได้อย่างไร
ฉันพยายามสร้างแบบจำลองดาวในเอกภาพและมันเรียงลำดับของงาน แต่มันไม่เหมาะ ขณะนี้ฉันใช้ทรงกลมขนาดใหญ่ที่มีวัสดุส่องสว่างในตัวเองที่มีพื้นผิวรูปดาวนำไปใช้กับพื้นผิวของมันและสปอตไลต์เพื่อสร้างเอฟเฟกต์ของแสงดาวเช่นนี้: ในขณะที่ใช้งานได้มันไม่ได้ดูยอดเยี่ยม ฉันกำลังมองหาเอฟเฟกต์เพิ่มเติมตามแนวทางที่Kerbal Space Programกำหนดดาว: ฉันจะบรรลุผลนี้ได้อย่างไร

3
ฉันจะสร้างวัสดุพิซซ่าชีสแบบยืดและแตกได้อย่างไร
ฉันต้องการสร้างพิซซ่าที่เหมือนจริงและอนุญาตให้ผู้ใช้โต้ตอบกับมัน สิ่งที่ฉันต้องการ: สิ่งที่ฉันสร้าง: ฉันสร้างโมเดลของพิซซ่า (8 ชิ้น) ใน Blender จากนั้นนำเข้าสู่ Unity ชิ้นส่วนของพิซซ่าดูเหมือนประดิษฐ์มากส่วนใหญ่เป็นเพราะ "สามเหลี่ยมแข็ง" ฉันจะทำให้ชีสยืดและแตกเมื่อผู้ใช้ย้ายชิ้นส่วนได้อย่างไร

2
วิธีการออกแบบเมนูบริบทตามวัตถุใด ๆ
ฉันกำลังมองหาวิธีแก้ปัญหาสำหรับพฤติกรรม "คลิกขวา" โดยพื้นฐานทุกรายการในเกมเมื่อคลิกขวาสามารถแสดงชุดของตัวเลือกตามสิ่งที่วัตถุเป็น ตัวอย่างคลิกขวาสำหรับสถานการณ์ต่าง ๆ : สินค้าคงคลัง:หมวกกันน็อกแสดงตัวเลือก (สวมใส่ใช้วางคำอธิบาย) ธนาคาร: Helmet แสดงตัวเลือก (รับ 1, Take X, Take All, Description) ชั้น:หมวกกันน็อกแสดงตัวเลือกต่าง ๆ (ถ่ายเดินที่นี่รายละเอียด) เห็นได้ชัดว่าตัวเลือกแต่ละตัวชี้ไปที่วิธีการบางอย่างที่ทำในสิ่งที่พูด นี่เป็นส่วนหนึ่งของปัญหาที่ฉันพยายามหา ด้วยตัวเลือกการมีเสน่ห์มากมายสำหรับรายการเดียวฉันจะให้ชั้นเรียนของฉันออกแบบในลักษณะที่จะไม่ยุ่งมากได้อย่างไร ฉันเคยคิดเกี่ยวกับการสืบทอด แต่นั่นอาจจะยืดเยื้อและห่วงโซ่อาจมีขนาดใหญ่มาก ฉันคิดเกี่ยวกับการใช้อินเทอร์เฟซ แต่สิ่งนี้อาจ จำกัด ฉันเล็กน้อยเพราะฉันจะไม่สามารถโหลดข้อมูลรายการจากไฟล์ Xml และวางลงในคลาส "รายการ" ทั่วไป ฉันอ้างอิงผลลัพธ์ที่ต้องการในเกมที่ชื่อว่า Runescape วัตถุทุกชิ้นสามารถคลิกขวาในเกมและขึ้นอยู่กับว่ามันอยู่ที่ไหนและอยู่ที่ไหน (สินค้าคงคลัง, พื้น, ธนาคาร ฯลฯ ) แสดงชุดตัวเลือกต่าง ๆ ที่ผู้เล่นสามารถโต้ตอบได้ ฉันจะประสบความสำเร็จในเรื่องนี้ได้อย่างไร ฉันควรใช้วิธีใดก่อนอื่นตัดสินใจว่าควรแสดงตัวเลือกใดและเมื่อคลิกวิธีเรียกวิธีที่สอดคล้องกัน ฉันกำลังใช้ C # …

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