Unreal Engine 4 - Animation Advanced Part 3

0

 Tạo 1 Animation mới

BP_Ani_Mycharacter
Thêm 1 State Machine và nhấp double vào nó 

Thêm 1 state mới tên State_Stan  đẻ chỉ hành động nhân vật đang đứng sau đó nối 2 node lại

Nhấn Complie sau khi hoàn tất

Nối tất cả các bảng lại với nhau và Compile sẽ thấy nhân vật đã thay đổi trạng thái từ đứng im sang đi bộ
Xem lại 3 các  bảng


Cuối cùng để set cho nhân vật mặc định khi load game ta sẽ dùng Animation mà mình vừa khỏi tạo BP_Ani_Mycharacter.

Mở file BP_Mycharacter lên

Nhấn Play để test


Vậy là xong
cái trên chỉ là test thôi vì nhân vật khi load game sẽ đứng yên mới đúng. nên ta sẽ thay đổi lại animation khác.
Đổi lại animation khác rồi compile lại là xong

Animation vừa kéo vào lúc nãy  chỉ ở trạng thái đứng yên nên khi di chuyển chân sẽ ko hoạt dộng.  nên cần tạo  các trạng thái di chuyển dựa trên Speed.
Tạo thêm 1 animation có tên là Run_BS
Nhân vật sẽ chỉ di chuyển theo 1 trục cố định

Mở file Run_BS lên.
ta sẽ chỉnh  3 trạng thái. khi tốc độ =0 thì nv sẽ dứng im
tốc dộ tăng lên ~150 thì đi bộ
tốc dộ đạt ~450 trở lên thì chạy
kéo cái chấm màu xanh lá cây để review nhân vật di chuyển, xong lưu lại

Mở lại file BP_Ani_Mycharacter 
tạo 1 biến Speed  Kiểu float.
Tạo các node kết nối như hình dưới
Tạo biến Speed, and compile
Chuyển qua tab State_Stan  kéo biến speed bỏ vào và tạo kết nối.

Compile 
Cái này sau khi thực hiện thêm chức năng khi ấn nút Shift sẽ thấy rõ nhât.
Làm Animation Nhảy
Hiện tại nhân vật khi bấm nhảy lên nó kiểu như đang đi bộ trên không.
sẽ làm 1 trạng thái : nhảy - trên không- tiếp đất

xem qua vòng lặp animation 

Nhấn qua tab Event Graph
tạo thêm 1 biến Isfalling  và set giá trị cho nó để xác định được nhân vật có đang rơi hay không  từ
hàm Get Movement Component 
thêm biến Isfalling để xác định nhân vật rơi, Compile khi tạo xong liên kết các node

+Điều kiện 1.  khi nhân vật nhảy. 
Lấy giá trị của biến IsFalling == true , và set animation là hành động nhảy

Thao tác nhảy lên chỉ thực hiện 1 lần và ko lặp lại
Điều kiện 2: Nhân vật chỉ thực hiện thao tác trên không khi nhảy sau khi time hành động nhảy animation thực hiện xong.
thao tác lúc trên không đang rơi nên vẫn sẽ lặp lại 
Điều kiện 3: Khi nhân vật ngừng nhảy. Not giá trị biến Isfalling 
Isfalling ==false

Điều kiện 4:
Sau khi nhân vật thực hiện động tác nhảy chạm đất thì trở về  động tác đi bình thường.
đk khi Jump_End có giá trị <=0.1




Tags

Post a Comment

0Comments
Post a Comment (0)