- อนิเมชั่นที่ดีกว่า
Betteranimation เป็นปลั๊กอินสำหรับการแปลงคลิปแอนิเมชั่นของ Unity เป็นรหัส dotween แก้ไขข้อบกพร่องหลายอย่างของแอนิเมชั่นและแอนิเมชั่น ช่วยให้นักพัฒนาสร้างและจัดการภาพเคลื่อนไหว UI ได้ง่ายขึ้นในความสามัคคี
- ข้อดี
เมื่อเทียบกับอนิเมชั่นเอกภาพแบบดั้งเดิมและแอนิเมชั่น Betteranimation เสนอข้อดีดังต่อไปนี้:
- หลีกเลี่ยงปัญหาการสูญเสียเฟรมเนื่องจากความผันผวนของอัตราเฟรมภายใต้ความผันผวนสูง
- ให้การควบคุมอิสระในระดับสูงเหนือตัวแปรฟังก์ชันการผ่อนคลาย
- ช่วยให้ Keyframe ได้รับการแก้ไขเมื่อเวลาผ่านไปเพื่อให้ได้เอฟเฟกต์แอนิเมชั่นอิสระในระดับที่สูงขึ้น
- มีประสิทธิภาพมากขึ้นหลีกเลี่ยงค่าใช้จ่ายในการคำนวณที่ไม่จำเป็นในโครงการ 2D หลายโครงการ
- สนับสนุนการแทรกเหตุการณ์ลงในภาพเคลื่อนไหวเดียวเพื่อหลีกเลี่ยงปัญหาที่เกิดจากอนิเมชั่นสากล
- คุณสามารถแทรกรหัสบางส่วนลงในภาพเคลื่อนไหวเช่นหยุดภาพเคลื่อนไหวและรอการป้อนข้อมูลผู้ใช้
- รองรับการเล่นแอนิเมชั่นแบบกลับด้านในขณะที่หลีกเลี่ยงการโทรกลับเหตุการณ์ที่ไม่ถูกต้อง
- รองรับการเขียนโปรแกรมโซ่
- สลับสถานะอย่างรวดเร็วและรักษาตำแหน่งปัจจุบันของ GameObject โดยให้อิสระในระดับที่สูงขึ้น
- รองรับภาพเคลื่อนไหวหลายภาพเพื่อเล่นพร้อมกัน
- จัดเตรียมกลไกการกระตุ้นเหตุการณ์ที่มีประสิทธิภาพมากขึ้นเพื่อสนับสนุนการได้มาของข้อมูลบริบท
- สนับสนุน Coroutines, Async และรอคอยและการสนับสนุนที่เป็นมิตรมากขึ้นสำหรับการเขียนโปรแกรมแบบอะซิงโครนัส
- เป็นมิตรมากขึ้นและง่ายต่อการดูข้อมูลที่เกี่ยวข้อง
- วัฏจักรชีวิตที่ควบคุมได้และวัฏจักรการดำเนินการ
แผนงาน
- รองรับรหัส DOTS และเหมาะสำหรับสภาพแวดล้อมที่มีประสิทธิภาพสูงและมีประสิทธิภาพสูง
- สนับสนุนภาพเคลื่อนไหวทั่วไป
- สนับสนุนการเปลี่ยนแปลง
- ฟังก์ชั่นบทคัดย่อ Tween
- การปรับโครงสร้างและการจัดระเบียบรหัส
- ให้ API ระดับต่ำที่มีอยู่มากขึ้น
- เสริมกรณีทดสอบหน่วยที่ซับซ้อนมากขึ้น
- การทดสอบเกณฑ์มาตรฐานเพิ่มเติม
- เพิ่มการสนับสนุนสำหรับเฟรมลำดับวัตถุ
วิธีใช้
- เพิ่มสคริปต์
BetterAnimation ลงในวัตถุเกมที่คุณต้องการใช้ - เปิด
ProjectStteing เพื่อค้นหา Better Animation Config เพื่อแก้ไขเส้นทางรหัส AOT และเส้นทางไฟล์อนุกรมการเคลื่อนไหวแบบแอนิเมชั่น - ในตัวแก้ไข Unity ให้เพิ่มคลิปแอนิเมชั่นที่จำเป็นในรายการคลิปแอนิเมชั่นในส่วนประกอบ
BetterAnimation - เรียกเมธอด
DoJob(animationName) ในสคริปต์ซึ่งจะส่งคืนวัตถุ AnimationBuilder สำหรับการกำหนดค่าและเล่นภาพเคลื่อนไหว
- ตัวอย่าง
นี่คือตัวอย่างพื้นฐานของ Betteranimation:
public class BetterAnimationExample : MonoBehaviour
{
public BetterAnimation betterAnimation ;
private void Start ( )
{
var animationBuilder = betterAnimation . DoJob ( "ExampleAnimation" ) ;
animationBuilder . OnComplete ( ( ) => Debug . Log ( "Animation completed" ) )
. SetLoops ( 2 )
. Play ( ) ;
}
} สังเกต
ปลั๊กอินนี้เชื่อมต่อ หน้าต่างภาพเคลื่อนไหวของ Unity นอกจากนี้คุณยังสามารถเลือกที่จะไม่ใช้ตะขอได้ แต่สิ่งนี้อาจทำให้คุณสูญเสียคุณสมบัติดังต่อไปนี้:
- ไม่สามารถแก้ไขเหตุการณ์เฟรมได้โดยตรง : การใช้ฟังก์ชั่น Hook ช่วยให้คุณสามารถแก้ไขเหตุการณ์เฟรมได้โดยตรงมิฉะนั้นจะไม่สามารถทำได้
- ความเข้ากันได้ของส่วนประกอบ : เมื่อใช้ส่วนประกอบที่ดีกว่าแอนิเมชั่นจะต้องใช้ส่วนประกอบแอนิเมชั่น/แอนิเมชั่นมิฉะนั้นหน้าต่างภาพเคลื่อนไหวไม่สามารถตรวจจับคลิปภาพเคลื่อนไหวได้
- ใช้งานคลิปแอนิเมชั่นด้วยตนเอง : หลังจากสร้างคลิปแอนิเมชันคุณต้องลากมันไปยังองค์ประกอบที่ดีกว่า
❓คำถามที่พบบ่อย
ทำไม Betteranimation จึงเร็วกว่า Animator?
แอนิเมชั่นจะปรับเปลี่ยนองค์ประกอบของพวกเขาในแต่ละเฟรมแม้ว่าค่าในภาพเคลื่อนไหวจะไม่เปลี่ยนแปลง แอนิเมชั่นไม่มีการตรวจสอบโดยไม่ต้องดำเนินการ สำหรับรายละเอียดโปรดดูคำตอบอย่างเป็นทางการ