Rate this post

Chào các bạn, hôm nay mình quay trở lại vớiphần mềm hỗ trợ lập trình game cực kì mạnh mẽ – Unity3D. Trong series bài này mình sẽ hướng dẫn các bạn làm quen với Unity và lập trình một chương trình đơn giản giúp điều khiển vật thể từ lệnh được nhập từ bàn phím để các bạn thấy được sự khác biệt so với thực hiện trên màn hình console.Bạn đang xem: Lập trình game với unity pdf

1. Unity là gì?

Unity là một phần mềm làm game đa nền tảng, các nền tảng được hỗ trợ hiện nay làAndroid, IOS,Linux,macOS,Windows,Windows Phone, …

Unity3D cung cấp một hệ thống toàn diện cho các lập trình viên, từ soạn thảo mã nguồn, xây dựng công cụ tự động hóa đến trình sửa lỗi nên cũng khá dễ sử dụng. Ngôn ngữ lập trình chính của Unity là C#, ngoài ra còn có hỗ trợ cho Javascript.

Unity cũng tận dụng chức năng của các thư viện phần mềm như engine mô phỏng vật lý PhysicX của Nvidia, OpenGL và Direct3D để kết xuất hình ảnh 3D, OpenAL cho âm thanh, … nên nó hỗ trợ rất mạnh cho công việc lập trình game.

Các game được lập trình bởi Unity:

Tải Unity3D : Tại đây

Hướng dẫn cách cài đặt và tạo projects

Sau khi tải về và cài đặt thì sẽ có giao diện như thế này:

Các bạn vào phần Insfalls -> Chọn ADD -> chọn phiên bản Unity muốn cài đặt (mình chọn bản Unity 2019.2.21f1) ->Next-> sau đó kick chọn 2 phần đó là Microsoft Visual Studio Community 2019 (các bạn nhớ cài Visual Studio trước nha) và Documentation (các bạn có thể chọn thêm các phần khác nhưng ở đây mình chưa cần dùng tới)-> sau đó kick vàoI have read and agree with the above terms and conditions ->Done.

Sau khi cài đặt xong các bạn vào phần Projects-> chọn New -> ở phần Templateschọn 2D hoặc 3D (các bạn nên chọn 2D), phần Settings đặt tên project và chọn vị trí lưu -> sau khi hoàn tất nhấn Create.

Sau khi mở Unity các bạn chọn Edit -> Preferences… -> tại External Tools, ở phầnExternal Script Editor chọnVisual Studio 2019 (Community).

2. Làm quen giao diện Unity

Khi lần đầu nhìn vào giao diện của Unity mình cảm thấy khá bất ngờ, giờ thì chúng ta hãy cùng làm quen với giao diện Unity để công việc lập trình dễ dàng hơn.

Đây là giao diện mặc định của Unity:Mình sẽ giới thiệu các bạn các thành phần cơ bản, còn cụ thể chúng ta có thể tìm hiểu sau:Có 2 thẻ cần quan tâm trong Unity đó là:Thẻ Sceneđể thao tác :Thẻ Gamehiển thị giao diện game các bạn đang lập trình:Play/Pause/Step: dùng để chạy thử sachvui.co thêm: Người Mệnh Kim Nuôi Con Gì ? Top 4 Vật Nuôi Rước May Mắn, Tài Lộc Cho Nhâm ThânAssets : Chứa các tài nguyên để xây dựng game.Inspector: Chứa các thuộc tính của từng đối tượng, mỗi đối tượng có các thuộc tính riêng.Hierarchy: Chứa các đối tượng của game.

Nếu các bạn chọn Unity 3d sẽ có thêm:

Trục tọa độ.

3.Thực hành

Chúng ta đã làm quen sơ qua về giao diện của Unity, nếu các bạn có đọc blog trước của mình (Lập trình game khó hay dễ?) thì các bạn sẽ thấy lần trước mình đã hướng dẫn code di chuyển 1 đối tượng trên màn hình console, bây giờ mình sẽ hướng dẫn các bạn chương trình điều khiển 1 đối tượng trên Unity để các bạn thấy được sự khác biệt khi sử dụng Unity lập trình lập trình game so với màn hình console.

Đầu tiên chúng ta bắt đầu tạo 1 đối tượng:

TạiHierarchycác bạn chọn Create -> 3D Object -> Chọn kiểu đối tượng muốn tạo,mình chọn Sphere để tạo 1 khối cầu.

Tiếp theo tại vùng trống của Assets ta R_Click -> Create -> chọn C# Script, ở đây mình sẽ sử dụng C# để lập trình.

Nó sẽ tạo ra 1 tệp như thế này , đặt lại tên và kick chọn để mở.Xem thêm: Than Bùn ( Peat Là Gì – Peat Là Gì, Nghĩa Của Từ Peat

using sachvui.coections;using sachvui.coric;using UnityEngine;public class NewBehaviourScript : MonoBehaviour{ // Start is called before the first frame update void Start() { } // Update is called once per frame void Update() { }}Sau khi mở thì sẽ có 2 hàm chính mặc định được tạo ra đó là StartUpdate, tạm thời các bạn xóa hàm Start đi, mình sẽ giải thích hàm Start sau. Bây giờ chúng ta sẽ thao tác trong hàm Update. Như đã nói lúc trước, game chính là một vòng lặp vô tận và hàm Updatecăn bản cũng chính là vòng lặp này. Bây giờ, chúng ta sẽ bắt đầu lập trình trong hàm Update như sau:

float speed = 5f; // biến để điều khiển tốc độ if(Input.GetKey(KeyCode.LeftArrow)) //nếu đầu vào Input là phím mũi tên trái { sachvui.coslate(sachvui.co * sachvui.coaTime *speed); //dịch chuyển (Translate) vector 3 của vật (transform) sang trái } else if (Input.GetKey(KeyCode.RightArrow)) //nếu đầu vào Input là phím mũi tên phải { sachvui.coslate(Vector3.right * sachvui.coaTime * speed); //dịch chuyển (Translate) vector 3 của vật (transform) sang phải } else if (Input.GetKey(KeyCode.UpArrow)) //nếu đầu vào Input là phím mũi tên lên { sachvui.coslate(sachvui.co * sachvui.coaTime * speed); //dịch chuyển (Translate) vector 3 của vật (transform) lên trên } else if (Input.GetKey(KeyCode.DownArrow)) //nếu đầu vào Input là phím mũi tên xuống { sachvui.coslate(sachvui.co * sachvui.coaTime * speed); //dịch chuyển (Translate) vector 3 của vật (transform) xuống dưới }//lưu ý: các Vector3 phải *( sachvui.coaTime * speed) để điều chỉnh tốc độ di chuyển phù hợp với nhịp game.//Nếu các bạn không muốn dùng phím mũi tên để điều khiển thì các bạn có thể thay thành các phím A-S-D-W hoặc bất kì phím nào khác bằng cách sau: sửa “KeyCode.LeftArrow” thành “KeyCode.A”, “KeyCode.RightArrow” thành “KeyCode.D”,sachvui.co khi code xong các bạn Save lại và qua bên Unity:

Kéo thả tệp vừa code xong vào đối tượng đã tạo.Nhấn Play để chạy thử

4.Kết luận

Như các bạn có thể thấy, Unity hỗ trợ rất mạnh cho lập trình game, vì vậy nếu các bạn muốn theo con đường chuyên nghiệp thì nên sử dụng Unity để lập trình. Unity miễn phí cho các bạn học tập, nếu kinh doanh và có doanh thu một mức nào đó bạn sẽ phải trả phí và mức phí cũng khá rẻ nên các bạn có thể yên tâm sử dụng. Ngoài ra, Unity còn cung cấp các môi trường và một số tài nguyên có sẵn để các bạn làm quen và khai thác. Hi vọng các bạn có thể dần làm quen và sử dụng được Unity, ở blog sau có thể mình sẽ hướng dẫn các bạn tạo 1 nhân vật và tạo hiệu ứng chuyển động animations cho nhân vật đó.

Chúc các bạn thành công!

Tài liệu tham khảo:

Tài liệu tự học Unity:https://www.stdio.vn/tutorials/topics/tu-hoc-unity-3