Hướng dẫn về Unity Cinemachine và Timeline
Cinemachine là gói dành cho Unity cung cấp cho các nhà phát triển khả năng kiểm soát máy ảnh chuyên nghiệp và nâng cao khả năng tạo các đoạn cắt cảnh đậm chất điện ảnh.
Hướng dẫn này sẽ bao gồm các chủ đề sau:
- Lắp đặt máy chiếu phim
- Thiết lập máy ảnh của người thứ ba
- Tạo đoạn cắt cảnh theo dòng thời gian
Lắp đặt máy chiếu phim
Để cài đặt Cinemachine, hãy làm theo các bước dưới đây:
- Trong Unity đi tới Cửa sổ -> Trình quản lý gói
- Thay đổi gói thành "Unity Đăng ký"
- Chọn "Cinemachine" từ danh sách rồi nhấp vào "Install"
Máy quay phim bây giờ đã sẵn sàng để sử dụng.
Thiết lập máy ảnh của người thứ ba
Dưới đây tôi sẽ hướng dẫn cách thiết lập camera góc nhìn thứ 3 bằng Camera ảo của Cinemachine.
Máy ảnh ảo là phiên bản nhẹ của máy ảnh Unity, không tự hiển thị mà chỉ được sử dụng làm điểm tham chiếu cho Máy ảnh chính.
Để làm ví dụ cho hướng dẫn này, tôi sẽ sử dụng Bộ điều khiển của người thứ ba, ngoại trừ việc không thiết lập Xung đột máy ảnh và không di chuyển Máy ảnh bên trong hệ thống phân cấp người chơi:
Như bạn có thể thấy người chơi đang di chuyển nhưng camera không theo dõi.
Thiết lập máy ảnh của người thứ ba bằng Cinemachine thực sự dễ dàng:
- Vào GameObject -> Cinemachine -> Virtual Camera để tạo camera ảo mới
- Đặt tên cho camera ảo "TPS Camera"
- Chọn Camera TPS và trong CinemachineVirtualCamera gán biến Theo dõi (trong trường hợp của tôi, nó sẽ là đối tượng "CameraParent", nằm bên trong hệ thống phân cấp trình phát và biểu thị góc xoay theo chiều dọc)
- Đặt giá trị nội dung thành "3rd Person Follow"
- Đặt Bỏ qua thẻ thành "Player", đồng thời chọn đối tượng gốc của trình phát và đặt thẻ của nó thành "Player" (nếu có bất kỳ trình thu thập dữ liệu con nào trong hệ thống phân cấp trình phát, hãy đảm bảo thay đổi thẻ của chúng thành "Player")
- Tinh chỉnh các giá trị khác trong CinemachineVirtualCamera như Khoảng cách camera, Phía camera, Độ lệch vai và Giảm xóc cho đến khi bạn hài lòng với kết quả.
- Đặt giá trị Aim của CameraParent thành "Do nothing"
Máy ảnh bây giờ sẽ theo dõi người chơi:
Tạo đoạn cắt cảnh theo dòng thời gian
Ở đây tôi sẽ hướng dẫn cách tạo một đoạn cắt cảnh bằng cách sử dụng Dòng thời gian Unity's.
Dòng thời gian là trình chỉnh sửa tích hợp cho phép nhà phát triển tạo các đoạn cắt cảnh bằng cách tạo hoạt ảnh cho máy ảnh cũng như bằng cách sử dụng hoạt ảnh hiện có (ví dụ: bước đi của nhân vật), cùng với các sự kiện và tín hiệu bằng cách sắp xếp chúng theo cách tuần tự.
Gói Cinemachine bổ sung thêm một số tùy chọn cho trình chỉnh sửa Dòng thời gian, chẳng hạn như khả năng chuyển đổi giữa các Máy ảnh ảo.
Để tạo một đoạn cắt cảnh, hãy làm theo các bước dưới đây:
- Tạo một GameObject mới và gọi nó "TimelineManager"
- Mở cửa sổ Dòng thời gian bằng cách đi tới Cửa sổ -> Trình tự -> Dòng thời gian
- Chọn "TimelineManager" Đối tượng và trong cửa sổ Dòng thời gian, bạn sẽ thấy tùy chọn để tạo thành phần Giám đốc và nội dung Dòng thời gian, hãy nhấp vào nó.
- Sau khi tạo thành phần Giám đốc và nội dung Dòng thời gian, bạn sẽ thấy cửa sổ Dòng thời gian trống (đảm bảo đối tượng TimelineManager được chọn để có thể chỉnh sửa nó).
- Bây giờ chúng ta có thể bắt đầu thêm các thành phần vào dòng thời gian bằng cách nhấp chuột phải vào cửa sổ.
Như bạn có thể thấy, cửa sổ Timeline có nhiều tùy chọn khác nhau:
- Nhóm theo dõi - đây là nhóm có thể chứa các hành động theo dòng thời gian và rất hữu ích cho việc tổ chức.
- Theo dõi kích hoạt - phần này xác định đối tượng chỉ nên hoạt động trong khung thời gian đã đặt.
- Bản nhạc hoạt hình - phần này sẽ phát một hoạt ảnh cụ thể trong khung thời gian đã đặt.
- Bản nhạc âm thanh - phần này sẽ phát âm thanh cụ thể trong khung thời gian đã đặt.
- Control Track - một track có các clip kiểm soát các yếu tố liên quan đến thời gian trên GameObject.
- Theo dõi tín hiệu - điều này cho phép thực hiện nhiều hành động khác nhau trên một đối tượng trò chơi cụ thể tại một thời điểm cụ thể (ví dụ: kích hoạt tập lệnh chuyển động của người chơi hoặc gọi một chức năng cụ thể khi dòng thời gian đạt đến một khung nhất định, v.v.)
- Bản nhạc có thể phát - bản nhạc có các clip là bản nhạc có thể phát tùy chỉnh.
- Cinemachine Track - điều này cho phép kết hợp giữa nhiều máy quay ảo cinemachine.
Với mục đích của hướng dẫn này, tôi sẽ chỉ sử dụng Animation Track và Signal Track.
Cài đặt
- Tạo một máy ảnh ảo khác và đặt tên là "CutsceneCamera" và đặt giá trị "Priority" của nó ở trên một cấp trên "TPS Camera" (ví dụ: 11)
- Nhấp chuột phải vào chế độ xem dự án -> Tạo -> Tín hiệu và đặt tên cho nó "DisablePlayer"
- Sao chép tín hiệu "DisablePlayer" và đổi tên thành "EnablePlayer"
- Tạo một GameObject mới trong cảnh và đặt tên cho nó "SignalReceiver"
- Đính kèm thành phần SignalReceiver vào đối tượng "SignalReceiver"
- Bấm "Add Reaction" 2 lần
- Gán "DisablePlayer" cho phản ứng đầu tiên và "EnablePlayer" cho phản ứng thứ hai
"DisablePlayer" sẽ kích hoạt camera cắt cảnh, tắt camera của người chơi và tập lệnh điều khiển người chơi và sẽ được đặt ở đầu dòng thời gian.
"EnablePlayer" sẽ tắt camera cắt cảnh, kích hoạt camera của người chơi và tập lệnh điều khiển người chơi và sẽ được đặt ở cuối dòng thời gian.
- Nhấp vào (+) để thêm vị trí phản ứng, sau đó chỉ định đối tượng có tập lệnh hoặc thành phần cần được kích hoạt/hủy kích hoạt.
Mẹo: Để tạo tín hiệu ngược lại, bạn chỉ cần thiết lập phản ứng cho "DisablePlayer" sau đó nhấp vào biểu tượng Bánh răng -> Nhân bản, thay đổi tín hiệu thành "EnablePlayer" và đảo ngược các hộp kiểm.
- Chọn đối tượng "TimelineManager" sau đó trong cửa sổ Timeline thêm track tín hiệu mới bằng cách nhấn chuột phải -> Signal Track sau đó gán đối tượng "SignalReceiver" cho nó.
- Kéo và thả nội dung tín hiệu "DisablePlayer" ở đầu dòng thời gian và "EnablePlayer" vào khung bạn muốn đoạn cắt cảnh kết thúc:
Điều này sẽ làm cho tập lệnh điều khiển trình phát và camera bị vô hiệu hóa ngay từ đầu và sau đó được kích hoạt lại khi dòng thời gian kết thúc.
Cuối cùng, chúng ta sẽ tạo một hoạt ảnh máy ảnh đơn giản.
- Nhấp chuột phải vào Timeline -> Animation Track sau đó gán "CutsceneCamera" (điều này sẽ yêu cầu thêm thành phần Animator vào đối tượng nếu không có)
- Bấm vào nút ghi
- Di chuyển "CutsceneCamera" một chút để khung hình chính được áp dụng, sau đó di chuyển tay cầm khung Dòng thời gian đến cuối và cuối cùng, di chuyển máy ảnh đến vị trí mới rồi nhấp vào dừng Ghi.
Hãy nhấn play và xem kết quả:
Đoạn phim cắt cảnh được phát ở đầu trò chơi.