intTypePromotion=1

Báo cáo thực tập Công nghệ thông tin: Lập trình game trên Unity

Chia sẻ: | Ngày: | Loại File: DOCX | Số trang:27

0
30
lượt xem
6
download

Báo cáo thực tập Công nghệ thông tin: Lập trình game trên Unity

Mô tả tài liệu
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Nội dung của báo cáo thực tập trình bày giới thiệu về Công ty JPWorld; sản phẩm của công ty; tìm hiểu công ty và các kỹ năng cơ bản trong công ty JPWorld để tìm hiểu chuyên sâu hơn về kỹ thuật lập trình game trên Unity.

Chủ đề:
Lưu

Nội dung Text: Báo cáo thực tập Công nghệ thông tin: Lập trình game trên Unity

  1. Người phụ trách: Nguyễn Hoàng Hiển                  
  2. LỜI NÓI ĐẦU Có thể nói lập trình game là một công việc đòi hỏi tính sáng tạo và sự đam mê to   lớn. Cũng như lập trình các ứng dụng, lập trình game cũng đòi hỏi các yêu cầu về quản   lý dự án, các công đoạn phát triển cơ bản như thiết kế, vận hành, kiểm thử, bảo trì, …   Tuy nhiên ở mỗi bước đều hỏi hỏi sự đam mê và nhiệt huyết nhất định.  Là một sinh viên Công nghệ  phần mềm với sự  tò mò các công nghệ  làm game,   cũng như  mong muốn sử  dụng các kiến thức của môn học Nhập môn phát triển game  trong thực tế. Em đã tìm kiếm và được giới thiệu về nhiều công ty có khuynh hướng phát  triển game, nhưng một trong số các công ty làm em  ấn tượng với các sản phẩm của họ  đó là Công ty JPWorld thuộc Công ty TNHH Thương mại Dịch vụ Jazzy Paradise.  Tuy thuộc một Công ty thiên về truyền thông nhưng các sản phẩm và công nghệ ở  JPWorld là các công nghệ  chuyên cho phát triển game, hoàn toàn tách biệt với vấn đề  marketing. Người phụ trách: Nguyễn Hoàng Hiển                  
  3. LỜI CẢM ƠN Trân trọng gửi lời cảm ơn đến Jazzy Paradize nói chung và Trung tâm JPWorld nói  riêng đã tạo điều kiện cho em có cơ hội được thực tập tại công ty. Kỳ thực tập tuy ngắn, nhưng em đã được học rất nhiều thứ từ sự chỉ dẫn nhiệt tình  của mọi người trong dự án. Em không chỉ học được các kỹ thuật, công nghệ, hoàn thiện  các kỹ năng cứng cũng như các kỹ năng cần có của một nhân viên công ty, cách giao tiếp,  làm việc nhóm. Và lời cảm ơn đặc biệt dành cho anh Nguyễn Hoàng Hiển, người đã  trực tiếp training kiến thức chi tiết trong dự án. Với cảm giác bỡ ngỡ khi ần đầu tiếp xúc  với các thư viện, các SDK phát triển game mới tuy nhiên em vẫn được anh hướng dẫn  rất tận tình; cảm ơn chị Kacey Nguyễn và chị Dương Bảo Nhi, đã follow up cho em  hàng tuần để lắng nghe những khúc mắc, khó khăn và giải quyết cho em trong việc hoàn  thành các hạng mục; cảm ơn team JPWorld đã tạo cho em một môi trường, điều kiện làm  việc hiệu quả.  Cũng xin cảm ơn các giảng viên trong khoa Công nghệ phần mềm và Cố vấn học  tập lớp KTPM2017 đã nhiệt tình hỗ trợ, tạo điều kiện để em và các bạn sinh viên khác có  thể tham gia thực tập và hoàn thành báo cáo. Xin chân thành cảm ơn.  Tp.HCM, ngày 12/1/2021 Nguyễn Văn Đông Người phụ trách: Nguyễn Hoàng Hiển                  
  4. NHẬN XÉT CỦA KHOA ............................................................................................................................................ ............................................................................................................................................ ............................................................................................................................................ ............................................................................................................................................ ............................................................................................................................................ ............................................................................................................................................ ............................................................................................................................................ ............................................................................................................................................ ............................................................................................................................................ ............................................................................................................................................ ............................................................................................................................................ ............................................................................................................................................ ............................................................................................................................................ ............................................................................................................................................ ............................................................................................................................................ Người phụ trách: Nguyễn Hoàng Hiển                  
  5. ............................................................................................................................................ ............................................................................................................................................ Người phụ trách: Nguyễn Hoàng Hiển                  
  6. MỤC LỤC Người phụ trách: Nguyễn Hoàng Hiển                  
  7. Chương 1: GIỚI THIỆU VỀ CÔNG TY THỰC TẬP Hình 1.1. Logo Công ty JPWorld 1.  Giới thiệu về Công ty JPWorld:  JP World – Trung tâm Giáo dục Giải trí Công nghệ tương tác, là trung tâm giáo dục ­  giải trí kết hợp công nghệ tương tác đầu tiên và duy nhất tại Việt Nam được phỏng theo  các mô hình tại Singapore, Nhật Bản. JPWorld là một dự án của công ty TNHH Thương  mại Dịch vụ Jazzy Paradize. Với các công nghệ mới lạ, JPWorld được xuất hiện trên  nhiều trang báo online như Tuổi trẻ, Báo mới, VNExpress, … Công ty có trụ sở đặt tại Lầu 6, Trung tâm thương mại Gigamall, 240 – 242, Phạm  Văn Đồng, Phường Hiệp Bình Chánh, Quận Thủ Đức, Thành phố Hồ Chí Minh. Văn hoá làm việc ở công ty khá thoải mái về mặt trang phục và thời gian, các team có  thể linh hoạt thời gian nếu đảm bảo được tiến độ công việc được giao. Các cuộc họp  giao ban được tiến hành vào mỗi 3 giờ chiều thứ 6 hàng tuần, ở đây, nhân viên sẽ tiến  hành báo cáo tiến độ công việc cũng như nhận các đề xuất, công việc cho tuần tới. 2.  Sản phẩm của công ty:  Các project của công ty được sản xuất phục vụ cho quá trình hoạt động tại công ty  JPWorld, chứ không được sử dụng để kinh doanh như các game trực tuyến, hay làm  outsource. Sau khi hoàn thành, sản phẩm sẽ được chuyển giao cho bộ phận Operation và  Marketing để trình chiếu và phục vụ khách tham quan. Công ty có khoảng hơn 10 project, mỗi project gồm từ 1 – 6 sản phẩm (mỗi sản phẩm  là một game được lập trình bằng Unity). Một số project nổi bật của công ty như: *Panorama: Là một project gồm 6 sản phẩm được hoàn thành vào năm 2018 và bảo  trì cho đến nay, trình chiếu các game Unity trên 4 bức tường và một mặt sàn, có thể  tương tác được thông qua việc sử dụng các LiDAR để nhận diện toạ độ vật cản và  Unity để xử lý các sự kiện. Người phụ trách: Nguyễn Hoàng Hiển                  
  8. Hình 1.2. Sản phẩm Panorama – Galaxy sau khi Build Hình 1.3. Sản phẩm Panorama – Galaxy sau khi mapping và trình chiếu. Hình 1.3. Sản phẩm Panorama – Jelly sau khi Build Người phụ trách: Nguyễn Hoàng Hiển                  
  9. Hình 1.3. Sản phẩm Panorama – Jelly sau khi maping và trình chiếu. *JPSafari: Là một project gồm 3 sản phẩm, được hoàn thành vào năm 2018 và bảo trì  cho đến nay, trình chiếu trên 1 bức tường lớn, có thể tương tác được thông qua việc sử  dụng các LiDAR, đồng thời trong game này sử dụng một thiết bị để Scan và xử lý các  ảnh vẽ, sau đó trình chiếu lên màn hình. Người phụ trách: Nguyễn Hoàng Hiển                  
  10. Hình 1.4. Sản phẩm Safari_2 sau khi mapping và trình chiếu. Hình 1.5. Hình ảnh trên giấy của Safari_2 trước khi được xử lý. *Dreamland: Gồm 3 sản phẩm, cũng được hoàn thành vào năm 2018, với công nghệ  tương tự như JPSafari. *Climball: Là một project gồm 4 sản phẩm, mô phỏng 1 quyển sách, sử dụng một  thiết bị là Kinect và lập trình bằng Kinect SDK để tương tác. Hình 1.6 Một sản phẩm của Project Climball sau khi build. Người phụ trách: Nguyễn Hoàng Hiển                  
  11. Hình 1.8 Một sản phẩm của Project Climball sau khi được mapping và trình chiếu. *WalkPath: Sử dụng một hệ thống gồm 13 Kinect, 13 NUC (CPU cỡ nhỏ), 13 máy  chiếu và một CPU lớn để chạy một game Unity trình chiếu trên một đoạn đường dài hơn  40 mét. Project này được mentor của em, anh Nguyễn Hoàng Hiển phụ trách với 3 sản  phẩm khác nhau. Người phụ trách: Nguyễn Hoàng Hiển                  
  12. Hình 1.10 Một sản phẩm của project WalkPath *XepHop: Sử dụng hệ thống 2 Kinect nhằm nhận diện hình dạng của các khối hộp  sau đó phản hồi bằng cách thay đổi hình ảnh trình chiếu bằng hình ảnh các con vật khác  nhau. Người phụ trách: Nguyễn Hoàng Hiển                  
  13. Hình 1.11 Project XepHop sau khi trình chiếu *BanDo:  Hình 1.11 Project BanDo sau khi trình chiếu *Ngoài ra, JPWorld còn có nhiều project khác hiện đang được phát triển, vận  hành và bảo trì. Người phụ trách: Nguyễn Hoàng Hiển                  
  14. Hình 1.12 Một sản phẩm của Project MiddleWall Người phụ trách: Nguyễn Hoàng Hiển                  
  15. Hình 1.13 Một sản phẩm của Project CauTuot 3.  Lich thực tập tại công ty:  ­ Thời gian thực tập: Từ ngày 8/5/2020 tới 4/11/2020. Lịch làm việc mỗi tuần gồm  thứ 2, thứ 4 và Chủ nhật. Trong đó các ngày trong tuần làm từ 9h30 tới 18h, ngày cuối  tuần từ 9h tới 18h, riêng thứ 2 làm việc từ 13h tới 18h. ­ Thời gian nghỉ trưa: khoảng 1 tiếng, nếu là thứ 2 thì không nghỉ trưa. ­ Sau mỗi tuần, chiều thứ 2 từ 14h – 16h sẽ tổ chức một buổi họp giao ban gồm toàn  bộ các Team tham gia, nhằm giải quyết các thắc mắc, tồn đọng, phổ biến các công việc  trong tuần tiếp theo. Người phụ trách: Nguyễn Hoàng Hiển                  
  16. Chương 2: NỘI DUNG THỰC TẬP 1.  Tìm hiểu công ty và các kỹ năng cơ bản trong công ty:  Thời gian: 3 ngày (1 tuần). Nội dung:  + Giới thiệu về công ty: cách tổ chức của công ty, được nghe người phụ  trách giới thiệu về công ty, quá trình thành lập và phát triển, phổ biến lịch làm việc, quy  Người phụ trách: Nguyễn Hoàng Hiển                  
  17. trình làm việc từ cao xuống thấp, cách thức tổ chức của công ty, giới thiệu các team  Operation, IT, Marketing, văn hoá làm việc tại công ty, thời gian làm việc, quy tắc ứng  xử. + Giới thiệu về công việc: Tìm hiểu về các công việc của nhân viên IT, tìm  hiểu danh sách thiết bị, vị trí, cách sử dụng, cách cài đặt, sửa chữa các phần mềm đang  dùng, các công cụ, phần mềm hỗ trợ, các framework riêng của công ty.   Kết quả: Sau thời gian tìm hiểu em đã hiểu hơn về JPWorld, các công cụ, thiết bị,  cần thiết, đồng thời cảm thấy bản thân đã nhiệt tình hơn với công việc của công ty và  hoà hợp hơn với các anh chị trong team IT và các team khác. 2.  Nghiên cứu kỹ thuật:  2.1 Các công cụ làm việc: Thời gian: 3 ngày (1 tuần). Nội dung: Cài đặt những công cụ và môi trường làm việc trên máy tính. Người phụ  trách hướng dẫn thực tập sinh cài đặt các công cụ  lập trình như:  Visual  Studio,   Unity,   GitLab,   …   các   phần   mềm   máy  tính   hỗ   trợ   như:   Resolume,  AnyDesk, AutoIT , IVMS­Client, …, các app như  MiHome, HiKConnect, Yoosee …  và trao đổi các thông tin công việc qua Telegram, các phần mềm chuyên dụng được  thiết kế với công ty. Thực hiện: Cài đặt và sử dụng các công cụ nêu trên. Kết quả:  Cài đặt thành công các IDE, sử  dụng cơ  bản đươc các công cụ, thực   hành chỉnh sửa một số vị trí trình chiếu bị lỗi. 2.2 Tìm hiểu ngôn ngữ C#: Thời gian: 3 ngày (1 tuần). Nội dung: Được training về những kiến thức cơ bản của C# và lập trình Hướng  đối tượng: ­ C# cơ bản: Được người phụ trách hướng dẫn các kiến thức cơ bản về C#  như cú pháp của  biểu thức và các câu lệnh điều kiện như if ­ else, switch case, các câu  lệnh lặp như for, while,... Các kiểu dữ liệu thuộc tham trị và tham chiếu. Người phụ trách: Nguyễn Hoàng Hiển                  
  18. ­ Lập trình hướng đối tượng: Sử dụng class, abstract class, interface, hướng  dẫn cơ bản về kế thừa, đa hình,... Thực hiện: ­ Tham gia các buổi training của công ty và làm theo hướng dẫn của người  phụ trách. ­ Làm các bài tập thực hành được giao bởi người phụ trách để hiểu rõ hơn  về kiến thức được giảng. Kết quả: Hiểu được các cú pháp cơ bản của C#. 2.3 Thực hành trình chiếu với Resolume: Thời gian: 3 ngày (1 tuần). Nội dung: Được Training các kiến thức về  Resolume 6 Arena và trình chỉnh sửa  video After Effect. ­ Người phụ trách hướng dẫn làm quen và sử dụng Resolume:  + Chỉnh sửa các kích thước, ghép các hỉnh  ảnh trình chiếu bởi máy   chiếu, sử  dụng màn hình Advanced Output để  chỉnh sửa, thay đổi nội dung trình   chiếu trên các máy chiếu. Ngoài ra anh còn giời thiệu các khai niệm như  Layer,   Collumn trong Resolume. + Hướng dẫn sử  dụng tab Source để  trình chiếu game Unity (các  game này phải có thểm phần code của plugin Spout). ­ Hướng dẫn sử dụng After Effect CC 2018: + Giới thiệu các khái niệm Composition, Mask, Frame, Effect, các   kênh màu, các loại Codec, các khải niệm độ phân giải, frame rate, … +   Thực   hành   sử   dụng   các   Plugin,   export   video   thành   cách   Sprite   (Sequence PNG) và sang định dạng mov. Người phụ trách: Nguyễn Hoàng Hiển                  
  19. Hình 2. Màn hình giao diện của Resolume 2.4 Thực hành lập trình Game với Unity: Thời gian: 3 ngày (1 tuần). Nội dung: giới thiệu cách sử dụng Unity Hub và Unity Editor, áp dụng các kiến  thức C# vào Unity3D, các khái niệm cơ bản trong Unity các kiến thức cần có để hoàn  thiện Project. ­ Giới thiệu Unity (1 ngày):  + Trong công ty có khá nhiều project khác nhau với các phiên bản Unity  Editor khác nhau, tuy nhiên với công việc cập nhật nội dung Panorama, anh Hiển đã  hướng dẫn em cài Unity Editor 2018.2.20f1. + Giới thiệu về GameObject trên màn hình Scene, làm một số animation trên  tab Animation, quan hệ child­parent trong của các gameObjects trong và tab Hierachy,  training về một số components cơ bản để di chuyển như Transform, vật lý:  Rigidbody(2D), Collider – BoxCollider(2D),…các components để vẽ vật thể:  SpriteRenderer, MeshRenderer,  ­ Tạo Project và thực hành các kiến thức đã học (3 ngày – 1 tuần): Người phụ trách: Nguyễn Hoàng Hiển                  
  20. + Dựng các GameObject, tạo component bằng Script MonoBehaviour, học  cách sử dụng các hàm đặc biệt: Awake, Start, OnEnable, Update, …  + Tự tạo ra một số loại chuyển động: elipse, chuyển động của lá rơi, … + Xoá các vật thể bằng hàm Destroy. + Học về cách sử dụng Prefab, thay đổi prefab. Tạo các vật thể trong game  bằng cách tạo nhiều phiên bản clone của Prefab thông qua hàm Instantiate. + Tìm hiểu plugin Spout của Unity để xuất được game Unity ra phần mềm   Resolume. 4.  Thực hiện Task chỉnh sửa sản phẩm Panorama – Galaxy:  Thời gian: 30 ngày (1 tháng) – từ 17/7/2020 đến ngày 16/8/2020, được triển khai  trong buổi họp giao ban tuần 17/7/2020. Người thực hiện: Em với sự hỗ trợ từ anh Nguyễn Hoàng Hiển. Nội dung: Chỉnh sửa nội dung Panorama – Galaxy cho phù hợp: ­ Về sản phẩm Panorama – Galaxy: Đây là một sản phẩm đã được hoàn  thành từ năm 2018, tuy nhiên hiện tại cần được chuyển sang 1 khu vực mới, vì vậy cần  phải có các thay đổi cần thiết trên Unity, Resolume cho phù hợp, đồng thời cũng cần  thêm vào sản phẩm một số nội dung mới hơn.  ­ Công việc được chia làm 2 giai đoạn nhỏ hơn: + Chỉnh sửa sản phẩm để phù hợp với trình chiếu:  ­ Thời gian: 3 tuần: ­ Nội dung: Map lại các LiDAR bằng các Object  LidarManager, nghiên cứu sử dụng plugin Spout, thay đổi kích thước cửa sổ các sản  phẩm Build, thay đổi các thông tin trình chiếu trên Resolume. Tìm hiểu và viết Script  AutoIT để tiến hành chạy sản phẩm. ­ Kết quả: Hoàn thành đúng tiến độ. + Chỉnh sửa nội dung sản phẩm để tận dụng các không gian trống  trong phòng chiếu: ­ Thời gian: 10 ngày. Người phụ trách: Nguyễn Hoàng Hiển                  
ADSENSE
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2