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

Ảnh 1. Tạo chất liệu
Ảnh 1b. Chọn class chất liệu mặc định

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

Ảnh 2. Các settings mặc định của Physical Material

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

Ảnh 3. Thêm chất liệu vào project settings

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

Ảnh 3b. Thêm chất liệu mớ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_MetalPhyMat_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

Ảnh 4. Gắn Physical Material cho Material

Ngoài ra có một số chỗ các bạn cũng có thể gắn như là

Ảnh 4b. Gắn Physical Material ở Material Instance

Hoặc thậm chí có thể đè trực tiếp trong blueprint như thế này

Ảnh 4c. Gắn Physical Material ở Skeletal Mesh trong Blueprint

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

Ảnh 5. Truy xuất chất liệu 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 =))