Các nhà phát triển tìm kiếm giải pháp thay thế tốt hơn cho hàm easing animation truyền thống

Nhóm Cộng đồng BigGo
Các nhà phát triển tìm kiếm giải pháp thay thế tốt hơn cho hàm easing animation truyền thống

Các hàm easing animation đã là nền tảng của thiết kế chuyển động số trong nhiều thập kỷ, nhưng các nhà phát triển ngày càng thấy chúng có nhiều hạn chế. Những hàm toán học này biến đổi chuyển động tuyến tính thành các animation trông tự nhiên hơn bằng cách kiểm soát cách các đối tượng tăng tốc và giảm tốc. Tuy nhiên, cùng một số ít hàm từ thời đại Flash vẫn tiếp tục thống trị, khiến các nhà sáng tạo mong muốn có thêm tính linh hoạt và khả năng kiểm soát.

Các loại hàm Easing phổ biến:

  • easeInOutCubic: Tăng tốc và giảm tốc mượt mà sử dụng đường cong bậc ba
  • easeInOutElastic: Thêm hiệu ứng nảy/đàn hồi vượt quá giới hạn
  • easeInOutBack: Bao gồm sự dự đoán trước (chuyển động ngược) trước khi chuyển động tiến
  • Linear: Chuyển động tốc độ không đổi (trông có vẻ máy móc)
Tổng quan về các hàm easing trong hoạt hình, thể hiện ứng dụng của chúng trong thiết kế chuyển động số
Tổng quan về các hàm easing trong hoạt hình, thể hiện ứng dụng của chúng trong thiết kế chuyển động số

Vấn đề với các hàm Easing có sẵn

Hệ sinh thái hiện tại phụ thuộc nhiều vào một tập hợp nhỏ các hàm được định nghĩa trước như easeInOutCubic, easeInOutElastic, và easeInOutBack. Mặc dù những hàm này hoạt động tốt cho các animation cơ bản, chúng thiếu khả năng kiểm soát tinh tế mà các animator truyền thống có khi tạo chuyển động bằng tay. Các nhà phát triển thấy mình liên tục sử dụng những đường cong giống nhau, dẫn đến kết quả có thể dự đoán và đôi khi trông máy móc.

Vấn đề cốt lõi xuất phát từ tính chất cứng nhắc của những hàm này. Không giống như animation truyền thống nơi mỗi chuyển động có thể được tạo ra một cách độc đáo cho ngữ cảnh của nó, easing dựa trên code buộc các nhà sáng tạo phải chọn từ một menu tùy chọn hạn chế. Ràng buộc này trở nên đặc biệt rõ ràng trong animation nhân vật theo thủ tục và đồ họa chuyển động nơi sự đa dạng và kiểm soát tinh tế quan trọng nhất.

Các giải pháp dạng đóng (Closed-Form) thu hút sự chú ý

Một bước đột phá đáng kể trong cuộc thảo luận đến từ các phương pháp dựa trên vật lý sử dụng các giải pháp toán học dạng đóng. Một nhà phát triển đã chia sẻ một triển khai hoàn chỉnh của hệ thống dao động điều hòa có cản có thể tạo ra chuyển động giống lò xo mà không cần mô phỏng từng bước. Phương pháp này mang lại nhiều ưu điểm so với các phương pháp truyền thống.

Giải pháp dạng đóng cho phép các nhà phát triển tính toán bất kỳ điểm nào trong dòng thời gian animation ngay lập tức, làm cho nó hoàn hảo cho các ứng dụng nơi người dùng có thể cuộn qua các animation hoặc nơi các khung hình có thể bị rơi. Hệ thống sử dụng các nguyên lý vật lý mass-spring-damper, cung cấp chuyển động trông tự nhiên phản ứng với các tham số như độ cứng và cản theo những cách có thể dự đoán được.

Lưu ý: Dao động điều hòa có cản là một hệ thống vật lý mô tả cách các vật thể chuyển động khi gắn với lò xo có ma sát, tạo ra chuyển động nảy và ổn định thực tế.

Ưu điểm của các giải pháp dạng đóng:

  • Tính toán tức thời cho bất kỳ khung hình hoạt ảnh nào
  • Không cần mô phỏng từng bước một
  • Kết quả nhất quán bất kể tốc độ khung hình
  • Hoàn hảo cho việc scrubbing timeline trong phần mềm hoạt ảnh
  • Hiệu quả hơn so với các mô phỏng vật lý lặp
Một biểu đồ minh họa các hành vi nảy khác nhau theo thời gian, thể hiện các hiệu ứng chuyển động trong hệ thống cản được sử dụng cho hoạt hình
Một biểu đồ minh họa các hành vi nảy khác nhau theo thời gian, thể hiện các hiệu ứng chuyển động trong hệ thống cản được sử dụng cho hoạt hình

Phương pháp tham số của Apple cho thấy tiềm năng

Nghiên cứu của Apple về các hàm easing động học đại diện cho một hướng cải tiến khác. Hệ thống của họ sử dụng một hàm tham số duy nhất có thể được điều chỉnh cho các hành vi khác nhau như dự đoán, vượt quá, và tần số dao động. Mặc dù linh hoạt hơn easing truyền thống, các nhà phát triển báo cáo những thách thức với sự phụ thuộc lẫn nhau của tham số.

Sự thất vọng chính nằm ở cách điều chỉnh một tham số ảnh hưởng đến những tham số khác. Thay đổi số lượng dao động tác động đến cả tốc độ animation và khoảng cách vượt quá, đòi hỏi nhiều điều chỉnh tham số để đạt được kết quả mong muốn. Điều này tạo ra một quy trình làm việc nơi các animator dành nhiều thời gian điều chỉnh số hơn là tập trung vào chuyển động.

Tham số Animation Dựa trên Vật lý:

  • Damping: Kiểm soát tốc độ dao động ổn định
  • Frequency/Stiffness: Xác định tốc độ phản hồi của hệ thống
  • Mass: Ảnh hưởng đến quán tính và động lượng của đối tượng được tạo hiệu ứng
  • Overshoot: Mức độ vượt quá mục tiêu của animation trước khi ổn định

Cộng đồng khám phá các phương pháp thay thế

Cộng đồng phát triển đang tích cực thử nghiệm với nhiều giải pháp khác nhau. Một số nhà phát triển đang chuyển sang B-splines vì các đạo hàm liên tục và đặc tính chuyển động mượt mà của chúng. Những người khác đang khám phá các bộ lọc tích chập và hệ thống điều khiển phản hồi được mượn từ các ngành kỹ thuật.

Một phương pháp đặc biệt thú vị liên quan đến việc sử dụng hai mục tiêu trong hệ thống điều khiển PD - mục tiêu chính và mục tiêu dự đoán tạo ra chuyển động wind-up tự nhiên. Phương pháp này tạo ra sự dự đoán trông hữu cơ mà không cần điều chỉnh tham số phức tạp, mặc dù nó vẫn cần triển khai cẩn thận để tránh sự gián đoạn vận tốc.

Lưu ý: Bộ điều khiển PD là các hệ thống phản hồi điều chỉnh chuyển động dựa trên sự khác biệt vị trí và vận tốc, thường được sử dụng trong robot và hệ thống điều khiển.

Tìm kiếm công cụ tốt hơn

Cuộc thảo luận tiết lộ một căng thẳng cơ bản giữa dễ sử dụng và kiểm soát sáng tạo. Trong khi các hàm easing hiện tại hoạt động đầy đủ cho hầu hết các ứng dụng, chúng không đáp ứng được việc cung cấp phạm vi biểu đạt mà các animator cần cho thiết kế chuyển động tinh vi. Cộng đồng dường như đặc biệt quan tâm đến các giải pháp mang lại cả sự tiện lợi của tham số hóa và tính linh hoạt của các đường cong tùy chỉnh.

Trong animation truyền thống, các nguyên tắc chỉ là hướng dẫn; bạn vẫn kết thúc việc tạo ra chuyển động độc đáo mới mỗi lần dựa trên những gì diễn xuất mà cảnh yêu cầu. Các hàm easing trong code không hoàn toàn cho bạn tính linh hoạt để làm điều đó.

Việc tìm kiếm các công cụ animation tốt hơn tiếp tục khi các nhà phát triển cân bằng hiệu quả tính toán với biểu đạt sáng tạo. Dù thông qua các hệ thống dựa trên vật lý, tham số hóa được cải thiện, hoặc các phương pháp hoàn toàn mới, mục tiêu vẫn giữ nguyên: cho các nhà sáng tạo những công cụ để mang chuyển động số đến cuộc sống với cùng sắc thái và đa dạng được tìm thấy trong animation truyền thống.

Tham khảo: I'm unsatisfied with easing functions