ความลับทางเทคนิคเบื้องหลัง 'Cosmonious High's' ของตัวละครอินเทอร์แอคทีฟ PlatoBlockchain Data Intelligence ค้นหาแนวตั้ง AI.

ความลับทางเทคนิคเบื้องหลังนักแสดง 'Cosmonious High's' แบบโต้ตอบ

ความลับทางเทคนิคเบื้องหลัง 'Cosmonious High's' ของตัวละครอินเทอร์แอคทีฟ PlatoBlockchain Data Intelligence ค้นหาแนวตั้ง AI.

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

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

บทความรับเชิญโดย Sean Flanagan & Emma Atkinson

จักรวาลสูง เป็นเกมจากสตูดิโอ VR เก๋า Labs Owlchemy เกี่ยวกับการเข้าเรียนในโรงเรียนมัธยมของมนุษย์ต่างดาวที่ปราศจากความผิดปกติอย่างแน่นอน! ฌอนฟลานาแกนหนึ่งในช่างเทคนิคของ Owlchemy ได้สร้างระบบตัวละครหลักของ Cosmonious High ท่ามกลางความพยายามอื่นๆ อีกมากมาย เอ็มมา แอตกินสัน เป็นส่วนหนึ่งของทีมวิศวกรรมเนื้อหา ซึ่งรับผิดชอบร่วมกันในการปรับใช้ลำดับการเล่าเรื่องทั้งหมดที่คุณเห็นและได้ยินตลอดทั้งเกม

ด้านรหัส

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

จากด้านบนสุด รหัสระบบตัวละครสามารถแบ่งออกเป็น โมดูล และ ไดรเวอร์.

โมดูล

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

โมดูลที่ใช้บ่อยที่สุดบางส่วนของเราคือ:

ตัวละครการเคลื่อนไหว - รับผิดชอบการเคลื่อนไหว มันระบุพฤติกรรมการเคลื่อนไหวระดับสูงทั่วไปสำหรับตัวละครทั้งหมด การเคลื่อนไหวที่เกิดขึ้นจริงมาจากการใช้งานแต่ละครั้ง อักขระ 'พื้นฐาน' ทั้งหมด—Bipid และ Flan—ใช้ CharacterNavLocomotion ซึ่งย้ายพวกเขาไปรอบ ๆ ในฉาก Nav Mesh

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

ตัวละครอารมณ์ - ติดตามอารมณ์ปัจจุบันของตัวละคร ส่วนประกอบอื่นๆ สามารถเพิ่มและลบคำขอทางอารมณ์ออกจากสแต็กภายในได้

วิสัยทัศน์ตัวละคร – ติดตามเป้าหมายการมองเห็นปัจจุบันของตัวละคร ส่วนประกอบอื่นๆ สามารถเพิ่มและลบคำขอวิสัยทัศน์จากสแต็กภายในได้

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

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

ไดร์เวอร์

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

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

ไดรเวอร์สามารถแบ่งออกเป็น ไดรเวอร์ลอจิก และ ไดรเวอร์แอนิเมชั่น.

ตัวขับเคลื่อนลอจิกก็เหมือนศีรษะและแขนขา—พวกมันไม่ทำอะไรที่มองเห็นได้ด้วยตัวเอง แต่พวกมันจับและดำเนินการบางส่วนของพฤติกรรมของตัวละครที่นำกลับมาใช้ใหม่ได้และเปิดเผยข้อมูลสำคัญใดๆ ไดรเวอร์แอนิเมชั่น การอ้างอิง ตัวขับเคลื่อนลอจิกและใช้ข้อมูลเพื่อสร้างแอนิเมชั่นของตัวละคร เช่น กระดูกที่เคลื่อนไหว การเปลี่ยนเมช การแก้ปัญหา IK เป็นต้น

ไดรเวอร์แอนิเมชั่นมีแนวโน้มที่จะเฉพาะเจาะจงมากขึ้นสำหรับอักขระแต่ละประเภท ตัวอย่างเช่น ทุกคนที่มีตาใช้ CharacterEye สองสามตัว (ตัวขับตรรกะ) แต่ Bipid จะทำให้ eye shader เคลื่อนไหวด้วย BipedAnimationEyes, Flan ที่มี FlanAnimationEyes เป็นต้น การแบ่งงานของ 'an eye' ออกเป็นสองส่วนเช่นนี้ช่วยให้ สำหรับแอนิเมชั่นที่ไม่ซ้ำกันต่อสปีชีส์ซึ่งทั้งหมดได้รับการสนับสนุนโดยตรรกะเดียวกัน

ดำเนินการต่อในหน้า 2: ด้านเนื้อหา »

โพสต์ ความลับทางเทคนิคเบื้องหลังนักแสดง 'Cosmonious High's' แบบโต้ตอบ ปรากฏตัวครั้งแรกเมื่อ ถนนสู่ VR.

ประทับเวลา:

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