TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN
KHOA CÔNG NGHỆ THÔNG TIN
PHÁT TRIỂN GAME 3D VỚI UNITY TRÊN
MÔI TRƯỜNG ANDROID
TP.HCM, 2011
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN
KHOA CÔNG NGHỆ THÔNG TIN
PHÁT TRIỂN GAME 3D VỚI UNITY TRÊN
MÔI TRƯỜNG ANDROID
!"#
TS.TRẦN MINH TRIẾT – TRẦN DUY QUANG
NIÊN KHÓA 2008 – 2011
$%& !"#
!"#$%&'((
)*+,-./
$%& '(
!"#$%&'((
)*+012
)*
34%5#0%6* 7827"9,:;<
*=8" !><*?@2A*34%=2?#
#
34%5#0%69!9B"#,:>C
,-./"D10*34%9*EA:=2?# 34%F
50%61<GH2>I9*J"ID./334%
0KB+L?+#*#2?#
34%F5:0%6EEMBKN 79**>C
0.<"91O*34%I@BKP19*I$%
+QK
34%5R1B6EEMBS"!T"O+#1<1U>
V"3W+#V+34%9*I3@@$F,9*EA
:+#
!X.Y34%>AM*##+$9*<%++#@0$*
Z",MME[@79@\IBE"@P%*E=0%
7+#CD10*KN 7+#1<
8%=2
LL]*^*#],6
+,-
./+012_]9`%4ab+-c9%79,:d.9*.
23452./678/9:;/_e9!9B"9bH
6<292=/>6?@62A/_Q#(fg'hg&'('B#&'g'&g&'((
4B2C0>12DC%`72+#5.=.i
E2"F/9+012j%70BV.?#"",6=2"
@BK0<,k"l_
• 8JK+?m4c
• nO"P+L?+#,909*K9C5
.=%4*d.9*.+-c
• !70V."X9,.R%4E[5.=
• bYc5.=2%(%4ab*d.9*.V.R%4
64*,k
G4B@66?@2A/D
• (fg'hg&'('o(fg'pg&'('_C%`?09Cd.9*.
• (qg'pg&'('o(qg('g&'('_C%`9C%49d.9*.
• (rg('g&'('o(rg((g&'('_C%`,+2#%%4ab9d.9*.
• (hg((g&'('o (hg(&g&'('_ C%`)%4m4s9k#%%4ab
9d.9*.
• (pg(&g&'('o(pg(g&'((_C%`,65.=%4ab9
d.9*.+-c
• &'g'(g&'((o&fg'(g&'((_]P+L?E@5.=%4
ab64*,k"t:,90
• &qg'(g&'((o'&g'(g&'((_!70X9,@B93+#V.%4
• 'ag'(g&'((o&'g'&g&'((_n.=%4>
$3@/6H/@I=" 91JK>63/9K/LMK
6NMO6?@62A/
P>FP/64/941/967Q/9
*RR
"*RS
*T
8#"2*<.V>9u#,62@7`B9*
VEAv#3;2*<@7R6#.#*
IVMI"E.i2*<1:9L.<
+#*3"9*@7`1\K09P)%4992*<
.V>9u#3+EA(-9w
%492*<.V6@7E,-,9%P,
P2kC9L9G"`6%3%69,-@.i%4
9.VB#t&b",+-E=1YJ722./
BB1O.VE%<`<,k.iR\L
C*".it<9*@7a?
P+C+%#6%4ab9.V9u$*">
E05Li*9:I`*<%4abC0T%M"%
EAV<9B1O.Ve*E*"%4m4abF
@7Q9`+#s9k#%%4*B1O.V+-?2
?#@,d.9*."xe
8V.+$34%=21*t%+2C%`m4c+#
E.ic`5.=%4ab*2*<.V9%79,:
d.9*.
!
"#$%&'&((()*+
', &/0-12.)
1.1.1. Sự phát triển của Android
#*('g&''h2?#d.9*.>5L29.V
9*EA$%&''pC2*<<2?#d.9*.DB%,k9
8,E=@<@9*$%&'('C#9$%B
1OE.i?0d.9*.>5L29%9V"Q>J-*B
2*<+7.u9HA
10%-i,k":+%##9`=.*5
.=.i92?#%u#`%#%*d.9*.9`
7@Z*J-,e%E")"e*m9EE*" "
!**9*9*"L0?*d.9*.#?0P*L)**49L
@7@Z*#FPd.9*.>3!**9**@\*<@
*0
d.9*.>9u#2?##+#9LJ1B9B-2
yL?>E05L>*9:?%/%F,*<E.i
2?#d.9*.QJ7*BEL
((
(a) T-Mobile G1 (HTC Dream)
U9FV/D6>>WDXXYYYZ6>@Z@4M[
(b) Motorola-DROID
U9FV/D6>>WDXXYYYZ6>@Z@4MX[
(c) Orange San Francisco Android
U9FV/D6>>WDXXYYYZ\]=\6W64/^Z@4MX[
(e) Sony Ericsson Xperia™ X1
U9FV/D6>>WDXXYYYZ\4/J^_2@\\4/Z@4MX[
345&Galaxy S
j8t__ggzzzE%E*%g+l
364789:;
j8t__ggzzzE*49EE**%gl
Hình 1.1 Một số hình ảnh điện thoại chạy hệ điều hành Android
(&
E"%V7PO9,:-<!{%->,9I1*
*%2?#d.9*.>+,k5e%19O9,:2
*<.V7%_
Hình 1.2 Bảng thống kê tình hình tiêu thụ điện thoại của các hãng
j8t__ggzzzE*%gl
8IB2*<7%E.i2?#d.9*.>+,kK%X
8*@+#d4`./O9,:2*<7%B-b=4*
EA2PO9,:$%&''p+#$%&'('"7P
9,: E>,91**CC$9,uI2?#
.#*2*<9*KN|$%&'('
S**9*L"9*$%+QK"uHN|"IB2*<E
.i?0d.9*.,k,:%?6E*+-EA,k19
.R%e%1"+-aaa'''''B2*<d.9*.,k5L5,uS
<"2?#d.9*.>B%-a&"q},:.Y9*#B-"
?6&"p}E*+-2?#e%1
(a
S**9FD9G?>E05L2*<>$O2*<
7%,)"e%E"d49+# +-%$9,u
,k#~(&r}"(~r~}"r'p}.ar(}E*+-Y@•$%9,-9*&
># +#e%E>B%~f}O9,:2*<E.i2?
#d.9*.
;#%VE=@2K9O9,:.V1u6('$%9u<"
,?1L@•2?##*`+,k%X,k2?#e%1
8*@;?"AV$9,ud.9*..€99L+#+/,
?.L20%<
Hình 1.3 Thống kê tình hình các phiên bản Android
j8t__gg.4+4*49.9*.*%gl
4*10PCC102?#d.9*.PB
I(g&'((*L"10%-L2?###d.9*.
&a>%X9*10P+-'"~}
(~
8,+#PB$%&'(("L0102?#d.9*.&5
>B%Bhr"~}"$%~"~}E*+-(&g&'('4*.=*9*
$%%-#"2?#d.9*.&(E[%0%9*@0
&10d.9*.&&+#&aE[%%$,E[@7*,1*
*#
A@%-LCEA,k.i+#%49d.9*.!9@4><-
*EA&p&pa+#%4B%(p~}
Hình 1.4 Số liệu thống kê các ứng dụng mới được xuất bản theo tháng (bao gồm ứng
dụng game)
j8t__ggzzz.9*1*%l
(f
Hình 1.5 Số liệu thống kê tỷ lệ giữa ứng dụng và game
j8t__ggzzz.9*1*%gEE4E5l
1.1.2. Game 3D trên Android
O9,:%4>E7JQ?$%9*:"+-E=s
9kI72B"B-%4ab>6+#.€0,k@
ICt<VEA
2.iLC.=E•#5,-@9`
%4%*14Q.i%#0%`%*-20%1B#+3
5*"5*.`?@`+9*%4>9u#%XO
9*=%4ab*L
8$%&'('@B3.L%VL+,k1=%4.VY
E=1YJ?0B#MM"9*$%&'((#TE[
#:@M*9#*E=<9"9`+#,:.YE[,k@B
%V:@•E7V,QLI=%4"s%.VD*
!V+#%4ab1`9d.9*._
(q
(a) Game Hero of Sparta
U9FV/D6>>WDXXYYYZ52^>92=2>_2Z@4MX[
(b) Game đua xe Asphalt5
U9FV/D6>>WDXX>2/6>^Z5/X[
(c) Real Football 2011 v3.1.2
U9FV/D6>>WDXXYYYZ:=]=>\Z@4MX`4_FMX[
34<(&=
j8t__ggzzz49*.9*.*%gl
Hình 1.6 Một số hình ảnh về game 3D trên Android
2"9L?44s9k#%%4ab9d.9*.b*34%
C%,k%V%444A``5.=%4P@0*E
34%#44094.49+#?%7CY39
%#C"`#%%7C+`V"s9k+<%I+
`"s9k294Ae#%VEA%444ab*d.9*._
abcD‚] odm#%V10*9Q44‚] E*d.9*.;
#%V44ab%€P"\"P$,6AP
]2d"$D#,+2,k+BB1v8bj7i*Z=
*.4 g ƒƒQ„+l*AV5N!V,`%44##
*Z3+B%4+#4E*#*#9?.4E@*"
(r
.)bn,k9`3B.#*?&b*B:`%
#,+2#+/,s9k@`%9+<%I+`9?ab
O625=e"D#%V44,6%<@%<e+.Y7I`
+BE99*%4"%V7IP,:1BB
/2>JD#%V9*I%444@J1B2"@0$
9`9R6?"9C1`<9….*zE+#!xe"+#
`5L9%4*….*zE"!"xe"d.9*."…"…41"n1*5aq'"
]e*ac<*9,k?*<%4ab.<"s9k%*99L
?%7CO.<@"s9k<*%7C9=B,k#2
,-./?"Vt-+-.€#9c&10#c
]9*PP+#c†944`,:.Y.€.#="+C+%#c
@7D.#*%V7-2"%#@`0-#%%4@7
F`E.i,k%V.€.#
SuP$2+:+#J1Bc"9*+$#%
34%,k*2%+iC%`
;?##V,-C%`72Q5.=.i!i
?##C%`44c+#E.ic5.=2%%4ab`
*<64*,kj9o1E4l<9%79,:d.9*.*B1O.V
;`=2,k,k?#V.+$1*t%_
• )-2JK+?d.9*.
• C%`JK+?@B93c+#<*.i
9*c
• C%`+L?,*.%7C+#*%4"#%+`V"
<*OC"*.2"%+#294`9tQ
,90
• n.=+#9`.i%4`*<64*,k1vc
(h
!
+$1*t%f,6_
67Q/9D)-2JK+?E=9`d.9*.B1O.
V9%79,:d.9*."%4ab9d.9*.
67Q/9KD)-2JK+?c"9C1#@2%610"
P$J1"*.2"X12#JK+?@B93m4c.*
34%5O
67Q/9eD9C1#+L?+#0@5.=.i%4ab
9c*d.9*.
67Q/9D9C1#%VEAX9,P.i%45.=+#
@B939*%4
67Q/9fDB+#,-9`
(p
"#$% &&'(
$% ((>-080?
%&@>A%#?!B
CD>&E&F9"GHI+&
>J)
'()*
;>K9t:@•#%%49?†E$10+#1t+-I`
VMcab%<E%<@•.2*+%#3
%A`2EAV69*@7a??0* 72
*#<*9%V1,-V%-+?E=@129*72#%%4ab
2"%B*,:6(0%9L@<+##*9*Q
`V",672#,k.i+#*%428%E[%u9
%V9%-9*B-%4ab?0*
cab,k.Y`#%+.4*%4ab"*XIV.P,6
,`2@B93"*<Cab:=c**+-b94*9"
S4.49%444"9**E*9K4)%4S.499*@P<.Y%7
9,:tPkuK9C9`%4#P
c#%V9*I44,k-#%%4@7=@•,
V1u@0$2+:#9`9R6?9C1
`<9….*zE+#!xe"+#`5L9%4*….*zE"!"
…"xe"d.9*.)%4F`699C.2z417K
c…41]49c%-1JE@0$5L9%49z.4*!"
+#0n1*5aq'"]e*a
&'
Hình 2.7 Hình minh họa đa nền
j8t__gga.*%gl
D+-@*0?1\9@@%Aj(f''cebl#109*>v%9*
3".‡<28%EA?#+/#K-,%#
>10c†944"?P$K9j84z*9@l1OM
0%,@70#+L?K-B%A9`%V=%4%
9
#*$%&''p"cv%9**f%444AL*+2E05L%4
+-DE~$%9`c~"5BEc94m4a")%419*
m4j,k e.*%+?9`eHcdbl+# 9m4&,k#
2,-./c9L*36BIRE•%VVt=
-+-.€#9SL?C@7`3?`*0%\
+#,k90:"%
H9C<*OCF,95LQ%?%abe!5"!"
4%~b9Le%<+#E=2kc#+7Y-
&(
e%<_c`<*9,k?*<%4ab.<".€E.i+-
,:#%%4,2"L,k*"<B92
?#
e=2k_B3#%V,:.Yab%5"!*X
%?%%>t%uS4.49CK0#2"3E[%VkB
-@+B%49c#"1u7+2<*%7CabE[9u.€
.#69L?"+2@BkI,:9C+#,:B@B%7
CE[+#2K069*c3`%*99=B
ˆ4%7CB@B+#E[B@B*#2BB,5*9*@
7+2%*9D.€9%V7,+20.Y7i
@`=2+B%43E[05L39%V.<#*+#
%sE<%7C3<0%*9<"+#,B#K%L
:9*+2<*+#DE%7C4*N%A8*#9c
R*39=B<*%7CB%A2XVP+
N9*cF=@•.€.#+#s9kE•?$
+,-./) 01234%'(
2.2.1. Hình thành
]Gc1,k+B1u„*%d4+#*$%&''(e7
,kC#+#*$%&''f+#1M+-10(';B$%&''r"
c,k10&'c1Ms9k]*4+#*$%&''h#*
qg&'('"cPs9kd.9*.+#*9:10a's9k
d.9*.+#*pg&'(' `LAV9`c@
2.2.2. Giải thưởng
c>*<,k?0-+-I0PE_
8$%&''q"c<‰S4EcE4*ˆ!xen)9E‰<d4ŠE……b
;#%V7i9`%4<,kL,k.*0
,uP#,9
&&
8$%&''p"c4**4E9*‰*f7%4$%‰.*
)%E9J
8$%&'('"c*<0S4Em4†E.*b4+4*!‹41C
"04**|*+*dz9.…e944„*9u`*<
%?%
2.2.3. Khách hàng
c,k9&f'''',:$@NE.it%S*" 9**84z*9@"
*o *"bE4"m49*d9E"m)x"!9*E*ˆ"8ded"c1E*ˆ"…949
S9*E">%-\"V"E++#I,:
%%
"5!4%&&'(
!79,:9`,kPk+-P$@BQ"@0$DEt
"$@`%9B"+#X12P$54%9,-%49*
35.=j+4%494+4zl
9`@,k9??0_
,69CV9….*zE+#!xe
9z41"7Kc…41]49 *|494m5*949"
†94ˆ*5"eˆ9"x49" 9*%4"*0….*zE+#!xe
9!xebE1*9.z.4
*84.*…j%4E4%l
*]*4"].*j%4E4%l
*)**4d.9*.j%4E4%l
*!9*E*ˆn1*5aq'j%4E4%l
*e*]e*aj%4E4%l
#j%*.4"%"C0"l,k0+#*9*c+#=V
B#E=Jcs9k@`O.<Qabe
!5"!"S4.49" 4%~b+# 44ab
)9E 44 E .i b94ab j….*zEl" x4) j!" ….*zEl"
x4)mej]*4xel"+#d]|@9…
s 9k 1% %" 94ˆ4* %" 95 %" e944 e4
d%14xE*++
&a
cdEE4e49+49_;#%VP$@%-c"4*cE[
L%V2AK0N4*.<10*L0EE4+#0E9
;#%V@*#B*+2#%%4%*9
F,EI"9<EE4,ke49+49<
9 .1E4 *4E*94 ]*E94eH +# ` 9 9 0 ! /
….*zE"5dEE4e49+49R\%V@*0Pi9V#Œ~pp*%s
10*c"+#%V4E4c]9*
6 17189:2;'(
2.4.1. Asset
;#@*#*+25.=%49*%V9*‚4c #
#`#C0"%"*X%V%7CabE•cE[
%BB3E[E.i`<*9#*9R6
;#N.*<E*9*1L@•,%i9*‚4E.icCL0
#0,k,9I9*%V,%i*#dEE4E
Hình 2.8 Asset trong Unity
2.4.2. Scene
9*c"3`54%e44E#%#6"LV69w"
*X+YV.9R6P.i,!%4"x*E"d1*
&~
Sv5.=9R6+-?0"3E[`A:
0+#2%@9R69w%V
+#P5
Hình 2.9 Các scene của Unity
2.4.3. Game Object
%V#,kE.i9*%VE44"@3`*#
##%V•)%4x1‚4Ž%-!s)%4x1‚40PL%V
#"##•9Eˆ*9%Ž9Eˆ*9%Z`1BJ
K"•2OBA,kQ9*1**#34%E[
)%4x1‚49*EJ499#'G&(
Hình 2.10 Kéo tài nguyên vào Scene để sử dụng
&f