ด้วยผู้เล่น Xbox และ PlayStation กว่า 200M+ คอนโซลเป็นโอกาสสำคัญสำหรับคุณในการดึงดูผู้ใช้เพิ่มเติมเมื่อเทียบกับอุปกรณ์ปกติแล้ว การออกแบบสําหรับคอนโทรลเลอร์และประสบการณ์ UI 10 ฟุตของคอนโซลมีคําแนะนําพิเศษที่คุณต้องปฏิบัติตามเพื่อช่วยให้ประสบการณ์ของคุณประสบความสําเร็จบนคอนโซล
ออกแบบสําหรับคอนโทรลเลอร์
ประสบการณ์คอนโซลได้รับคำสั่งจากผู้ใช้ผ่านตัวควบคุมอินพุตซึ่งต้องการการออกแบบพิเศษเพื่อการโต้ตอบที่ราบรื่น
เรียบง่าย UI

ใช้สิ่งต่อไปนี้เพื่อลดความซับซ้อนในการออกแบบ UI สำหรับคอนโซล:
การควบคุมการนําทางที่เข้าถึงได้ : การนําทางเบสไลน์รวมถึงสี่ทิศทางเลือกและกลับ ควบคุมวิธีที่ผู้ใช้ได้รับรอบและโต้ตอบกับเนื้อหาของคุณบนคอนโซลตรวจสอบให้แน่ใจว่าผู้ใช้สามารถเข้าถึงองค์ประกอบ UI ทั้งหมดได้โดยใช้การควบคุมการนำทางพื้นฐานเหล่านี้เพื่อให้พวกเขาสามารถเข้าถึงส่วนโต้ตอบทั้งหมดของประสบการณ์ของคุณได้อย่างง่ายดาย
การนําทางควบคุมเริ่มต้น : แม้ว่าผู้ใช้สามารถเข้าถึงเมนู UI โดยการเปิดใช้งานเคอร์เซอร์เสมือน เนื่องจากไม่ใช่ทุกคนที่คุ้นเคยกับกระบวนการ คุณจึงต้องสนับสนุนการนําทางควบคุมของ UI เป็นตัวเลือกเริ่มต้นแทนที่จะต้องให้ผู้ใช้เปิดใช้งานเคอร์เซอร์เสมือน
ความซับซ้อนในการใส่ข้อมูลควบคุมขั้นต่ำ : ไม่เหมือนกับวิธีการใส่ข้อมูลที่กดได้หรือกดได้ ผู้ใช้คอนโซลจะนำทางโดยกดปุ่มเดียวในแต่ละครั้ง ดังนั้นการดำเนินการที่ใช้เวลาหนึ่งครั้งบนอุปกรณ์อื่นอาจใช้เวลาเพิ่มเติมด้วยควบคุมเล็กน้อยตรวจสอบให้แน่ใจว่าการดำเนินการหลักในประสบการณ์ของคุณจะใช้เพียงไม่กี่ขั้นตอนในการเข้าถึง
ไม่มีหน้าต่างแชท : ไม่ว่าคุณจะใช้ระบบแชทเท็กซ์เริ่มต้นในประสบการณ์หรือฟอร์คระบบแชทเท็กซ์เก่าเป็นระบบแชทเท็กซ์ส่วนตัวของคุณ ปิดหน้าต่างแชท สำหรับประสบการณ์บนคอนโซล
เพิ่มการควบคุมเสริม
ไม่เหมือนกับมือถือและเดสก์ท็อปการนําทางจะเป็นลําดับเสมอบนคอนโซลดังนั้นผู้ใช้จึงไม่สามารถกระโดดระหว่างองค์ประกอบที่ไกลออกไปได้เร็วเท่าที่ทำได้บนอุปกรณ์อื่นเพื่อเพิ่มความเร็วในการนำทาง พิจารณาเพิ่มปุ่มและลัดสำหรับการดำเนินการที่สำคัญในประสบการณ์
รองรับไอคอนปุ่มไดนามิก

เมื่อประสบการณ์ของคุณขยายไปยังแพลตฟอร์มเพิ่มเติม ให้แน่ใจว่าแสดงไอคอนปุ่มที่ตรงกับอุปกรณ์ที่แตกต่างกันUserInputService มีสองวิธีที่สามารถทำได้นี้:
UserInputService:GetStringForKeyCode() สามารถแปลงรหัสคีย์คำถามของสหรัฐฯ เป็นรูปแบบแป้นพิมพ์คอนโซลได้มันมีประโยชน์สำหรับการแสดงสินทรัพย์ที่กําหนดเองเป็นไอคอนปุ่มเพื่อให้ตรงกับรูปลักษณ์และความรู้สึกของประสบการณ์ของคุณตัวอย่างต่อไปแสดงวิธีที่คุณสามารถแมพรายการสินทรัพย์ที่กําหนดเองสําหรับ Enum.KeyCode.ButtonA :
แมพสินทรัพย์ที่กําหนดเองlocal UserInputService = game:GetService("UserInputService")local imageLabel = script.Parentlocal key = Enum.KeyCode.ButtonAlocal mappings = {ButtonA = "rbxasset://BUTTON_A_ASSET", -- แทนที่ด้วยสินทรัพย์ปุ่มที่ต้องการButtonCross = "rbxasset://BUTTON_CROSS_ASSET" -- แทนที่ด้วยสินทรัพย์ ButtonCross ที่ต้องการ}local mappedKey = UserInputService:GetStringForKeyCode(key)local image = mappings[mappedKey]imageLabel.Image = imageUserInputService:GetImageForKeyCode() ส่งคืนไอคอนเริ่มต้นของ Roblox สําหรับรหัสกุญแจที่ร้องขอเป็นการเปลี่ยนแปลงที่ง่ายเหมือนตัวอย่างต่อไปนี้สําหรับการแมพ Enum.KeyCode.ButtonA แสดง:
แมพไอคอนเริ่มต้นlocal UserInputService = game:GetService("UserInputService")local imageLabel = script.Parentlocal key = Enum.KeyCode.ButtonAlocal mappedIcon = UserInputService:GetImageForKeyCode(key)imageLabel.Image = mappedIcon
ให้ข้อเสนอแนะแบบสัมผัส

ข้อดีที่โดดเด่นของคอนโทรลเลอร์คือความสามารถในการให้ข้อเสนอแนะทางกายภาพโดยการสั่นคอนโทรลเลอร์เพื่อให้ผู้ใช้รู้สึกถึงการสัมผัสคุณสามารถใช้ HapticService เพื่อเพิ่มการมีส่วนร่วมของผู้ใช้และให้ข้อเสนอแนะที่มีประโยชน์ตัวอย่างที่สามารถมีส่วนร่วมได้มากขึ้นด้วยการตอบรับแบบสัมผัสรวมถึง:
- เหตุการณ์ที่น่าตื่นเต้นทางกายภาพ เช่น การระเบิดหรือการชนกัน
- เหตุการณ์ที่ต้องการความสนใจจากผู้ใช้ เช่น เลือกซื้อ
- การแจ้งการดำเนินการ UI เช่นการเลื่อนไปที่ด้านท้ายของรายการหรือคลิกที่ปุ่มที่ถูกปิดใช้งาน
HapticService ยังช่วยให้คุณสามารถควบคุมมอเตอร์แต่ละตัวในคอนโทรลเลอร์เพื่อตั้งค่าความถี่และระยะเวลาของการสั่นสะเทือนโดยเฉพาะเพื่อให้คุณสามารถตั้งค่าการสั่นสะเทือนที่แตกต่างกันสำหรับวัตถุประสงค์ที่แตกต่างกันและรักษาความสอดคล้องกับการดำเนินการที่กระตุ้นการตอบรับออกแบบ haptics อย่างระมัดระวังและหลีกเลี่ยงการใช้งานมากเกินไปเนื่องจากผู้ใช้อาจพบการสั่นสะเทือนอย่างต่อเนื่องที่น่ารำคาญและน่ารําคาญ
สร้างสําหรับประสบการณ์ 10ft

เมื่ออยู่บนคอนโซล ผู้ใช้มักจะนั่งห่างจากหน้าจอ 10 ฟุตตัวคูณเครื่องชั่ง 1.5x ช่วยให้แน่ใจว่า UI สะดวกในการนําทางและมีฟอนต์ที่อ่านได้
พิจารณาพื้นที่ปลอดภัยของทีวี

เนื่องจากไม่ใช่ทุกทีวีแสดงเนื้อหาอย่างเต็มที่ไปยังขอบของหน้าจอเนื่องจากข้อจำกัดทางประวัติศาสตร์และทางเทคนิค ใส่องค์ประกอบ UI ในพื้นที่ปลอดภัยของทีวีเพื่อให้แน่ใจว่าองค์ประกอบประสบการณ์สำคัญจะปรากฏบนทีวีต่างๆ
ใช้ UI ที่มีขนาดไดนามิก
ใช้ UI ของคุณโดยใช้ขนาดสัมพันธ์และตำแหน่งสัมพันธ์เพื่อวัดทุกอย่างเป็นร้อยละของกรอบรวมตัวเลขสเกลไปยังขนาด UI ทั้งหมดโดย:
- พัฒนาสำหรับความละเอียดต่ำกว่าก่อน
- ใช้ตำแหน่งเชิงเปรียบเทียบและ UISizeConstraint เพื่อขยาย UI
- ขยายตามลักษณะการออกผลด้วย GuiService:IsTenFootInterface() ตามคุณสมบัติออก
- การดำเนินการ ScrollingFrame เพื่อลดความวุ่นวายบนหน้าจอเมื่อ UI เพิ่มขึ้น
ปรับการเปิดเผยอย่างค่อยเป็นค่อยไป

การเปิดเผยแบบค่อยเป็นค่อยไปเลื่อนคุณลักษณะขั้นสูงหรือที่ใช้บ่อยไปยังหน้าจอรองเป็นหนึ่งในวิธีที่ดีที่สุดในการล้าง UI ของคุณและทำให้ใช้งานง่ายสำหรับ UX ของคอนโซล มันเป็นเรื่องธรรมดาและรวดเร็วที่จะให้ผู้ใช้เข้าและออกจากหน้าจอมากกว่าการออกแบบทุกอย่างบนหน้าจอเดียวเช่นการออกแบบสำหรับเดสก์ท็อป
ข้อเสนอแนะ
ไม่เหมือนกับอินเทอร์เฟซเดสก์ท็อปหรือมือถือซึ่งการโต้ตอบมักจะเงียบหรือพึ่งพาการตอบสนองทางกายภาพอย่างนุ่งนิ่งคุณสามารถเพิ่มเอฟเฟกต์เสียงเพื่อปรับปรุงการโต้ตอบบนคอนโซลเมื่อผู้ใช้นำทางผ่าน UI โดยใช้คอนโทรลเลอร์ พิจารณารวมเอฟเฟกต์เสียงเพื่อยืนยันการเลือกหรือการสำรวจเมนูสัญญาณซึ่งสามารถเพิ่มประสบการณ์โดยรวมได้