Làm game fx với Unity 3D – DucVu FX
Khi lần đầu tiên mình tiếp xúc với Particle System trong Unity 3D mình đã có một sự bối rối không hề nhẹ. Làm Game effect Unity 3D không thể không hiểu về Particle. Nó có quá nhiều thông số và tab mà mỗi tab lại có một nhiệm vụ riêng biệt.
Từ đó mình đã đọc và nghiên cứu rất nhiều về các hệ thống hạt trong ngành Visual Effect này và thấy rằng có những nguyên lý hoạt động chung được đặt ra cho tất cả các phần mềm làm hiệu ứng khác nhau, bao gồm cả 2D lẫn 3D. Bài viết này mình sẽ giới thiệu và giải thích tổng quan nhất về hệ thống hạt – hệ thống phổ biến nhất dùng làm game effect trong Unity 3d.
Hi vọng bài hướng dẫn game effect unity tiếng việt này sẽ giúp ích được bạn phần nào.
Kênh youtube hướng dẫn làm game effect với particle system trong Unity của mình : https://goo.gl/z9dn2K (hoặc bạn có thể tìm kênh của mình bằng cách search trên youtube : DucVu FX)
- Hướng dẫn làm effect buff cơ bản : https://youtu.be/uwYzHcVqiKQ
- Hướng dẫn làm effect buff máu : https://youtu.be/zxM23TYSeLo
1. Hệ thống hạt làm Game fx trong Unity 3d
-
Shape
Hình dạng của nguồn phát ra hạt là điều chúng ta cần quan tâm đầu tiên khi làm việc với particle system. Tất nhiên trước bắt tay vào tạo ra hiệu ứng của riêng mình thì bạn đã phải có ý tưởng hoặc concept cho fx đó rồi. Hãy tính toán xem bạn sẽ dùng shape gì, nguồn phát ra hạt sẽ ảnh hưởng khá nhiều đến kết quả. Bạn không thể tạo ra một hiệu ứng tuyết rơi mà nguồn phát ra hạt của bạn lại chỉ từ một điểm phải không ?
-
Emission
Về cơ bản thì thằng này cho phép bạn kiểm soát tỉ lệ hạt bung ra theo thời gian hoặc theo chiều sâu. Các thông số về Burst cho phép chúng ta ép particle system sinh ra bao nhiêu hạt vào chính xác thời điểm mà chúng ta muốn
-
Duration
Thông số tiếp theo là thời gian sinh ra hạt. Nó hoàn toàn khác với Start Lifetime . Ví dụ nôm na cho dễ hiểu thì Duration là khoảng thời gian mang thai của một người mẹ thì Start Lifetime là khoảng thời gian sống trên đời của đứa trẻ sau khi nó được sinh ra. Hiểu hem ?
-
Size hạt
Kích thước một hạt particle trong Unity được điều chỉnh dựa trên 2 thông số đó là Start Size và Size Over Lifetime. Start Size cho phép chúng ta xác định kích thước của một hạt particle trước khi nó được bung ra còn Size Over Lifetime cho phép ta điều chỉnh kích thước của hạt sau khi nó được sinh ra. Bạn có thể xem thêm video mình hướng dẫn làm hiệu ứng hạt lấp lánh để hiểu hơn về cách điều chỉnh kích thước hạt – <Dust Effect – Sử dụng Size Over Lifetime trong Particle System>
-
Rotation
Tương tự như Size hạt bên trên. Rotation cho phép chúng ta điều chỉnh về góc xoay của hạt trước và sau khi hạt được sinh. Cả Rotation và Size đều có thể tùy chỉnh random để cho các hạt sinh ra được tự nhiên chứ không bị đều đều.
-
Physic
Về mặt vật lý thì mình nói chung cho cả 2 tab là Velocity over Lifetime và Force over Lifetime. Hai thuộc tính này gần như tương đồng nhau, Velocity cho phép bạn kiểm soát quỹ đạo bay của từng hạt particle trong khi đó Force kiểm soát lực đẩy của từng hạt trong suốt quá trình hạt hiển thị
-
Color
Việc kiểm soát màu sắc khi làm Game effect trong Unity 3d còn phụ thuộc vào nhiều yếu tố khác ngoài particle system. Nhưng về cơ bản thì particle chi ra thành Start color và Color over Lifetime. Bảng màu của Unity cũng cho phép chúng ta kiểm soát được opacity của texture bằng kênh Alpha.
-
Noise
Thuộc tính noise được Unity thêm vào từ bản update 2017. Thuộc tính này về cơ bản sẽ tạo ra Turbulance cho những effect nào có nhiều hạt. Ví dụ như khi tạo hiệu ứng những tàn lửa bay lên trong không khí mà thiếu Turbulance sẽ không tạo ra cảm giác chân thực. Mặc dù mình có nhiều cách để giả Turbulance nhưng yếu tố này thực sự rất quan trọng khi làm việc với particle system. Nó còn là yếu tố không thể thiếu trong các phần khác. Mình vẫn không hiểu tại sao Unity họ không update thuộc tính quan trọng này mà lại thay bằng Noise. Tuy nhiên Noise vẫn thực hiện tốt nhiệm vụ của nó. Nếu bạn làm effect game mobile bằng Unity 3D thì nên hạn chế sử dụng thuộc tính này
-
Collision
Là thuộc tính thể hiện sự va chạm của hạt với các object khác trong Scene đồng thời kiểm soát được những gì xảy ra sau sự va chạm đó. Ví dụ sau khi hạt chạm vào mặt đất thì hạt đó biến mất ngay hoặc hạt đó sinh ra một Particle System mới. Điều đó tùy thuộc vào ý đồ của bạn. Đây cũng là một thuộc tính quan trọng khi làm Game effect với Unity 3d.
-
Texture Sheet Animation
Thuộc tính dùng để kiểm soát việc hiển thị của texture. Có nhiều effect trong game phải sử dụng texture frame by frame hoặc có những effect cần phải random giữa nhiều texture khác nhau. Thuộc tính này chỉ hoạt động với 1 tấm texture là prite sheet. Bạn có thể tham khảo thêm video của mình làm hướng dẫn cách tạo một tấm texture sprite sheet trên kênh Youtube của mình ở đây : https://youtu.be/CqqODbITQEI
-
Renderer
Việc kiểm soát hình ảnh hiển thị ra màn hình thực sự phức tạp hơn những gì chúng ta nhìn thấy và nó không chỉ phụ thuộc vào mỗi Renderer của particle system mà còn phụ thuộc vào setup ánh sáng và camera trong Scene. Cơ bản thì bạn chỉ cần quan tâm đến Render Mode mà thôi, bao gồm : Billboard (texture luôn hướng theo góc quay của camera) Stretched Billboard (texture bị kéo dãn) Horizontal Billboard (texture nằm ngang song song với mặt đất) Vertical Billboard (texture vuông góc với mặt đất) Mesh (texture hiển thị theo bề mặt của vật thể 3d)
Tham khảo thêm các bài viết khác về Particle System Tại Đây
2. After Effect Trapcode Particle – hỗ trợ làm Game effect
Trapcode Particle là một plug-in rất phổ biến với những người dùng After Effect và các thuộc tính của nó cũng tương tự như Particle System trong Unity. Nhưng có nhiều thuộc tính mà Trapcode particle có mà trong Unity không có. Turbulance trong After Effect được hỗ trợ nhiều tùy chỉnh mạnh mẽ hơn trong Unity, còn các thuộc tính khác cũng có nguyên lý hoạt động tương tự như những phần trên đã giải thích
-
Physic
đang update …
Trên đây là những giải thích sơ qua về hệ thống hạt trong Visual Effect. Mình sẽ viết một bài về Partcile trong Maya và 3ds Max. Các bạn có thể đăng ký theo dõi blog của mình qua email hoặc like page của mình trên facebook để cập nhật bài viết mới nhé.
3. Những công cụ khác hỗ trợ làm Game effect trong Unity 3d
Các công cụ khác bao gồm các plug-in trong các phần mềm 3D và plug-in trong Unity
-
Shader Forge
Shader Forge là một plug-in dùng để tạo ra các shader mà trong Unity không có sẵn. Thường thì những bạn nào làm lập trình game giỏi có thể tự code được shader riêng, còn với artist thì đó là chuyện rất khó rồi. Nhưng với Shader Forge thì làm Game effect trong Unity 3d sẽ dễ dàng hơn ít nhất là với những ai đang lúng túng về khoản shader. Nếu mua được cái shader ưng ý hoặc mua về không phải sửa thì không nói làm gì nhưng có nhiều trường hợp buộc phải tự tạo ra một shader riêng thỏa mãn các yêu cầu của project.
-
Realflow
Realflow vừa là một phần mềm riêng biệt vừa được tích hợp vào các phần mềm 3D như là 1 plug-in. Là một công cụ tạo chất lỏng rất bá đạo.
-
Rayfire
Là một plug-in được dùng phổ biến trong 3ds Max về làm đổ vỡ, tạo hiệu ứng các vật thể bị nổ vỡ thành từng mảnh.
-
Pull down it
Tương tự như Rayfire nhưng Pull down it dùng cho Maya. Tạo các hiệu ứng Destruction cho game effect
Vẫn còn nhiều công cụ và plug-in mạnh mẽ nữa hỗ trợ làm game effect với Unity 3d. Tuy nhiên ở thời điểm hiện tại mình chưa có điều kiện để làm video hoặc bài viết hướng dẫn. Trong thời gian sắp tới mình sẽ viết thêm bài và bổ sung xây dựng blog này dày hơn. Mong nhận được sự ủng hộ của các bạn. Hãy để lại comment nếu bạn muốn mình viết bài về unity, hoặc nếu thấy bài hướng dẫn cơ bản game effect unity về particle system của mình có ích thì hãy share nó.
Nguồn : www.ducvu.net
Bản quyền thuộc về DucVu FX
Vui lòng không copy khi chưa được sự đồng ý của tác giả
One Comment on “Hướng dẫn game effect Unity – Cơ bản về Particle System”
Comments are closed.