C u trúc Project Project folder ProjectSettings Settings *.asset Plugins... C u trúc Project Project folder ProjectSettings Settings *.asset Plugins... C u trúc Project- GameObject
Trang 1Bài 2 : Kh i t o d án 2D, t o Game
Object và Sprite
- L p trình Game 2D Bài gi ng 1
Gi ng viên:
1
Trang 4C u trúc Project
Project folder
ProjectSettings
Settings (*.asset)
Plugins
Trang 5C u trúc Project
Project folder
ProjectSettings
Settings (*.asset)
Plugins
Trang 6• Các t p tin âm thanh
Các t p tin mà chúng ta dùng t o nên trò ch i là tài s n (Asstets)
T t c các t p tin, th m c c a các d án Unity u c l u
tr trong m t th m c có tên “Assets”
6
Trang 7C u trúc Project- Asset
Trang 8C u trúc Project- Scenes
Project folder
s
ProjectSetting
s
Settings (*.asset)
Plugins
Trang 9C u trúc Project- Scenes
Trong Unity, scene- m t c nh (hay m t phân o n) ngh a là
m t màn ch i riêng bi t ho c m t khu v c hay thành ph n
có trong n i dung c a trò ch i (ví d nh Game menu)
B ng cách t o nên nhi u Scene cho trò ch i, chúng ta có th phân ph i th i gian t i ho c ki m tra các thành ph n khác nhau c a trò ch i m t cách riêng l
9
M i scene là m t level
M t game có th có
nhi u levels
Trang 10C u trúc Project- GameObject
Project folder
ProjectSettings
Settings (*.asset)
Plugins
Trang 11C u trúc Project- GameObject
M t i t ng c th trong game g i là m t game object, có
th là nhân v t, v t nào ó Víd : cây c i, xe c , nhà c a,
ng i
Khi Assets c s d ng trong Scene, chúng tr thành Game Object – m t thu t ng c s d ng trong Unity ( c bi t là trong m ng l p trình)
Game Object ch a ít nh t m t thành ph n là Transform
Transform là thông tin v v trí, góc xoay và t l c a i
t ng, t t c c mô t b i b 3 s X, Y, Z trong h tr c t a Thành ph n này có th c tùy bi n l i trong quá trình
l p trình nh m thay i v trí, góc quay và t l c a i t ng (so v i i t ng g c) qua các o n mã
11
Trang 12C u trúc Project- GameObject
• GameObject là m t l p c b n trong Unity
• M i GameObject ch a nhi u thành ph n(compoments)
• M i Component ch a nhi u properties
• Có th thay i giá tr property i u khi n m t object
• Có th thêm/s a/xóa m t component trong m i
Gameobject
Trang 13C u trúc Project- GameObject
• Ví d v GameObject:
– Object c b n: Cube, Sphere, Capsule, Cylinder, Plane
Plane
Trang 15C u trúc Project- GameObject
• Ví d v GameObject:
– Object mô hình: table, house, man, room,…
Trang 16C u trúc Project- Components
Project folder
ProjectSettings
Settings (*.asset)
Plugins
Trang 17C u trúc Project- Components
M t Game Object s có nhi u thành ph n c u t o nên nó
nh là hình nh (sprite render), t p h p các hành ng (animator), thành ph n x lý va ch m (collision), tính toán
v t lý (physical), mã i u khi n (script), các thành ph n khác M i th nh v y g i là m t component c a Game
Object
B ng cách “g n” (attach) chúng vào trong Game Object, chúng ta có th ngay l p t c áp d ng tác ng c a chúng lên i t ng
Nh ng Components ph bi n trong quá trình phát tri n trò
Trang 18transform regidbody camera Light animation constantForce renderer
audio guiText networkView guiTexture collider hingeJoint particleEmitter layer
active tag
Game object
C u trúc Project- Components
Trang 19C u trúc Project- Transform Components
• Position: in X, Y and Z coordinates
• Rotation: around X, Y, and Z axes, measured in degrees
• Scale: along X, Y, and Z axes Value “1” the original size
Trang 20C u trúc Project- Object Transform
Trang 21C u trúc Project- Script
Script c Unity xem nh m t Component
Unity cung c p cho chúng ta kh n ng vi t Script b ng c 3 ngôn ng là JavaScript, C# và Boo (m t d n xu t c a ngôn
ng Python)
Unity ã xây d ng s n m t t p h p a d ng các Class, Function, … có th ng d ng trong quá trình l p trình
vi t Script, chúng ta s làm vi c v i m t trình biên t p Script c l p c a Unity, ho c v i ch ng trình Mono Developer c tích h p và ng b v i Unity
Mono Developer là m t IDE khá t t l p trình khi cung c p
y các ch c n ng c a m t IDE hoàn ch nh t ng t Visual Studio Mã ngu n vi t trên Mono Developer s c
c p nh t và l u tr trong d án Unity
21
Trang 22C u trúc Project- Prefabs
Là m t khái ni m trong Unity dùng s d ng l i các i
t ng gi ng nhau có trong game b ng cách ch c n kh i t o
l i các giá tr v trí, t l bi n d ng và góc quay t môt i
t ng ban u
Ví d : Các i t ng là ng ti n trong game Mario u có
x lý gi ng nhau, nên ta ch vi c t o ra m t i t ng ban
u, các ng ti n còn l i s s d ng prefabs Ho c khi ta lát g ch cho m t cái n n nhà, các viên g ch c ng c s
d ng là prefabs
22
e
Trang 23C u trúc
Project
23
Trang 24Kh i t o và c u hình d án Game 2D
T o d án
B t Unity lên, vào menu File/New Project
24
Trang 27Kh i t o và c u hình d án Game 2D
C u hình d án 2D
Sau khi t o d án xong, Hierarchy s có m t i t ng là Main Camera Chúng ta c n i u ch nh ki u hi n th Scene là 2D
c a s Hierarchy ch n Main Camera c a s Inspector s
hi n th các thông s c a camera, ta s ch n l i giá tr Projection hay phép chi u là phép chi u vuông góc thay cho phép chi u ph i c nh
27
Trang 28Kh i t o và c u hình d án Game 2D
C u hình d án 2D
Ti p theo, c a s Project, ta s t o s n các th m c
ch a t t c các tài nguyên có s d ng trong game sau này
l n l t là: Animations, Prefabs, Scripts, Sprites, Sounds, Scenes
R-Click vào th m c Assets c a s Project, ta ch n Create,
ch n Folder
28
Trang 29Kh i t o và c u hình d án Game 2D
C u hình d án 2D
K t qu nh hình sau:
29
Trang 30Kh i t o d
án Game 2D
30
Trang 31Game Object
T o m t Empty Object
menu ta ch n GameObject, ch n Create Empty
Ta có th i tên, sao chép hay xoá các i t ng thông qua c a s này
31
Trang 32 Có th thêm các component ho c nhóm các i t ng khác l i v i nhau thành m t nhóm, ho c s d ng các empty object cho các m c ích khác (s ng d ng sau)
32
Trang 33Game Object
T o m t Parent object và Child object
Parent object: là m t i t ng ch a các i t ng con khác, g n li n v i nhau
Child object: là m t i t ng n m trong m t i t ng khác, g n li n v i nhau
t o các i t ng parent và child, ta ch vi c kéo th m t
i t ng có s n vào trong i t ng ã có trong c a s Hierarchy Khi thay i các i t ng con thì ch có tác ng trên i t ng con ó.Khi thay i i t ng cha thì các i
t ng con s thay i theo
33
Trang 34Game Object
T o m t Tag
Tag là m t thu c tính c a c a m t game object Ta s d ng thu c tính này m c ích xác nh và phân bi t các i t ng
v i nhau, khi x lý s ki n hay b t k v n gì c n
Ch n vào i t ng mu n tag, sau ó vào Inspector thêm tag
34 Thêm danh
Trang 35T o Game
Object
35
Trang 36m t thành ph n là SpriteRenderer trên các GameObject th c thi
ho
n i dung c a b c nh cho m t i t ng game
nh và m i hình nh dùng cho m t i t ng
multiple v a ti t ki m dung l ng v a d qu n lý
36
Trang 38Sprite
Cách t o m t Single sprite
c a s Project, ch n th m c Assets, R-Click vào th
m c Sprites, ch n Import New Assets, sau ó tìm n
m t hình nh nào ó
c a s Inspector, ch n Texture Type là Sprite, Sprite Model là single, sau ó nh n Apply
38
Trang 39T o singer
sprite
39
Trang 40Sprite
S d ng Multiple Sprite
T phiên b n 4.3 Unity có thêm công c Sprite Editor s
d ng trong vi c c t nh t multiple sprite
thay i ki u c a m t b c nh thành multiple sprite ta làm nh sau : click ch n b c nh c n chuy n trong m c Inspector ta ch n Texture Type là Sprite và Sprite Mode là Multiple
40
Trang 41Sprite
S d ng Multiple Sprite
c t nh ta click vào nút Sprite Editor , trong Sprite Editor
ta có th click vào nút Slice c t nh theo hai ki u :
• Automatic : Unity editor s t ng tìm nh ng hình nh khác nhau ho c ta có th dùng chu t ch n vùng nh mà
ta c n c t
• Grid : c t nh theo d ng l i là nh ng ô hình ch nh t v i kích th c tu ch n
41
Trang 42Sprite
S d ng Multiple Sprite
Sau khi ã ch n c các nh c n c t ta n Apply l u l i
Sau khi c t nh thì các nh ã c t ra c s d ng cho m t
i t ng trong game gi ng nh m t single sprite
42
Trang 43 Trong khi ó n u ta dùng multiple sprite c t nh
theo ki u Grid thì s d dàng h n nhi u và c ng ti t
ki m b nh vì ta ch c n s d ng 20 file nh
43
Trang 4444
Trang 45Sprite
T o Multiple sprite
Sprite Editor Type:AutomaticSlice, Unity s t ng xác
nh vùng bao nh nh t cho các sprite cho chúng ta
Ho c chúng ta có th t dùng chu t xác nh các vùng bao này
Nh n nút Apply
45
Sprite editor
Trang 46Sprite
Thêm Sprite render cho Empty GameObject
T o m t Empty GameObject, t tên là Ground Sau ó ch n
i t ng này, c a s Inspector ta ch n Add
Component sau ó ch n Rendering, ch n Sprite Render
46
Trang 47Sprite
Thêm Sprite render cho Empty GameObject
Ti p theo, m c Sprite Render c a s Inspector, ta ch n Sprite v (Nút khoan tròn )
47
Chú ý: b n có th kéo th tr c ti p t th m c sprite vào
c a s Scenes
Trang 48T o multiple
sprite
48
Trang 50Chu n b bài sau
50
Trang 51THANK YOU!