1. Trang chủ
  2. » Cao đẳng - Đại học

báo cáo thực tập lập trình GAME tương tác bằng UNITY và lidar

22 30 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 22
Dung lượng 1,25 MB

Nội dung

1 TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA CÔNG NGHỆ PHẦN MỀM BÁO CÁO THỰC TẬP LẬP TRÌNH GAME TƯƠNG TÁC BẰNG UNITY Lidar Công ty thực tập : First Interactive Người phụ trách : Lê Phương Khanh Thực tập sinh : Hồ Nguyễn Minh Triết Lập trình game tương tác Unity Hồ Nguyễn Minh Triết TP Hồ Chí Minh, tháng năm 2020 Lập trình game tương tác Unity Hồ Nguyễn Minh Triết LỜI MỞ ĐẦU Ngày nay, ngành công nghiệp game phận thiếu ngành công nghiệp phần mềm Với tốc độ phát triển vô mạnh mẽ, ngành game nhân tố kích thích phát triển cơng nghệ thơng tin giới, phần cứng phần mềm Cùng với xu phát triển giới, Việt Nam ngoại lệ Ngành công nghiệp game non trẻ Việt Nam phát triển mạnh mẽ, để hịa nhập với cơng ty hàng đầu cơng nghệ giới Vì loại hình game xuất hiện, cụ thể game tương tác sử dụng cơng nghệ cảm biến, vừa mang tính giải trí, vừa hội nhập cơng nghệ tân tiến giới Sau ba năm học tập trường, mong muốn có thêm kinh nghiệm thực tế, muốn tham gia làm game môi trường chuyên nghiệp, em có dự định thực tập hè Vì vậy, em định chọn FIRST INTERACTIVE TECHNOLOGY - môi trường lý tưởng, đại, chuyên nghiệp - nơi giúp em thực dự định Lập trình game tương tác Unity Hồ Nguyễn Minh Triết LỜI CẢM ƠN Trân trọng gửi lời cảm ơn Công ty FIRST INTERACTIVE TECHNOLOGY tạo điều kiện cho em có hội thực tập công ty Chỉ thời gian ngắn, nhờ dẫn nhiệt tình nhóm trainer, nhóm thực tập chúng em tiếp thu kiến thức quan trọng để làm game tương tác Chân thành cảm ơn anh chị nhóm trainer bỏ nhiều thời gian,cơng sức để hướng dẫn chúng em hoàn thành đợt thực tập Đặc biệt cảm ơn anh Lê Phương Khanh training Unity C#, công nghệ Lidar, hướng dẫn, giúp đỡ cho chúng em tận tình khó khăn cơng việc, đến khó khăn việc làm quen với mơi trường Cũng xin cảm ơn thầy cô khoa Cơng nghệ phần mềm nhiệt tình hỗ trợ, tạo điều kiện em làm báo cáo Hồ Nguyễn Minh Triết Lập trình game tương tác Unity Hồ Nguyễn Minh Triết NHẬN XÉT CỦA KHOA Lập trình game tương tác Unity Hồ Nguyễn Minh Triết MỤC LỤC MỤC LỤC Chương 1: Giới thiệu công ty thực tập Giới thiệu công ty First .2 Sản phẩm công ty Chương 2: Nội dung thực tập .3 Tìm hiểu cơng ty kỹ công ty Nghiên cứu kỹ thuật 3 Thực project Lịch làm việc Chương 3: Chi tiết project .9 Giới thiệu Game .9 Thực 11 Kế hoạch 11 TÀI LIỆU THAM KHẢO 13 TỔNG KẾT 14 Lập trình game tương tác Unity Hồ Nguyễn Minh Triết Chương 1: Giới thiêu công ty thực tập Giới thiệu công ty First: FIRST INTERACTIVE TECHNOLOGY (Gọi tắt FIRST) agency Marketing Việt Nam FIRST có 15 năm kinh nghiệm lĩnh vực Marketing với việc xây dựng thực nhiều kế hoạch truyền thơng, quảng cáo cho tập đồn, đối tác lớn nước Sau thời gian phát triển, với mong muốn đo lường xác kết chiến dịch Marketing, FIRST đưa vào nghiên cứu ứng dụng sản phẩm công nghệ nhằm phục vụ riêng thị trường Marketing FIRST tự tin mang đến giải pháp Marketing đại, hiệu mặt liệu thực tế, lẫn chi phí thực Bởi FIRST sử dụng nguồn nhân lực địa phát triển sản phẩm song hành quốc tế lĩnh vực Marketing, tạo nên ưu cạnh tranh, tính đột phát thấu hiểu người tiêu dùng Đội ngũ nhân FIRST với 50 cộng sự, thuộc phòng: Sáng Tạo, Event, Activation, Technology, R&D Planner Strategy - có kinh nghiệm làm việc nhiều Lập trình game tương tác Unity Hồ Nguyễn Minh Triết công ty đa quốc gia Singapore, Israel, Đức… tư vấn giáo sư cộng tác bạn sinh viên thuộc TOP trường đại học danh giá First tự hào xây dựng thành cơng mơi trường văn hóa đặc trưng, tinh thần làm việc hợp quan trọng hết khách hàng tạo nên cộng đồng Marketing đại, hiệu quả, dẫn đầu xu hướng Trong năm 2017 2018, công ty mắt sản phẩm sử dụng công nghệ đại để phục vụ cho chiến dịch Marketing như: Game AR, Game tương tác Kinect, Gương chụp hình- Funkymir, Bộ chụp hình tách - Portable studio, Thiết bị bảo vệ trẻ em - Kid Protection, Hệ thống quản lý liệu thay đổi nội dung trình chiếu từ xa- Neural Display, Thiết bị đường tòa nhà- Way Finding… Tất nỗ lực ngày, để mang đến giải pháp đại nhất, tốt đến khách hàng Và xây dựng cộng đồng Marketing trẻ, động, đủ sức cạnh tranh với thị trường quốc tế Sản phẩm công ty First cung cấp giải pháp cộng nghệ phục vụ marketing, mà đơn vị thực nhiều kiện, activation đưa chiến lược truyền thông cho nhiều thương hiệu nước - Portable Studio - Interactive Game: AR,VR, IOT - Smart Showcase - Wayfinding Lập trình game tương tác Unity Hồ Nguyễn Minh Triết Chương 2: Nội dung thực tập Đợt thực tập em chủ yếu học phát triển phần mềm, cụ thể game Unity3D kết hợp với công nghệ cảm biến Lidar Tìm hiểu cơng ty kỹ công ty Thời gian : tuần Nội dung : Giới thiệu công ty, cách tổ chức công ty Được nghe người phụ trách giới thiệu cơng ty, q trình thành lập phát triển (như nhắc đến trên), quy trình làm việc từ cao xuống thấp, cách thức tổ chức cơng ty Ngồi ra, thực tập sinh giới thiệu cách thức làm việc công ty thời gian làm, quy định cần phải tuân thủ, cách sử dụng email công việc… Kết : Hiểu thêm công ty First, q trình thành lập phát triển Có thêm kỹ việc sử dụng email công việc, cách sử dụng phần cứng kết nối với Unity Kinect, Lidar, làm việc có kế hoạch, có kỷ luật, có trách nhiệm Nghiên cứu kỹ thuật 2.1 Các công cụ làm việc Thời gian : tuần Nội dung : Tìm hiểu cơng cụ sử dụng trình làm việc Trong thời gian này, supervisor hướng dẫn thực tập sinh tìm hiểu cơng cụ giúp ích cho công việc sau Một số phần mềm trang web số Trello, Git, bitbucket - sử dụng làm việc nhóm, AdvanceIP – trình duyệt IP để kết nối với Lidar Unity3D – công cụ phát triển game, Resolume – phẩn mềm để mapping trình chiếu nội dung từ Unity qua máy chiếu Thực : Thực hành sử dụng phần mềm nêu Kết : Lập trình sử dụng cơng cụ miễn phí, giúp dễ dàng kết hợp công cụ với nhau, so với việc dung IDE 2.2 Tìm hiểu ngơn ngữ C# nâng cao Thời gian : tuần Nội dung : Được training kỹ thuật C# nâng cao, kiến thức quan trọng cho việc tối ưu Android - Lập trình hướng đối tượng Các kiến thức lập trình hướng đối tượng khái niêm, đặc tính tính kế thừa, tính đóng gói, tính ảo hóa, tính đa hình Ngồi ra, thực tập sinh cịn hướng dẫn cách thiết kế lớp cho đối tượng game Lập trình game tương tác Unity Hồ Nguyễn Minh Triết 10 - Quản lý nhớ Thực tập sinh hướng dẫn cách cấp phát, quản lý nhớ cho tối ưu, tránh rò rỉ nhớ Thực : - Tham gia đầy đủ buổi training công ty - Làm thực hành, kiểm tra kiến thức học Kết : - 2.3 Nâng cao kỹ lập trình với ngơn ngữ C# Có kiến thức quan trọng cho việc lập trình game sau Ngồi biết thêm số quy tắc việc viết code cho chuẩn, dễ đọc, dễ hiểu Lập trình Unity3D Nội dung: Các kiến thức Unity3D để làm game đơn giản - Khái niệm Unity Năm khái niệm môi trường Unity Windows Ngồi ra, trainer cịn cung cấp cho thực tập sinh khái niệm Unity sử dụng inspector, hierarchy, import packages, component, … để tùy chỉnh cho game, khái niệm quan trọng lập trình game Unity - GameObject: Là object Unity, chứa biến đặc trưng cho object name, tag, hàm Destroy(), SetActive(), GetComponent() để dễ dàng tùy chỉnh phần tử game - Collider2D: Sử dụng thư viện Physics Unity, Component Collider2D cho phép gameobject scene va chạm tương tác với nhau, game sử dụng Collider2D kết hợp với Raycast để nhận input từ tay người chơi tương tác với gameobject Collider2D có nhiều dạng tương ứng với hình dạng gameobject BoxCollider (hình vng, hình chữ nhật), CircleCollider (hình trịn), Lập trình game tương tác Unity Hồ Nguyễn Minh Triết 11 PoligonCollider (hình đa giác) Ngồi cịn có loạt hàm OnTrigger(), OnCollision() hữu dụng để xử lý va chạm - Raycast: Là tia chiếu tùy chỉnh điểm đầu điểm cuối, sử dụng để xác định vị trí tương tác tay người chơi - Lidar: Là cảm biến sử dụng tia hồng ngoại để lấy thông tin người chơi từ giới thật Thiết bị có đầu, đầu phát tia hồng ngoại đầu lại thu tia phản xạ lại từ giới thực, từ xác định vị trí người chơi - Animator: Một Component hữu dụng việc tạo animation mà Unity hỗ trợ Thực : - - Tham gia đầy đủ buổi trainning Làm tập thực hành tạo gameobject, cho gameobject va chạm, tắt mở game object, xử lý cách chuyển scene Unity, cách cài đặt input từ Lidar … Tìm kiếm tài liệu mạng để tìm hiểu thêm Kết : - 2.4 Hiểu khái niệm Unity Đã hoàn thành game đơn giản chạm vào gameobject biến Phần mềm Resolume Arena 5: Nội dung: kết nối Unity với Resolume, trình chiếu đa hình qua nhiều máy chiếu - Sử dụng Resolume: Tạo composition mới, cho background cần thiết vào column (những file hình hay video background cho vào Unity luôn, gây nặng game không cần thiết) - Kết nối với Unity: Lập trình game tương tác Unity Hồ Nguyễn Minh Triết 12 o Import Plugins KlakSpout vào Unity: https://github.com/keijiro/KlakSpout o Sau Add component SpoutSender.cs vào MainCamera Unity o Nhấp tab Sources Resolume -> Kéo file Spout vào Column o Play Unity hình Unity dc trình chiếu qua máy chiếu o Kết hợp nhiều hình Unity để kết nối với nhiều máy chiếu lúc Thực project Sau tháng training thực hành, thực tập sinh nắm kiến thực C#, Unity, Lidar Trong tháng thứ hai, trainer hướng dẫn thực tập sinh áp dụng kiến thức học để thực project game tương tác Chi tiết đồ án nói phần sau Lịch làm việc Tuần Công việc - - - Nhận xét người hướng dẫn Tìm hiểu cơng ty, Anh Vinh cách tổ chức công ty Làm quen với công cụ làm việc công ty Học cách trao đổi, làm việc qua email Tìm hiểu ngơn ngữ Anh Lê Phương lập trình C# nâng Khanh cao - Người hướng dẫn Mức độ hồn thành Tìm hiểu Anh Lê Phương Unity3D Khanh Thực hành số game Tìm hiểu Resolume Anh Phạm Văn Sĩ Lập trình game tương tác Unity Hồ Nguyễn Minh Triết 13 - Thực hành tạo video trình chiếu Resolume - Kết nối Unity với Resolume Giai đoạn Alpha: - Lên kế hoạch - Viết Framework - Tạo lớp GameOject cần thiết, import assets cần thiết cho game - Sắp xếp vào scene Unity - Add component cần thiết vào gameobject Giai đoạn Alpha(tiếp): - Viết chức nâng cao - Tương tác với object Anh Lê Phương Khanh Anh Lê Phương Khanh Giai đoạn Beta: Anh Lê Anh Tuấn - Làm animation cần thiết - Báo cáo tiến độ với leader để test game Giai đoạn Beta giai Anh Lê Anh Tuấn đoạn kết thúc, báo cáo : - Kết nối với Resolume - Fix bug, fix rị rì vùng nhớ - Báo cáo cuối đợt thực tập Lập trình game tương tác Unity Hồ Nguyễn Minh Triết 14 Chương 3: Chi tiết project Giới thiệu game TƯƠNG TÁC CHUYỂN MÙA VÀ NHỮNG HIỆU ỨNG CỦA TỪNG MÙA Xuân – Hạ - Thu- Đông Nội dung game chiếu lên tường tổ hợp tranh sinh động mơ tả bốn mùa năm có Việt Nam, mùa xuân với mai vàng, cánh đồng vụ lúa đông xuân miền nam, cảnh hoa đào phíá Bắc tiết trời lạnh giá Mùa hạ với hàng hoa đặc trưng Sài Gòn, lồi hoa gợi nhớ tuổi học trị riêng biệt Mùa thu với vàng rơi Mùa đông lạnh lẽo rẻo cao Tây Bắc 1.1 Quy tắc chung Chạm vào icon mùa mùa xuất layer icon cây, mây, đồi núi… để người chơi chạm vào hoàn thiện tranh Sau hồn thiện tranh, icon tượng mùa xuất để người chơi tương tác mùa đó, ví dụ mùa đơng có icon sấm sét, mưa…, mùa thu có icon rơi, gió…, mùa mùa hạ có icon nắng, gió, mưa…Sau chạm icon tượng visual tượng xuất 1.2 Mùa Xn phía Nam: (hình minh hoạ bên dưới) Cảnh đầu tiên: Layer mùa xuân xuất hiện, layer có icon ruộng lúa, cành mai, mưa, sấm chớp, gió, Khi chạm vào icon ruộng visual rng xuất hiện, chạm vào icon cành mai visual cành mai xuất hiện, chạm vào sấm chớp visual sấm chớp xuất tất xuất ngẫu nhiên - Cảnh hai: phong cảnh có ruộng lúa cành mai chưa có hoa, icon ruộng, cành mai biến mất, icon hoa nở xuất thêm - Cảnh ba: sau người chơi hồn thiện tranh mùa xn icon ruộng lúa, cành mai, hoa nở biến mất, lúc xuất thêm icon mùa hạ, thu, đông mùa xn phía Bắc để người chơi chuyển cảnh - Lập trình game tương tác Unity Hồ Nguyễn Minh Triết 15 Hinh minh hoạ cảnh 1, 2, 1.3 Mùa Xn phía Bắc: (theo hình minh hoạ bên dưới) - Cảnh đầu tiên: có icon gió, mưa, cành - Cảnh hai: có icon mưa, hoa - Cảnh ba: có icon mưa, icon chim - Cảnh bốn: có icon hoa rơi, mưa, xuân phía Nam, hạ, thu đơng Lập trình game tương tác Unity Hồ Nguyễn Minh Triết 16 1.4 Mùa hạ: ( theo hình minh hoạ bên dưới) - Cảnh 1: có icon cành cây, icon gió, sấm chớp, đất, đường - Cảnh 2: icon gió, sấm chớp, bụi cây, mọc - Cảnh 3: gió, sấm chớp, mưa, chị rơi (trong hình minh hoạ thiếu icon mưa) - Cảnh 4: gió sấm chớp, mưa, icon mùa xn, mùa đơng, mùa thu xuất Lập trình game tương tác Unity Hồ Nguyễn Minh Triết 17 1.5 Mùa Thu: (theo hình minh hoạ bên dưới) - Cảnh 1: có icon cành cây, đất, sấm chớp, gió, mưa, mọc - Cảnh 2: có icon gió, mưa, sấm chớp, rơi - Cảnh 3: gió, mưa, sấm chớp, mùa đơng, mùa xuân, mùa hạ Lập trình game tương tác Unity Hồ Nguyễn Minh Triết 18 1.6 Mùa Đông: (theo hình minh hoạ) - Cảnh 1: có icon mây, gió, ruộng bậc thang, cành cây, đất - Cảnh 2: có icon mây, mưa, gió, hoa nở, chim, người - Cảnh 3: có icon mưa, gió (hoa rơi), hoa nở, mùa xuân phía Bắc, mùa Xuân phía Nam, mùa thu, mùa hè Lập trình game tương tác Unity Hồ Nguyễn Minh Triết 19 Thực - Thực tập sinh: Hồ Nguyễn Minh Triết Và giúp đỡ tận tình team trainer Gameloft Kế hoạch Giai đoạn Alpha: - - Hoàn thành chức icon: o Trơi từ xuống o Tương tác chuyển cảnh, mọc, rơi,… Làm particle rơi, hoa rơi Xây dựng pattern, thứ tự xuất tương tác icon cảnh Lập trình game tương tác Unity Hồ Nguyễn Minh Triết 20 Kết : - Các tính thực tốt Giai đoạn Beta: - Làm animation cho chim chóc người, background đung đưa, mây bay, … - Báo cáo tiến độ tuần cho lead designer để chỉnh sửa tốc độ rơi, số lượng icon, animation mượt chưa,… - Kết nối với Lidar Resolume để test giới thực (cụ thể dùng máy chiếu lên tường tương tác tường) Kết : Đã hoàn thành toàn tính trên, nhiên chưa tối ưu Giai đoạn hồn thành: - Tối ưu hóa cách tương tác - Được Lead Designer trainer xác nhận hoàn thành dự án - Nộp source code lên bitbucket Lập trình game tương tác Unity Hồ Nguyễn Minh Triết 21 TÀI LIỆU THAM KHẢO Assets: Từ team artist First Unity3D: https://docs.unity3d.com/ScriptReference/ Lidar: Source code plugins Lidar công ty Resolume: https://github.com/keijiro/KlakSpout https://resolume.com/ Lập trình game tương tác Unity Hồ Nguyễn Minh Triết 22 TỔNG KẾT Như vậy, vòng tháng ngắn ngủi, em kịp hoàn thành game tương tác chạy tảng PC trình chiếu lên tường khu giải trí JP WORLD Gigamall Game có đầy đủ tính đề ban đầu Game phát triển theo framework có tính kế thừa nên sau có thời gian phát triển lên mức cao Chân thành cảm ơn giúp đỡ anh chị nhóm trainer First để em hồn thành game Cảm ơn thầy Nguyễn Hữu Thương giúp em hoàn thành báo cáo Lập trình game tương tác Unity Hồ Nguyễn Minh Triết ... Interactive Game: AR,VR, IOT - Smart Showcase - Wayfinding Lập trình game tương tác Unity Hồ Nguyễn Minh Triết Chương 2: Nội dung thực tập Đợt thực tập em chủ yếu học phát triển phần mềm, cụ thể game Unity3 D... người chơi tương tác với gameobject Collider2D có nhiều dạng tương ứng với hình dạng gameobject BoxCollider (hình vng, hình chữ nhật), CircleCollider (hình trịn), Lập trình game tương tác Unity Hồ... cho background cần thiết vào column (những file hình hay video background cho vào Unity luôn, gây nặng game không cần thiết) - Kết nối với Unity: Lập trình game tương tác Unity Hồ Nguyễn Minh Triết

Ngày đăng: 05/09/2021, 21:00

TỪ KHÓA LIÊN QUAN

w