การออกแบบและการใช้งานการติดตามด้วยมือใน 'Myst' PlatoBlockchain Data Intelligence ค้นหาแนวตั้ง AI.

การออกแบบและการใช้งานการติดตามด้วยมือใน 'Myst'

การใช้ API การติดตามด้วยมือที่อัปเกรดแล้วของแพลตฟอร์มการแสดงตนเราได้แนะนำ Hand Tracking พร้อมอัปเดตล่าสุดของเราเป็น Myst บนแพลตฟอร์ม Meta Quest ชื่อ 'Hands & More' เราตื่นเต้นสุด ๆ ที่จะปล่อยให้คนเล่นกันในที่สุด Myst ใน Quest ที่ไม่มีตัวควบคุมทางกายภาพ! ในโพสต์นี้ เราจะพูดถึงวิวัฒนาการและการวนซ้ำของการใช้การติดตามด้วยมือใน Myst—และโดยเฉพาะอย่างยิ่ง การเพิ่มการรองรับใน Unreal Engine 4.27.2

การออกแบบและการใช้งานการติดตามด้วยมือใน 'Myst' PlatoBlockchain Data Intelligence ค้นหาแนวตั้ง AI.บทความแขกโดย Hannah Gamiel

Hannah Gamiel เป็นผู้อำนวยการฝ่ายพัฒนาที่ Cyan— สตูดิโอที่อยู่เบื้องหลังต้นฉบับ 'มิสต์' เกม—และช่วยพัฒนาเกมใหม่ 'มิสต์ (2020)' ซึ่งรวมถึงการสนับสนุน VR เดิมทีมาจากพื้นฐานทางเทคนิคล้วนๆ ตอนนี้เธอช่วยนำการผลิตในทุกชื่อและจัดการความพยายามทางธุรกิจและเทคโนโลยีที่ Cyan เธอเคยทำงานในชื่อต่างๆ เช่น 'Myst' (2020), 'The Witness', 'Braid, Anniversary Edition', 'Obduction', 'Firmament' (เร็วๆ นี้!) และอีกมากมาย

ขั้นตอนการออกแบบและข้อควรพิจารณา

การออกแบบการนำทางสำหรับการติดตามด้วยมือ

รูปภาพที่ระบุว่าคุณต้องการไปที่ไหน คุณคงคิดที่จะชี้ใช่ไหม นั่นเป็นเหตุผลที่เราเลือกใช้วิธีการ 'ชี้' สำหรับการเคลื่อนไหวใน Myst.

เมื่อคุณอยู่ในโหมดเทเลพอร์ต คุณสามารถชี้ไปที่ตำแหน่งที่คุณต้องการไป และวงแหวนเทเลพอร์ตจะปรากฏขึ้นที่ปลายทางของคุณ เมื่อคุณ 'ยกเลิกการชี้' (โดยยืดนิ้วที่เหลือของคุณ หรือเพียงแค่ดึงนิ้วชี้กลับเข้าไปในฝ่ามือ) เทเลพอร์ตก็จะถูกดำเนินการ

เมื่อคุณอยู่ในโหมดการเคลื่อนไหวที่ราบรื่น การชี้ด้วยมือข้างที่ถนัดมืออิสระของคุณ (ซึ่งสามารถกำหนดค่าได้ในการตั้งค่าการควบคุมของเรา แต่เป็นมือซ้ายตามค่าเริ่มต้น) จะเริ่มเคลื่อนคุณไปรอบๆ ในทิศทางที่คุณชี้ไปอย่างราบรื่น

เมื่อเล่นทดสอบการเคลื่อนไหวด้วยการชี้ เราพบว่าบางครั้งการติดตามมืออาจไม่น่าเชื่อถือด้วยนิ้วชี้และนิ้วกลางของคุณเมื่อมือที่เหลือบดบัง ระบบไม่แน่ใจว่านิ้วเหล่านั้นชี้จนสุดหรือ 'ปิดสนิท' อยู่ในมือของคุณหรือไม่ เราได้เพิ่มปัจจัย 'เหลวไหล' เล็กน้อยลงในโค้ดเพื่อพิจารณาการเริ่มต้น/การดำเนินการการเคลื่อนไหวที่มีเสถียรภาพมากขึ้นในหน้านี้ ซึ่งเราจะพูดถึงในภายหลังเมื่อเราพูดถึงการเปลี่ยนแปลงที่เกิดขึ้นกับ Hand Tracking แบบนอกกรอบ รองรับ Unreal Engine

การหมุน

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

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

ปัญหานี้เหมือนกันแม้ว่าคุณจะขอให้ผู้เล่นชี้ไปที่บางสิ่งที่อยู่ข้างหน้าพวกเขาโดยให้ฝ่ามือหันเข้าด้านใน คุณสามารถงอข้อมือของคุณใน ไปทาง ร่างกายของคุณค่อนข้างน้อย แต่คุณจะไม่ได้รับการเคลื่อนไหวในระดับเดียวกันโดยงอข้อมือออกจากร่างกาย

แล้วเราแก้ปัญหานี้อย่างไร? เราลงเอยด้วยการกำหนดให้เปลี่ยนเป็นท่าทาง 'ยกนิ้ว' แทนการชี้นิ้วชี้

ลองนึกภาพยกนิ้วให้ ตอนนี้หมุนข้อมือไปทางขวาและซ้าย โปรดทราบว่าแม้ว่าคุณจะไม่มีช่วงการเคลื่อนไหวมากนัก แต่ก็ยังใช้นิ้วโป้งชี้ไปทาง 'ซ้าย' และ 'ขวา' อย่างสม่ำเสมอ

นี่คือสิ่งที่เราเลือกสำหรับการเปิดโหมดการติดตามด้วยมือ แม้ว่าการชี้ด้วยนิ้วโป้งอาจดูไม่ใช่วิธีเลี้ยวที่ง่ายที่สุด แต่ ไม่ จบลงด้วยการเป็นวิธีที่สะดวกสบายและสม่ำเสมอที่สุดในการทำเช่นนั้น

ด้วยการหมุนสแน็ป การหมุนข้อมือของคุณไปทางซ้ายหรือขวาจากตำแหน่งยกนิ้วโป้งทำให้เกิดการหมุนสแน็ปเพียงครั้งเดียว จากนั้นคุณต้องกลับมือของคุณไปที่ตำแหน่ง 'ตรงกลาง' (ตรงขึ้น) เพื่อรีเซ็ตสแน็ป และรอให้คูลดาวน์สั้นมากเกิดขึ้นเพื่อเริ่มเทิร์นสแน็ปอีกครั้ง

ด้วยการเลี้ยวที่นุ่มนวล การหมุนข้อมือของคุณขณะอยู่ในตำแหน่งยกนิ้วโป้ง จะเริ่มหมุนคุณไปทางซ้ายหรือขวา เมื่อคุณออกจาก 'เดดโซน' ที่ป้องกันไม่ให้เลี้ยวเกิดขึ้นจนกว่าคุณจะผ่านธรณีประตู

การจัดการความขัดแย้งระหว่างการเคลื่อนไหวและการโต้ตอบกับวัตถุ

แน่นอนว่า การชี้นิ้วเป็นท่าทางที่กว้างเกินกว่าจะถือว่าใช้เพียงเพื่อการนำทางเท่านั้น ผู้คนจะใช้ท่าทางชี้แบบเดียวกันเพื่อกดปุ่มหรือโต้ตอบกับสิ่งอื่น ๆ ในโลกเพียงเพราะเป็นนิสัยหรือความคาดหวังของตนเอง มันค่อนข้างจะสะอื้นที่จะเดินขึ้นไป (แต่ไม่ใช่ ขวา ขึ้นไป) ปุ่ม ชี้นิ้วของคุณเพื่อกดมัน แล้วทันใดนั้น (และโดยไม่ได้ตั้งใจ) ขยับเข้าไปใกล้มันในเกม (หรือเริ่มการเคลื่อนย้ายโดยไม่ได้ตั้งใจ)!

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

เราพบว่าจุดหวานนี้อยู่ห่างจากตำแหน่งอวกาศโลกของกระดูกปลายนิ้วชี้ประมาณ 25 ซม. Myst เต็มไปด้วยวัตถุแบบโต้ตอบขนาดต่างๆ (ทุกอย่างตั้งแต่ปุ่มขนาดเล็กไปจนถึงคันโยกขนาดใหญ่มาก) ที่จัดเรียงไว้ทั้งในพื้นที่เปิดโล่งและทางเดินแคบๆ ดังนั้นเราจึงต้องทดสอบเล็กน้อยเพื่อจัดการกับตัวเลขนี้ ตอนแรกเราพยายาม 60 ซม. (ประมาณ 25 ฟุต) แต่นั่นทำให้ไม่สามารถเคลื่อนไหวได้เมื่อผู้เล่นยังคงต้องการเข้าใกล้วัตถุ ในทำนองเดียวกัน สิ่งที่ต่ำกว่า XNUMX ซม. ทำให้เกิดการเคลื่อนไหวของผู้เล่นที่ไม่ต้องการเมื่อผู้เล่นพยายามคว้าหรือสัมผัสวัตถุ

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

ที่กล่าวว่า 25 ซม. คือสิ่งที่ทำงานโดยเฉพาะสำหรับ Myst. เกมอื่นๆ อาจต้องปรับตัวเลขนี้หากต้องการใช้สิ่งที่คล้ายกัน โดยคำนึงถึงเกณฑ์ของตนเอง

การออกแบบการโต้ตอบของวัตถุสำหรับการติดตามด้วยมือ

ตอนนี้ การโต้ตอบที่คว้าได้ทั้งหมดใน Myst สร้างขึ้นเพื่อทำงานกับการติดตามด้วยมือ เช่น วาล์วเลี้ยว เปิดประตู ปุ่มกด พลิกหน้าหนังสือ และอื่นๆ

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

ตัวอย่างเช่น เมื่อคุณใช้การติดตามด้วยมือและมือของคุณเลื่อนไปเหนือสิ่งที่จับได้ สีของมือของคุณจะเปลี่ยนเป็นสีส้ม (นี่คือสิ่งที่จะเกิดขึ้นเมื่อคุณไม่ได้ใช้การติดตามด้วยมือใน Myst วีอาร์ด้วย) เมื่อคุณคว้าวัตถุที่โต้ตอบได้ด้วยการเริ่มขดนิ้วเป็นกำปั้น ทรงกลมสีส้มจะเข้ามาแทนที่ตาข่ายมือของคุณและแสดงถึงตำแหน่งที่มือติดกับวัตถุ

เหตุผลที่เราใช้วิธีนี้แทนการสร้างตาข่ายสำหรับมือของคุณ—หรือปล่อยให้มือ/นิ้วของคุณดูเหมือนจะโต้ตอบกับส่วนต่างๆ ของวัตถุเหล่านี้—เป็นเพราะเราต้องการให้การโต้ตอบมีความเท่าเทียมกับสิ่งที่เรานำเสนอ ด้านตัวควบคุมระบบสัมผัสในตอนนี้

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

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

เมนู/การโต้ตอบ UI

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

การสื่อสารทั้งหมดนี้กับผู้เล่น

เนื่องจากการติดตามด้วยมือไม่ใช่อินพุตทั่วไปใน Quest เหมือนกับตัวควบคุมแบบสัมผัส และเนื่องจากอาจมีบางคนกำลังเล่นอยู่ Myst เป็นครั้งแรก (หรือแม้แต่เล่นเกม VR เกมแรกของพวกเขา!) เราพยายามคำนึงถึงวิธีที่เราสื่อสารข้อมูลทั้งหมดเกี่ยวกับการติดตามมือกับผู้เล่น เราตรวจสอบให้แน่ใจว่าได้รวม "ไดอะแกรมตัวควบคุม" เวอร์ชันอื่นซึ่งปรับแต่งมาโดยเฉพาะเพื่ออธิบายการโต้ตอบการติดตามด้วยมือ (เมื่อเปิดใช้งานใน Myst) และเราจะแสดงการแจ้งเตือนเฉพาะของผู้เล่นที่บอกวิธีเคลื่อนที่ด้วยมือของพวกเขา

นอกจากนี้ เราคิดว่าจำเป็นอย่างยิ่งที่จะต้องเตือนผู้เล่นถึงวิธีการสัมผัสประสบการณ์การติดตามมือที่ราบรื่น เมื่อเปิดใช้งานแล้ว ผู้เล่นจะได้รับแจ้งใน Mystเมนูของความเสถียรในการติดตามเข็มนาฬิกาจะดีขึ้นมากหากพวกเขาแน่ใจว่าอยู่ในห้องที่มีแสงสว่างเพียงพอและให้มืออยู่ในขอบเขตการมองเห็น

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

ดำเนินการต่อในหน้า 2: การดัดแปลงเครื่องยนต์ที่ทำใน Unreal »

ประทับเวลา:

เพิ่มเติมจาก ถนนสู่ VR