강의

멘토링

커뮤니티

NEW
Game Dev

/

Game Programming

Khóa học tuyệt đối! Unity6 - ECS/DOTS Programming Masterclass

Đây là khóa học giúp bạn thành thạo hoàn hảo ECS/DOTS - kiến trúc thế hệ mới của Unity từ cơ bản đến ứng dụng thực tế. ECS là phương pháp lập trình hướng dữ liệu hoàn toàn khác với cách tiếp cận GameObject truyền thống, khiến nhiều lập trình viên gặp khó khăn do rào cản đầu vào cao. Khóa học này được thiết kế để giải quyết những khó khăn đó bằng cách bắt đầu từ các khái niệm cốt lõi của ECS (Entity, Component, System), sau đó học từng bước qua Burst compiler, Job system, cho đến tích hợp Unity Physics.

(5.0) 2 đánh giá

54 học viên

  • indiegamemaker
unity-dots
unity-ecs
unity
실습 중심
multithread
Unity
Unity6

Đánh giá từ những học viên đầu tiên

Bạn sẽ nhận được điều này sau khi học.

  • Lập trình sử dụng API ECS 1.4 mới nhất

  • Kỹ thuật lập trình DOTS trong môi trường ECS thuần túy

  • Sử dụng Burst Compile và JobSystem để tối ưu Unity Physics

  • Kỹ thuật sử dụng Hybrid ECS để liên kết UI, Scene, Sound

Phát triển game sinh tồn 2D hiệu suất cao với Unity ECS

"Với GameObject chỉ có thể xử lý tối đa 1,000 con, nhưng với ECS thì 100,000 con cũng chạy mượt mà."


Unity ECS/DOTS là phương pháp phát triển thế hệ mới của Unity dựa trên đa luồng và tối ưu hóa bộ nhớ. Tuy nhiên, thực tế là việc tự học sẽ khó khăn do các khái niệm hoàn toàn khác biệt so với Unity truyền thống.

Khóa học này được chuẩn bị dành cho những người mới bắt đầu với ECS. Từ các khái niệm cơ bản của Entity-Component-System cho đến việc thành thạo các pattern có thể áp dụng ngay trong game thực tế.

Tại sao bây giờ bạn nên học ECS?

  • Unity Technologies đang thúc đẩy ECS như một kiến trúc tiêu chuẩn thế hệ tiếp theo. Nó đã được ổn định từ Unity 6 và là công nghệ sẽ được yêu cầu trong nhiều dự án hơn trong tương lai.


  • ECS là công nghệ cốt lõi cho phép người chơi có thể trải nghiệm nhiều đối tượng hơn, khung hình mượt mà hơn và mô phỏng phức tạp hơn, từ di động đến console.

  • Hiện tại chưa có nhiều lập trình viên có thể xử lý ECS một cách thành thạo. Nếu bạn có được năng lực phát triển ECS thì sẽ trở thành lợi thế cạnh tranh lớn trong thị trường việc làm.

  • ECS không phải là khái niệm riêng của Unity. Các mẫu tương tự đang được lan rộng trong các engine và framework khác như Mass Entity System của Unreal, Bevy Engine, v.v.

Nội dung học tập cốt lõi:

  • IComponentData, ISystem, Authoring pattern


  • Xử lý song song sử dụng Burst compile và IJobEntity

  • Cài đặt SRP Batcher và sử dụng GPU Instance

  • Unity Physics và xử lý va chạm sử dụng ITriggerEventsJob

  • Mô hình Hybrid sử dụng MonoBehaviour và ECS cùng nhau

  • EntityCommandBuffer를 활용한 동적 엔티티 관리 기법

Dự án thực hành là game theo phong cách Vampire Survivors, được thiết kế để xử lý đồng thời hàng chục nghìn kẻ thù và đạn bắn, giúp bạn cảm nhận được hiệu suất của ECS. Sau khi hoàn thành khóa học, bạn có thể ngay lập tức áp dụng ECS vào các dự án của mình.

Khái niệm cơ bản về ECS

  • Thay vì các bài học lý thuyết dài dòng, khóa học giúp bạn học các khái niệm cốt lõi của ECS một cách ngắn gọn, sau đó ngay lập tức viết code thực tế để làm quen với cấu trúc lập trình ECS.


Cách sử dụng cơ bản ECS

  • Ban đầu, chúng ta sẽ bắt đầu từ việc triển khai logic cơ bản thông qua Component, System và Authoring.

  • Quá trình xử lý va chạm và tối ưu hóa sử dụng Unity Physics sẽ được tiến hành.

Cung cấp shader hoạt ảnh sprite 2D

  • Trong ECS thuần túy hiện tại chưa hỗ trợ hoạt ảnh sprite. Phương pháp chắc chắn nhất cho vấn đề này là sử dụng kỹ thuật shader, đây là giải pháp tối ưu nhất.

  • ECS에 tối ưu hóa Sprite Offset để sử dụng shader graph hoàn chỉnh được cung cấp, và học về kỹ thuật triển khai animation 2D trong môi trường ECS. (Trong bài giảng không đề cập đến phần tạo shader graph.)

Cách sử dụng chế độ xem giám sát chuyên dụng ECS

  • Khi phát triển ECS, tích cực sử dụng các chế độ xem giám sát thiết yếu để tiến hành trong khi xác minh dữ liệu chính xác.

  • Chế độ xem Entity Hierarchy

  • Chế độ xem Components

  • Chế độ xem Systems

  • Archtypes view


Giám sát để tối ưu hóa

  • Xác minh việc kích hoạt Job Worker Thread sử dụng IJobEntity trong profiler.

Xác minh trạng thái kích hoạt Hybrid Batch Group

  • Tiến hành trong khi giám sát xem có phần nào Batch bị vỡ trong Frame Debugger hay không.

  • Trong ECS, GPU Instancing được xử lý tự động, trong khi đó chúng ta sẽ xem xét quá trình kiểm tra việc kích hoạt Hybrid Batch Group.

Chuyển cảnh và khởi tạo hệ thống

Trong ECS, việc chuyển đổi scene cũng phải trải qua một quy trình phức tạp. Trong quá trình tải scene với Monobehaviour, các đối tượng scene đã unload sẽ được dọn dẹp tự động, nhưng ECS phải xử lý thủ công trực tiếp.


  • Triển khai logic chuyển đổi sang scene menu chính

  • Triển khai logic khởi động lại

Sau khi hoàn thành khóa học

  • Năng lực ECS có thể triển khai ngay vào thực tế công việc

    • Dự án game hoạt động hoàn chỉnh cho portfolio

    • Nắm vững các mẫu thiết kế ECS và Best Practice

    • Khả năng phân tích và giải quyết vấn đề hiệu suất (phân tích Frame Debugger, Profiler)


  • Nắm vững công nghệ stack khác biệt

    • Unity ECS/DOTS chuyên môn - Nhóm nhà phát triển vẫn còn hiếm

    • Kinh nghiệm tối ưu hóa Burst và Job System

    • Tư duy lập trình hướng dữ liệu


  • Kiến trúc game có thể mở rộng

    • Cấu trúc xử lý dễ dàng hàng nghìn đến hàng chục nghìn entity

    • Có thể áp dụng cho nhiều thể loại khác nhau như multiplayer, mô phỏng quy mô lớn (Netcode for Entities)

Đây là khóa học được chuẩn bị thông qua khoảng 30 dự án mẫu để phát triển chương trình học tối ưu có thể từ từ nâng cao độ khó của việc học. Do đó, tôi nghĩ các bạn sẽ không gặp khó khăn gì trong việc học môi trường phát triển ECS.

Những lưu ý trước khi học

Môi trường thực hành

  • Hệ điều hành : Windows, macOS

  • Unity 6 (6000.2.10f1 trở lên)

  • IDE : Visual Studio 2022 hoặc Rider được khuyến nghị

Khuyến nghị cho
những người này

Khóa học này dành cho ai?

  • Nhà phát triển có kiến thức cơ bản về Unity nhưng cần tối ưu hóa hiệu suất

  • Những người muốn tạo ra game xử lý các object quy mô lớn

  • Những người muốn học stack công nghệ mới nhất của Unity

  • Những người muốn trang bị năng lực cạnh tranh để xin việc/chuyển việc

Cần biết trước khi bắt đầu?

  • Cú pháp cơ bản C# (Class, Struct, Interface)

  • Unity cơ bản cách sử dụng (GameObject, Component, Scene)

Xin chào
Đây là

419

Học viên

31

Đánh giá

44

Trả lời

4.9

Xếp hạng

6

Các khóa học

안녕하세요, 이재현입니다.

1인 게임 개발자를 꿈꾸며 유니티를 독학으로 시작했고, 2009년부터 2012년 까지 1인 개발로 모바일 게임 10여종을 출시했습니다. 절대강좌! 유니티 출간 및 오프라인 강의를 진행했습니다. 강의를 진행하면서, 잘 아는 것과 잘 가르치는 것은 다르다는 사실을 매번 깨닫고 있습니다. 이러한 경험을 바탕으로, 제가 가진 지식을 여러분들께 더 효과적으로 전달하기 위해 늘 노력하고 있습니다.

이번 강의가 여러분께 좋은 출발점이 되어, 즐거운 게임 개발자의 세계로 나아가는 데 작은 보탬이 되기를 기원합니다. ~


주요 강의 이력

  • 패스트캠퍼스 - 유니티 캠프 1기 ~ 8기

  • 팀 스파트르타 온라인 튜터

  • T아카데미

  • NHN 엔터테인먼트

  • 넷마블 게임아카데미

  • ETRI (한국전자통신연구원)

  • 한콘진, 경콘진, 성남산업진흥원

  • KAIST, 서강대, 중앙대, 한성대, 단국대 특강

주요 활동

  • 절대강좌! 유니티 집필 (일본, 중국 출판)

  • 유니티 UNITE 2014 세션 특강

  • 유니티 UNITE 2018 핸드온 세션 특강

  • 유니티 인더스트리 2022 핸드온 세션 특강

  • 유니티 코리아 공인 마스터스 2기부터 5기까지 활동

     

 

Chương trình giảng dạy

Tất cả

27 bài giảng ∙ (6giờ 6phút)

Tài liệu khóa học:

Tài liệu bài giảng
Ngày đăng: 
Cập nhật lần cuối: 

Đánh giá

Tất cả

2 đánh giá

5.0

2 đánh giá

  • 123123123123123님의 프로필 이미지
    123123123123123

    Đánh giá 18

    Đánh giá trung bình 3.5

    5

    100% đã tham gia

    Khóa học này khó hơn bất kỳ khóa học nào tôi từng học. Có rất nhiều khái niệm mới xuất hiện. Có vẻ như tôi cần phải lặp lại nhiều lần. Thật tốt khi được biết những khái niệm mới.

    • indiegamemaker
      Giảng viên

      Bạn đã hoàn thành khóa học thực sự rất nhanh.~ Vì đây là phương pháp hoàn toàn khác với cách phát triển truyền thống nên chắc hẳn bạn đã gặp nhiều khó khăn. Tôi nghĩ việc thực hành chuyển đổi sang ECS từ những logic nhỏ sẽ chắc chắn giúp ích cho bạn.

  • sonic04814358님의 프로필 이미지
    sonic04814358

    Đánh giá 1

    Đánh giá trung bình 5.0

    5

    63% đã tham gia

    2.090.612 ₫

    Khóa học khác của indiegamemaker

    Hãy khám phá các khóa học khác của giảng viên!

    Khóa học tương tự

    Khám phá các khóa học khác trong cùng lĩnh vực!