Bài giảng Phát triển sản phẩm với Unity: Bài 3 Lập trình trên Unity, cung cấp cho người học những kiến thức như: Lập trình chuyển động (hướng dẫn các hàm liên quan tới chuyển động, translate, velocity, addforce …); Xử lý va chạm đối tượng; Tạo đối tượng cha, đối tượng con (giải thích Position, locaposition), cách lấy đối tượng con trong cha.
BÀI 3: LẬP TRÌNH TRÊN UNITY MỤC TIÊU BÀI HỌC: • Mơ tả được cú pháp, cơng dụng và cách áp dụng các hàm chuyển động. • Trình bày được các kiểu va chạm của đối tượng trong Unity • Trình bày được kiến thức cơ bản về lập trình C#. • Trình bày được kiến thức cơ bản về lập trình C#. NỘI DUNG: 2.1. Lập trình chuyển động (hướng dẫn các hàm liên quan tới chuyển động, translate, velocity, addforce …) 2.2. Xử lý va chạm đối tượng 2.3. Tạo đối tượng cha, đối tượng con (giải thích Position, locaposition), cách lấy đối tượng con trong cha 2.4. Sử dụng hiệu ứng Unity 2.5. Lập trình C# Lập trình chuyển động Bảng thuộc tính Tên Ý nghĩa Nếu enabled thì hàm Update của enabled MonoBehaviour sẽ được gọi mỗi frame Tag của GameObject, dùng để phân nhóm các tag GameObject Tên của GameObject, dùng để định danh các name GameObject Lập trình chuyển động Bảng phương thức Tên GetComponent GetComponentInChildren SendMessage Invoke InvokeRepeating CancelInvoke Ý nghĩa Trả về component được gắn vào GameObject Trả về component được gắn vào GameObject hoặc bất kỳ đối tượng con của GameObject Gọi phương thức của GameObject theo tên có trong bất kỳ MonoBehaviour nào của đối tượng đó Gọi phương thức theo tên sau một khoảng thời gian Gọi lặp lại phương thức theo tên sau một khoảng thời gian Hủy hoặc dừng việc thực hiện 2 hàm trên Lập trình chuyển động Transform.Translate Cú pháp: transform. Translate ( Vector3 translation ); transform. Translate ( Vector3 translation , Space relativeTo = Space.Self); Công dụng: Di chuyển biến đổi theo hướng và khoảng cách translation Xử lý va chạm đối tượng Thêm các thành phần vật lý (Physics 2D) Xử lý va chạm đối tượng Trong Unity có 2 loại va chạm đó là : • Collision : Là loại va chạm mà 2 đối tượng sẽ khơng đi xun qua nhau, khi đối tượng này gặp đối tượng kia thì sẽ bị cản lại, bật lại tùy theo tính chất vật lý mà chúng ta xét cho đối tượng. Ví dụ : Qủa bóng rơi từ trên cao rơi xuống sân cỏ sẽ bật lên … Xử lý va chạm đối tượng Trong Unity có 2 loại va chạm đó là : • Trigger : là loại va chạm mà các đối tượng này có thể đi xun qua đối tượng kia, chúng ta sẽ sử dụng trigger trong các hoạt cảnh như làm cho tiếng nhạc bật lên khi đối tượng đi qua loa hay làm cho cây đổ khi người chơi đi tới, hay lửa … Tạo đối tượng cha, đối tượng Bước 1: Click đúp vào đối tượng cần tạo đối tượng con Bước 2: Nhấp phải chuột chọn một đối tượng, như hình 3.7 tơi đã tạo đối tượng con là Main Camera Bước 3: Thực hiện lệnh sau: 10 Tạo đối tượng cha, đối tượng Bước 4: Kẻ đường kẻ màu xanh từ đối tượng cha tới đối tượng 11 Sử dụng hiệu ứng Unity Thư viện hiệu ứng • Particle System: Hiệu ứng tạo hạt • Trail Renderer: Tạo hiệu ứng lưu vết phía sau cho các đối tượng di chuyển trong khơng gian • Line Renderer:Tạo ra các đường vẽ trong khơng gian, dựa vào các điểm được xác định. Đường được vẽ khơng phải là các điểm mà là các texture có độ dày nhất định 12 Sử dụng hiệu ứng Unity Thư viện hiệu ứng • • • • Particle System: Hiệu ứng tạo hạt Lens Flare: Được dùng để thêm vào một nguồn sáng để tạo hiệu ứng cho nguồn sáng đó. Hiệu ứng được tạo ra giống như khi một camera quay trực tiếp vào một nguồn sáng mạnh Halo:Tạo hiệu ứng vầng sáng xung quanh một đối tượng. Halo được dùng chủ yếu cho hiệu ứng của một điểm sáng (Point Light) Projector: Tạo ra hiệu ứng đổ bóng lên một mặt phẳng 13 Sử dụng hiệu ứng Unity Ứng dụng hiệu ứng vào game 2D, 3D B1: Tại thẻ Hierarchy, nhấp chọn nút Creat Particle System (nếu muốn tạo hiệu ứng hạt cho đối nào thì chọn đối tượng, sau đó vào menu ComponentEffectParticle System) 14 Sử dụng hiệu ứng Unity Ứng dụng hiệu ứng vào game 2D, 3D B2: Nhấp chuột chọn Particle System ở thẻ Hierarchy, qua thẻ Inspector, bấm chuột vào hình bánh răng kế bên component Particle System và chọn Reset 15 Sử dụng hiệu ứng Unity Ứng dụng hiệu ứng vào game 2D, 3D B3: Vẫn tại thẻ Inspector, kéo thanh trượt xuống bên dưới cùng của component Particle System. Bấm chuột chọn dòng Renderer và đổi Material thành SoapBubble 16 Sử dụng hiệu ứng Unity Ứng dụng hiệu ứng vào game 2D, 3D B4: Điều chỉnh StartSpeed thành 2 và StartSize là hằng số ngẫu nhiên từ 0.2 đến 1 B5: Nhấn nút Play để kiểm tra kết quả 17 Lập trình C# Khai báo biến: ; Ví dụ: int BienKieuSoNguyen; float BienKieuSoThuc; string BienKieuChuoi; 18 Lập trình C# Lớp C# • Lớp là khn mẫu để tạo ra đối tượng. Một đối tượng là một thể hiện của lớp và bên trong nó là những thuộc tính, biến hoặc hành vi (hay cịn gọi là phương thức) • Ví dụ một chiếc xe Exciter, một chiếc xe Airblade, m ột chi ếc xe Attila có thể được nhóm lại với nhau thành lớp Motorbike 19 Lập trình C# Lớp C# Ví dụ: (Tài liệu trang 40) Tạo lớp Motorbike Tạo đối tượng exciter sử dụng lớp Motorbike 20 Lập trình C# Tính kế thừa C# Cho phép lập trình viên tạo ra một lớp mới kế thừa một lớp đã tồn tại. Nghĩa là lớp được kế thừa sẽ có tất cả những thuộc tính và phương thức với quyền truy cập khơng phải private của lớp cha 21 Lập trình C# Tính kế thừa C# Ví dụ: (Trang 42,43) Tại lớp cha (lớp cơ sở) có định nghĩa phương thức khởi tạo (constructor) có tham số thì tại các lớp dẫn xuất (lớp con hay lớp được kế thừa) phải gọi phương thức khởi tạo của lớp cha. 22 Lập trình C# Các hàm unity ứng dụng vào xử lý lớp OnMouse event Cho phép lập trình viên dùng chuột máy tính để tương tác với các đối tượng trong game GetMouseButton Sử dụng khi cần phát hiện và xử lý hành động click chuột của người dùng 23 Lập trình C# Các hàm unity ứng dụng vào xử lý lớp OnMouse event Cho phép lập trình viên dùng chuột máy tính để tương tác với các đối tượng trong game GetMouseButton Sử dụng khi cần phát hiện và xử lý hành động click chuột của người dùng 24 Bài tập Trình bày cơng dụng và các Component của từng nhóm: Mesh, Effect, Renderring, Physics, Audio, Terrain. Giả sử cần thiết kế một Game 2D cho máy bay di chuyển vượt chướng ngại vật, nếu máy bay va chạm vào chướng ngại vật thì sẽ bị nổ. hãy trình bày các bước cơng việc cần thực hiện theo tuần tự Thiết kế Game 2D cho máy bay di chuyển vượt chướng ngại vật 25 ... Bước 2: Nhấp phải chuột chọn một đối tượng, như hình? ?3. 7 tôi đã tạo đối tượng con là Main Camera Bước? ?3: Thực hiện lệnh sau: 10 Tạo đối tượng cha, đối tượng Bước 4: Kẻ đường kẻ màu xanh từ đối tượng cha tới đối tượng ... Particle System và chọn Reset 15 Sử dụng hiệu ứng Unity Ứng dụng hiệu ứng vào game 2D, 3D B3: Vẫn tại thẻ Inspector, kéo thanh trượt xuống bên dưới cùng của component Particle System. Bấm ... Cho phép lập trình viên dùng chuột máy tính để tương tác? ?với? ? các đối tượng trong game GetMouseButton Sử dụng khi cần phát? ? hiện và xử lý hành động click chuột của người dùng 23 Lập trình C# Các hàm unity ứng