Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 49 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
49
Dung lượng
1,92 MB
Nội dung
THIẾT KẾ VÀ PHÁT TRIỂN GAME Bài 3: Làm quen với Unity Nội dung Giới thiệu unity Cài đặt unity Bắt đầu project unity Giao diện unity Các khái niệm unity Kiến trúc engine unity Thử project đơn giản TRƯƠNG XUÂN NAM Phần Giới thiệu unity TRƯƠNG XUÂN NAM Giới thiệu unity ▪ Unity phần mềm làm game đa tảng, đời năm 2005 OS X Unity Technologies ▪ Dự án năm 2001 ▪ Unity hỗ trợ viết game hầu hết tảng lớn: Windows, Android, iOS, Linux, Mac OS,… TRƯƠNG XUÂN NAM Giới thiệu unity ▪ Unity xác lập vị platform hàng đầu phát triển game từ ▪ Từ unity 5, trở thành phần mềm cho việc phát triển game đa tảng ▪ ▪ ▪ ▪ Chi phí thấp (nếu so với engine cạnh tranh) Cộng đồng lớn nhiệt tình Phù hợp với người không chuyên nghiệp Kết hợp tốt với công cụ làm đồ họa 3DSmax, Maya, Cinema4D, Blender, Cheetah3D,… ▪ Nhưng bị chê trách loại bỏ Boo UnityScript ▪ Và chất lượng phần mềm thấp TRƯƠNG XUÂN NAM Giới thiệu unity ▪ Unity có nhiều loại giấy phép khác nhau, có free cho nhà phát triển cá nhân ▪ Nếu game bạn bán nhiều tiền (trên 100k USD) unity bắt đầu thu tiền ▪ Unity xây dựng hệ sinh thái xoay quanh việc phát triển game bao gồm chợ bán tài nguyên dùng cho việc phát triển game dịch vụ kèm theo (analytics, quảng cáo, multiplayer, performance report,…) ▪ Có nhiều tài nguyên dùng cho unity trôi mạng, nên sử dụng cho mục đích cá nhân nghiên cứu Nếu sử dụng cho ứng dụng public bị kiện (kể trường hợp ứng dụng miễn phí) TRƯƠNG XUÂN NAM Phần Cài đặt unity TRƯƠNG XUÂN NAM Cài đặt unity TRƯƠNG XUÂN NAM Cài đặt unity TRƯƠNG XUÂN NAM Cài đặt unity TRƯƠNG XUÂN NAM 10 Các khái niệm unity ▪ Sprite: hình ảnh 2D game object ▪ Có thể hình ảnh đầy đủ, phận nhân vật ▪ Animation: hình ảnh động dựa thay đổi liên tục nhiều sprite khác ▪ Frame: trạng thái animation, tạo nên từ hay nhiều sprite ▪ Asset: kho chứa tất loại tài nguyên làm nên game; tài ngun hình ảnh, âm thanh, mơ hình 3D,… TRƯƠNG XN NAM 35 Các khái niệm unity ▪ Camera: game object scene, dùng để xác định tầm nhìn, góc quan sát game object khác ▪ Transform: phép biến đổi hình ảnh khơng gian chiều, tổ hợp phép tịnh tiến, quay theo trục thu/phóng đối tượng ▪ Shader: quy cách render vật liệu lên bề mặt vật thể ▪ Material: sử dụng shader để làm chất liệu cho mơ hình TRƯƠNG XN NAM 36 Phần Kiến trúc engine unity TRƯƠNG XUÂN NAM 37 Unity API Animation Audio Camera CharacterController Collider Component GameObject GUI Input Light MonoBehaviour ParticeEmitter Rigidbody Projector Transform TRƯƠNG XUÂN NAM 38 Unity API ▪ Animation: thực chạy chuyển động mơ hình nhân vật ▪ Audio: hỗ trợ lập trình với âm ▪ Camera: giúp lập trình camera ▪ CharacterController: giúp điều khiển nhân vật di chuyển (địa hình) ▪ Collider: hỗ trợ lập trình va chạm vật thể ▪ Component: lớp cha tất thành phần gắn vào đối tượng TRƯƠNG XUÂN NAM 39 Unity API ▪ GameObject: lớp cha tất thực thể scene ▪ GUI: giúp lập trình giao diện người dùng unity ▪ Input: hỗ trợ lập trình với chuột, cảm ứng đa điểm, cảm biến gia tốc ▪ Light: giúp tạo ánh sáng game ▪ MonoBehaviour: lớp cha tất script muốn gắn vào đối tượng game TRƯƠNG XUÂN NAM 40 Unity API ▪ ParticleEmitter: hỗ trợ tạo hiệu ứng particle đẹp mắt ▪ Rigidbody: giúp tạo hiệu ứng vật lý liên quan đến trọng lực bóng nẩy, lăn, ▪ Projector: giúp chiếu texture lên bề mặt vật thể ▪ Transform: giúp thay đổi vị trí, xoay, biến đổi tỉ lệ mơ hình TRƯƠNG XN NAM 41 Game loop ▪ Kiến trúc chung cho loại game, khơng unity ▪ Gồm bước sau: Start Game Awake() Khởi tạo game Nạp biến toàn cục Bắt đầu chạy game Một vịng lặp vơ tận: • (hoặc) Update • (hoặc) FixedUpdate global statements Start() Update() loop FixedUpdate() loop Kết thúc game Exit Game TRƯƠNG XUÂN NAM 42 Vòng đời GameObject ▪ Awake: chạy thứ load xong ▪ Start: chạy game object không bị disable ▪ Update/FixedUpdate: chạy liên tục theo frame ▪ OnGUI: tạo / cập nhật giao diện người dùng (của UnityAPI) thấy cần thiết ▪ OnDestroy: hủy game object TRƯƠNG XUÂN NAM 43 Vòng đời GameObject TRƯƠNG XUÂN NAM 44 Phần Thử project đơn giản TRƯƠNG XUÂN NAM 45 Tạo project TRƯƠNG XUÂN NAM 46 Thêm đối tượng Sprite TRƯƠNG XUÂN NAM 47 Thiết lập thuộc tính thêm code ▪ Tìm kiếm ảnh google (chẳng hạn search hình ảnh: sprite 2d air force), lấy dạng png TRƯƠNG XUÂN NAM 48 Viết code xử lý TRƯƠNG XUÂN NAM 49