Lập trình một trò chơi với Unity: Hướng dẫn cho người mới bắt đầu

Lập trình một trò chơi với Unity: Hướng dẫn cho người mới bắt đầu
Hướng dẫn này có sẵn để tải xuống dưới dạng PDF miễn phí. Tải xuống tệp này ngay bây giờ . Hãy sao chép và chia sẻ điều này với bạn bè và gia đình của bạn.

Một đặc điểm đáng ngạc nhiên của nền kinh tế internet là sự gia tăng của các trò chơi điện tử độc lập. Từng là miền độc quyền của các studio triple-A trị giá hàng nghìn người, hàng triệu đô la, một số bộ công cụ đã được phát triển để đưa tài nguyên phát triển trò chơi hiện đại vào tay các cá nhân hoặc bộ sưu tập nhỏ, đặc biệt của các lập trình viên và nhà thiết kế. Trước đây chúng ta đã thảo luận về những trò chơi độc lập hay nhất, vì vậy hãy đảm bảo rằng bạn kiểm tra những trò chơi đó để tìm nguồn cảm hứng về những gì có thể đạt được với các công cụ như Unity.





Các nhóm phát triển trò chơi độc lập này đã chứng tỏ sự nhanh nhẹn và chấp nhận rủi ro, trong nhiều trường hợp, cho phép họ thúc đẩy đổi mới lối chơi nhanh hơn so với các đối tác ngân sách lớn của họ. Một số tựa game độc ​​lập thành công đáng kinh ngạc đã ra mắt trong những năm gần đây, bao gồm Minecraft , Limbo , và cậu bé mập mạp và ngay cả khi bạn không cần phải có kỹ năng để tạo các trò chơi như thế này, bạn có thể tạo trò chơi bằng Buildbox.





Trong bối cảnh phát triển trò chơi độc lập đang phát triển nhanh chóng, Đoàn kết đã nổi lên như một thứ gì đó của một tiêu chuẩn thực tế: chi phí thấp, dễ sử dụng và bộ tính năng rộng khiến nó trở nên lý tưởng để phát triển trò chơi nhanh chóng. Unity rất linh hoạt, thậm chí bạn có thể tạo bộ điều khiển trò chơi tùy chỉnh của riêng bạn với một chút bí quyết DIY!





Ngay cả các studio lớn như CCP (Nhà phát triển của Đêm giao thừa trực tuyến ) sử dụng nó cho các khái niệm trò chơi tạo mẫu nhanh chóng. Unity cung cấp một 'công cụ trò chơi trong một chiếc hộp' - một công cụ vật lý và kết xuất có các móc nối cho một số ngôn ngữ kịch bản, có thể thích ứng với hầu hết mọi thể loại trò chơi điện tử.

Mặc dù Unity cung cấp một trình chỉnh sửa trực quan để thao tác với môi trường trò chơi, Unity không phải là một công cụ tạo trò chơi 'không lập trình'. Nó yêu cầu bạn lập trình để tạo ra kết quả, nhưng cũng cung cấp cho bạn một công cụ linh hoạt và mạnh mẽ hơn bất kỳ chương trình 'nhà sản xuất trò chơi' nào có thể.



Sự thống nhất sẽ không làm việc cho bạn, nhưng nó làm giảm đáng kể rào cản gia nhập. Bắt đầu hoàn toàn từ đầu với C ++ và OpenGL, có thể mất nhiều ngày để đi đến điểm thực sự có thứ gì đó được hiển thị trên màn hình. Sử dụng Unity, mất khoảng mười giây. Unity đưa các yếu tố cơ bản của việc tạo trò chơi vào tay các lập trình viên mới vào nghề một cách nhanh chóng, trực quan.

Hôm nay tôi sẽ hướng dẫn bạn mọi thứ bạn cần biết để tạo một trò chơi trong Unity, được chia thành mười chương chính:





§1 – Các phiên bản của Unity

§2 – Cài đặt Unity





§3 – Giới thiệu ngắn gọn về mô hình hướng đối tượng

§4 – Khái niệm cơ bản về Unity

§5 – Ví dụ: Các yếu tố cơ bản của một trò chơi

§6 – Viết kịch bản trong Unity

§7 – Ví dụ: Scripting Pong

§8 – Khám phá tài liệu / Tìm hiểu thêm

§9 – Xây dựng trò chơi của bạn / Biên dịch thành một ứng dụng độc lập

§10-Ghi chú kết thúc

1. Các phiên bản của Unity

Unity có hai phiên bản cơ bản: phiên bản chuyên nghiệp và phiên bản miễn phí. Có một số lượng sự khác biệt , nhưng, nói một cách rộng rãi, phiên bản chuyên nghiệp hỗ trợ một số cải tiến về hình ảnh (như đổ bóng mềm theo thời gian thực và xử lý hậu kỳ) và một số lượng lớn các tính năng tương đối nhỏ cực kỳ hữu ích cho các trò chơi phức tạp hơn.

Điều đó nói rằng, đối với hầu hết các trò chơi tương đối đơn giản mà bạn có thể muốn xây dựng, phiên bản Unity miễn phí là hoàn toàn phù hợp. Chúng tôi sẽ chia nhỏ những điểm khác biệt chính bên dưới một cách chi tiết hơn cho những người quan tâm.

1.1 Định giá

Tất nhiên, phiên bản miễn phí của Unity là miễn phí. Tuy nhiên, có một số hạn chế: phiên bản miễn phí của Unity không thể được cấp phép cho bất kỳ công ty nào có thu nhập hàng năm lớn hơn 100.000 đô la . Mặc dù các tổ chức như vậy nằm ngoài phạm vi của hướng dẫn này, nhưng nếu bạn nghi ngờ mình có thể trở thành một tổ chức như vậy, có lẽ bạn nên bắt đầu sử dụng phiên bản Pro.

Phiên bản Pro của Unity là $ 75 một tháng, hoặc $ 1500 để có giấy phép vĩnh viễn và không có giới hạn về những gì bạn có thể làm với các trò chơi được tạo bằng nó. Ngoài ra còn có bản dùng thử miễn phí 30 ngày, mà chúng tôi sẽ sử dụng cho hướng dẫn này, để cung cấp cho bạn cái nhìn tổng quan đầy đủ nhất về các tính năng có sẵn. Giấy phép sinh viên một năm cũng có sẵn thông qua Nghiên cứu129 đô la .

1.2 Tính năng

Có rất nhiều tính năng vắng mặt trong phiên bản Unity miễn phí. Tuy nhiên, sự khác biệt quan trọng nhất như sau: phiên bản miễn phí của Unity thiếu một số tùy chọn kết xuất cho phép các trò chơi đẹp hơn, chạy nhanh hơn (hỗ trợ LOD, xử lý hậu kỳ không gian màn hình, bộ đổ bóng nâng cao, phần mềm thời gian thực đổ bóng và kết xuất hoãn lại). Nó cũng thiếu đầy đủ hệ thống hoạt hình Mechanim và một số công cụ AI.

Nói chung, đối với các dự án phức tạp, quy mô lớn hoặc các dự án mà hiệu suất đồ họa là quan trọng, thì phiên bản chuyên nghiệp rất đáng giá. Tôi sử dụng phiên bản chuyên nghiệp vì tôi phát triển trò chơi thực tế ảo cho Oculus Rift và hỗ trợ xử lý sau không gian màn hình là cần thiết để tương tác chính xác với tai nghe.

2. Cài đặt Unity

Unity rất dễ cài đặt. Bạn có thể tải xuống tệp thực thi từ Uni3d.com/get-unity/download .

Sau khi tải xuống, hãy chạy nó, sau đó làm theo hướng dẫn của trình cài đặt. Khi quá trình cài đặt hoàn tất, một cửa sổ có tiêu đề 'kích hoạt giấy phép Unity của bạn' sẽ xuất hiện. Chọn hộp được đánh dấu 'kích hoạt bản dùng thử miễn phí 30 ngày của Unity Pro' và sau đó chọn 'OK'.

Xin chúc mừng! Bây giờ bạn có 30 ngày dùng thử Unity Pro. Khi hết hạn dùng thử, nếu không muốn mua phiên bản pro, bạn có thể chuyển sang phiên bản miễn phí và giữ nguyên nội dung hiện có của mình.

cách điều chỉnh độ sáng màn hình windows 10

3. Giới thiệu ngắn gọn về mô hình hướng đối tượng

Trước khi bắt đầu với Unity, điều quan trọng là chúng ta phải xem qua một chút kiến ​​thức cơ bản. Unity hỗ trợ cả hai NS #JavaScriptlập trình trò chơi ; chúng tôi sẽ làm việc với C # cho hướng dẫn này.

Trước hết, nếu bạn chưa từng lập trình trước đây, hãy đặt hướng dẫn này sang một bên và dành vài ngày làm việc với Microsoft's C # Language Primer cho đến khi bạn cảm thấy thoải mái khi sử dụng ngôn ngữ này cho các tác vụ đơn giản.

Nếu bạn muốn một chút gì đó khác với C # (nhưng không nhất thiết phải là ngôn ngữ bạn có thể sử dụng trong Unity), thì hãy xem hướng dẫn của chúng tôi về sáu ngôn ngữ lập trình dễ dàng nhất cho người mới bắt đầu.

Nếu trước đây bạn đã lập trình bằng ngôn ngữ mệnh lệnh hoặc hướng đối tượng như C hoặc Java, hãy đọc lướt phần đầu và tự làm quen với cách C # khác với các ngôn ngữ khác mà bạn đã sử dụng trước đây. Dù bằng cách nào, đừng tiếp tục với hướng dẫn cho đến khi bạn cảm thấy thoải mái khi giải các bài toán đơn giản với C # (ví dụ: nếu tôi yêu cầu bạn viết một chương trình in ra hàng trăm số nguyên tố đầu tiên, bạn sẽ có thể viết chương trình đó mà không cần tham khảo ý kiến ​​của Google).

Khái niệm quan trọng nhất cần hiểu ở đây là mô hình hướng đối tượng (viết tắt là MỞ RA ). Trong ngôn ngữ hướng đối tượng, các chương trình được chia thành các đơn vị chức năng được gọi là Các đối tượng . Mỗi đối tượng có các biến và hàm riêng của nó. Các chức năng dành riêng cho đối tượng được gọi là phương pháp .

Ý tưởng ở đây là tính mô-đun: bằng cách cô lập từng đối tượng và buộc các đối tượng khác tương tác với nó thông qua các phương thức của nó, bạn có thể giảm số lượng các tương tác không chủ ý có thể xảy ra - và mở rộng là lỗi. Bạn cũng có thể tạo các đối tượng mà bạn có thể sử dụng lại sau này mà không cần sửa đổi. Trong Unity, bạn sẽ xây dựng các đối tượng này và gắn chúng vào thực thể trò chơi (họ sẽ quản lý hành vi của ai).

Các đối tượng được khởi tạo từ các lớp học : một lớp chỉ là một tệp đưa ra định nghĩa đối tượng của bạn. Vì vậy, nếu bạn muốn một nhân vật phụ đối tượng xử lý AI cho kẻ thù trong trò chơi của bạn, bạn sẽ viết một lớp 'Mook', rồi đính kèm tệp đó vào mọi thực thể của kẻ thù. Khi bạn chạy trò chơi của mình, mỗi kẻ thù sẽ được trang bị một bản sao của đối tượng 'Mook'.

Việc đính kèm một tập lệnh mới vào một đối tượng trông giống như sau:

Ngày thứ nhất, chọn đối tượng và đi đến Thanh tra . Bấm vào Thêm thành phần cái nút.

Đi đến kịch bản mới , nhập tên bạn muốn và nhấp vào tạo và thêm .

Bây giờ bạn có một tập lệnh mới mà bạn có thể chỉnh sửa bằng cách nhấp đúp vào nó!

Tệp lớp trông giống như sau:

using UnityEngine;
public class Mook : MonoBehaviour {
private float health;
void Start () {
health = 100;
}
void Update(){
if (health > 0) {
/* Search for player
if you encounter the player on the road, kill him
if you get shot, remove a random amount of health */
}
}
}

Hãy chia nhỏ điều này:

  • Sử dụng UnityEngine: Dòng này cho C # biết rằng chúng ta muốn sử dụng các thư viện của Unity, cho phép chúng ta kết nối với công cụ trò chơi Unity.
  • Hạng công khai Mook: MonoBehaviour: Dòng này khai báo lớp và tên của nó - nhân vật phụ .
  • Sức khỏe phao riêng: Điều này khai báo một biến lớp riêng (chỉ có thể được thay đổi từ bên trong lớp). Biến được cung cấp một giá trị trong Bắt đầu .
  • Void Start (): Điều này khai báo một phương thức được gọi là Bắt đầu . Bắt đầu là một phương pháp đặc biệt chỉ chạy một lần, khi trò chơi khởi chạy lần đầu.
  • Cập nhật Void (): Cập nhật là một phương pháp đặc biệt khác, chạy trên mọi khung hình. Hầu hết logic trò chơi của bạn sẽ đến ở đây.
  • // nếu bạn gặp người chơi trên đường, hãy giết anh ta: Dòng này là một nhận xét (bất kỳ dòng nào bắt đầu bằng dấu gạch chéo đôi đều bị C # bỏ qua). Nhận xét được sử dụng để nhắc nhở bạn về những gì các bit mã cụ thể làm. Trong trường hợp này, nhận xét này đang được sử dụng để thay thế cho một khối mã phức tạp hơn thực sự thực hiện những gì nhận xét mô tả.

Cùng với Bắt đầuCập nhật , bạn có thể khởi tạo các phương thức của riêng mình với hầu hết mọi tên. Tuy nhiên, các phương thức bạn tạo sẽ không chạy trừ khi chúng được gọi. Hãy khai báo một phương thức cho một lớp giả định được gọi là addTwoNumbers cộng hai số với nhau:

public float addTwoNumbers(float a, float b) {
return a+b;
}

Điều này khai báo một phương thức public (có thể truy cập được đối với các đối tượng khác) trả về một float, được gọi là addTwoNumbers , lấy hai float làm đầu vào (được gọi là đếnNS ). Sau đó, nó trả về tổng của hai giá trị dưới dạng đầu ra của nó.

Gọi phương thức này từ bên trong cùng một lớp (giả sử, từ bên trong Cập nhật ) trông như thế này:

float result = addTwoNumbers(1, 2);

Gọi phương thức từ một lớp khác cũng tương tự:

addTwoNumbers instance;
float result = instance.addTwoNumbers(1, 2);

Một lần nữa, điều này chỉ tạo một thể hiện của lớp của chúng ta, truy cập vào phương thức thích hợp và cung cấp cho nó các số mà chúng ta muốn thêm, sau đó lưu trữ kết quả trong kết quả . Đơn giản.

Nếu tập lệnh của bạn được đính kèm với một đối tượng có các thuộc tính đặc biệt (như bộ phát hạt) không thể truy cập theo bộ thông số GameObject thông thường, bạn có thể chọn coi nó như một loại thực thể trò chơi khác bằng cách sử dụng GetComponent phương pháp.

Cú pháp cho điều đó trông giống như sau:

GetComponent().Play();

Nếu bất kỳ điều nào trong số này không quen thuộc với bạn, hãy quay lại và thực hiện bước sơn lót C #. Nó sẽ giúp bạn tiết kiệm rất nhiều sự thất vọng khi chúng tôi tiếp tục.

4. Cơ bản về Unity

Trong phần này, chúng ta sẽ làm việc theo cách của chúng ta thông qua các cơ chế cơ bản của Unity engine. Quy trình làm việc trong Unity diễn ra như sau:

  1. Tạo một thực thể để đóng một vai trò trong trò chơi (trống GameObjects có thể được sử dụng cho các nhiệm vụ logic trừu tượng).
  2. Viết hoặc tìm tệp lớp và thêm tệp đó vào thực thể dưới dạng tập lệnh (sử dụng Thêm thành phần nút trong thanh tra quan điểm.
  3. Chạy > kiểm tra > gỡ lỗi > lặp lại cho đến khi nó hoạt động và chuyển sang yếu tố tiếp theo của trò chơi.

Unity đi kèm với một số tab chế độ xem cơ bản có thể được bố trí theo nhiều cách khác nhau theo sở thích của người dùng. Năm lớn là:

  1. Trò chơi: hiển thị phiên bản đang chạy của trò chơi mà bạn có thể tương tác và kiểm tra.
  2. Sân khấu: cung cấp một phiên bản tĩnh, có thể chỉnh sửa của thế giới trò chơi .
  3. Thanh tra: cho phép bạn sửa đổi các thực thể riêng lẻ trong thế giới trò chơi bằng cách chọn chúng trong biên tập viên chuyển hướng.
  4. Dự án: cho phép bạn duyệt qua các tệp của dự án và kéo các mô hình, vật liệu và các tài nguyên khác vào biên tập viên để đặt chúng vào thế giới trò chơi.
  5. Hệ thống cấp bậc: tab này hiển thị tất cả các đối tượng trên thế giới, cho phép bạn tìm các đối tượng ở xa trong cảnh và các thực thể mẹ với nhau bằng cách nhấp và kéo.

Xem sơ đồ bên dưới để biết vị trí của tất cả những thứ này:

4.1 Các thực thể thống nhất

4.1.1 Lưới

Lưới là con đường Hình học 3D được đại diện trong Unity. Bạn có thể sử dụng Unity tích hợp sẵn nguyên thủy vật thể (hình khối, hình cầu, hình trụ, v.v.) hoặc nhập các mô hình 3D của riêng bạn từ một gói mô hình như Máy xay hoặc Maya . Unity hỗ trợ nhiều định dạng 3D, bao gồm .fbx , và .3ds .

Các công cụ cơ bản để thao tác với lưới là các nút điều chỉnh tỷ lệ, xoay và dịch ở góc trên bên trái của giao diện. Các nút này thêm các biểu tượng điều khiển vào các mô hình trong chế độ xem trình chỉnh sửa, sau đó có thể được sử dụng để thao tác chúng trong không gian. Để thay đổi kết cấu hoặc thuộc tính vật lý của một đối tượng, hãy chọn chúng và sử dụng thanh tra xem để phân tích vật liệucơ thể cứng nhắc các yếu tố.

4.1.2 Phần tử GUI

Các biểu tượng và văn bản GUI truyền thống có thể được hiển thị bằng cách sử dụng Văn bản GUIGUI Texture GameObjects trong trình chỉnh sửa. Tuy nhiên, một cách mạnh mẽ và thực tế hơn để xử lý các phần tử giao diện người dùng là sử dụng Văn bản 3DQuad GameObjects (với kết cấu trong suốt và bộ đổ bóng trong suốt không được chiếu sáng) để đặt các phần tử HUD vào thế giới trò chơi dưới dạng thực thể.

bên trong hệ thống cấp bậc xem, các yếu tố trò chơi này có thể được kéo vào máy ảnh chính để biến chúng thành trẻ em, đảm bảo rằng chúng di chuyển và xoay với máy ảnh.

Các phần tử GUI (văn bản và kết cấu) có thể được điều chỉnh kích thước và tỷ lệ của chúng bằng cách sử dụng các trường liên quan trong tab thanh tra.

4.1.3 Vật liệu

Vật liệu là sự kết hợp của kết cấu và bộ đổ bóng, và có thể được kéo trực tiếp vào các đối tượng trò chơi từ tab dự án. Một số lượng lớn các trình tạo bóng đi kèm với Unity Pro và bạn có thể điều chỉnh kết cấu được đính kèm với chúng bằng cách sử dụng tab thanh tra cho một đối tượng mà chúng được áp dụng.

Để nhập một kết cấu, hãy chuyển đổi nó thành .jpg , .png , hoặc .bmp và kéo nó vào tài sản trong thư mục dự án Unity (xuất hiện trong Tai liệu của tôi theo mặc định). Sau một vài giây, thanh tải sẽ xuất hiện trong trình chỉnh sửa. Khi quá trình hoàn thành, bạn sẽ có thể tìm thấy hình ảnh dưới dạng kết cấu dưới dự án chuyển hướng.

4.1.5 Đèn chiếu sáng

Đèn là GameObjects dự án nào tỏa sáng trên thế giới. Nếu không có đèn trong cảnh của bạn, tất cả các đa giác sẽ được vẽ ở cùng một mức độ sáng, mang lại cho thế giới một cái nhìn phẳng, rõ ràng.

Đèn có thể được định vị, xoay và có một số đặc điểm bên trong mà bạn có thể tùy chỉnh. Các cường độ thanh trượt điều khiển độ sáng của đèn và phạm vi kiểm soát tốc độ biến mất của nó.

Các nguyên tắc trong quang cảnh cho bạn thấy phạm vi chiếu sáng tối đa. Chơi với cả hai cài đặt để đạt được hiệu quả mong muốn. Bạn cũng có thể điều chỉnh màu sắc của ánh sáng, họa tiết ( bánh quy hiển thị trên bề mặt mà ánh sáng hướng vào và loại tia sáng nào xuất hiện trên màn hình khi nhìn trực tiếp vào ánh sáng. Cookie có thể được sử dụng để làm giả các mẫu ánh sáng thực hơn, tạo bóng giả ấn tượng và mô phỏng máy chiếu.

Ba loại ánh sáng chính là điểm , chỉ trỏ , và định hướng .

Đèn chiếu sáng có một vị trí trong không gian 3D và chiếu ánh sáng chỉ theo một hướng theo hình nón có góc thay đổi. Chúng tốt cho đèn pin, đèn rọi và nói chung, giúp bạn kiểm soát ánh sáng chính xác hơn. Đèn chiếu điểm có thể đổ bóng.

Đèn điểm có vị trí trong không gian 3D và chiếu ánh sáng đồng đều theo mọi hướng. Đèn điểm không đổ bóng.

Đèn định hướng , cuối cùng, được sử dụng để mô phỏng ánh sáng mặt trời: chúng chiếu ánh sáng theo một hướng như thể từ vô cùng xa. Đèn định hướng ảnh hưởng đến mọi đối tượng trong cảnh và có thể tạo ra bóng.

4.1.6 Hệ thống hạt

ĐẾN Hệ thống hạt là một GameObject tạo ra và kiểm soát hàng trăm hoặc hàng nghìn hạt đồng thời. Các hạt là các đối tượng 2D nhỏ, được tối ưu hóa hiển thị trong không gian 3D. Hệ thống hạt sử dụng kết xuất và vật lý đơn giản, nhưng có thể hiển thị hàng nghìn thực thể trong thời gian thực mà không bị nói lắp, khiến chúng trở nên lý tưởng cho khói, lửa, mưa, tia lửa, hiệu ứng ma thuật, v.v.

Có rất nhiều thông số mà bạn có thể điều chỉnh để đạt được những hiệu ứng này và bạn có thể truy cập chúng bằng cách tạo ra một hệ thống hạt dưới trình soạn thảo thành phần > lựa chọn hệ thống hạt > mở tab thanh tra . Bạn có thể thay đổi kích thước, tốc độ, hướng, xoay, màu sắc và kết cấu của từng hạt và đặt hầu hết các thông số đó cũng thay đổi theo thời gian.

Bên dưới va chạm , nếu bạn bật nó và đặt không gian mô phỏng thành thế giới bạn sẽ nhận được các hạt va chạm với các vật thể trên thế giới, có thể được sử dụng cho một số hiệu ứng hạt thực tế, bao gồm mưa, nước chuyển động và tia lửa.

5. Ví dụ: Các yếu tố cơ bản của một trò chơi

Đối với hướng dẫn này, chúng tôi sẽ tạo một trò chơi đơn giản về Pong - điều gì đó mà chúng tôi đã đề cập nhiều lần trong DIY trước đây:

  • Arduino Classic Pong
  • Arduino OLED Pong

Trong phần này, chúng ta sẽ xem xét việc sắp xếp các yếu tố cốt lõi - phần hướng dẫn viết kịch bản sẽ đến sau.

Trước tiên, hãy chia trò chơi Pong thành các thành phần cơ bản của nó. Đầu tiên, chúng ta cần hai mái chèo và một quả bóng. Quả bóng bay ra ngoài màn hình, vì vậy chúng tôi sẽ muốn có một cơ chế để đặt lại nó. Chúng tôi cũng muốn văn bản hiển thị điểm số hiện tại và để hiển thị cho bạn tất cả các yếu tố cốt lõi của Unity, chúng tôi sẽ muốn có một hiệu ứng hạt lạ mắt khi bạn đánh bóng. Toàn bộ trò chơi sẽ cần phải được chiếu sáng mạnh mẽ.

Điều đó chia thành một vật thể bóng (một hình cầu), một người đẻ trứng , hai đạo cụ chèo với máy phát hạt kèm theo một Thực thể văn bản 3D , và một đốm sáng . Đối với hướng dẫn này, chúng tôi sẽ sử dụng vật liệu vật lý mặc định nảy , với trả lại kết hợp đặt thành nhân . Đây là thiết lập trông như thế nào, trong mười ảnh chụp màn hình:

Đầu tiên, hãy tạo một khối lập phương chống đỡ cho mái chèo.

Quy mô nó một cách thích hợp, nhân bản nó , và đặt một quả cầu giữa các mái chèo cho bóng.

Sau đó, tạo một Đối tượng 3DTexttỉ lệChức vụ nó chính xác, thay đổi cỡ chữ để có được hình ảnh ít pixel hơn.

Tiếp theo, tạo hai hệ thống hạt , chọn các đặc điểm bạn muốn và gắn chúng vào các mái chèo.

Tiếp theo, bạn sẽ muốn định vị và xoay máy ảnh để nó đóng khung cảnh một cách chính xác. Trong khi máy ảnh được chọn, bạn có thể xem một bản xem trước nhỏ về chế độ xem của máy ảnh ở góc dưới bên phải.

Trước khi kết thúc, chúng ta cần tạo thêm hai khối vuông để làm vật cản, ngăn bóng bật ra khỏi khu vực thi đấu. Chúng ta có thể làm cho chúng vô hình bằng cách bỏ chọn trình kết xuất lưới bên trong tab thanh tra .

Nếu bạn nhấn chơi, bây giờ bạn có thể thấy các yếu tố cơ bản của trò chơi của chúng tôi được trình bày. Họ sẽ chưa làm bất cứ điều gì, nhưng chúng ta sẽ làm được điều đó!

Bây giờ chúng ta đã có thiết lập đó, chúng ta sẽ nói về những gì liên quan đến việc viết kịch bản các yếu tố này để tạo ra một trò chơi.

6. Viết kịch bản trong Unity

Khi bạn đã gắn một tập lệnh vào một đối tượng, bạn có thể sửa đổi nó bằng cách nhấp đúp vào nó trong thanh tra . Điều này mở ra MonoDevelop , môi trường phát triển mặc định cho Unity. Về bản chất, Monodevelop là một trình soạn thảo văn bản với các tính năng được tối ưu hóa đặc biệt cho việc lập trình.

Từ khóa và nhận xét được đánh dấu trong màu xanh dươngmàu xanh lá và các giá trị và chuỗi số xuất hiện trong mạng lưới . Nếu bạn đã sử dụng Nhật thực hoặc các IDE khác, MonoDevelop rất giống. Bạn có thể xây dựng các tập lệnh của bạn từ bên trong trình chỉnh sửa, để kiểm tra lỗi cú pháp, như sau:

Nói chung, để tập lệnh của bạn tương tác với Unity, bạn sẽ cần tham chiếu đến các phần tử mà đối tượng nắm giữ tập lệnh sở hữu (bạn có thể xem danh sách các phần tử này trong thanh tra khi đối tượng có liên quan được chọn). Sau đó, bạn có thể gọi các phương thức hoặc đặt các biến cho từng phần tử này để thực hiện các thay đổi bạn muốn.

Nếu bạn muốn một tập lệnh trên một đối tượng ảnh hưởng đến các thuộc tính của một đối tượng khác, bạn có thể tạo một tập lệnh trống GameObject biến trong tập lệnh của bạn và sử dụng thanh tra để gán nó cho một đối tượng khác trong cảnh.

Danh sách các phần tử mà một đối tượng có thể có như sau (được lấy từ chế độ xem thanh tra của một trong các mái chèo của chúng tôi trong ví dụ trên):

  1. Biến đổi
  2. Khối lập phương (Bộ lọc lưới)
  3. Hộp va chạm
  4. Trình kết xuất lưới

Mỗi khía cạnh này của đối tượng có thể bị ảnh hưởng từ bên trong một tập lệnh. Tiếp theo, chúng ta sẽ xem xét chính xác cách thức.

6.1 Biến đổi

Các hàm biến đổi cho GameObject trong Unity kiểm soát các thông số vật lý của đối tượng đó: tỉ lệ , nó là Chức vụ , và của nó sự định hướng . Bạn có thể truy cập chúng từ bên trong một tập lệnh như sau:

transform.position = newPositionVector3;
transform.rotation = newRotationQuaternion;
transform.localScale = newScaleVector3;

Trong các ví dụ trên, các biến được đặt tên có kiểu được chỉ định trong tên. Có một vài chi tiết chính ở đây: vị trí và quy mô, như bạn mong đợi, được lưu trữ dưới dạng Vector3s . Bạn có thể truy cập vào NS , , và VỚI các thành phần của mỗi (ví dụ: biến đổi.position.y cung cấp cho bạn khoảng cách của một đối tượng trên mặt phẳng 0).

Tuy nhiên, để tránh khóa gimbal , các phép quay được xử lý như Quaternion (vectơ bốn thành phần). Vì các quaternion thao tác bằng tay là không trực quan, bạn có thể thao tác các phép quay bằng các góc Eulerian bằng cách sử dụng Quaternion.Euler phương pháp như vậy:

transform.rotation = Quaternion.Euler(pitch, yaw, roll);

Nếu bạn muốn di chuyển các đối tượng một cách trơn tru từ nơi này sang nơi khác, bạn sẽ tìm thấy Slerp phương pháp cho quaternion và vector3 hữu ích. Slerp nhận ba đối số - trạng thái hiện tại, trạng thái cuối cùng và tốc độ thay đổi, và nội suy giữa chúng một cách trơn tru ở tốc độ đã cho. Cú pháp có dạng như sau:

transform.position = Vector3.Slerp(startPositionVector3, newDestinationVector3, 1);

6.2 Trình kết xuất

Các chức năng kết xuất trong Unity cho phép bạn kiểm soát cách các bề mặt của đạo cụ được hiển thị trên màn hình. Bạn có thể gán lại kết cấu, thay đổi màu sắc và thay đổi bóng đổ và khả năng hiển thị của đối tượng. Cú pháp có dạng như sau:

renderer.enabled = false;
renderer.material.color = new Color(0, 255, 0);
renderer.material.mainTexture = myTexture;
renderer.material.shader = newShader;

Hầu hết trong số này có các chức năng khá rõ ràng. Ví dụ đầu tiên làm cho đối tượng được đề cập trở nên vô hình: một thủ thuật hữu ích trong một số tình huống. Ví dụ thứ hai chỉ định một Màu RGB (cụ thể là màu xanh lá cây) cho đối tượng được đề cập. Thứ ba chỉ định kết cấu khuếch tán chính cho một biến Kết cấu mới. Ví dụ cuối cùng thay đổi bộ đổ bóng của vật liệu của đối tượng thành một biến bộ đổ bóng mới được xác định.

6.3 Vật lý

Unity đi kèm với một công cụ vật lý tích hợp - thứ mà các trò chơi hộp cát vật lý đều sử dụng. Điều này cho phép bạn gán các thuộc tính vật lý của các đối tượng và để các chi tiết của mô phỏng của chúng được xử lý cho bạn. Nói chung, thay vì cố gắng thực hiện vật lý của riêng bạn bằng cách sử dụng sách giáo khoa và hệ thống biến đổi, việc sử dụng công cụ vật lý của Unity sẽ đơn giản và mạnh mẽ hơn ở mức độ lớn nhất có thể.

Tất cả các đạo cụ vật lý yêu cầu máy va chạm . Tuy nhiên, bản thân mô phỏng thực tế được xử lý bởi một cơ thể cứng nhắc , có thể được thêm vào thanh tra quan điểm. Cơ thể cứng nhắc có thể được động học hoặc nonkinematic .

Đạo cụ vật lý động học va chạm với (và hiệu ứng) đạo cụ vật lý không động học xung quanh chúng, nhưng không bị ảnh hưởng bởi va chạm. Đạo cụ động học tĩnh là các vật thể bất động theo phương ngôn và các vật thể chuyển động là lực không thể ngăn cản (đối với bản ghi, khi chúng va chạm, chúng chỉ đơn giản là truyền qua nhau).

Ngoài ra, bạn có thể điều chỉnh lực cản theo góc của vật thể (cần bao nhiêu năng lượng để quay nó), thay đổi khối lượng của nó, quyết định xem nó có bị tác động bởi lực hấp dẫn hay không và tác dụng lực lên nó.

Ví dụ:

rigidbody.angularDrag = 0.1f;
rigidbody.mass = 100;
rigidbody.isKinematic = false;
rigidbody.useGravity = true;
rigidbody.AddForce(transform.forward * 100);

Tất cả đều khá dễ hiểu. Điều duy nhất cần lưu ý ở đây là việc sử dụng biến đổi . Tất cả các Vector3 đều có ba thành phần ( .phía trước , .hướng lên , và .đúng ) được liên kết với chúng, có thể được truy cập và xoay vòng với chúng ( phía trước là hướng của mũi tên màu xanh lam trong trình chỉnh sửa). Các biến đổi từ khóa chỉ đơn giản là vectơ chuyển tiếp cho đối tượng hiện tại có độ lớn 1. Nó có thể được nhân với một phao để tạo thêm lực lên đối tượng. Bạn cũng có thể tham khảo biến đổi.upbiến đổi. đúng , và phủ định chúng để nhận được sự đảo ngược của chúng.

6.4 Va chạm

Thông thường, khi xây dựng một trò chơi, bạn muốn sự va chạm dẫn đến một số thay đổi trạng thái trong mã của mình, ngoài mô phỏng vật lý. Đối với điều này, bạn sẽ cần một phương pháp phát hiện va chạm .

Có một số lượng công việc chuẩn bị nhất định cần thiết để phát hiện các xung đột trong Unity. Đầu tiên, ít nhất một trong các đối tượng trong vụ va chạm cần thân cứng không động học đính kèm với nó. Cả hai đối tượng phải có bộ va chạm chính xác, được đặt là không kích hoạt. Tổng tốc độ của cả hai vật thể phải đủ thấp để chúng thực sự va chạm, thay vì chỉ lướt qua nhau.

Nếu bạn đã quan tâm đến tất cả những điều đó, bạn có thể kiểm tra va chạm bằng cách đặt một phương pháp phát hiện va chạm đặc biệt trong một tập lệnh được đính kèm với đối tượng mà bạn muốn kiểm tra va chạm. Phương thức sẽ như thế này:

void OnCollisionEnter(Collision other) {
//do things here
}

Phương thức này sẽ tự động chạy trong khung hình đầu tiên mà một đối tượng khác chạm vào đối tượng của bạn. Thực thể va chạm khác là một tham chiếu đến đối tượng mà bạn đánh. Ví dụ, bạn có thể tham khảo trò chơi , cơ thể cứng nhắc , và biến đổi các đặc điểm để vận dụng nó theo nhiều cách khác nhau. Trong khi OnCollisionEnter có lẽ là chức năng phổ biến nhất mà bạn sẽ sử dụng, bạn cũng có thể sử dụng OnCollisionExitOnCollisionStay (với cú pháp và cách sử dụng giống hệt nhau), kích hoạt trong khung hình đầu tiên mà bạn ngừng va chạm với một đối tượng và trong mọi khung hình mà bạn đang va chạm với một đối tượng, tương ứng.

Đôi khi, nó cũng có thể hữu ích khi thực hiện những gì được gọi là tẩy chay . Trong quá trình tẩy chay, một đường mỏng vô hạn (a cá đuối ) được truyền qua thế giới từ một số điểm gốc, dọc theo một số vectơ, và khi nó chạm vào vật gì đó, vị trí và các chi tiết khác của vụ va chạm đầu tiên sẽ được trả lại. Mã cho một raycast trông như thế này:

RaycastHit hit;
if (Physics.Raycast(transform.position, -Vector3.up, out hit)) {
float distanceToGround = hit.distance;
}

Điều này tạo ra một tia từ vị trí của đối tượng hiện tại dọc theo -Vector3.up (thẳng xuống), và liên kết biến đánh đối tượng đầu tiên mà nó va chạm. Sau khi tia của bạn chạm vào thứ gì đó, bạn có thể truy cập hit.distance để xác định khoảng cách của nó, hoặc hit.GameObject để thao tác với đối tượng bạn đánh.

Raycast như thế này có thể được sử dụng cho những người bắn súng để xác định mục tiêu của súng hoặc để chọn các đối tượng khi máy ảnh nhìn vào chúng, hoặc cho một số phong cách cơ khí chuyển động nhất định.

6.5 Hiệu chỉnh thời gian

Một yếu tố quan trọng cần ghi nhớ khi bạn đang thao tác các đối tượng theo cách này là tỷ lệ khung hình . Bất kể bạn tối ưu hóa cẩn thận đến mức nào, tốc độ khung hình sẽ luôn khác nhau và bạn không muốn tốc độ trò chơi của mình thay đổi theo. Nếu ai đó chạy trò chơi của bạn trên một máy tính nhanh hơn bạn đã phát triển nó, bạn không muốn trò chơi chạy với tốc độ gấp đôi.

Cách bạn sửa lỗi này là nhân các giá trị bạn đang sử dụng với thời gian hiển thị khung hình cuối cùng. Điều này được thực hiện bằng cách sử dụng Time.deltaTime . Điều này thay đổi hiệu quả tốc độ của bất kỳ biến nào mà bạn đang tăng mỗi khung hình thay đổi mỗi khung hình đến thay đổi mỗi giây và bạn có thể nên thực hiện thay đổi này đối với bất kỳ giá trị nào bạn đang tăng hoặc giảm mỗi khung hình.

6.6 Nguồn âm thanh và trình nghe

Bây giờ chúng ta đã trình bày về cách tạo, kết xuất và điều khiển các đối tượng, hãy nói về ý nghĩa khác mà trò chơi máy tính có thể phục vụ: cụ thể là âm thanh . Unity hỗ trợ hai loại âm thanh: 2D3D âm thanh. Âm thanh 3D thay đổi âm lượng dựa trên khoảng cách và biến dạng khi chúng di chuyển so với máy ảnh; Âm thanh 2D không.

Âm thanh 2D thích hợp cho phần thuyết minh và nhạc nền, còn âm thanh 3D áp dụng cho âm thanh do các sự kiện trên thế giới tạo ra. Để thay đổi xem âm thanh có phải là 3D hay không, hãy chọn âm thanh đó trong dự án xem, chuyển sang thanh tra xem và chọn tùy chọn thích hợp từ menu thả xuống, sau đó nhấn nhập lại cái nút.

Để thực sự phát âm thanh, bạn sẽ cần phải đính kèm nguồn âm thanh đến một chỗ dựa (chỗ dựa mà bạn muốn âm thanh phát ra, trong trường hợp là âm thanh 3D). Sau đó, bạn sẽ cần phải mở audioclip và chọn tệp âm thanh của bạn.

cách khắc phục xung đột địa chỉ ip

Bạn có thể dùng myAudioSource.Pause ()myAudioSource.Play () để kiểm soát các tệp âm thanh đó. Bạn có thể điều chỉnh các hành vi phóng xạ, âm lượng và dịch chuyển doppler của âm thanh trong thanh tra tab cho nguồn âm thanh.

6.7 Đầu vào

Một trò chơi không nhận bất kỳ đầu vào nào từ người dùng không phải là một trò chơi. Có rất nhiều loại đầu vào khác nhau mà bạn có thể đọc và hầu như tất cả chúng đều có thể truy cập thông qua Đầu vàoKeyCode các đối tượng. Dưới đây là một số câu lệnh đầu vào mẫu (có giá trị được đánh giá ở mọi khung hình).

Vector3 mousePos = Input.mousePosition;
bool isLeftClicking = Input.GetMouseButton(0);
bool isPressingSpace = Input.GetKey(KeyCode.Space);

Các chức năng của các dòng này chủ yếu là tự giải thích. Sử dụng ba loại tham chiếu đầu vào này, bạn có thể xây dựng lại sơ đồ điều khiển của hầu hết các trò chơi máy tính 3D hiện đại.

6.8 Gỡ lỗi tập lệnh

Giả sử một tập lệnh không hoạt động. Như bác sĩ giỏi nói, những tiếng nổ và treo máy có thể xảy ra với bạn. Nếu có lỗi cú pháp hoàn toàn với C # của bạn, trò chơi thường sẽ từ chối chạy khi bạn nhấn chơi và một số thông báo lỗi khá hữu ích sẽ được cung cấp nếu bạn xây dựng các tập lệnh từ bên trong trình chỉnh sửa. Xem bên dưới:

Những lỗi này thường không khó sửa nhất. Điều có thể gây ra nhiều vấn đề hơn là các lỗi ngữ nghĩa tinh vi, trong đó bạn đã viết thành công một tệp chứa đầy đủ C # hợp lệ - chỉ là một tệp không đúng như bạn nghĩ. Nếu bạn mắc phải một trong những lỗi này và gặp khó khăn khi theo dõi lỗi, có một số cách bạn có thể thử để cải thiện tình hình.

Đầu tiên là tạm dừng quá trình thực hiện trò chơi và kiểm tra bảng điều khiển. Bạn có thể tạm dừng trò chơi bằng cách nhấp vào tạm ngừng ở phần trên giữa của trình chỉnh sửa, sau đó chọn bàn điều khiển từ dưới cùng của cửa sổ menu (hoặc nhấn Điều khiển > Sự thay đổi > NS ). Ngay cả khi không có lỗi, cảnh báo vẫn có thể giúp đưa ra một số manh mối về những gì có thể xảy ra.

Nếu điều này không hiệu quả, bạn cũng có thể thử tìm một số ý tưởng về trạng thái tập lệnh của mình bằng cách in trạng thái của các biến bên trong để xác nhận rằng chương trình đang làm những gì bạn nghĩ. Bạn có thể dùng Debug.Log (Chuỗi) để in nội dung của một chuỗi vào bảng điều khiển khi chương trình thực thi chạm vào dòng đó. Nói chung, nếu bạn làm việc ngược lại so với những gì bạn nghĩ sẽ xảy ra thông qua những điều đáng lẽ sẽ xảy ra, cuối cùng bạn sẽ đạt đến điểm mà các bản in gỡ lỗi của bạn không làm được những gì bạn mong đợi. Đó là lỗi của bạn.

7. Ví dụ: Scripting Pong

Để xây dựng Pong, hãy chia trò chơi thành các yếu tố cốt lõi của nó: chúng ta cần một quả bóng lăn qua lại giữa các mái chèo với tốc độ ngày càng tăng, chúng ta cần một bảng điểm biết khi nào các quả bóng đã đi qua các mái chèo và chúng ta cần một cơ chế để khởi động lại bóng khi điều đó xảy ra. Bước đầu tiên tốt là thêm một thân cứng không động học vào quả bóng, hai thân cứng động học vào các mái chèo, vô hiệu hóa lực hấp dẫn cho tất cả chúng và gán một vật liệu vật lý thích hợp từ các nội dung tiêu chuẩn ( nảy với trả lại kết hợp đặt thành nhân ).

Dưới đây, bạn có thể xem kịch bản cho quả bóng với các bình luận giải thích. Quả bóng cần đạt được một số mục tiêu cơ bản: nó phải nảy theo một kiểu phức tạp, luôn duy trì chuyển động trên cả hai trục và nó phải tăng tốc với tốc độ khó nhưng không phải là bất khả thi theo hướng nằm ngang.

BallHandler.cs

Tiếp theo, chúng ta cần viết kịch bản cho paddle của mình, bạn có thể xem bên dưới. Cánh khuấy cần di chuyển lên và xuống để phản ứng với các lần nhấn phím (nhưng không nằm ngoài các giới hạn nhất định). Nó cũng cần kích hoạt hệ thống hạt khi nó va chạm với một thứ gì đó.

PaddleHandler.cs

Tiếp theo, chúng ta cần AI của đối phương: một thứ sẽ khiến mái chèo của đối phương theo dõi về phía quả bóng với một tốc độ cố định. Vì vậy, chúng tôi sẽ sử dụng Vector3.Slerp để có được sự đơn giản tối đa. Chúng tôi cũng muốn hành vi hạt giống như chúng tôi thấy trên mái chèo của chính mình.

EnemyAI.cs

Cuối cùng, chúng ta cần một tập lệnh để cập nhật bảng điểm và đặt lại quả bóng khi nó đi quá giới hạn.

ScoreboardUpdater.cs

Với các tập lệnh đó được đính kèm và các tham chiếu được điền vào, khi chúng tôi chạy trò chơi Pong của mình, chúng tôi trải nghiệm trò chơi!

Bạn có thể tải xuống bản demo Pong của tôi , nếu bạn muốn xem mọi thứ mà tôi đã phác thảo trên thực tế. Nó chạy trên các hệ thống Windows, Mac và Linux.

8. Khám phá Tài liệu / Tìm hiểu thêm

Unity là một công cụ phức tạp với nhiều tính năng hơn khả thi được đề cập trong hướng dẫn kiểu này và đó là trước khi bạn đưa vào một loạt các tiện ích mở rộng Unity (miễn phí và thương mại) có sẵn trên internet. Hướng dẫn này sẽ cung cấp cho bạn một khởi đầu vững chắc để phát triển một trò chơi, nhưng tự giáo dục bản thân là một kỹ năng quan trọng trong bất kỳ nỗ lực nào và ở đây cần gấp đôi.

Một nguồn lực quan trọng ở đây là Unity ScriptReference . ScriptReference là một cơ sở dữ liệu có thể tìm kiếm, có sẵn cho cả C # và Javascript, có danh sách mọi lệnh và tính năng của Unity, với mô tả về các chức năng của chúng và ví dụ ngắn gọn về cú pháp.

Nếu bạn gặp sự cố với trình chỉnh sửa và giao diện của Unity hoặc chỉ thích các video hướng dẫn như một vấn đề ưu tiên, thì có một danh sách dài các chất lượng cao Hướng dẫn bằng video Unity có sẵn. Mở rộng hơn (nhưng ít rộng hơn) hướng dẫn văn bản cho Unity cũng có sẵn từ CatLikeCoding.

Cuối cùng, nếu bạn có câu hỏi ngoài phạm vi tài liệu hoặc hướng dẫn, bạn có thể đặt câu hỏi cụ thể tại answers.Unity3d.com . Hãy nhớ rằng câu trả lời được cung cấp bởi các tình nguyện viên, vì vậy hãy tôn trọng thời gian của họ và tìm kiếm cơ sở dữ liệu trước để đảm bảo rằng câu hỏi của bạn chưa được trả lời.

9. Xây dựng trò chơi của bạn / Biên dịch thành một ứng dụng độc lập

Khi bạn đã xây dựng được thứ gì đó mà bạn tự hào (hoặc bạn đã hoàn thành việc sao chép ví dụ về Pong hơi tinh ranh của chúng tôi để thực hành), đã đến lúc chuyển trò chơi của bạn khỏi trình chỉnh sửa và biến nó thành thứ mà bạn có thể đăng trên internet và buộc bạn bè và gia đình của bạn để chơi. Để làm được điều đó, bạn cần phải xây dựng một ứng dụng độc lập. Tin tốt là trong Unity, điều này rất, rất dễ dàng. Tuy nhiên, có một số lỗi tiềm ẩn mà bạn sẽ muốn cẩn thận.

Đối với người mới bắt đầu, hãy biết rằng bạn chỉ có thể xây dựng một dự án không có lỗi. Để đạt được điều đó, hãy đảm bảo rằng bạn đã mở bảng điều khiển khi bạn xây dựng: có một số điều kiện lỗi mà trò chơi sẽ bỏ qua trong trình chỉnh sửa, nhưng vẫn sẽ hủy bỏ quá trình xây dựng đã cố gắng. Điều này chỉ gửi thông báo lỗi đến bảng điều khiển, không có kết quả hiển thị trên màn hình, điều này có thể gây phiền toái nếu bạn quên kiểm tra. Tuy nhiên, khi bạn đã biên dịch trò chơi của mình không có lỗi, bạn có thể chọn Cài đặt bản dựng Bên dưới Tập tin menu hoặc nhấn Điều khiển > Sự thay đổi

> NS . Thao tác này sẽ hiển thị một hộp thoại đơn giản cho phép bạn xây dựng trò chơi của mình cho một số nền tảng.

Quá trình từ đó tự giải thích: chọn các tùy chọn của bạn và nhấn xây dựng ; trò chơi sẽ nhắc bạn về một thư mục để cài đặt và sẽ đặt cả thư mục thực thi và dữ liệu vào đó. Hai tệp này có thể được nén lại với nhau và phân phối (chỉ cần đảm bảo rằng bạn không tính phí cho một trò chơi được xây dựng trong bản demo Unity, vì điều này vi phạm điều khoản dịch vụ).

10. Ghi chú kết thúc

Như với bất kỳ công cụ phát triển trò chơi nào, chìa khóa thành công với Unity là phát triển lặp đi lặp lại. Bạn phải xây dựng theo từng bước có thể quản lý được - hãy tham vọng, bằng mọi cách, nhưng hãy tham vọng ở những phần nhỏ và sắp xếp những phần đó sao cho, ngay cả khi bạn không đạt được tham vọng cuối cùng của mình, ít nhất bạn sẽ kết thúc với một mạch lạc sản phẩm.

Nhận các yếu tố quan trọng nhất trước: có ý tưởng về sản phẩm khả thi tối thiểu , thứ đơn giản nhất, gần gũi nhất mà bạn có thể tạo ra và vẫn cảm thấy như thể bạn đã đạt được điều gì đó đáng giá. Hãy đạt được dự án khả thi tối thiểu đó trước khi chuyển sang những tham vọng lớn hơn.

Hướng dẫn này giúp bạn có một khởi đầu vững chắc, nhưng cách tốt nhất để học Unity là xây dựng một trò chơi. Bắt đầu xây dựng một trò chơi, lấp đầy những lỗ hổng trong kiến ​​thức của bạn khi chúng xuất hiện và dòng kiến ​​thức dần dần sẽ làm mất đi những thứ bạn không biết một cách nhanh chóng một cách đáng ngạc nhiên.

Nếu bạn đã đọc tất cả những điều này và hơi choáng ngợp với mã hóa cần thiết với Unity, hãy đảm bảo rằng bạn đã xem cách học cách phát triển trò chơi với Unity Learn và cũng có thể đọc hướng dẫn của chúng tôi về cách tạo trò chơi điện tử mà không cần bất kỳ chương trình nào.

Unity là một công cụ mạnh mẽ và với một chút tìm tòi, bạn có thể xây dựng các dự án ấn tượng với nó nhanh hơn bạn có thể mong đợi. Hãy cho chúng tôi biết những gì bạn đã xây dựng trong các nhận xét bên dưới - chúng tôi rất muốn xem!

Đăng lại Đăng lại tiếng riu ríu E-mail 3 cách để kiểm tra xem một email là thật hay giả

Nếu bạn nhận được một email có vẻ hơi khó hiểu, tốt nhất bạn nên kiểm tra tính xác thực của nó. Dưới đây là ba cách để biết một email có phải là thật hay không.

Đọc tiếp
Chủ đề liên quan
  • Lập trình
  • Lập trình
  • Longform
  • Hướng dẫn Longform
Giới thiệu về tác giả Andre Infante(Đã xuất bản 131 bài báo)

Là một nhà văn và nhà báo sống ở Tây Nam, Andre được đảm bảo vẫn hoạt động ở nhiệt độ tối đa 50 độ Celcius và không thấm nước ở độ sâu 12 feet.

Xem thêm từ Andre Infante

Theo dõi bản tin của chúng tôi

Tham gia bản tin của chúng tôi để biết các mẹo công nghệ, đánh giá, sách điện tử miễn phí và các ưu đãi độc quyền!

Bấm vào đây để đăng ký