Physical Material là gì ?
Physical material (hay còn gọi là chất liêu), là một dạng object của Unreal cho phép người dùng có thể áp các chất liệu tùy ý lên các material như là sắt, đá, gỗ, giấy,… để từ đó trong quá trình sử dụng có thể truy xuất chất liệu tương ứng để xử lí một cách dễ dàng.
Cách tạo và cài đặt
Để tạo một chất liệu, ta chuột phải vào content browser và chọn như sau
Ta sẽ tạo 2 file là PhyMat_Metal (kim loại) và PhyMat_Rock (đá).
Giao diện của một physical material sẽ như sau
Có nhiều giá trị nhưng ở bài viết này ta chỉ cần quan tâm một giá trị đó là Surface Type ở dưới phần Physical Properties.
Surface Type cho ta tùy chọn chất liệu mà ta muốn file này lưu giữ. Mặc định Unreal cho ta giá trị đó là Default. Nếu các bạn ấn vào thì không còn giá trị nào khác để chọn ?!
Về căn bản Unreal không biết là người dùng sẽ xài chất liệu gì nên không tạo sẵn cho ta. Để có thể thêm chất liệu mình muốn, các bạn vào Project Settings -> Physics và kéo xuống dưới sẽ có mục Physical Surface
Unreal cho tới 62 chất liệu lận nên cứ tha hồ mà add nhé =)) Ta sẽ add 2 cái là Metal và Rock như đã tạo trên thôi
Lưu ý: sau đó bạn cần tắt Project Settings đi, và mở lại để Unreal cập nhật vào bộ nhớ.
Quay trở lại 2 file PhyMat_Metal và PhyMat_Rock ta đã tạo hồi nãy, khi đó ở list Surface Type sẽ cho ta thêm 2 lựa chọn mới đó là Rock và Metal, gắn giá trị tương ứng vào là xong.
Ứng dụng của Physical Material
Ứng dụng đơn giản, phố biến nhất đó là cho vật liệu (Material).
Ở đây mình tạo một Material đơn giản và gắn Physical Material đơn giản như đang giỡn như sau
Ngoài ra có một số chỗ các bạn cũng có thể gắn như là
Hoặc thậm chí có thể đè trực tiếp trong blueprint như thế này
Ok bước thiết lập xong hết rồi vấn đề là giờ ta sẽ tận dụng như thế nào ?!
Các ứng dụng căn bản có thể kể đến của Physical Material như là
- Dùng chất liệu để phát ra hiệu ứng va chạm
- Dùng chất liệu để tăng giảm ma sát tương ứng
- Dùng chất liệu để xử lí các logic của game
- …
Ứng dụng thì nhiều vô kể, tùy vào người dev họ nghĩ ra gì thôi :))
Để có thể truy xuất được chất liệu, cách phổ dụng nhất đó là truy xuất từ giá trị trả vể từ Hit Result. Một ví dụ điển hình mình sẽ cho các bạn xem đó là Hit Result được trả về từ Line Trace
Các bạn có thể thấy là ở khúc cuối mình dùng toán tử Switch, cho phép bạn thực hiện nhiều hành động dựa vào kết quả đưa vô. Từ đây, ta có thể cho tạo hiệu ứng tương tác ở các bề mặt, hay là giảm tốc độ,…
Lưu ý: Về căn bản thì cái Hit Result nào cũng sẽ trả về các chất liệu nó nhận được nhé, không cần thiết phải từ Line Trace.
Kết luận
Hết rồi hẹn gặp các bạn ở post khác =))
Comments