ฉันชื่อเควินและฉันเป็นโปรแกรมเมอร์ / นักออกแบบที่ Klei ฉันเขียนสิ่งต่าง ๆ ที่เราใช้ในซีรีส์ Shank, Mark of the Ninja และ Don't Starve
อนิเมเตอร์ของเราทำงานใน Flash เรามีแนวคิดของตัวละคร 'สร้าง' ซึ่งเป็นชุดของสัญลักษณ์ส่วนของร่างกายที่มีหลายมุมมอง ขึ้นอยู่กับความถูกต้องของเกมที่กำหนดมีส่วนของร่างกายมากหรือน้อยที่มี 'มุมมอง' มากหรือน้อย ฉันคิดว่า Shank มีส่วนต่าง ๆ ของร่างกายประมาณ 30 ส่วนซึ่งแต่ละส่วนมีมุมมอง 1-2 โหลในขณะที่ Wilson จาก Don't Starve มีชิ้นส่วนของร่างกายประมาณโหลที่มีจำนวนมุมมองเท่ากัน สคริปต์ JSFL ที่กำหนดเองนั้นใช้ในการวิเคราะห์ระยะเวลาสัญลักษณ์แฟลชจากนั้นนำรูปภาพที่เกี่ยวข้องออกเป็นชุดไฟล์ PNG ที่มีความละเอียดสูงพร้อมกับเมตาดาต้าจำนวนมากที่เราติดอยู่ใน XML
เมื่อสร้างตัวละครแอนิเมชั่นของเราจะสร้างสัญลักษณ์รูทใหม่ในไฟล์อื่นเพื่อเก็บภาพเคลื่อนไหวสำหรับตัวละครนั้น ในไทม์ไลน์นั้นพวกเขาสร้างตัวละครออกจากสัญลักษณ์การสร้างและย้ายไปรอบ ๆ ทำให้เป็นทวีคูณ ฯลฯ เพื่อสร้างภาพเคลื่อนไหวเดี่ยว ๆ (ซึ่งแบ่งเขตโดยใช้กรอบป้ายกำกับ) สคริปต์ผู้ส่งออกจะส่งออกระยะเวลาเหล่านี้ไปยัง XML โดยคำนึงถึงการแปลง 2d ของบิลด์ทุกชิ้นและมุมมองที่แสดง
ด้วยข้อมูลทั้งหมดที่ส่งออกไปยัง XML และ PNG เราใช้ชุดของสคริปต์ Python เพื่อแปลงให้เป็นข้อมูลเวลาทำงาน หนึ่งสคริปต์จะลดขนาด, atlases และ mips ของพื้นผิวทั้งหมดและแปลงเป็นรูปแบบเฉพาะของแพลตฟอร์มที่ถูกบีบอัด (อย่างน้อยหนึ่งรายการ) สคริปต์อื่นประมวลผลข้อมูลภาพเคลื่อนไหว XML ให้มีประสิทธิภาพมากขึ้นในการโหลดรูปแบบไบนารี
ณ รันไทม์มันเป็นเพียงเรื่องของการแสดงสัญลักษณ์การสร้างที่ถูกต้องด้วยการแปลงและมุมมองที่ถูกต้อง
ระบบนี้ใช้เวลาในการสร้างนานและได้รับการขัดเกลาเมื่อเราย้ายจากเกมหนึ่งไปอีกเกมหนึ่ง มีรายละเอียดมากมายที่ฉันคัดสรร (เช่นวิธีที่เราจัดการเลเยอร์และการเปลี่ยนชุดเวลาทำงาน) แต่นั่นเป็นโครงร่างทั่วไป
แน่นอนว่าเทคโนโลยีที่เราใช้นั้นน่าจะเป็นสิ่งสำคัญที่สุดของ 'Klei Look' ส่วนที่สำคัญที่สุดคือเรามีอนิเมเตอร์จำนวนมากที่ดีจริงๆ :)
อย่างไรก็ตามฉันหวังว่านี่จะช่วยได้ หากคุณมีคำถามเพิ่มเติมเกี่ยวกับ Don't Starve คุณสามารถแวะไปที่ฟอรัมของเราซึ่งปกติแล้วฉันยินดีที่จะพูดคุยกับร้านค้า