Bạn là người có niềm đam mê với công việc lập trình viên game chuyên nghiệp và bạn đang phân vân vì không biết nên bắt đầu nó từ nền tảng nào? Vậy còn lo ngại gì mà không tham khảo ngay lập trình Unity – lập trình phổ biến nhất trong game qua thông tin dưới đây. Hãy cùng theo dõi nhé!

Sơ lược kiến thức về  lập trình viên Unity

Định nghĩa lập trình Unity là gì?

Unity là một trong những phần mềm có khả năng làm game trên đa nền tảng nhờ vào Unity Technologies. Nó có khả năng phát triển các video game cho máy tính, consoles và điện thoại di động. 

Việc phát triển game bằng việc kéo và thả (drag and drop) đang rất hiện hành. Ngay những lần đầu tiên khi mới công bố trên hệ điều hành OS, X và Apple’s Worldwide Developers Conference trong năm 2015 thì tới hiện nay Unity đã mở rộng và phát triển trên 27 nền tảng.

lap trinh unity

Lập trình Unity là gì?

Trong thời điểm hiện nay, thì đã có tới 6 phiên bản chính thuộc phần mềm này đã được phát hành trên thế giới. Vào triển lãm năm WWDC (2006) thì Unity đã được tập đoàn Apple trao thưởng giải Best Use of Mac OS X Graphics.

Định nghĩa lập trình Unity là gì?

Lập trình Unity 2D và 3D được lập trình dựa vào 3 ngôn ngữ chính là C#, Boo và UnityScript. Thông thường, ngôn ngữ chính mà lập trình viên Unity sử dụng phổ biến nhất hiện nay là C#. 

Đến đây, chắc hẳn nhiều bạn đọc đang phân vân và không biết tại sao Unity lại được sử dụng để thiết kế game rồi mà vẫn còn phải biết rõ những lập trình ở phía trên? Có thể bạn chưa biết rằng, Unity có phần hạn chế lập trình nằm ở phần kéo thả nên các lập trình trên được áp dụng như phương pháp bổ trợ.

Theo dõi ví dụ sau: Bạn đã biết đến trò chơi Planes đây là một sản phẩm được tạo ra bởi sinh viên.  Trò chơi này được lập trình với thao tác đơn giản là bắn máy bay, ngoài công việc kéo thả các giao diện tại main menu, đặt nhân vật và khung nền,… thì nó còn được thực hiện dựa trên phương pháp drag and drop. 

Những hiệu ứng bên trong trò chơi sẽ tự động lặp đi lặp lại như bầu trời của nền và đi lùi liên tục nhằm tạo ra các hiệu ứng máy bay đang di chuyển, vụ nổ, hoặc bắn đạn,… Chính vì vậy, bạn không thể pick mãi 1 đối tượng rồi tiến hành thả liên tục trên đó cũng như cảnh chỉnh mãi bằng tay. Bởi đây là một trong những hiệu ứng tự động và cũng là cách duy nhất mà bạn cần phải lập trình. 

lập trình unity 2d

Unity lập trình game phổ biến

Game trên Unity được xây dựng và vận hành bằng cách thức nào?

Dưới đây là những hướng đến những khái niệm quan trọng trong phần lập trình Unity như sau: 

GameObject: Một trong những đối tượng cụ thể được sử dụng trong game là  khái niệm của game object. Có thể là nhân vật, đồ vật,… 

Component: Một GameObject thường sẽ được cấu tạo từ nhiều thành phần nên nó có thể là các hình ảnh, những hành động của nhân vật, mã điều khiển,…Functions thường kế thừa từ MonoBehaviour class và có thể ghi đè bên trong những class còn có thể thực hiện cho những sự kiện quan trọng nào đó.

Hai sự kiện này thường được dùng phổ biến trong một Component đó là: Start() tiến hành chạy thêm 1 lần duy nhất trước khi hàm update. Update() là sẽ thực hiện sau một vòng lặp chạy liên tục. Nó sẽ được gọi một lần dành cho mỗi khung hình (thường là 25 khung hình mỗi giây). cứ mỗi thứ như vậy gọi sẽ được gọi là một component của GameObject. 

Script: Script là dạng tập tin có chứa những đoạn mã nguồn được sử dụng với mục đích  khởi tạo cũng như xử lý đối tượng trong game. 

Đối với Unity thì bạn có thể sử dụng C#, Java Script, BOO để thực hiện lập trình Script. Ngoài ra, bạn cũng có thể điều chỉnh thuộc tính cho component khác thông qua script. Và script thường được xem như là “não” của con người bởi nó có thể điều khiển được những bộ phận còn lại. 

Cấu trúc của một đoạn mã bao gồm 3 thành phần chính như sau:  

Biến (variable) thường có chứa bất kì giá trị kiểu dạng số đặc thù hoặc kiểu kí tự.

Hàm (function) thường được sử dụng để có thể thực ti những công việc thông thường có cùng 1 biến và các biểu thức toán học khác. Những function bên trong Unity thường được phân chia thành 2 nhóm bao gồm: liên quan đến game – game relate (như system, input, network), đối tượng đặc trưng – object specific, người dùng định nghĩa – user defined.

Chú thích (comment) sẽ bị các chương trình dịch bỏ qua ngay  khi chạy chương trình và nó cho phép người sử dụng co thể ghi chép lại những điều cần nhớ hoặc vô hiệu hóa một dòng mã lệnh nào đó. 

lập trình unity 3d

Game được lập trình từ Unity

Bạn lưu ý rằng: Một script thường chỉ hoạt động khi nó được xem là một thành phần của một GameObject nào đó.

Lập trình C#: Lập trình C# là bắt buộc bởi nó là ngôn ngữ được sử dụng phổ biến nhất trong cộng động Unity. 

Thường thì Unity sở hữu 2 loại engine có khả năng hỗ trợ 2D và 3D. Chính vì thế, bạn nên định hướng sẽ “thân” hơn với loại nào. Nhưng đa số với những người mới bắt đầu thì nên tìm hiểu về Unity 2D.

Bạn đọc tham khảo thêm: Java Swing Là Gì-Hướng Dẫn Cách Học Từ Đơn Giản Đến Phức Tạp

Tìm hiểu về lập trình Unity 2D

Những công cụ cần cho lập trình Unity 2D

Unity đã tích hợp một editor và IDE có tên là MonoDevelop để hỗ trợ người lập trình soạn thảo. Để mở các file source click đúp vào chúng trong Project khi tạo mới thay đổi hãy save để được tự động biên dịch. Với các error hoặc warning sẽ được tìm thấy nếu có rồi được liệt kê trong unity (trong tag Console). Error có màu đỏ và warning là màu vàng.

1 MonoDevelop project browser – 2 Cửa sổ Class outline – 3 Cửa sổ Editor.

Mặc định Unity tạo những lệnh sau:

  • MonoBehaviour class: Đây là class cho script của bạn tên class cũng là tên script bạn đặt.
  • Thư viện riêng của Unity: Unity Engine và System Collection (Đừng tự bỏ cái nào nhé)
  • Hai function được tạo sẵn là Start() và Update().

Xây dựng chương trình Unity 2D 

Tạo hiệu ứng dịch chuyển hình nền tự động liên tục từ trên xuống.

Bước thứ nhất – tạo Object: Sử dụng bộ Assets nó đã bao gồm âm thanh, hình ảnh dùng cho game, các object như: máy bay lục, máy bay xanh dương, thiên thách, bầu trời, vụ nổ… 

tuyển lập trình unity

Hiệu ứng scrolling background dùng đến object là ảnh bầu trời vũ trụ (Gameplay BG) được lưu trữ trong thư mục Assets/Sprite.

hướng dẫn lập trình unity

Nhấp chọn GameObject 🡪 3D Object 🡪 Quad là sẽ tạo 1 Object 3D là quad.

tuyển dụng lập trình unity

Sau đó ta “tô màu”: Vào thư mục Assets 🡪 tạo thư mục Materials 🡪 Vào thư mục Materials 🡪 Chuột phải 🡪 Create 🡪 Material.

Một vài tinh chỉnh tại cửa sổ Inspector:

Drag file Background vừa tạo drop vào khung Element như hình để apply Material của quad vào Components.

lap trinh unity

Tạo project gọi là BackGround Quad, nhìn  xuống cửa sổ … vào lại thư mục Materials và chọn thiết bị sẽ triển khai. 

lập trình unity là gì

Bấm New texture (ô vuông đen to bên góc phải), 1 cửa sổ sẽ hiện ra để chọn texture cho quad, bấm hình bầu trời bạn chọn. 

học lập trình unity

Vào thư mục Assets 🡪 Script 🡪 Tạo thư mục con tên BG (là thư mục lưu file lập trình). Trong thư mục BG bạn tạo script sau: BGScaler được viết bằng C#. 

Nhấp vào file để thấy được giao diện viết code Monodevelope. Nhập lệnh giống như trong hình sau vào:

hướng dẫn lập trình unity

tuyển dụng lập trình unity

_mat sẽ ánh xạ đến thành phần Materials nằm trong Component Renderer.

offset sẽ lấy độ dời của tấm ảnh (bằng hàm GetTextureoffset()) dựa trên mat. Parameter Maintext là tên của texture ảnh background trên quad.

Kế tiếp Update(), từ các thời điểm giá trị bắt đầu trở về sau trong quá trình chạy thì sẽ liên tục cập nhật và thay đổi giá trị này theo hàm này:

Tại dòng 20: biến offset sẽ thay đổi theo chiều trục y tức background của _mat sẽ dời từ trên xuống dưới.Thay đổi bằng giá trị thực của Component speed nhân với Time.deltaTime là một hàm làm smooth hiệu ứng dời của Object.

Tại dòng 21: Ở start(), bạn đã get Material của quad để dùng trạng thái đầu tiên của nó cho chương trình xử lý; để quad liên tục được cập nhật trạng thái mới sau khi dời thì bạn nên set tất cả thay đổi đó của offset trở lại cho quad để hiệu ứng này tác động trở lại quad. Thông qua SetTextureoffset() cùng hai parameter Maintext và offset.

Nhấp vào run, truyền giá trị speed và sửa lỗi nếu có.

Run chương trình.

Hiện nay, do nhu cầu thực tế nên lập trình Unity luôn được các doanh nghiệp đón chào rộng mở. Chính vì vậy, cơ hội nghề nghiệp cho ngành này là vô cùng rộng lớn. Nếu bạn yêu thích và muốn thử sức lĩnh vực này với bản thân mình thì đừng ngại tiến tới nhé. Chúc bạn sớm thành công!.

Related Articles

Android Là Gì -Tổng Quan Về Hệ Điều Hành Di Động Số 1

Android là hệ điều hành được phát triển từ năm 2008 và nó đang được sử dụng phổ biến trong trong thiết bị của...

Product owner là gì? Vai trò và công việc của Product Owner

Hiện nay, product owner được biết đến là một trong những công việc giữ vai trò quan trọng trong việc quyết định các tính...

Ưu điểm và nhược điểm nổi bật của ngôn ngữ Swift là gì?

Ở bài viết trước thì chúng ta đã cùng nhau tìm hiểu tổng quan về Objective-C. Còn với bài viết này thì bạn đọc...

LEAVE A REPLY

Please enter your comment!
Please enter your name here

10,521FansLike
0SubscribersSubscribe

Latest Articles

Android Là Gì -Tổng Quan Về Hệ Điều Hành Di Động Số 1

Android là hệ điều hành được phát triển từ năm 2008 và nó đang được sử dụng phổ biến trong trong thiết bị của...

Product owner là gì? Vai trò và công việc của Product Owner

Hiện nay, product owner được biết đến là một trong những công việc giữ vai trò quan trọng trong việc quyết định các tính...

Ưu điểm và nhược điểm nổi bật của ngôn ngữ Swift là gì?

Ở bài viết trước thì chúng ta đã cùng nhau tìm hiểu tổng quan về Objective-C. Còn với bài viết này thì bạn đọc...

React Native là gì? Học lập trình App cơ bản với React Native

Để có thể trở thành một lập trình viên di động thực thụ cũng như xây dựng được các ứng dụng có khả năng...

Bảng So Sánh Giữa Ngôn Ngữ Lập Trình C & Ngôn Ngữ C++

Ngôn ngữ lập trình C là một trong những loại ngôn ngữ thông dụng trên thị trường. Loại ngôn ngữ này thường được các ...