ปัญหาหลักจากสิ่งที่ฉันสามารถมองเห็นไม่ได้เป็น C ++ หรือ Unity3D แต่คุณจะต้องแก้ปัญหาในระดับสูงหรือการแก้ปัญหาในระดับต่ำ
โซลูชันระดับต่ำคือโซลูชันที่คุณสกปรกด้วยกระบวนการส่งอินพุตจัดการหน่วยความจำหรือโหลดโมเดล โซลูชันระดับสูงคือสิ่งที่คุณจะได้รับหนึ่งแพ็คเกจที่เรียบร้อยเช่น Unity3D
สำหรับฉันไม่ว่าจะใช้ Unity3D (หรือเอ็นจิ้นเกมอื่น ๆ ) หรือ C ++ ขึ้นอยู่กับเป้าหมายของเกมและโครงการของคุณ
ใช้ Unity3D หากเวลาในการพัฒนาต้องรวดเร็วและ / หรือเกมของคุณไม่ได้เน้นเรื่องประสิทธิภาพหรือไม่ได้อยู่ในระดับสูงของการแสดงกราฟิก / การคำนวณ หากคุณต้องการมีสมาธิกับการเล่นเกมและเครื่องมือเริ่มต้นที่ Unity3D มอบให้นั้นถูกต้องคุณอาจต้องการใช้ Unity3D
C ++ กับไลบรารี่อื่นถ้าคุณมีเวลาในการพัฒนานานกว่าเกมนั้นต้องการพลังในการคำนวณ / กราฟิกมากขึ้นหรือใช้เทคโนโลยีบางอย่างที่ Unity3D ไม่สามารถรวมได้
สิ่งที่ดีเกี่ยวกับ Unity3D ก็คือมันยังคงใช้ภาษาสคริปต์ซึ่งสะท้อนการพัฒนาโลกแห่งความเป็นจริง (C # หรือ JavaScript) แนวคิด OOP และวิศวกรรมซอฟต์แวร์ที่คุณเรียนรู้ (Singletons, facade, state machine, decorators, composition) สามารถนำไปใช้ใน Unity3D ได้ ช่วยดูแลกระบวนการตัดคุกกี้เช่นการจัดการทรัพยากรกราฟฉากการโหลดโมเดลการเรนเดอร์การบันทึกฉากและอื่น ๆ ได้ดียิ่งขึ้นหากมีฟังก์ชันที่คุณต้องการซึ่ง Unity3D ไม่สามารถทำได้คุณสามารถทำได้ การเข้ารหัส DLL
มันจะทิ้ง C ++ ไว้ที่ไหน? C ++ เป็นภาษาหนึ่งและมีแนวคิดเกี่ยวกับการเขียนโปรแกรมหลายอย่างที่คุณทำใน C ++ คุณสามารถทำได้ใน Unity3D, การจัดการหน่วยความจำแบบ sans หรือเทมเพลต (ด้วย Unity 3.2 ข้อมูลจำเพาะภาษาได้รับการปรับปรุงให้ครอบคลุมการปิดเช่น)
ดังที่ฉันได้กล่าวไว้มันไม่ใช่ C ++ กับ Unity3D เป็นมากกว่า "C ++ plus libraries / SDK หรือหมุนเอนจินของคุณเอง" เทียบกับ Unity3D ขึ้นอยู่กับเป้าหมายและวัตถุประสงค์ของคุณ สำหรับเกมระดับไฮเอนด์หรือเกมที่คุณต้องการควบคุมการเรนเดอร์เรนเดอร์หรืออินพุทคุณอาจต้องการใช้ C ++ บวกกับเอ็นจิ้นที่ช่วยให้คุณสามารถเล่นภายใต้ประทุนได้ ถ้าไม่ฉันจะใช้ Unity3D เป็นตัวเลือกเริ่มต้นสำหรับเกม 3D
อย่างไรก็ตามความรู้กับ Unity3d ไม่ได้อยู่ภายใต้ประสบการณ์การเรียนรู้ แต่เป็นจุดเริ่มต้นที่ดีสำหรับการเรียนรู้กระบวนการโดยรวมในการพัฒนาเกม ตัวอย่างเช่นคุณอาจจำเป็นต้องเรียนภาคการศึกษาเพื่อเขียนตัวแสดงผลและโหลดโมเดลใน OpenGL รวมถึงโปรแกรมทิวทัศน์และการป้อนข้อมูลขั้นพื้นฐาน คุณทำได้ใน Unity3D ในเวลาไม่ถึงหนึ่งวัน