Làm thế nào để trở thành một lập trình viên giỏi hơn trong Unity

Với sự phát triển của AI và Machine Learning, thật dễ dàng để cho rằng tương lai sẽ không cần đến lập trình viên. Tuy nhiên, có thể mất một thời gian rất dài trước khi Trí tuệ nhân tạo có thể diễn giải các tác vụ phức tạp hơn, chẳng hạn như trừu tượng hóa, tối ưu hóa, interconnection, v.v.

Do đó, không bao giờ là quá muộn để trau dồi kiến ​​thức lập trình của bạn trong Unity, để bạn không chỉ trở thành một lập trình viên hiệu quả hơn mà còn có thể giám sát mã do người khác viết và hướng dẫn họ khi đến lúc. đi đúng hướng.

1. Tối ưu hóa sớm không phải lúc nào cũng là gốc rễ của mọi tội lỗi

Chủ đề phổ biến là coi việc tối ưu hóa sớm là một bước không cần thiết khi tạo mẫu thứ gì đó, tuy nhiên, không phải lúc nào cũng như vậy, đặc biệt là khi thêm những thứ nhỏ mà bạn biết chắc chắn có tác động lớn đến hiệu suất và khi đến lúc phải thực hiện thực hiện tối ưu hóa thực sự, thời gian đã được tiết kiệm bằng cách quan tâm đến những việc nhỏ hơn. Hãy sử dụng gameObject.name làm ví dụ:

using UnityEngine;

public class ObjectNameScript : MonoBehaviour
{
    public string objectName;

    void Update()
    {
        objectName = gameObject.name;
		Debug.Log(objectName);
    }
}

Mặc dù việc sử dụng gameObject.name có vẻ vô hại, như chúng tôi đã phát hiện trong bài đăng "Unity Tối ưu hóa trò chơi của bạn bằng Profiler", việc lấy tên của một đối tượng sẽ phân bổ khá nhiều bộ nhớ, điều này sẽ làm tăng thêm vấn đề khi gọi nó mọi khung hình. Vì vậy, ngay lập tức, chúng ta có thể chuyển phép gán đó sang hàm Start (trừ khi tên đối tượng thay đổi thường xuyên, trong trường hợp đó, sẽ hiệu quả hơn nếu bỏ qua việc sử dụng tên hoàn toàn và thay vào đó sử dụng một biến).

using UnityEngine;

public class ObjectNameScript : MonoBehaviour
{
    public string objectName;

    void Start()
    {
        objectName = gameObject.name;
    }

    void Update()
    {
        Debug.Log(objectName);
    }
}

2. Viết mã ngắn hơn

Viết mã ngắn hơn luôn tiết kiệm thời gian, giúp nó dễ đọc hơn và dễ bảo trì hơn trong tương lai.

Có nhiều cách để viết mã ngắn hơn và trong trường hợp Unity, mã C#. Ví dụ: bằng cách đơn giản hóa câu lệnh if/else bằng ký hiệu '?':

int numA = 10;
int numB = 5;
int result;
if (numA > numB) {
    result = numA;
} else {
    result = numB;
}
Debug.Log(result);

Mã tương tự có thể được rút ngắn thành:

int numA = 10;
int numB = 5;
int result = (numA > numB) ? numA : numB;
Debug.Log(result);

Một cách khác để rút ngắn mã là đặt mã lặp đi lặp lại vào hàm của chính nó rồi sử dụng hàm đó để thay thế.

3. Viết mã trước, đặt câu hỏi sau

Mặc dù lập kế hoạch là một phần thiết yếu của bất kỳ dự án nào, nhưng nếu đó là nguyên mẫu hoặc nếu ý tưởng chưa được hình thành thì điều quan trọng là phải bắt đầu viết mã càng sớm càng tốt, vì bất kể số lượng kế hoạch là bao nhiêu, ngay khi bạn bắt đầu thực hiện. làm việc, bạn sẽ luôn khám phá ra điều gì đó có thể được thực hiện tốt hơn/hiệu quả hơn hoặc một số ý tưởng không hiệu quả khi thực hành như những ý tưởng khác và ngược lại.

Nói chung, rất ít thứ có thể giúp bạn lập trình tốt hơn như bắt đầu làm việc và bắt đầu viết mã.

4. Playtest, trước khi thực hiện bất kỳ thay đổi nào

Khi bạn có một bản demo có thể chơi được, điều quan trọng là phải bắt đầu thử nghiệm nó càng sớm càng tốt để xác định xem mọi thứ có thể được cải thiện ở đâu, bởi vì đôi khi, điều đó có thể không rõ ràng nếu chỉ nhìn vào mã.

Khi bạn nắm vững nghệ thuật chơi thử và thu thập phản hồi, bạn sẽ trở thành một lập trình viên hiệu quả hơn bằng cách biết chính xác nơi cần tìm để cải thiện mã.

Unity tất nhiên cung cấp nhiều công cụ hữu ích trong quá trình thực hiện, chẳng hạn như Bảng điều khiển (để phát hiện cảnh báo và lỗi), Profiler để thực hiện gỡ lỗi và phần còn lại của giao diện (Cảnh, Phân cấp, Thanh tra, v.v. để theo dõi dòng chảy của trò chơi/dự án).

5. Tối ưu hóa là một quá trình dần dần

Tất cả chúng ta đều có thể đồng ý rằng hiệu suất của trò chơi có thể quyết định hoặc phá vỡ nó và là một trong những trụ cột cơ bản cho quá trình ra mắt thành công. Tuy nhiên, hiệu suất của trò chơi chỉ có thể được đánh giá bằng cách thực hiện các lần chơi thử trong các tình huống và điều kiện khác nhau để mô phỏng trò chơi theo quan điểm của người chơi thông thường.

Chúng ta đã thảo luận nhiều phương pháp về cách gỡ lỗi, tối ưu hóa và tìm ra các điểm nghẽn trong mã trò chơi của bạn.

Để tìm hiểu thêm về cách tối ưu hóa trò chơi trên Máy tính để bàn hoặc Thiết bị di động, bạn có thể xem các bài đăng bên dưới:

  1. Unity Tối ưu hóa trò chơi của bạn bằng Profiler
  2. Cải thiện hiệu suất của trò chơi di động ở Unity 3D
  3. Unity Mẹo tối ưu hóa

Nếu bạn có mẹo riêng về cách trở thành lập trình viên giỏi hơn trong Unity, vui lòng đăng chúng trong phần bình luận.

Bài viết được đề xuất
Làm việc với mảng và danh sách trong Unity Code
Tạo trò chơi lấy cảm hứng từ Pac-Man trong Unity
Các toán tử cần biết trong Unity C#
Mở ngăn kéo và tủ bằng các phím cụ thể trong Unity
Tương tác với các đối tượng trong trò chơi Unity
Giới thiệu về ngôn ngữ kịch bản Unity C#
Hướng dẫn về MonoBehaviour trong Unity