ตัวละครในเกมเคลื่อนไหวอย่างไร [ปิด]


10

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

ฉันอยากจะรู้ว่าตัวละครในเกมนั้นสามารถเคลื่อนย้ายได้อย่างไร? ซอฟต์แวร์และเอ็นจิ้นประเภทใดที่ใช้กับตัวละครเหล่านี้


ซ้ำกันหรือไม่ ถ้าเป็นเช่นนั้นฉันจะลงคะแนนให้ปิด แต่ไม่เช่นนั้นมันอาจเป็นความคิดที่ดีที่ไซต์นี้จะตอบคำถามพื้นฐานนี้หนึ่งครั้ง
jhocking

1
ฉันค้นหามันก่อนแล้วจึงถามคำถามนี้ :-)
Ahmed

คุณหมายถึงตัวละคร 2D หรือ 3D หรือไม่ ตัวละครที่มีโครงกระดูกหรือ blobs amorphous? คุณกำลังมองหาผลลัพธ์แบบสแตนด์อโลนหรือการรวมเข้ากับเครื่องมือฟิสิกส์หรือไม่? นี่อาจเป็นคำถามที่ดี แต่ในขณะนี้คำตอบที่สมบูรณ์จะเติมหนังสือหลายเล่ม
Anko

คำตอบ:


18

ตัวละครในเกมมักจะเคลื่อนไหวโดยใช้เทคนิคที่เรียกว่าภาพเคลื่อนไหวโครงกระดูก : ป้อนคำอธิบายรูปภาพที่นี่ (แหล่งที่มาของรูปภาพ: ซอฟต์แวร์ Valve )

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

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

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

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

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


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

1
@TheodorosChatzigiannakis ฉันไม่ค่อยมีความรู้ในทั้งสองด้าน บางทีคุณต้องการที่จะอธิบายอย่างละเอียดในคำตอบของตัวเอง?
Philipp

"การปล่อยให้ศิลปินสร้างภาพเคลื่อนไหวตั้งแต่เริ่มต้นไม่ได้นำไปสู่ผลลัพธ์ที่ดีที่สุดเสมอไป" การอ้างว่าการจับการเคลื่อนไหวนั้นดีกว่าภาพเคลื่อนไหวแบบแมนนวลนั้นเหมือนกับการอ้างว่าการถ่ายภาพนั้นดีกว่าภาพวาดบนผืนผ้าใบอย่างแท้จริง ทั้งอนิเมชั่นด้วยตนเองและ mo-cap เป็นเทคนิคทางศิลปะที่แตกต่างกันที่ใช้เพื่อจุดประสงค์ที่แตกต่างกันและศิลปินที่มีความสามารถในแต่ละเทคนิคจะให้ผลลัพธ์ที่ยอดเยี่ยม หากศิลปินภาพเคลื่อนไหวของคุณไม่สามารถทำแอนิเมชั่นแบบแมนนวลได้คุณอาจจะได้ศิลปินที่ดีกว่า ...
Panda Pajama

2
ฉันทำงานกับอนิเมเตอร์ 3 มิติชั้นยอดและส่วนใหญ่ชอบทำสิ่งต่าง ๆ ด้วยตนเองโดยใช้ mo-cap เนื่องจากพวกเขาสามารถควบคุมนิพจน์ในภาพเคลื่อนไหวที่พวกเขาทำและพวกเขามีอิสระมากกว่าสิ่งที่ทำ ตัวละครสามารถเปรียบเทียบกับสิ่งที่ร่างกายมนุษย์สามารถทำได้ อย่างไรก็ตามเมื่อทำซ้ำการเคลื่อนไหวของมนุษย์ที่เฉพาะเจาะจงเป็นสิ่งสำคัญ (เช่นกับเกมกีฬา AAA ที่มีผู้เล่นจริง) จำเป็นต้องมี mo-cap
แพนด้า Pajama

คุณสามารถเพิ่มคำแนะนำซอฟต์แวร์ที่สามารถถามในคำแนะนำซอฟต์แวร์ StackExchange
Ramchandra Apte

3

ที่จริงแล้วคำตอบของ Philipp ค่อนข้างดี แต่พลาดประเด็นสำคัญไป

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

สำหรับรายละเอียดให้ดูเช่น

https://en.wikipedia.org/wiki/MD2_(file_format)

นอกจากนี้นี่เป็นวิธีเริ่มต้นในการกำหนดภาพเคลื่อนไหวใน Flash, 3D Studio และ 3DSmax ในสมัยก่อน (แม้ว่ามันจะหยุดเป็นแบบนั้นหลังจากการใช้ภาพเคลื่อนไหวโครงกระดูกสำหรับพวกเขา) ฉันคิดว่าสำหรับเกมอย่างง่ายการแก้ไขจุดยอดเฟรมยังคงเป็นวิธีที่ง่ายที่สุด (ในแง่ของทั้งรหัสและความพยายามในการสร้างแบบจำลอง) ในการเริ่มต้น


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

1
นี่ไม่มาก / หรือเท่าที่บันทึกประวัติศาสตร์ เกมที่เคยทำเช่นนี้ แต่พวกเขาทำไม่ได้อีกต่อไป ตราบใดที่เรากำลังทำบันทึกประวัติศาสตร์ก่อนที่จะได้รับการสนับสนุนเครื่องเกมนิเมชั่นยอดที่พวกเขาทำแอนิเมชั่ลำดับชั้น (คิดว่า N64 / PS1)
jhocking

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

@ jhocking / เห็นด้วย esp ด้วยภาพเคลื่อนไหวลำดับชั้น และ Yup, ภาพเคลื่อนไหวจุดสุดยอดเป็นจริงระยะที่นี่ และใช่เกมใหม่ไม่ทำอีกต่อไป

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

1

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

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


1
ฉันอยากจะเพิ่มเติมว่าห้องปฏิบัติการของมหาวิทยาลัย MOCAP ที่นี่ได้เปลี่ยนอุปกรณ์ราคาแพง (ไม่กี่ปี) ทั้งหมดด้วยโซลูชันที่ใช้ Kinect แบบไม่มีเครื่องหมายซึ่งให้ผลลัพธ์ที่ดีกว่า แน่นอนว่ามาร์กเกอร์ไม่สามารถแข่งขันกับฮาร์ดแวร์ชั้นนำได้ แต่ Kinect นั้นค่อนข้างดี (โดยเฉพาะถ้าเราคำนึงถึงราคา) สำหรับสิ่งเหล่านี้
Roy T.
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.