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

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

1
การค้นหาความเร็วที่ถูกต้องสำหรับ AI เพื่อให้บรรลุเป้าหมาย
ฉันมีเรือที่เดินทางด้วยความเร็วสูงสุดmaxSpeedและสามารถเปลี่ยนrotationSpeedองศาต่อวินาที เรือเคลื่อนที่ไปในทิศทางที่หันหน้าไปทางเสมอซึ่งหมายความว่ายิ่งแล่นเรือเร็วเท่าไหร่รัศมีการเลี้ยวยิ่งใหญ่ขึ้นเท่านั้น ฉันรู้ตำแหน่งของฉันการหมุนและตำแหน่งของเป้าหมาย สิ่งที่ฉันอยากรู้คือเป้าหมายอยู่ในรัศมีวงเลี้ยวของฉันด้วยความเร็วนี้หรือดีกว่าความเร็วสูงสุดที่ฉันสามารถเคลื่อนที่ได้คืออะไรเพื่อที่จะเลี้ยวไปยังเป้าหมายโดยไม่วนรอบอย่างต่อเนื่อง มีวิธีที่มีประสิทธิภาพ (ish) การทำเช่นนี้? นี่คือสิ่งที่ฉันคิดอยู่จนถึงตอนนี้: เพราะฉันรู้ว่าฉันเดินทางไปไกลแค่ไหนต่อขั้นตอนและเท่าไหร่ที่ฉันหมุนไปตามขั้นตอนเท่าไหร่ฉันจึงสามารถรู้ได้ว่าฉันจะอยู่ที่ไหนในสองเฟรม ตำแหน่งปัจจุบันของฉันคือ p1 ตำแหน่งถัดไปของฉันคือ p2 จากนั้น p3 ฉันสามารถหาเส้นแบ่งครึ่งตั้งฉากของ (p1, p2) และ (p2, p3) จุดตัดของพวกเขาจะให้ศูนย์กลางของวงกลมแก่ฉัน ฉันสามารถทดสอบว่าเป้าหมายอยู่ในวงกลมนั้นหรือไม่ ฉันไม่แน่ใจว่าสิ่งนี้จะทำงานในแบบ 3 มิติ (ฉันไม่แน่ใจว่าจะคำนวณทรงกลมด้วยอินพุตของฉัน) โซลูชันนี้ไม่ได้ช่วยอะไรมากนักในการค้นหาความเร็วที่เหมาะสมสำหรับการเดินทางฉันจะต้องลองสองสามครั้งด้วยความเร็วที่แตกต่างกันเพื่อค้นหาความเร็วที่เหมาะสม ทุกคนสามารถปลดปล่อยแสงให้กับทางออกที่ดีกว่าได้หรือไม่?

2
ปัญหาเกี่ยวกับคอมไพล์ในโครงการเอกภาพ
ฉันพยายามควบคุมเวอร์ชันโฟลเดอร์โครงการด้วย git เมื่อมาถึงดึงโครงการจากพื้นที่เก็บข้อมูลบางอย่างผิดปกติ: ดูเหมือนว่าสคริปต์จะหายไปและ prefab และชนิดขององค์ประกอบกราฟิกทั้งหมดดูเหมือนจะเป็นสีชมพู ใครบ้างรู้วิธีแก้ไขปัญหานี้หรือไม่ นี่คือ. gignignore ที่ฉันใช้ในขณะนี้: Temp/ Obj/ UnityGenerated/ Library/ ExportedObj/ *.svd *.userprefs *.csproj *.pidb *.suo *.sln *.user *.unityproj *.booproj .DS_Store .DS_Store? ._* .Spotlight-V100 .Trashes Icon? ehthumbs.db Thumbs.db ขอบคุณล่วงหน้า.
10 unity  git 

2
ฉันจะทำให้ภูมิประเทศแบนราบภายใต้วัตถุของเกมได้อย่างไร
ฉันมีสคริปต์ที่ทำให้วัตถุภูมิประเทศและวาดด้วยพื้นผิว แต่ฉันมีปัญหา เมื่อฉันพยายามวางวัตถุของเกม (เช่นวัตถุน้ำอย่างง่าย ๆ ที่เป็นเอกภาพ) ฉันใช้ Raycast เพื่อกำหนดความสูงที่ถูกต้องในการวางวัตถุของเกม ฉันจะแบนราบเกี่ยวกับภูมิประเทศใต้วัตถุเกมอย่างไรเพื่อไม่ให้เข้าไปในภูมิประเทศหรือออกไปเที่ยวในอากาศในกรณีของเนินเขา
10 unity 

1
รับระบบคลาวด์ 2D พิกเซลเพื่อติดตามเมาส์
ฉันกำลังทำงานกับเกม 2D ที่พยายามหา "ก้อนเมฆ" ของก้อนหรือแผ่นดิสก์เล็ก ๆ สองสามร้อยก้อนเพื่อติดตามเคอร์เซอร์เมาส์โดยไม่ทับซ้อนกัน อย่างไรก็ตามการใช้เอ็นจิ้นฟิสิกส์จะทำให้ประสิทธิภาพการทำงานช้าลงเมื่อจำนวนของแผ่นดิสก์เพิ่มขึ้นและการตรวจจับการชนโดยทั่วไปนั้นไม่ค่อยมีประสิทธิภาพ มีวิธีง่ายๆในการเพิ่มประสิทธิภาพของเครื่องยนต์สำหรับสิ่งนี้หรือไม่? ถ้าไม่ฉันจะดีกว่าถ้าปิดเครื่องยนต์แล้วเขียนสิ่งที่ฉันเป็นของตัวเอง? (จับที่ฟางที่นี่ แต่ :) มีแหล่งข้อมูลหรือตัวอย่างที่ดีเกี่ยวกับวิธีการทำสิ่งนี้หรือไม่?
10 2d  physics  unity 

2
Unity Occlusion Portals: อะไรและอย่างไร
(ที่นี่ฉันกินคำของฉันใน Meta เกี่ยวกับการโพสต์คำถาม Unity ใน Unity Answers ... เนื่องจากไซต์นั้นตอบสนองน้อยกว่านี้) Unity นำเสนอ Culling บนพื้นฐานของเซลล์ (ผ่าน Umbra ฉันเชื่อว่า) อย่างไรก็ตามฟีเจอร์ใหม่ที่รองรับคือ Occlusion Portals คำถามคือหากการเลือกสรรการบดเคี้ยวที่ใช้ BSP เป็นคุณสมบัติของ Unity อยู่แล้วพอร์ทัลจะเพิ่มอะไรและอย่างไร PS คำถามนี้ไม่ใช่ "พอร์ทัลคืออะไร" - ฉันตระหนักถึงพอร์ทัลลักษณะ Quake BSP ดั้งเดิมซึ่งเป็นส่วนหนึ่งที่ฉันพบแนวคิดของพอร์ทัลที่ชัดเจนใน Unity คี่เนื่องจากมันใช้ BSP อยู่ดี

4
การคำนวณวิถีวิถีรอบวงโคจรก่อนยิง
ฉันกำลังสร้างเกมด้วย Unity3D มันเป็นโคลนสงคราม Gravity ทั้งผู้เล่นและป้อมปราการ AI ยิงขีปนาวุธใส่กัน (ให้มุมและตัวแปรพลัง) พยายามที่จะไม่ชนขีปนาวุธบนดาวเคราะห์ แต่นี่คือคำถามของฉัน: ฉันจะทำให้ AI คำนวณพลังงานและมุมได้อย่างไรก่อนที่จะยิงขีปนาวุธของเขาโดยพิจารณาแรงโน้มถ่วงของดาวเคราะห์ด้วย?

1
คุณสามารถฝัง Unity3d mobile project ลงในแอพมือถือที่มีอยู่แล้วได้หรือไม่?
ฉันกำลังสร้างแอปพลิเคชันสำหรับทั้ง Android และ iPhone ที่จะมีมินิเกมอยู่สองสามตัว ฉันต้องการสร้างส่วนที่ไม่ใช่เกมใน Android และ iPhone คำถามของฉันคือมีความเป็นไปได้ไหมที่จะมีแอพพื้นฐานที่จะรวม Unity mini game ที่ฉันสร้างทั้งหมดในโปรเจค apk และ ios?
10 android  iphone  unity  ios 

2
ประสบการณ์ต้นแบบ: Unity3D เทียบกับ UDK [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นไปตามหัวข้อสำหรับ Game Exchange Stack Exchange ปิดให้บริการใน5 ปีที่ผ่านมา มีใครยังต้นแบบเกมทั้ง Unity3D และ UDK? ถ้าเป็นเช่นนั้นคุณสมบัติใดที่ทำให้ต้นแบบเกมง่ายขึ้นหรือยากขึ้นในแต่ละชุดเครื่องมือ ต้นแบบต้นแบบหนึ่งสาธิตได้ดีกว่าอีกรุ่นหนึ่ง (ได้รับสินทรัพย์เริ่มต้นเดียวกัน) หรือไม่ ฉันกำลังมองหาคำตอบเฉพาะเกี่ยวกับการใช้คุณสมบัติชุดเครื่องมือไม่ใช่การเปรียบเทียบคุณสมบัติที่มี เช่นภูมิประเทศที่ถูกทำลายได้ง่ายขึ้นในชุดเครื่องมือ X เนื่องจากเหตุผล Y และ Z ฉันสามารถเขียนโค้ดได้ดังนั้นข้อ จำกัด ของภาษาสคริปต์แบบ inbuilt จึงไม่เป็นปัญหา
10 unity  udk 

3
Unity Android กับ Android SDK
ฉันคุ้นเคยกับ Unity และอยู่ในขั้นตอนของการเรียนรู้ SDK Android เมื่อมีการประกาศเกี่ยวกับความสามัคคีพื้นฐานของ Android ออกมา อะไรคือข้อดีและข้อเสียของการใช้ android SDK โดยตรงกับการพัฒนาโดยใช้ Unity Android

2
สร้างตัวเลขสุ่มใน Unity โดยไม่ต้องมีคลาสที่คลุมเครือ
ฉันมีปัญหาใน Unity (C #) ที่ฉันต้องการสร้างหมายเลขสุ่ม ฉันต้องการใช้System.Random(อ้างอิง: ใช้System) UnityEngine.Randomแต่ความสามัคคีบ่นว่ามันเป็นที่คลุมเครือของตัวเอง ฉันไม่สามารถระบุการอ้างอิง (โดยใช้System.Random) เนื่องจากrandomไม่ใช่เนมสเปซ ฉันจะระบุว่าฉันต้องการใช้ระบบสุ่มและไม่ใช่ระบบ Unity ได้อย่างไร
10 unity  c# 

1
ฉันจะแก้ไขการจับคู่การทำแผนที่ UV ซิกซิกแซกบนตาข่ายที่สร้างขึ้นได้อย่างไร
ฉันกำลังสร้างตาข่ายแบบขั้นตอนตามเส้นโค้งและขนาดของตาข่ายจะเล็กลงตลอดทั้งเส้นโค้งตามที่คุณเห็นด้านล่าง และปัญหาคือรังสียูวีได้รับซิกแซกเนื่องจากการเปลี่ยนแปลงขนาด (มันทำงานได้อย่างสมบูรณ์เมื่อขนาดของตาข่ายเท่ากันตลอดทั้งโค้ง) Vertices.Add(R); Vertices.Add(L); UVs.Add(new Vector2(0f, (float)id / count)); UVs.Add(new Vector2(1f, (float)id / count)); start = Vertices.Count - 4; Triangles.Add(start + 0); Triangles.Add(start + 2); Triangles.Add(start + 1); Triangles.Add(start + 1); Triangles.Add(start + 2); Triangles.Add(start + 3); mesh.vertices = Vertices.ToArray(); //mesh.normals = normales; mesh.uv = UVs.ToArray(); mesh.triangles = Triangles.ToArray(); …

3
ความสามัคคี: กล่องโต้ตอบ“ จุดสิ้นสุดของบรรทัดที่ไม่สอดคล้องกัน” จะปรากฏขึ้นตลอดเวลาที่ฉันเปิด VS ด้วยความสามัคคี
ทุกครั้งที่ฉันเปิดไฟล์สคริปต์จากความเป็นเอกภาพด้วย visual studio กล่องโต้ตอบนี้จะแสดงเกี่ยวกับการทำให้บรรทัดจบบรรทัดเป็นปกติหรือไม่ สิ่งนี้หมายความว่า? ฉันคลิกใช่ทุกครั้ง แต่ก็ยังไม่สามารถกำจัดได้ มันจะเกิดขึ้นเมื่อฉันเปิดไฟล์จากความสามัคคี

2
ทำไม Unity layer masks จำเป็นต้องใช้การเลื่อนบิต?
ในที่สุดฉันก็พบว่าทำไมเลเยอร์มาสก์ของฉันสำหรับรหัสการชนกันของพื้นไม่ทำงาน ฉันกำลังใช้NameToLayer()เพื่อให้ได้เลเยอร์ที่ฉันต้องการ แต่เลเยอร์มาสก์ใช้การเลื่อนบิตเพื่อตั้งค่าเลเยอร์มาสก์จริง นี่เป็นสิ่งที่ผิดปกติอย่างยิ่งและฉันไม่เห็นเหตุผลว่าทำไมสิ่งนี้ถึงไม่ได้รับการจัดการในโค้ดด้านหลัง ทำไมเราต้องใช้รหัสเช่นนี้: mask = 1 << LayerMask.NameToLayer("Default"); เมื่อสิ่งนี้: mask = LayerMask.NameToLayer("Default"); ใช้งานได้ง่ายขึ้นและทำงานคล้ายกับส่วนที่เหลือของ Unity API หรือไม่
10 unity  c# 

5
วิธีสร้าง GameObject ใหม่โดยไม่เพิ่มเข้าไปในที่เกิดเหตุ?
ฉันกำลังสร้างสิ่งที่เป็นพื้นฐานของระบบ prefab ของฉันเอง วัตถุของเกมถูกกำหนดโดยไฟล์ข้อมูลที่มนุษย์สามารถอ่านได้ ฉันต้องการสร้าง GameObject ที่ว่างเปล่าโหลดด้วยส่วนประกอบที่กำหนดในไฟล์ข้อมูลและเตรียมให้พร้อมและรอการInstantiate()โทร อย่างไรก็ตามเมื่อใดก็ตามที่ฉันใช้GameObject go = new GameObject()วัตถุเกมใหม่จะถูกเพิ่มเข้าไปในที่เกิดเหตุ การใช้ Unity ที่สร้างในรูปแบบสำเร็จรูปฉันสามารถโหลดรูปแบบสำเร็จรูปเป็น GameObject และมันไม่ได้เพิ่มเข้าไปในฉาก (ดูตัวอย่างด้านล่าง) เหตุผลที่อยู่เบื้องหลังนี้คือฉันต้องการมีหนึ่งรายการที่มี GameObjects บางรายการสร้างขึ้นโดยการโหลด Unity prefab และอื่น ๆ ที่สร้างขึ้นโดยระบบ prefab ที่กำหนดเองของฉัน สิ่งนี้ต้องเกิดขึ้นในเวลาทำงานและไม่สามารถมีส่วนร่วมกับ Unity Editor (เนื่องจากผู้ใช้ปลายทางจะสามารถกำหนดไฟล์ข้อมูลของตัวเองได้) ฉันจะสร้าง GameObject ใหม่โดยไม่มีความเป็นเอกภาพในการสร้างอินสแตนซ์ให้ฉันอัตโนมัติได้อย่างไร ตัวอย่างเช่นฉันสามารถโทรออกเช่นนี้ Resources.LoadAll("PrefabsDirectory", typeof(GameObject)) และฉันจะได้รับรายชื่อ GameObjects ซึ่งจะไม่มีการเพิ่มเข้าไปในที่เกิดเหตุเมื่อมีการโทรออก โดยพื้นฐานแล้วฉันกำลังสร้างLoadAllวิธีการสำหรับ prefab ของตัวเองและในทำนองเดียวกันฉันไม่ต้องการยกตัวอย่าง GameObjects เมื่อมีการโทร

4
ควรทำหมายเหตุประกอบวิธีวงจรชีวิตของ Unity ด้วยแอตทริบิวต์ UsedImplicitly หรือไม่
การทำหมายเหตุประกอบวิธีการ Unity lifecycle ด้วยแอUsedImplicitlyททริบิวนี้จะช่วยปรับปรุงความสามารถในการอ่านโค้ดของคุณหรือไม่? ตัวอย่างเช่น: public class Example : MonoBehaviour { [UsedImplicitly] private void Awake() { DoSomething(); } private void DoSomething() { // ... } } โพสต์บล็อกนี้ใน "โครงสร้างของคุณ Unity MonoBehaviours"แนะนำวิธีนี้เป็นแบบแผนที่มีประโยชน์ อธิบายวิธีการวงจรชีวิต Unity ใด ๆ (เริ่ม, ตื่น, อัพเดท, OnDestroy ฯลฯ ) วิธีการเหตุการณ์และฟังก์ชั่นอื่น ๆ ที่มีการเรียกใช้โดยนัย (หรือโดยอัตโนมัติ) ในรหัสของคุณด้วยแอตทริบิวต์ [UsedImplicitly] คุณลักษณะนี้แม้ว่าจะรวมอยู่ใน UnityEngine.dll แต่ถูกใช้โดย ReSharper …
9 unity  c# 

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