1. Setup hoạt động mới
Quan trọng: Các thư mục ở bước 1, 2, 4 sẽ được tạo sẵn trong Unity. Chúng ta không cần tạo mới mỗi khi làm bài mới. Thông tin ở bước 1, 2, 4 được ghi ở đây để lưu trữ
1.1. Tạo thư mục cho bài mới

- Vào thư mục Assets > Resources > Prefabs
- Ctrl + ⇧ + N → tạo 1 thư mục mới cho bài chuẩn bị làm. Đặt tên theo quy tắc đặt tên bài. Đây là thư mục chứa prefab hoàn thiện.
- Vào thư mục Assets > Timelines > MGB, MGN hoặc MGL tuỳ theo bài đang làm là Mẫu giáo bé, nhỡ hay lớn.
- Ctrl + ⇧ + N → tạo 1 thư mục mới cho bài chuẩn bị làm. Đặt tên theo quy tắc đặt tên bài (MGB01, MGN03, MGL13…). Đây là thư mục chứa các Timeline của bài.
1.2. Tạo prefab cho hoạt động mới

- Vào thư mục Assets > Assets_Animations > Templates
- Kéo Activity_Prefab lên Hierarchy

- Chuột phải vào Activity_Prefab, chọn Prefab > Unpack completely
- Đổi tên Activity_Prefab thành tên hoạt động đang làm (MGB01_01, MGB01_02…)
- Lưu prefab: Kéo Activity_Prefab vừa được đổi tên vào thư mục chứa prefab hoàn thiện đã tạo trong Project
1.3. Đưa assets từ Project vào Hierarchy

- Kéo các assets sau vào Hierarchy:
- Nhân vật: đưa vào Canvas> Characters
- Background: đưa vào Canvas> Backgrounds
- Props: đưa vào Canvas > Props.

- Chuột phải vào các assets vừa kéo vào, chọn Prefab > Unpack Completely
1.4. Setup timeline

- Chọn Timeline_Template trong thư mục Assets > Assets_Animations > Templates.
- Copy về thư mục chứa Timeline đã tạo ở Bước 1.1. Đổi tên Timeline_Template thành tên hoạt động đang làm.

- Chọn Timeline, kéo Timeline_Template vừa đổi tên từ Project vào mục Playable trong Inspector
- Đổi tên Timeline thành mã bài học (MGB01, MGN02…)
1.5. Đưa assets từ Hierarchy vào Timeline

- Chọn Timeline, khoá timeline.
- Kéo các Assets sau từ Hierarchy vào Timeline:
- Camera:
- Kéo Main Camera vào, tạo Activation Track. Sau đó xoá phần activation đi.
- Kéo Cinemachine vào, tạo Cinemachine Track.
- Tạo Animation Track cho camera nếu cần di chuyển camera
- Background: Kéo vào, tạo Activation Track. Nếu cảnh này chỉ có duy nhất 1 background xuất hiện từ đầu đến cuối thì không cần tạo track
- Nhân vật: Kéo vào, tạo các track sau cho mỗi nhân vật nếu cần. Mỗi lần chỉ tạo được 1 loại track nên cần kéo nhiều lần
- Activation Track: Dành cho nhân vật có lúc xuất hiện, lúc không. Nếu nhân vật xuất hiện từ đầu đến cuối, không lúc nào biến mất thì không cần tạo Activation track.
- Salsa control track: Dành cho nhân vật có sử dụng lipsync
- Animation track: Dành cho nhân vật có chuyển động. Có thể cần tạo 2 animation track
- 1 track cho nhân vật
- 1 track cho prefab của nhân vật đó, để chỉnh position, rotation & scale của nhân vật. Khi kéo prefab nhân vật vào timeline, nếu Unity hỏi có tạo Animator mới không thì chọn Có.
- BGM (Nhạc nền) và SFX (Hiệu ứng âm thanh): Tạo Audio track.
Lưu ý: Mở khoá Timeline trước khi sửa timeline khác.
2. Hoàn thiện hoạt động sau khi làm
Sau khi hoàn thành timeline hoạt động, đã chốt được độ dài chuẩn của các hoạt động.
2.1. Làm tròn số giây của timeline

- Click vào timeline của hoạt động

- Check các điểm dừng theo mô tả chi tiết của từng hoạt động.
- Co kéo timeline 1 chút để làm tròn số giây của timeline tại thời điểm dừng
- Làm tròn số giây cuối timeline
2.2. Điền dữ liệu

- Vào Assets > Data

Mã bài học và tên bài học đã được điền sẵn.
- Thêm STT và tên các hoạt động. Vd:
- 1. Làm quen với bạn mới
- 3. Game – Sắp xếp đồ dùng
- Điền thời gian cho các hoạt động. Ví dụ hoạt động 72 giây thì điền 72.
- Thêm điểm dừng tự động (time pause) nếu có. Vd: hoạt động có 2 điểm dừng vào 18s và 47s thì bổ sung 2 time pause. Cái trên điền 18, cái dưới điền 47
2.3. Sắp xếp timeline
Để thuận tiện cho việc review bài, sửa lỗi, nhiều người làm cùng 1 bài… Các timeline sau khi hoàn thiện cần được sắp xếp theo cấu trúc như sau. Trong đó, mỗi mục là 1 group (nhóm). Trong mỗi nhóm có thể bao gồm nhiều sub-group (nhóm nhỏ).
- Camera: Bao gồm Main Camera, Cinemachine
- Backgrounds: Bao gồm toàn bộ background trong hoạt động
- FX: Gồm SFX, VFX, BGM
- Events: Prefab một số cảnh đã dựng sẵn hoặc mini game đã làm sẵn, khi cần thì activate cho xuất hiện
- Characters:
- Cách 1: Group theo chức năng: Activation, Characters Animation, Salsa
- Cách 2: Group theo nhân vật: Su, Kem, Nova. Trong mỗi nhân vật lại có timeline Activation, Animation và Salsa. Nếu có Su ¾ và Su chính diện thì group riêng.
- Cách 3: Group theo phân cảnh. Trong mỗi cảnh lại có thể group theo cách 1 hoặc cách 2 ở trên
- Props:
- Cách 1: Group theo phân cảnh. Mỗi cảnh bao gồm Activation và Animation của các prop.
- Cách 2: Group theo chức năng: Activation, Animation
2.4. 1 số tips sắp xếp timeline
- Không cần kéo xuống timeline các Object xuất hiện từ đầu đến cuối hoạt động
- Sử dụng 1 audio track để sắp xếp lời thoại:
- Dùng 1 Audio track để ở group Salsa hoặc FX, sắp xếp lời thoại các nhân vật vào track này trước thay vì kéo thẳng vào Salsa của nhân vật.
- TẮT hiển thị track này (disable/deactive) sau khi đã kéo thoại vào Salsa track của từng nhân vật. Tuyệt đối KHÔNG ĐƯỢC XOÁ
- Tạo Animation cho Group Object: Thay vì tạo Animation cho từng Object, có thể tạo Animation cho cả group Object để timeline gọn hơn
- Dùng Sub-Group để phân cấp timeline chi tiết hơn: Tạo Sub-Group để nhóm các Object xuất hiện trong cùng 1 cảnh (VD: Props > Mission > Mission_Step1, Mission_Step2, Mission_Step3)
- Sắp xếp theo thứ tự xuất hiện: Trong mỗi group (hoặc sub-group), sắp xếp timeline từ trên xuống, cái nào xuất hiện trước thì đặt ở trên, xuất hiện sau thì đặt xuống dưới
- Tạo group độc lập cho phân cảnh phức tạp: Với những cảnh đặc biệt và phức tạp, tạo group riêng cho các Object của phân cảnh đó
2.5. Kiểm tra animation & timeline
- Đối với video clip:
- Kéo độ dài Video Track bằng với độ dài thực của video
- Kéo Activation Track cho đủ time frame của đoạn đó
- Đối với timeline:
- Đủ Object ở Activation Track
- Kéo BGM, SFX vào phần Audio Source của Audio Track
- Đối với animation, chạy lại hoạt động 1 lần, đảm bảo animation:
- Đúng với mô tả chi tiết hoặc yêu cầu/feedback sửa bài
- Không bị lỗi hoạt hình, lỗi thoại
- Đúng theo quy chuẩn về hoạt hình của team
- Tự đánh giá thấy animation là phù hợp và hiệu quả đối với bài học và kiến thức, kĩ năng được truyền tải trong bài
2.6. Kiểm tra prefab hoạt động

- Click đúp vào prefab hoạt động để mở prefab

- Thêm activity manager cho các scene nếu chưa có (Thường đã có trong template. Nhưng nếu khi test bài mà hoạt động không chạy, thiếu hoạt động thì cần kiểm tra)
- Click vào Timeline trong Activity Manager, chọn timeline của hoạt động. Nếu làm đúng các bước trên, sẽ chỉ có 1 timeline hiện lên để chọn.
- Active prefab hoạt động, camera… Nếu không active prefab, khi xuất bài ra sẽ bị lỗi, không chạy được
3. Chuyển game thành prefab và đưa vào bài
3.1. Chuyển game thành prefab

- Vào mục Minigame, bật Scene đã dựng của Game.

- Tạo game object mới, đặt tên theo quy tắc Tênbài_Game. Ví dụ: Game của bài MGB04 là MGB04_Game.

- Reset position game object mới
- Tạo mới component Activity Manager

- Kéo toàn bộ game object trong Scene vào game object vừa tạo. Lưu ý collapse hết rồi mới kéo
- Kéo gameobject từ —Hierarchy— xuống —Project— để tạo prefab. Đưa prefab vào thư mục chứa prefab của bài.
3.2. Điền dữ liệu

- Mở Assets > Data

- Điền data game như đối với data hoạt động. Để thời gian = 0.
3.3. Chơi thử

- Kéo prefab từ —Hierarchy— lên —Project—

- Ấn play để chơi thử.
- Ghi lại các lỗi nếu có và chuyển cho Công xử lý
4. Commit lên Sourcetree
4.1. Commit lên sourcetree
Thực hiện đúng theo trình tự sau
- Commit: Điền tên bài vừa làm vào phần ghi chú khi commit
- Fetch: Click vào Fetch 1 lần để Sourcetree kiểm tra data mới nhất
- Pull: Click vào Pull để kéo các cập nhật mới nhất về
- Push: Click vào Push để đẩy cập nhật từ máy mình lên Sourcetree
4.2. Xử lí conflict khi commit
- Trong trường hợp bị conflict, cần xác định xem
- File nào bị conflict
- Conflict với ai?
- Làm việc với người bị conflict để biết họ đã sửa gì file đó và quyết định xem sẽ giữ file của ai.
- Backup, copy file sẽ bị xoá nếu cần. Ví dụ Ánh làm animation nhân vật, Hương làm animation cho prop trên cùng 1 timeline và bị conflict. Có thể giữ lại file timeline của Ánh và copy timeline của Hương ra 1 file khác. Sau đấy copy animation cho prop của Hương đã làm vào timeline của Ánh.
- Chuột phải vào file bị lỗi conflict trong sourcetree. Chọn 1 trong 2 lựa chọn
- Use “Mine”: Giữ file mình sửa và xoá các phần chỉnh sửa của người khác
- Use “Theirs”: Giữ file người khác sửa.
- Check lại file bị conflict còn chạy ổn không. Bổ sung thêm các phần đã backup ở mục 3. nếu cần.
Lưu ý: Báo cho Công hoặc anh Quốc nếu có bất kỳ vấn đề gì, lăn tăn gì trong quá trình xử lý conflict. Không tự ý xử lý conflict mà không làm việc với team
Trackbacks/Pingbacks