ยูนิตี (เกมเอนจิน)

ยูนิตี (Unity) คือซอฟต์แวร์แบบข้ามแพลตฟอร์ม ใช้เพื่อสำหรับการพัฒนาซอฟต์แวร์และการจำลองต่างๆ จำพวกเช่น วิดีโอเกม, อุตสาหกรรมยานยนต์, การขนส่ง, ภาพยนตร์, แอนิเมชัน, สถาปัตยกรรม, วิศวกรรมศาสตร์, วิศวกรรมก่อสร้าง, วิศวกรรมการบินและอวกาศ, การพนัน, และอื่นๆ

**ประวัติ**

**ยูนิตี 1-5**
ยูนิตี เอนจินเปิดตัวครั้งแรกในปี พ.ศ. 2548 โดยมีจุดประสงค์เพื่อให้การสร้างเกมเข้าถึงง่ายขึ้น โดยในปีต่อมา ยูนิตี ได้รับรางวัลรองชนะเลิศในหมวดการใช้งานที่ดีที่สุดของ Mac OS X Graphics ในงาน Apple Design Awards ของ  แอปเปิล เมื่อปี พ.ศ. 2549
ต่อมาในปี พ.ศ. 2550 ยูนิตี เวอร์ชัน 2 ก็ได้เปิดตัวพร้อมคุณสมบัติใหม่ 50 รายการโดยประมาณตัวอย่างเป็น การทำแสงแบบเรียลไทม์, แสงรูแบบทิศทาง, แสงรูปแบบไฟฉาย, การเล่นไฟล์วิดีโอ เป็นต้น, เมื่อ แอปเปิล ได้เปิดตัว App Store ในปี พ.ศ. 2551, ยูนิตีก็ได้เพิ่มการรองรับแพลตฟอร์ม iOS ในเวลาไม่นานและเป็นเวลาหลายปีที่เอนจินนี้ไม่มีคู่แข่งสำหรับแพลตฟอร์มนี้ ทำให้เป็นที่รู้จักกันดีในหมู่ผู้พัฒนาเกมสำหรับแพลตฟอร์ม iOS
ในปี พ.ศ. 2553 ยูนิตีเวอร์ชัน 3 เปิดตัวพร้อมกับการรองรับแพลตฟอร์ม แอนดรอยด์ และคุณสมบัติใหม่ตัวอย่างเช่น Deferred Rendering, ระบบการแก้ไขตัวไม้, ระบบการแสดงตัวอักษร, การทำ UV Mapping โดยอัตโนมัติ, ระบบปรับแต่งเสียง และคุณสมบัติกับการปรับปรุงอื่นๆ อีกมากมาย
ในปี พ.ศ. 2555 ยูนิตีเวอร์ชัน 4 เปิดตัวพร้อมกับการรองรับ ไดเรกต์เอกซ์ 11, แพลตฟอร์มลินุกซ์, อะโดบี แฟลช, การทำแผนที่พื้นผิวแบบสามมิติ, การทำแสงแบบเรียลไทม์ในทุกแพลตฟอร์ม, ระบบแอนิเมชันแบบใหม่เรียกว่า Mecanim และคุณสมบัติกับการปรับปรุงอื่นๆ อีกมากมาย 
ในปี พ.ศ. 2558 ยูนิตี 5 ได้เปิดพร้อมกับคุณสมบัติใหม่ตัวอย่างเช่น การทำโกลบอลอินลูมิเนชันแบบเรียลไทม์, การรองรับแพลตฟอร์มเว็บจีแอล, นินเท็นโด สวิตช์, Google Daydream, Vulkan และการปรับปรุงอีกมากมายหลากหลายพันรายการเช่น ระบบฟิสิกส์เวอร์ชันใหม่, การปรับปรุงระบบแสง และ เสียง, การเล่นวิดีโอ 360 องศา เป็นต้น  

**ยูนิตี 2017-2022**
เมื่อปลายปี พ.ศ. 2559 ยูนิตีได้มีการปลี่ยนแปลงวิธีการระบุเวอร์ชันจาก การนับแบบลำดับ เป็น ปีที่เปิดตัว
ยูนิตี 2017 ได้เปิดตัวพร้อมกับคุณสมบัติใหม่ตัวอย่างเช่น Timeline, Cinemachine, Assembly Definition และการปรับปรุงคุณสมบัติในส่วนของเครื่องมือและการรองรับ ดอตเน็ตเฟรมเวิร์ก 4.6
ยูนิตี 2018 ได้เปิดตัวพร้อมกับคุณสมบัติใหม่ตัวอย่างเช่น Scriptable Render Pipeline พร้อมกับ Lightweight Render Pipeline และ High-Definition Rendering Pipeline, Entity Component System, Burst Compiler, Job System, Shader Graph, Post Processing เวอร์ชันใหม่, ระบบจัดการแพ็คเกจ, เครื่องมือสำหรับการทำการเรียนรู้ของเครื่อง และการปรับปรุงในส่วนต่างๆ ของเครื่องมือ 
ซอร์สโค้ดสำหรับภาษาซีชาร์ปได้เผยแพร่ภายใต้สิทธิ์ "ใช้เพื่ออ้างอิงเท่านั้น" ซึ่งห้ามมิให้ แจกจ่ายซ้ำ และ แก้ไข 
ยูนิตี 2019 ได้เปิดตัวพร้อมกับคุณสมบัติใหม่ตัวอย่างเช่น Ray Tracing, UIElements และกับการการปรับปรุงคุณสมบัติมากมายตัวอย่างเช่น ระบบฟิสิกส์เวอร์ชันใหม่, การอัปเดตหน้าตาของส่วนต่อประสานกับผู้ใช้ เป็นต้น
ยูนิตี 2020 ได้เปิดตัวพร้อมกับคุณสมบัติใหม่ตัวอย่างเช่น Safe Mode และการปรับปรุงคุณสมบัติอย่างเช่น การปรับปรุงในส่วนเครื่องมือ เช่น การอัปเดตระบบจัดการแพ็คเกจ, การนำเข้าไฟล์ที่รวดเร็วขึ้น, การรองรับภาษาซีชาร์ปเวอร์ชัน 8 (เฉพาะบางส่วน) และอื่นๆ อีกมากมายเป็นต้น 
ยูนิตี 2021 ได้เปิดตัวพร้อมกับคุณสมบัติใหม่ตัวอย่างเช่น ระบบใช้สร้างวิดีโอเกมแบบหลายผู้เล่น, การเขียนโปรแกรมด้วยภาพ และการปรับปรุงคุณสมบัติอย่างเช่น การการรองรับภาษาซีชาร์ปเวอร์ชัน 8 อย่างสมบรูณ์, การปรับปรุงระบบ IL2CPP, การรองรับดอตเน็ตสแตนดาร์ด 2.1 และอื่นๆ อีกมากมาย 
ปัจจุบันยูนิตีมีผู้ใช้รวมทั้งหมดจำนวน 1.5 ล้านผู้ใช้ และ มีชิ้นงานที่ทำโดยยูนิตีได้ไปอยู่บนอุปกรณ์มากกว่า 1.5 พันล้านเครื่อง

**แพลตฟอร์มที่รองรับ**
ตัวซอฟต์แวร์ที่ใช้สำหรับพัฒนานั้นรองรับบนแพลตฟอร์ม ไมโครซอฟท์วินโดวส์, แมคโอเอส และ ลินุกซ์ ส่วนตัวเอนจินเองนั้นรองรับมากถึง 20 แพลตฟอร์ม, อ้างอิงจากเอกสารคู่มือมีดังนี้ - แพลตฟอร์มสำหรับเครื่องเดสก์ท็อป: ไมโครซอฟท์วินโดวส์, แมคโอเอส, ลินุกซ์- แพลตฟอร์มสำหรับเครื่องพกพา: ไอโอเอส, แอนดรอยด์, แอนดรอยด์ ทีวี, ทีวีโอเอส- แพลตฟอร์มบนเว็บ: เว็บจีแอล- แพลตฟอร์มสำหรับเครื่องคอนโซล: เพลย์สเตชัน 4, เพลย์สเตชัน 5, เอกซ์บอกซ์วัน, เอกซ์บอกซ์วันซีรีส์ X และ S, นินเท็นโด_สวิตช์, สตาเดีย- แพลตฟอร์มสำหรับอุปกรณ์ความเป็นจริงเสมือน และ ความเป็นจริงเสริม:  Reality Labs,  เพลย์สเตชัน วีอาร์, กูเกิล  AR Core,  แอปเปิล AR Kit, Windows Mixed Reality, Magic Leap, สตีม VR, กูเกิล Cardboard

**ภาษาที่ใช้เขียน**
ตัวเอนจินนั้นใช้ภาษาซีพลัสพลัสในการเขียนเป็นแกนกลางหลักของระบบและมีภาษาซีชาร์ปครอบทับการทำงานต่างๆ เช่น ระบบส่วนติดต่อกับพื้นหลัง, การทำงานของตัวเกมที่ผู้พัฒนาต้องการ และ อื่นๆ ด้วย Mono
ผู้พัฒนาสามารถเขียนด้วยภาษาซีพลัสพลัสได้ แต่ยังไงก็ตามผู้พัฒนาสามารถเขียนภาษาซีพลัสพลัสได้แค่ในส่วนการทำงานพื้นหลังเท่านั้นเช่น ระบบเสียง, บริการพื้นหลัง, ปลั๊กอิน ซึ่งการปฏิสัมพันธ์กับเอนจินทำได้ค่อนข้างน้อย ดังนั้นภาษาภาษาซีชาร์ปจึงเหมาะสมสำหรับกับการใช้ในการพัฒนามากกว่า

** ดูเพิ่ม**
ผู้พัฒนาที่ไม่มีประสบการณ์การเขียนโปรแกรมสามารถใช้การเขียนโปรแกรมด้วยภาพได้ แต่คุณสมบัตินี้เป็นส่วนเสริมดังนั้นผู้พัฒนาจำเป็นต้องติดตั้งแพ็กเก็จจาก "ตัวจัดการแพ็คเกจ" ก่อนถึงจะสามารถใช้งานได้
ยูนิตี ได้เคยรองรับภาษาจาวาสคริปต์ (ยูนิตี เรียกสิ่งนี้ว่า: UnityScript) และ ภาษาบู อีกด้วย แต่ด้วยไม่ได้รับความนิยม และ ปัญหาต่างๆ จีงทำให้ภาษาจาวาสคริปต์ (UnityScript) ถูกประกาศเลิกพัฒนาในเวอร์ชัน 2017.2  และถูกถอดออกอย่างสมบูรณ์ในเวอร์ชัน 2018.2 และภาษาบูในเวอร์ชัน 5.0

**ค่าบริการสมัครสมาชิก**
ยูนิตี มีค่าบริการสมัครสมาชิกหลักๆ อยู่ 4 แบบคือ Student, Personal, Plus, Pro และ Enterprise
ถ้ารายได้หรือเงินทุนของผู้พัฒนาน้อยกว่าหนึ่งแสนดอลลาร์ใน 12 เดือนที่ผ่านมา จะสามารถใช้รุ่น Personal ได้ แต่ถ้ามากกว่าหนึ่งแสนดอลลาร์จะต้องใช้รุ่น Plus หรือสูงกว่าและ Pro หรือ Enterprise ถ้ามากกว่าสองแสนดอลลาร์
รุ่น Student เหมาะสมกับผู้ที่อายุมากกว่า 16 ปี และมีสถานะเป็นนักเรียน, ใบอนุญาตนี้มีอายุเพียงแค่หนึ่งปีเท่านั้นหลังจากเปิดใช้งาน
ยูนิตี ไม่คิดค่าส่วนหักค่าตอบแทนจากชิ้นงานที่ถูกขายออกไป

**บริการอื่นๆ**

**Asset Store**
Unity Asset Store คือพื้นที่ ที่ผู้พัฒนาสามารถ ซื้อ หรือ ขายชิ้นงานของตัวเองได้, ในร้านค้ามีชิ้นงานมากมายหลากหลายรูปแบบเช่น โมเดลตัวละคร, โมเดลสิ่งก่อสร้าง, ไฟล์เสียง, สคริปต์, เครื่องมือเสริม และ อื่นๆ อีกมากมาย

**Forum**
Unity Forum คือพื้นที่ ที่ผู้พัฒนาสามารถใช้เพื่อติดตามข่าวสารจากยูนิตี, ตั้งถาม, พูดคุย กับผู้พัฒนารายอื่นๆ ในชุมชนได้

**ดูเพิ่ม**
 โกโด (เกมเอนจิน)- ฟรอสต์ไบต์ (เกมเอนจิน)- อันเรียลเอนจิน

**อ้างอิง**

**แหล่งข้อมูลอื่น**
  เว็บไซต์อย่างเป็นทางการ-  ค่าบริการสมัครสมาชิก
หมวดหมู่:เกมเอนจิน
หมวดหมู่:ซอฟต์แวร์ในปี พ.ศ. 2548