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

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

1
ฉันจะสร้างเอฟเฟกต์ "ดูด้านหลังกำแพง" ได้อย่างไร
เทพ: บาปดั้งเดิม 2มีระบบการไหลผ่านที่สวยงาม เมื่อฉันไปด้านหลังกำแพงหน้ากากสาดจะปรากฏขึ้นและเมื่อฉันย้ายไปรอบ ๆ เกมมันเปลี่ยนไป มันเหมือน shader ที่ละลายและมีเอฟเฟกต์เมทัลล์ ฉันจะทำซ้ำเอฟเฟกต์นี้ได้อย่างไรโดยสร้างหน้ากากสาดแบบไดนามิกเมื่อผู้เล่นอยู่หลังกำแพง? คุณสามารถดูเอฟเฟกต์ที่ต้องการผ่านวิดีโอ YouTubeนี้

3
ฉันจะทำความสะอาดซากปรักหักพังที่ผู้เล่นสร้างขึ้นได้อย่างไร?
ในเกมล่าสุดที่ฉันทำคุณสามารถแบ่งวัตถุสองมิติได้ตามต้องการแสดงใน gif นี้: คุณสามารถตัดมันต่อเนื่องเป็นร้อยหรือพันชิ้น สิ่งนี้ไม่ได้สร้างความล่าช้ามากนักเนื่องจากพวกมันอยู่ในสถานะฟิสิกส์การนอนหลับอยู่เสมอ แต่ก็มีปัญหาเมื่อคุณทำให้พวกมันเคลื่อนไหว ฉันไม่แน่ใจจริงๆว่าจะจัดการกับมันอย่างไรจึงไม่มีเศษซากปรักหักพังมากนัก ฉันไม่ต้องการลบพวกเขาหลังจากผ่านไประยะหนึ่ง ฉันไม่ชอบวิธีถ้าคุณกลับไปที่สิ่งที่คุณตัดในขณะที่มันหายไปแบบสุ่ม ฉันจะทำความสะอาดซากปรักหักพังที่ผู้เล่นสร้างขึ้นได้อย่างไร?
92 unity  2d  performance 

1
ฉันจะสร้าง "พื้นผิวเปียก" / "แอ่งน้ำตื้น" ใน Unity ได้อย่างไร
ในเกมของฉันฉันต้องสร้างแอ่งน้ำแบบไดนามิก แต่ฉันไม่สามารถหาบทช่วยสอนที่แสดงให้เห็นว่าฉันสามารถสร้างเอฟเฟกต์ได้อย่างไร (ตัวอย่างที่แสดงด้านล่าง) ฉันจะทำมันได้อย่างไร

1
ฉันจะจำลองเอฟเฟกต์อนุภาคการบิดเบือนของ Quantum Break ได้อย่างไร
Quantum Break มีเอฟเฟกต์ของอนุภาคที่น่าอัศจรรย์นี้มันเป็นเอฟเฟกต์การบิดเบือนเหมือนกระจกแตก ฉันต้องการทราบว่าฉันสามารถจำลองลักษณะพิเศษนี้ได้อย่างไร คุณสามารถดูได้ด้านล่างและวิดีโอเต็มมีอยู่ใน YouTube :

12
คุณจะจัดการกับความแตกต่างของอัตราส่วนด้วย Unity 2D ได้อย่างไร
ฉันได้รับคำตอบมากมายสำหรับคำถามนี้ แต่มันเป็นคำทั่วไปและโดยทั่วไปไม่ค่อยมีประโยชน์ ไม่มีบทเรียนใด ๆ ที่พูดถึงอัตราส่วนภาพและการจัดการกับอุปกรณ์มือถือและมีวิธีการหนึ่งล้านที่ทำได้ทุกคนดูเหมือนจะมี gotcha และข้อบกพร่อง ฉันชอบที่จะรู้ว่าเกมที่ประสบความสำเร็จได้ใช้เพื่อจัดการอัตราส่วนกว้างยาวที่แตกต่างกันใน iOS และ Android โดยไม่ต้องสร้างสินทรัพย์ขนาดแตกต่างกัน zillion ฉันกำลังพูดอย่างมือถือไม่ใช่บนเดสก์ท็อปโดยเฉพาะกับ Unity และฉันไม่สนใจ UI ฉันเพียง แต่ใส่ใจเกี่ยวกับเกมเพลย์ ปัญหาที่ฉันมีอยู่ในใจคือเมื่อมีสิ่งสำคัญที่ต้องอยู่ในบางสถานที่และไม่สามารถหลุดออกจากหน้าจอได้ วันนี้การใช้แถบสีดำที่ด้านบนหรือด้านล่างเป็นที่ยอมรับไม่ได้

6
ข้อดี / ข้อเสียของ Unity3D เป็นตัวเลือกในการทำเกมมีอะไรบ้าง [ปิด]
เรากำลังทำโครงการโรงเรียนกับ Unity3d เนื่องจากพวกเขาใช้พระอิศวรเมื่อปีที่แล้ว (ซึ่งดูน่ากลัวสำหรับฉัน) และฉันต้องการทราบมุมมองของคุณเกี่ยวกับเครื่องมือนี้ ข้อดี: หลายแพลตฟอร์มฉันได้ยินว่า Google กำลังจะนำไปใช้ใน Chrome ทุกสิ่งที่คุณต้องการอยู่ที่นี่ ภาษาสคริปต์ทำให้เป็นตัวเลือกที่ดีสำหรับผู้ที่ไม่ได้เขียนโปรแกรมปรมาจารย์ จุดด้อย: หลายคน? กรรมสิทธิ์คุณทั้งหมดขึ้นอยู่กับเอกภาพและขีด จำกัด และไม่สามารถขยายได้ มันน้อยกว่า "การสร้างเกมตั้งแต่เริ่มต้น" C ++ คงเป็นสิ่งที่ยอดเยี่ยม ฉันคิดว่าเครื่องมือชนิดนี้น่าสนใจ แต่ควรใช้ที่โรงเรียนสำหรับโครงการที่มีผู้เขียนโปรแกรมมากกว่า 3 คนหรือไม่ เราเรียนรู้อะไรในแง่ของการเขียนโปรแกรมจากการใช้เครื่องมือประเภทนี้ (ฉันโอเคกับ python และ js แต่ฉันเกลียด C #)? เราสามารถใช้ Ogre แทนแม้ว่าเราจะเรียนรู้โดยตรง x เริ่มมกราคม ...
64 unity 

4
วิธีที่เหมาะสมในการจัดการข้อมูลระหว่างฉากคืออะไร?
ฉันกำลังพัฒนาเกม 2D เกมแรกของฉันใน Unity และฉันเจอสิ่งที่ดูเหมือนคำถามสำคัญ ฉันจะจัดการข้อมูลระหว่างฉากได้อย่างไร ดูเหมือนจะมีคำตอบที่แตกต่างกันสำหรับสิ่งนี้: มีคนพูดถึงการใช้PlayerPrefsในขณะที่คนอื่นบอกฉันว่าควรใช้เก็บสิ่งอื่น ๆ เช่นความสว่างของหน้าจอเป็นต้น มีคนบอกฉันว่าวิธีที่ดีที่สุดคือให้แน่ใจว่าเขียนทุกอย่างเป็นเกมเซฟทุกครั้งที่ฉันเปลี่ยนฉากและเพื่อให้แน่ใจว่าเมื่อฉากใหม่โหลดขึ้นมารับข้อมูลจาก savegame อีกครั้ง เรื่องนี้ดูเหมือนว่าฉันจะสิ้นเปลืองในการแสดง ฉันผิดหรือเปล่า? โซลูชันอื่นซึ่งเป็นสิ่งที่ฉันนำมาใช้จนถึงขณะนี้คือการมีวัตถุเกมระดับโลกที่ไม่ได้ถูกทำลายระหว่างฉากจัดการข้อมูลทั้งหมดระหว่างฉาก ดังนั้นเมื่อเกมเริ่มขึ้นฉันโหลดฉากเริ่มต้นที่มีการโหลดวัตถุนี้ หลังจากจบเกมจะโหลดฉากเกมจริงครั้งแรกโดยปกติจะเป็นเมนูหลัก นี่คือการดำเนินการของฉัน: using UnityEngine; using UnityEngine.UI; using System.Collections; public class GameController : MonoBehaviour { // Make global public static GameController Instance { get; set; } void Awake () { DontDestroyOnLoad (transform.gameObject); Instance = …
52 unity 

4
ฉันจะซ่อนและปกป้องสายจากเครื่องเล่นใน Unity ได้อย่างไร?
ฉันใช้ Unity เพื่อสร้างเกม 2D ซึ่งจะเป็นแบบออฟไลน์โดยสมบูรณ์ (ซึ่งเป็นปัญหา) การเล่นเกมต้องการให้คุณป้อนสตริงบางอย่างในระดับหนึ่งและ Unity คอมไพล์เป็น DLL ซึ่งสามารถย้อนกลับวิศวกรรมได้อย่างง่ายดายดังนั้นจึงเป็น มีวิธีในการป้องกันสตริงเหล่านั้น (เกมออฟไลน์ดังนั้นฉันไม่สามารถดึงข้อมูลจากแหล่งอื่นได้) เกมดังกล่าวอาศัยสายอักขระเหล่านั้นอย่างมากและใช่ฉันทราบถึงความสับสน แต่ฉันต้องการบางสิ่งที่แข็งแกร่งกว่า และฉันรู้ว่าวิธีง่าย ๆ ที่จะทำทุกอย่างออนไลน์จากแหล่งข้อมูล แต่ฉันสงสัยว่ามันเป็นไปได้หรือไม่ สามารถ decompiled เช่นนี้:
47 unity  c#  anti-cheat 

2
วิธีที่จะทำให้น้ำแข็งที่เหมือนจริง?
ฉันกำลังพยายามเขียน ice shader ใน Unity ที่ดูดีและอย่างน้อยกึ่งจริง หากภาพต่อไปนี้ ( พบใน Google ) คือ CG สิ่งที่รวมไว้ในภาพนี้คืออะไร (ถ้ำเบื้องหน้า) ฉันอาจจะผิด แต่ดูเหมือนว่ามันจะมีรูปแบบแสงที่แตกต่างจากการกระจายแสงเริ่มต้น

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

8
ฉันควรหลีกเลี่ยงการใช้การสืบทอดของวัตถุเป็นไปได้ในการพัฒนาเกมหรือไม่?
ฉันชอบฟีเจอร์ OOP เมื่อพัฒนาเกมด้วย Unity ฉันมักจะสร้างคลาสพื้นฐาน (ส่วนใหญ่เป็นนามธรรม) และใช้การสืบทอดวัตถุเพื่อแบ่งปันฟังก์ชันการทำงานเดียวกันกับวัตถุอื่น ๆ อย่างไรก็ตามฉันเพิ่งได้ยินจากคนที่ใช้การสืบทอดต้องหลีกเลี่ยงและเราควรใช้อินเทอร์เฟซแทน ดังนั้นฉันจึงถามว่าทำไมและเขาบอกว่า "การสืบทอดวัตถุมีความสำคัญแน่นอน แต่ถ้ามีวัตถุเพิ่มเติมจำนวนมากความสัมพันธ์ระหว่างชั้นเรียนจะถูกเชื่อมโยงกันอย่างลึกซึ้ง ฉันใช้คลาสเบสที่เป็นนามธรรมบางอย่างเช่นWeaponBaseและสร้างคลาสอาวุธที่เฉพาะเจาะจงเช่นShotgunนั้นAssaultRifleเป็นMachinegunอย่างนั้น มีข้อดีมากมายและรูปแบบเดียวที่ฉันชอบคือความแตกต่าง ฉันสามารถปฏิบัติต่อวัตถุที่สร้างโดยคลาสย่อยราวกับว่าพวกเขาเป็นคลาสพื้นฐานเพื่อให้ตรรกะสามารถลดลงอย่างมากและทำให้สามารถนำมาใช้ซ้ำได้มากขึ้น หากฉันต้องการเข้าถึงฟิลด์หรือวิธีการของคลาสย่อยฉันจะส่งกลับไปยังคลาสย่อย ฉันไม่ต้องการที่จะกำหนดเขตข้อมูลเดียวกันที่นิยมใช้ในการเรียนแตกต่างกันเช่นAudioSource/ Rigidbody/ Animatorและจำนวนมากของเขตข้อมูลสมาชิกฉันที่กำหนดไว้เช่นfireRate, damage, range, spreadและอื่น ๆ ในบางกรณีวิธีการบางอย่างอาจถูกเขียนทับ ดังนั้นฉันใช้วิธีเสมือนในกรณีนั้นโดยทั่วไปฉันสามารถเรียกใช้วิธีนั้นโดยใช้วิธีการจากคลาสผู้ปกครอง แต่ถ้าตรรกะควรจะแตกต่างกันในเด็กฉันได้แทนที่พวกเขาด้วยตนเอง ดังนั้นสิ่งเหล่านี้ทั้งหมดควรถูกทอดทิ้งเป็นการปฏิบัติที่ไม่ดี? ฉันควรใช้อินเทอร์เฟซแทนหรือไม่

9
ฉันชอบ C / C ++ มากกว่า Unity และเครื่องมืออื่น ๆ : มันใหญ่เกินไปสำหรับนักพัฒนาเกมหรือไม่? [ปิด]
เรามีโครงการเกมขนาดใหญ่ที่ใช้ Unity ที่โรงเรียน พวกเรา 12 คนกำลังทำงานอยู่ ครูของฉันดูเหมือนจะมั่นใจว่าเป็นเครื่องมือที่สำคัญในการสอนนักเรียนเพราะมันทำให้นักเรียนดูจากระดับสูงถึงระดับล่าง ฉันสามารถเข้าใจมุมมองของเขาและฉันสงสัยว่า: ความสามัคคีเป็นเครื่องมือสำคัญใน บริษัท พัฒนาเกมหรือไม่? มี บริษัท มากมายที่ใช้มันเพราะพวกเขาไม่สามารถใช้อย่างอื่นได้หรือไม่? เขาพูดเหมือน Unity เป็นผู้เล่นที่ยิ่งใหญ่ในการทำเกม แต่ฉันเห็นว่าเหมาะสมกับ บริษัท เกมอินดี้เล็ก ๆ ที่ต้องการทำเกมให้เร็วที่สุด คุณคิดว่าความสามัคคีมีความสำคัญมากในอุตสาหกรรมนี้หรือไม่? เป็นอันตรายต่อคุณค่าของทักษะ C ++ หรือไม่ ไม่ใช่ว่าฉันไม่ชอบ Unity แต่เพียงว่าฉันไม่ได้เรียนรู้อะไรเลยฉันชอบที่จะทำตามขั้นตอนเล็กน้อยกับ Ogre หรือ SFML แทน นอกจากนี้เรายังมีแบบฝึกหัดฝึกฝน C ++ ด้วย แต่สิ่งเหล่านี้เป็นเพียงการฝึกฝนทางทฤษฎีไม่มีอะไรมาก
35 unity 

9
ใน Unity ฉันจะใช้รูปแบบซิงเกิลได้อย่างถูกต้องได้อย่างไร?
ฉันได้เห็นวิดีโอและแบบฝึกหัดหลายประการสำหรับการสร้างวัตถุเดี่ยวใน Unity ซึ่งส่วนใหญ่เป็น a GameManagerซึ่งดูเหมือนจะใช้วิธีการต่าง ๆ ในการสร้างอินสแตนซ์และตรวจสอบความถูกต้องของซิงเกิล มีวิธีที่ถูกต้องหรือค่อนข้างที่ต้องการในการนี ตัวอย่างหลักสองอย่างที่ฉันพบคือ: เป็นครั้งแรก public class GameManager { private static GameManager _instance; public static GameManager Instance { get { if(_instance == null) { _instance = GameObject.FindObjectOfType<GameManager>(); } return _instance; } } void Awake() { DontDestroyOnLoad(gameObject); } } ที่สอง public class GameManager { private static …

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

3
จะเกิดอะไรขึ้นถ้าฉันทำเงินมากกว่า $ 100k ด้วยสิทธิ์ใช้งาน Unity ฟรี
หากผู้พัฒนาเกมอินดี้สร้างรายได้มากกว่า $ 100,000 โดยใช้ Unity เวอร์ชันฟรีจะเกิดอะไรขึ้นกับเงินที่มีมากกว่า $ 100k คนสามัคคีจะรู้ได้อย่างไรว่าพวกเขาทำเงินได้เท่าไร? ฉันควรระมัดระวังอะไรบ้างในกรณีที่เกมประสบความสำเร็จอย่างยิ่งใหญ่
33 unity  licensing 

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