Đăng ký Đăng nhập
Trang chủ Lập trình game trên nền tảng Unity 3D...

Tài liệu Lập trình game trên nền tảng Unity 3D

.PDF
36
2637
125

Mô tả:

Mục lục CHƯƠNG 1 : GIỚI THIỆU VỀ ANDROID ...................................................... 3 1.1 Sự phát triển của android..................................................................... 3 1.2 game 3d trên android ............................................................................ 8 CHƯƠNG 2 : GIỚI THIỆU VỀ UNITY ........................................................... 10 2.1 Unity ............................................................................................................ 10 2.2 Lịch sử phát triển của unity............................................................... 12 2.2.1 Hình thành & Phát triển.............................................................. 12 2.2.2 Giải thưởng ...................................................................................... 14 2.2.3 Khách hàng ....................................................................................... 14 2.2.4 Marketing.......................................................................................... 14 2.3 Tính năng của engine unity ............................................................... 15 2.3 Các khái niệm cơ bản trong unity ................................................... 16 2.3.1 Asset .................................................................................................... 16 2.3.2 Scene ................................................................................................... 17 2.3.3 Game Object ..................................................................................... 18 2.3.4 Component ....................................................................................... 18 2 2.3.5 Script .................................................................................................. 19 2.3.6 Prefab................................................................................................. 21 CHƯƠNG 3 : ĐỒ ÁN UNITY 3D – THE STACK GAME .......................... 22 3.1 Giới thiệu .................................................................................................. 22 3.2 Chi tiết đồ án ........................................................................................... 24 3.2.1 Giao diện lập trình Unity 3D .................................................... 24 3.2.2 Kiến trúc Project ........................................................................... 25 3.2.3 Mã nguồn Script game ................................................................ 26 3.2.3 Biên dịch và chạy game .............................................................. 31 CHƯƠNG 4 : KẾT LUẬN .................................................................................. 35 4.1 Kết quả đạt được ................................................................................... 35 4.2 Hướng phát triển ................................................................................... 35 TÀI LIỆU THAM KHẢO .................................................................................... 36 3 CHƯƠNG 1 : GIỚI THIỆU VỀ ANDROID 1.1 SỰ PHÁT TRIỂN CỦA ANDROID Vào tháng 10/2008 hệ điều hành Android đã xuất hiện lần đầu tiên trên di động. Trong suốt năm 2009 thì điện thoại chạy hệ điều hành Android chỉ đếm được trên đầu ngón tay. Nhưng thật sự đáng kinh ngạc khi trong năm 2010 thì hàng trăm thiết bị sử dụng nền tảng Android đã xuất hiện rầm rộ, từ các hãng tên tuổi lớn cho đến các điện thoại vô danh ở Trung Quốc. Các phiên bản mới liên tục được cập nhật, nhờ vậy mà các nhà phát triển tự do xây dựng các ứng dụng trên hệ điều hành mở là điểm làm cho Android phát triển nhanh chóng. Lôi kéo đầy đủ các tên tuổi lớn như Samsung, LG, Sony Ericsson, HTC, Motorola... trong đó, tất cả đều coi Android là nền tảng chính cho thấy Google rất khôn khéo. Và cũng chính Android đã giúp Motorola thoát khỏi giai đoạn khủng hoảng. Android đã trở thành hệ điều hành hàng đầu và rất phổ biến trên thế giới hiện nay. Rất nhiều hãng sản xuất đã cho ra đời nhiều mẫu máy cũng như chủng loại sử dụng hệ điều hành Android từ phổ thông cho đến siêu cấp. 4 (a) T-Mobile G1 (HTC Dream) (b) Motorola-DROID (Nguồn: http://www.htc.com) (Nguồn:http://www.htc.com/) (c) Orange San Francisco Android (d) Samsung Galaxy S (Nguồn: http://www.slashphone.com/) (Nguồn: http://www.samsung.com/vn) (e) Sony Ericsson Xperia™ X1 (Nguồn: http://www.sonyericsson.com/) (f) Galaxy Tab dùng Android (Nguồn: http://www.sonyericsson.com/) Hình 0.1 Một số hình ảnh điện thoại chạy hệ điều hành Android 5 Thị trường điện thoại thông minh trên toàn thế giới đã tăng trưởng 1.1% trong năm 2016Q3, với 363,2 triệu lô hàng, theo dữ liệu từ Tổng công ty Điện thoại Hàng quý Toàn cầu của Tập đoàn Dữ liệu Quốc tế (IDC). Các lô hàng tăng trưởng 5.2% QoQ, so với 345.500.000 đơn vị trong quý II năm 2016. IDC dự kiến sẽ thấy sự sụt giảm đáng kể trong các lô hàng điện thoại thông minh vào năm 2016 với Trung Quốc cho thấy một mô hình tăng trưởng trưởng thành hơn. Android chiếm ưu thế trên thị trường với 86,8% thị phần trong năm 2016Q3. Samsung vẫn tiếp tục vai trò lãnh đạo toàn cầu mặc dù Galaxy Note 7 đã thu hồi. 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 từ 2013 đến 2016 (Nguồn IDC Analyze The Future) 6 Samsung giữ vị trí số một trong thị trường điện thoại thông minh trên toàn thế giới với 21% thị phần trong năm 2016Q3. Sự duy trì vị trí này xuất hiện trong khi nhớ lại Galaxy Note 7, nhờ sự thành công liên tục của các thiết bị Edge S7 và S7 Edge. Danh mục thiết bị được sắp xếp hợp lý của Samsung, bao gồm cả dòng máy J-series, đã chứng minh thành công ở nhiều thị trường cấp trung, thường được thống trị bởi các thương hiệu của những địa phương. Điều mà Samsung hồi phục từ thiệt hại cho thương hiệu của hãng ta vẫn có thể nhìn thấy được. Apple đã cho ra tổng cộng 45,5 triệu sản phẩm, giảm 5,3% so với năm trước từ năm 2015Q3. IPhone SE mới đã làm tốt ở cả thị trường mới nổi và phát triển. IPhone 6S tiếp tục là thiết bị bán chạy nhất trong quý này, tiếp theo là thiết bị mới nhất của nó, iPhone 7. Huawei tiếp tục được trong số ba vị trí trong quý này. Tiếp tục đẩy mạnh các thiết bị cao cấp từ danh mục đầu tư, với các thiết bị P9 và Honor V8. Các lô hàng điện thoại tầm trung và cao cấp chiếm khoảng 57,2% số lô hàng điện thoại thông minh của họ trong năm 2016Q3. Giá bán trung bình của các thiết bị Huawei đã tăng lên đều đặn cả YoY và QoQ. Những gì còn lại sẽ được nhìn thấy là làm thế nào thành công Huawei có thể được thâm nhập vào phân khúc cao cấp ở Mỹ. OPPO, đã lật đổ Lenovo vào năm 2016Q1 để đứng ở vị trí thứ 4, và kể từ đó giữ lại vị thế của nó. Với thị phần 7,1% thị trường điện thoại thông minh, hoạt động chính của OPPO là ở Trung Quốc. Với tiếp thị tích cực nó tiếp tục tìm thấy thành công ở các thị trường châu Á bên ngoài Trung Quốc. Các R9 theo sau là A33 là thiết bị hàng đầu của nó trong quý này. 7 Vivo, đã vào năm hạng mục hàng đầu trong năm 2016Q1 ở vị trí của Xiaomi, tiếp tục ở cùng vị trí trong quý này. Nó duy trì động lực mạnh mẽ ở Trung Quốc, và đã có được sự tăng trưởng đáng kể ở Ấn Độ và Myanmar với X6 là chiếc điện thoại bán chạy nhất. Sử dụng xác nhận người nổi tiếng và quảng cáo, vivo đã có thể nắm bắt được một mục đích rất lớn và tạo ra một sự hiện diện thương hiệu mạnh mẽ. Dưới đây mô tả số liệu của các thiết bị di động đang chạy một phiên bản nhất định của nền tảng Android. 8 Hình 1.3 Thống kê tình hình phiên bản Android (Nguồn : developers.android.com) 1.2 GAME 3D TRÊN ANDROID Thị trường game đã sôi nổi từ nhiều năm nay. Trong thời gian gần đây, với sự hỗ trợ của những công nghệ tiên tiến, thế giới game 3D đã thật hơn và diễn tả được khá đầy đủ những gì tồn tại của cuộc sống thật. Việc ứng dụng các cấu hình phần cứng dựng sẵn là xu hướng chung khi phát triển game mobile. Từ ứng dụng màn cảm ứng đa điểm cho tới hệ cảm biến hành vi giúp xoay ngang, xoay dọc để điều khiển nhân vật trong game đã trở thành mặc định trong các tựa game 3D cao cấp. Năm 2016 kết thúc đánh dấu một nấc thang vượt bậc của các tựa game di động cùng sự bùng nổ của các nền tảng tiên tiến. Và chắc chắn, trong năm 2017 này hứa hẹn sẽ là thời khắc cao trào của sự cạnh tranh, phát triển và người dùng sẽ được chứng kiến một thời kỳ sôi động chưa từng thấy của những tựa game, cỗ máy di động đỉnh cao. Hiện nay, có rất nhiều engine hỗ trợ làm game 3D trên Android. Do đó chúng em cần tìm được một game engine đủ tốt để có thể xây dựng 9 game. Tiêu chí khảo sát của chúng em đó là engine đó phải render nhanh và nhiều mô hình cùng lúc trên màn hình, có thể làm mô hình nhân vật chuyển động, hỗ trợ va chạm giữa các vật thể, hỗ trợ hiệu ứng particle tốt. Sau đây là một số game engine 3D cho Android: • jPCT-AE: jPCT-AE là một bản port từ engine jPCT sang cho Android. Đây là một engine 3D miễn phí, nhỏ gọn, tính năng tương đối ít. • libGDX: là thư viện được viết chủ yếu bằng NDK (công cụ cho phép gọi thực thi code C/C++ từ Java) nên cho tốc độ xử lý nhanh. Một ưu điểm của engine này là nó cho phép chúng ta viết game và test hoàn toàn ngay trên nền desktop. Tuy nhiên, lidGDX được phát triển lúc đầu chủ yếu dành cho nền 2D nên cho đến thời điểm này thư viện này vẫn chưa hỗ trợ kiểm tra va chạm giữa các vật thể trên nền 3D. • Shiva3D: là một engine thương mại khá mạnh. Shiva dùng ngôn ngữ Lua để viết script trong game, một ngôn ngữ ít người biết đến. • Unity: là một trong những game engine khá phổ biến hiện nay, có khả năng phát triển trò chơi đa nền, trình biên tập có thể chạy trên Windows và Mac OS, và có thể xuất ra game cho Windows, Mac, iOS, Android, Wii, Web, Xbox 360, PlayStation 3. Unity tạo ra được nhiều loại game 3D đa dạng, hỗ trợ import rất nhiều mô hình định dạng khác nhau, hỗ trợ tạo mô hình trực tiếp. Lượng tài liệu hướng dẫn nhiều, cộng đồng lớn với diễn đàn riêng. Unity có 2 phiên bản là Unity Pro có tính phí và Unity Free để người dùng dễ dàng lựa chọn, vì vậy mà Unity không chỉ dành cho một công ty lớn chuyên ngiệp, mà kể cả giới làm game không chuyên cũng có thể sử dụng được một cách dễ dàng. 10 CHƯƠNG 2 : GIỚI THIỆU VỀ UNITY 2.1 UNITY Đã qua rồi thời kỳ làm game trên nền Flash căn bản và buồn chán với những chuyển động thật cứng nhắc. Unity 3D mang lại sức mạnh kỳ diệu cho nhân vật mà chúng ta muốn thể hiện sống động hơn trong không gian 3 chiều đầy huyền ảo. Công nghệ cao này tạo ra một bước đột phá mới về sự khác biệt trong công nghệ làm game 3D hiện nay, mang đến cho người chơi 1 cảm giác rất khác lạ và hào hứng trong từng chuyển động, tương lai công nghệ này được áp dụng vào game Việt Nam sẽ mở ra một trang mới trong thế giới game 3D huyền ảo. Unity 3D được dùng để làm video game 3D, hoặc những nội dung có tính tương tác như thể hiện kiến trúc, hoạt hình 3D thời gian thực. Unity hao hao với Director, Blender game engine, Virtools hay Torque Game Builder trong khía cạnh dùng môi trường đồ họa tích hợp ở quá trình phát triển game là chính. Unity là một trong những engine được giới làm game không chuyên cực kỳ ưa chuộng bởi khả năng tuyệt vời của nó là phát triển trò chơi đa nền. Trình biên tập có thể chạy trên Windows và Mac OS, và có thể xuất ra game cho Windows, Mac, Wii, iOS, Android. Game cũng có thể chơi trên trình duyệt web thông qua plugin Unity Web Player. Unity mới bổ sung khả năng xuất ra game trên widget cho Mac, và cả Xbox ONE, PlayStation 4, Windows Store & Samsung TV. 11 Hình 2.1 Hình minh họa đa nền Chỉ với khoản tiền bỏ ra khá khiêm tốn (1.500 USD) là phiên bản pro đã nằm trong tay của chúng ta, dĩ nhiên tại Việt Nam số tiền này vẫn là quá lớn nhưng thật may là đã có phiên bản Unity Free. Tuy nhiên, nhiều tính năng quan trọng (Network) bị cắt giảm nhưng đó không phải là vấn đề quá lớn nếu muốn phát triển một tựa game tầm trung. Vào năm 2009, Unity nằm trong top 5 game engine tốt nhất cho việc sản xuất game với chỉ sau 4 năm phát triển. Unity đứng thứ 4, xếp sau Unreal Engine 3, Gamebryo Engine (được VTC Studio mua về phát triển SQUAD) và Cry Engine 2. Lượng tài liệu hướng dẫn Unity rất phong phú. Hơn thế nữa nó còn có sẵn một cộng đồng cực lớn với diễn đàn riêng. Bất cứ điều gì không hiểu chúng ta đều có thể thoải mái hỏi và nhận được câu trả lời nhanh chóng, tận tâm. Quá trình tạo địa hình cũng như truy xuất từ các phần mềm 3DSMax, Maya, Cinema4D... rất nhanh chóng. Sức mạnh và sự tiện lợi của Unity là vô cùng lớn. 12 ❖ Sức mạnh: Unity có thể tạo ra được nhiều loại game 3D đa dạng, dễ sử dụng với người làm game chưa chuyên nghiệp, chất lượng cao, chạy hầu hết trên các hệ điều hành. ❖ Sự tiện lợi: nếu chúng ta là một người chuyên dùng 3Dmax, hay Maya hoặc phần mềm mã nguồn mở Blender thì quả là thật tuyệt, chúng ta sẽ có một lợi thế lớn khi viết game trên Unity này, bởi công việc tạo các mô hình 3D sẽ trở lên dễ dàng hơn rất nhiều, việc kết hợp giữa người lập trình và người thiết kế các mô hình sẽ nhanh và hiệu quả hơn. Trong Unity chúng ta có thể import trực tiếp các file mô hình đang thiết kế và sẽ thiết kế hoàn thiện tiếp nếu chưa xong trong khi đó công việc import chỉ diễn ra một lần. Không như việc phải dùng các công cụ khác để thực hiện viết game chúng ta sẽ phải xuất chúng ra một dạng nào đó và mỗi lần sửa lại phần mô hình chúng ta lại phải import lại, và như thế là quá mất thời gian trong việc tạo và chỉnh sửa các mô hình theo ý muốn. Ngoài ra Unity còn cho chúng ta trực tiếp tạo các mô hình nếu muốn. Việc đặt các thuộc tính vật lý trong Unity cũng cực kỳ dễ dàng và hỗ trợ sẵn nhiều chức năng. 2.2 LỊCH SỬ PHÁT TRIỂN CỦA UNITY 2.2.1 Hình thành & Phát triển Phần lõi của Unity ban đầu được viết bởi Joachim Ante vào năm 2001. Sau đó công ty được hình thành vào năm 2005 và bắt đầu với phiên bản 1.0. Đến năm 2007, Unity được nâng lên phiên bản 2.0. Unity bắt đầu hỗ trợ iPhone vào năm 2008. Vào tháng 6/2010, Unity chính thức hỗ trợ Android và cho ra đời phiên bản 3.0 có hỗ trợ Android vào tháng 9/2010. Có thể thấy tốc độ phát triển của Unity khá nhanh. 13 Trong năm 2012, VentureBeat cho biết, "Rất ít công ty đóng góp nhiều vào sự phát triển của các trò chơi độc lập như Unity Technologies ... Hơn 1,3 triệu nhà phát triển đang sử dụng các công cụ của nó để tạo ra đồ hoạ gee-whiz trong iOS, Android, PC, và các trò chơi dựa trên web ... Unity muốn trở thành công cụ cho các trò chơi đa nền tảng, thời kỳ này ". Đối với Apple Design Awards tại cuộc triển lãm thương mại WWDC năm 2006, Apple, Inc. đã đặt tên cho Unity là Á hậu hạng nhất về thể loại Đồ hoạ Mac OS X, một năm sau khi Unity ra mắt tại cùng một triển lãm thương mại. Unity Technologies cho biết đây là lần đầu tiên một công cụ thiết kế trò chơi đã từng được đề cử cho giải thưởng này. Một cuộc khảo sát tháng 5 năm 2012 của tạp chí Game Developer cho thấy Unity là công cụ chơi game hàng đầu cho các nền tảng di động. Trong tháng 7 năm 2014, Unity đã giành giải thưởng "Công cụ Tốt nhất" tại Giải thưởng Phát triển Công nghiệp hàng năm của Vương quốc Anh. Unity 5 đã được khen ngợi tương tự như vậy, theo tờ The Verge nói rằng "Unity bắt đầu với mục đích tạo cho sự phát triển game trở nên phổ biến ... Unity 5 là một bước đi được chờ đợi từ lâu đối với tương lai đó". Sau khi phát hành Unity 5, Unity Technologies đã đưa ra một số lời chỉ trích về khối lượng lớn các trò chơi được phát hành nhanh trên nền tảng phân phối Steam bởi các nhà phát triển thiếu kinh nghiệm. Giám đốc điều hành John Riccitiello cho biết trong một cuộc phỏng vấn rằng ông tin rằng đây là một phản ứng phụ của thành công của Unity trong việc dân chủ hóa phát triển game: "Nếu tôi có cách của tôi, tôi muốn thấy 50 triệu người sử dụng Unity - mặc dù tôi không nghĩ Chúng ta sẽ sớm có mặt ở đó.Tôi muốn thấy những đứa trẻ ở trường trung học và đại học sử dụng nó, những người bên ngoài ngành công nghiệp cốt lõi.Tôi nghĩ rằng thật buồn khi hầu hết mọi người là người tiêu dùng về công nghệ chứ không 14 phải là những người sáng tạo. Nơi mà mọi người biết làm thế nào để tạo ra, không chỉ tiêu thụ, và đó là những gì chúng tôi đang cố gắng quảng bá.” Vào tháng 12 năm 2016, Unity Technologies thông báo họ sẽ thay đổi hệ thống số phiên bản cho Unity từ các định danh dựa trên trình tự sang năm phát hành để sắp xếp phiên bản với nhịp phát hành thường xuyên hơn. 2.2.2 Giải thưởng Unity đã đoạt được nhiều giải lớn với những giải chính sau: • Năm 2006, Unity đạt "Best Use of Mac OS X Graphics" tại Apple's WWDC. Đây là lần đầu tiên một công cụ phát triển game đạt được chất lượng do giải thưởng uy tín này đưa ra. • Năm 2009, Unity Technologies có tên trong "Top 5 công ty game của năm" do Gamasutra tổ chức. • Năm 2010, Unity đoạt giải Best Engine Finalist do Develop Magazine bình chọn, giải Technology Innovation Award của Wall Street Journal ở thể loại phần mềm 2.2.3 Khách hàng Unity được trên 250.000 người đăng ký sử dụng gồm Bigpoint, Cartoon Network, Coca-Cola, Disney, Electronic Arts, LEGO, Microsoft, NASA, Ubisoft, Warner Bros, các hãng phim lớn nhỏ, các chuyên gia độc lập, sinh viên và những người đam mê. 2.2.4 Marketing Vào ngày 16 tháng 12 năm 2013, Unity Technologies Nhật Bản đã tiết lộ các ảnh chụp màn hình mới cho nhân vật linh vật chính thức mang tên Unity-chan, tên thật là Kohaku Ōtori (lồng tiếng bởi diễn viên nổi tiếng 15 : Asuka Kakumoto), với triển lãm của nhân vật trong sự kiện Comic Market 85 tại Tokyo Big Sight từ ngày 29 tháng 12 đến ngày 31, nơi sản phẩm theo chủ đề được phân phối và diễn viên lồng tiếng đó đã có mặt tại sự kiện này. Dữ liệu trò chơi có liên quan của nhân vật này được phát hành vào đầu năm 2014. Nhân vật này được thiết kế bởi nhà thiết kế 'ntny' của Unity Technologies Japan là một nhân vật nữ anh hùng. Công ty cho phép sử dụng Unity-chan và các nhân vật liên quan trong các dự án bên dưới theo giấy phép. Ví dụ, Unity-chan có xuất hiện một nhân vật trong Runbow. Tính phổ biến của nhân vật cũng dẫn tới sự xuất hiện của cô trong các bản chuyển thể của VOCALOID, bao gồm cả thư viện âm thanh của riêng cô cho VOCALOID4 và một bản chuyển thể đặc biệt của VOCALOID được thiết kế để làm việc với phiên bản Unity Engine 5.0 gọi là Unity với VOCALOID. 2.3 TÍNH NĂNG CỦA ENGINE UNITY Môi trường phát triển được tích hợp với tính năng kế thừa, khả năng chỉnh sửa đồ họa, chức năng kiểm tra chi tiết, và đặc biệt tính năng xem trước game ngay trong lúc xây dựng (live game preview). Triển khai được trên nhiều nền tảng: • Chương trình độc lập trên Windows và Mac OS. • Trên web, thông qua Unity Web Player plugin cho Internet Explorer, Firefox, Safari, Opera, Chrome, cho cả Windows và Mac OS. • Trên Mac OS Dashboard widget. • Cho Nintendo Wii (cần mua license thêm.) • Cho iPhone, iPad application (cần mua license thêm.) • Cho Google Android (cần mua license thêm.) 16 • Cho Microsoft Xbox ONE (cần mua license thêm.) • Cho Sony PlayStation 4 (cần mua license thêm.) Tài nguyên (model, âm thanh, hình ảnh, ...) được tải vào trong Unity và tự động cập nhật nếu tài nguyên có sự thay đổi. Unity hỗ trợ các kiểu định dạng từ 3DS Max, Maya, Blender, Cinema 4D và Cheetah3D. Graphics engine sử dụng Direct3D (Windows), OpenGL (Mac, Windows), OpenGL ES (iPhone OS), và các API khác trên Wii. Hỗ trợ bump mapping, reflection mapping, parallax mapping, Screen Space Ambient Occlusion v...v... Unity Asset Server: Đây là một tính năng khá mới của Unity, theo đó Unity sẽ cung cấp một hệ thống quản lý theo dạng phiên bản cho tất cả asset và cả script. Đây là một kho chứa các tài nguyên cần thiết cho việc làm game. Khi import cũng như sửa chữa, trạng thái của asset ngay lập tức được cập nhật. Server chạy trên database opensource PostgreSQL và có thể truy cập trên cả Mac lẫn Windows, Linux. Asset Server đòi hỏi một khoản phí phụ trội là $499 cho mỗi bản copy Unity, và một license Unity Pro. 2.3 CÁC KHÁI NIỆM CƠ BẢN TRONG UNITY 2.3.1 Asset Đây là kho tài nguyên cho việc xây dựng game trong một project của Unity. Các tài nguyên này có thể là hình ảnh, âm thanh, hoặc một mô hình 3D có sẵn. Unity sẽ tham chiếu đến các tập tin chúng ta sẽ sử dụng để tạo ra các tài nguyên cho trò chơi. Đây là lý do tại sao trong bất kỳ thư mục chứa project sử dụng Unity thì tất cả các tập tin tài nguyên phải được lưu trữ trong một thư mục con tên là Assets. 17 Hình 2.3.1 Asset trong Unity 2.3.2 Scene Trong Unity, chúng ta có thể xem Scenes là các màn chơi, cấp độ chơi riêng lẻ, hoặc các vùng của nội dung trò chơi. Ví dụ như Main menu, Options, About … Bằng cách xây dựng trò chơi với nhiều cảnh, chúng ta sẽ có thể phân phối thời gian tải và thử nghiệm các phần khác nhau của trò chơi riêng lẻ một cách nhanh chóng và chính xác. Hình 0.1.2 Các scene của Unity 18 2.3.3 Game Object Khi một tài nguyên được sử dụng trong một scene, khi đó chúng ta có thể coi tài nguyên này là một “Game Object” mới. Mỗi GameObject phải chứa ít nhất một thành phần, đó là thành phần “Transform”. Transform chứa các phép để biến đổi góc quay, tỷ lệ hay tịnh tiến của đối tượng. Từ đây trong báo cáo này chúng em sẽ gọi GameObject trong cửa sổ Hierarchy là đối tượng game. Hình 2.3.3 Game Object The Stack 2.3.4 Component Component là các thành phần trong một Game Object của Unity. Bằng cách đính kèm các thành phần vào cho một đối tượng, chúng ta có thể áp dụng ngay các phần mới của game engine vào đối tượng. Thông thường các thành phần này được Unity xây dựng sẵn như ánh sáng, camera, particle, hiệu ứng vật lý… 19 Hình 0.2 Component The Stack trong The Stack (Script) 2.3.5 Script Script là thành phần quan trọng nhất trong Unity, có thể xem scripts như là linh hồn của game. Chúng ta có thể viết kịch bản cho game bằng C#, Java Scripts, hoặc Boo (một dẫn xuất của ngôn ngữ Python). Theo nhiều người đã sử dụng Unity thì code bằng C# sẽ giúp game chạy nhanh hơn và giúp kiểm soát code tốt hơn do tất cả các biến phải được khai báo rõ ràng. Mặt khác ngôn ngữ C# rất tiện dụng để lập trình, nên trong luận văn này, chúng em dùng ngôn ngữ C# để viết kịch bản cho game. Mỗi file script C# là một class bắt buộc kế thừa từ lớp MonoBehaviour, có tên class phải trùng với tên file script. 20 Hình 2.3.5-1 Cách tạo file script mới Giao diện code C# được Unity tích hợp trong MonoDevelop-Unity Hình 2.3.5-2 Lập trình Unity bằng C# trên MonoDevelop-Unity
- Xem thêm -

Tài liệu liên quan