Ai cũng biết, Light native trong unity2D là vô dụng vkl T_T. Well, ài viết này sẽ giúp các bạn làm nó trở nên hữu dụng đấy :))) Bắt tay vào làm việc thôi nào :D
Tất nhiên, chúng ta sẽ ko cần code :3 nhưng các bạn nên biết một chút về Photoshop nhé :P Đầu tiên, mình sẽ có hình ảnh cần chịu tác động của ánh sáng, ví dụ ở đây là con sói ngu. Nhớ tạo ra thêm một layer phía trên nó nhé, layer này để empty, nhất thiết phải có :)
Chọn layer trên cùng, sau đó chuột phải, chọn
create clipping mask, sau đó dùng brush tool chọn màu gì cũng đc (trắng chẳng hạn) và bôi hết cái mask đó. Ta sẽ thu được cái ảnh như sau:
Xuất nó ra một file ảnh png khác thôi! Rồi import cả 2 cái, ảnh gốc và ảnh trắng vừa tạo vào Unity nhé, chuẩn bị đến bước quan trọng rồi này :v
Chuyển Texture Type của cái ảnh trắng thành
Normal map, tích chọn ở ô
Create from Grayscale và
Bumpiness để là 0 và Apply thôi.
Giờ ta phải tạo một
Material mới, phần
Shader chọn
Legacy->Bumped Diffuse
Tiếp theo chỉ việc kéo cái Map vừa tạo vào ô
Normalmap và cái ảnh gốc vào
Base (RGB) thôi nhé
Phần này là dễ quên lắm nè :3 Sau khi kéo thả các thứ ok ngon lành thì chúng ta phải tiếp tục chọn lại
Shader và chuyển về
Sprites->Diffuse
Đến đây là ta đã xong rồi :D Kéo thả ảnh gốc vào scene, và kéo cái Material vừa tạo vào phần material. Tạo một cái light bất kì và căn chỉnh trục Z cho xuất hiện trước object là ok rồi nha :))
Chúc các bạn sớm áp dụng được light native vào các dự án game 2D của mình, chứ lạm dụng ảnh và effect để tạo giả light vừa xấu vừa nặng đó nhé :D