BÀI 3: LẬP TRÌNH TRÊN
UNITY
1
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#.
2
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#
3
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.
4
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.
...
5
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 .
6
Xử lý va chạm đối tượng
Thêm các thành phần vật lý (Physics 2D)
7
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 …
8
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 …
9
Tạo đối tượng cha, đối tượng
con
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
con
Bước 4: Kẻ đường kẻ màu xanh từ đối tượng cha tới đối tượng
con
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:
<Kiểu dữ liệu> <Tên biến>;
Ví dụ:
int BienKieuSoNguyen;
float BienKieuSoThuc;
string BienKieuChuoi;
18
Lập trình C#
Lớp trong 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 trong 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 trong 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 trong 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
1.
Trình bày cơng dụng và các Component của từng nhóm: Mesh,
Effect, Renderring, Physics, Audio, Terrain.
2.
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ự.
3.
Thiết kế Game 2D cho máy bay di chuyển vượt chướng ngại
vật.
25