Chủ đề unity game pause: Unity game pause là tính năng quan trọng để cung cấp trải nghiệm game tốt hơn cho người chơi. Bài viết này sẽ hướng dẫn bạn cách triển khai và tối ưu hóa chức năng tạm dừng trong Unity, giúp bạn dễ dàng áp dụng vào dự án của mình. Ngoài ra, chúng tôi sẽ khám phá các kỹ thuật nâng cao để cải thiện hiệu suất và tránh các lỗi thường gặp khi sử dụng chức năng này.
Mục lục
- Thông tin tổng hợp từ kết quả tìm kiếm về "unity game pause"
- Mục Lục
- Giới thiệu Unity Game Pause
- Hướng dẫn tạo chức năng Pause
- Các kỹ thuật tuỳ chỉnh khi tạm dừng game
- Ứng dụng thực tế của chức năng Pause trong Game
- Cách tối ưu chức năng Pause trong Unity
- Tổng hợp các lỗi thường gặp khi dùng Pause
- Tài liệu và khóa học liên quan
Thông tin tổng hợp từ kết quả tìm kiếm về "unity game pause"
Unity là một nền tảng phát triển game được sử dụng rộng rãi để tạo ra các trò chơi tương tác trên nhiều thiết bị khác nhau. Chủ đề "unity game pause" thường liên quan đến việc lập trình và xử lý tạm dừng trong trò chơi, nhằm tối ưu trải nghiệm người dùng. Dưới đây là các thông tin tổng hợp chi tiết về cách sử dụng chức năng tạm dừng trong Unity.
Cách tạo chức năng Pause trong Unity
Để tạm dừng trò chơi, chúng ta cần sử dụng hàm
Time.timeScale. Thông qua việc thay đổi giá trị củatimeScale, trò chơi có thể tạm dừng hoặc tiếp tục chạy.Mặc định,
Time.timeScalebằng1khi game đang chạy bình thường. Khi gánTime.timeScale = 0, tất cả các hoạt động trong game sẽ bị dừng lại ngoại trừ một số tác vụ như xử lý UI hoặc âm thanh.Ví dụ đoạn mã dưới đây sẽ giúp bạn tạo chức năng tạm dừng:
void Update() {
if (Input.GetKeyDown(KeyCode.P)) {
if (Time.timeScale == 1) {
Time.timeScale = 0;
} else {
Time.timeScale = 1;
}
}
}
Cách xử lý âm thanh khi game bị tạm dừng
Thông thường, khi tạm dừng game, âm thanh vẫn tiếp tục phát. Để xử lý điều này, cần tạm dừng hoặc giảm âm lượng các âm thanh đang phát khi Time.timeScale bằng 0.
Có thể sử dụng
AudioListener.pauseđể tắt tất cả các âm thanh khi trò chơi bị tạm dừng:
void PauseGame() {
Time.timeScale = 0;
AudioListener.pause = true;
}
void ResumeGame() {
Time.timeScale = 1;
AudioListener.pause = false;
}
Quản lý UI trong chức năng Pause
Khi tạm dừng game, giao diện (UI) thường được thay đổi để thông báo cho người chơi rằng trò chơi đang bị tạm dừng. Dưới đây là cách hiển thị menu tạm dừng:
public GameObject pauseMenuUI;
void PauseGame() {
pauseMenuUI.SetActive(true);
Time.timeScale = 0;
}
void ResumeGame() {
pauseMenuUI.SetActive(false);
Time.timeScale = 1;
}
Trong đoạn mã trên, pauseMenuUI là một đối tượng giao diện người dùng (UI) sẽ được kích hoạt khi trò chơi bị tạm dừng.
Tối ưu hóa khi sử dụng chức năng Pause
Khi tạm dừng game, các yếu tố liên quan đến hiệu suất như chuyển động của đối tượng và các tính toán vật lý cũng sẽ bị ngưng lại, giúp giảm tải hệ thống.
Hạn chế việc sử dụng
Update()liên tục để kiểm tra trạng thái tạm dừng, thay vào đó sử dụng các sự kiện cụ thể để quản lý chức năng tạm dừng.
Ứng dụng của chức năng Pause trong phát triển game
Chức năng tạm dừng không chỉ là một công cụ tiện ích cho người chơi mà còn giúp nhà phát triển kiểm soát các khía cạnh khác như: lưu trữ trạng thái game, quản lý tài nguyên, và tối ưu hóa hiệu suất.
Các trò chơi phổ biến sử dụng Unity đều tận dụng chức năng tạm dừng để cải thiện trải nghiệm người chơi, đồng thời giúp game vận hành một cách mượt mà và hiệu quả hơn.

Mục Lục
Giới thiệu về hệ thống tạm dừng trong Unity
Hệ thống tạm dừng trong Unity là một chức năng quan trọng trong quá trình phát triển game, giúp người chơi dừng lại hoạt động của trò chơi mà không cần thoát hoàn toàn.
Cách thiết lập hệ thống tạm dừng cơ bản
Bạn có thể dễ dàng tạo hệ thống tạm dừng trong Unity thông qua việc sử dụng Time.timeScale và lập trình các điều kiện tạm dừng/tiếp tục trò chơi.
Tạo Script tạm dừng
Bạn cần tạo một Script mới, ví dụ gọi là PauseSystem, trong đó sử dụng phím Escape để kích hoạt chế độ tạm dừng.
Thay đổi Time.timeScale để dừng trò chơi
Hàm Time.timeScale được dùng để điều khiển tốc độ thời gian trong trò chơi, khi giá trị là 0, trò chơi sẽ tạm dừng.
void Update() {
if (Input.GetKeyDown(KeyCode.Escape)) {
Time.timeScale = Time.timeScale == 0 ? 1 : 0;
}
}
Xử lý tiếp tục trò chơi
Bằng cách sử dụng toán tử Ternary, bạn có thể chuyển đổi trạng thái giữa tạm dừng và tiếp tục trò chơi một cách linh hoạt.
Tạo Menu Tạm Dừng
Thông thường, một trò chơi có thêm menu tạm dừng để cung cấp các tùy chọn như tiếp tục, thoát hoặc cài đặt.
Hiển thị/ẩn Menu Tạm Dừng
Trong Script tạm dừng, bạn có thể thêm biến pauseMenu để hiển thị hoặc ẩn menu này khi trò chơi bị tạm dừng.
Sử dụng Ternary Operator trong lập trình
Toán tử Ternary được dùng để viết gọn các điều kiện trong một dòng code.
Sử dụng biến bool để quản lý trạng thái tạm dừng
Sử dụng biến bool để theo dõi trạng thái trò chơi đang bị tạm dừng hay không.
Xử lý các lỗi phổ biến trong hệ thống tạm dừng
Một số lỗi thường gặp khi xây dựng hệ thống tạm dừng trong Unity bao gồm việc nhân vật vẫn hoạt động dù trò chơi đã tạm dừng.
Ngăn ngừa hoạt động trong khi trò chơi bị tạm dừng
Sử dụng một phương thức để kiểm tra trạng thái của trò chơi và ngăn các hoạt động diễn ra khi trò chơi đã bị tạm dừng.
Sử dụng Animator với thời gian không thay đổi
Để các hoạt cảnh vẫn hoạt động khi thời gian bị dừng, bạn cần điều chỉnh chế độ cập nhật của Animator sang Unscaled Time.
Mẹo và lưu ý khi xây dựng hệ thống tạm dừng
Để hệ thống tạm dừng hoạt động hiệu quả, bạn cần lưu ý những điểm sau:
Vô hiệu hóa các input khi trò chơi bị tạm dừng
Đảm bảo rằng các phím điều khiển và tương tác không hoạt động khi trò chơi đang tạm dừng.
Quản lý các đối tượng động khi tạm dừng
Các đối tượng động như hoạt cảnh hoặc AI có thể cần được điều chỉnh riêng khi trò chơi bị tạm dừng.
Giới thiệu Unity Game Pause
Tính năng tạm dừng trong Unity là một trong những chức năng cơ bản và quan trọng trong việc phát triển game. Nó cho phép người chơi dừng lại hoạt động của trò chơi mà không cần thoát hoàn toàn, tạo sự linh hoạt và giúp người chơi có thể điều chỉnh theo nhu cầu. Hệ thống này được triển khai thông qua việc thay đổi giá trị của biến Time.timeScale, giúp kiểm soát tốc độ của trò chơi. Ngoài ra, việc tạo ra một giao diện tạm dừng, với các tùy chọn như tiếp tục, thoát hoặc cài đặt, thường đi kèm để nâng cao trải nghiệm người chơi.
- Thay đổi tốc độ thời gian với
Time.timeScale - Tạo menu tạm dừng với các chức năng như tiếp tục, thoát
- Quản lý đầu vào và hoạt động của nhân vật khi trò chơi bị tạm dừng
- Xử lý các lỗi phổ biến khi áp dụng hệ thống tạm dừng
Việc tạm dừng trò chơi không chỉ đơn giản là dừng lại, mà còn cần chú ý đến việc vô hiệu hóa các input, xử lý hoạt cảnh và các đối tượng động để trò chơi tiếp tục hoạt động một cách mượt mà sau khi được tiếp tục. Đối với những nhà phát triển game, tính năng này là một công cụ hữu ích để tối ưu hóa trải nghiệm người dùng.
Hướng dẫn tạo chức năng Pause
Để tạo chức năng Pause trong Unity, chúng ta có thể sử dụng nhiều cách khác nhau. Cách đơn giản nhất là điều chỉnh giá trị của Time.timeScale. Khi Time.timeScale = 0, mọi đối tượng và hoạt động trong game sẽ tạm dừng (trừ một số đối tượng không phụ thuộc vào thời gian).
1. Cơ bản về Time.timeScale
- Time.timeScale = 1: Game chạy bình thường.
- Time.timeScale = 0: Tạm dừng toàn bộ game.
- Time.timeScale = 0.5: Game chạy chậm một nửa.
Đoạn mã dưới đây sẽ giúp chúng ta tạm dừng và tiếp tục game khi nhấn một nút Pause:
public class PauseGame : MonoBehaviour {
bool isPaused = false;
void Update() {
if (Input.GetKeyDown(KeyCode.P)) {
if (isPaused) {
ResumeGame();
} else {
Pause();
}
}
}
void Pause() {
Time.timeScale = 0;
AudioListener.pause = true;
isPaused = true;
}
void ResumeGame() {
Time.timeScale = 1;
AudioListener.pause = false;
isPaused = false;
}
}
2. Tạm dừng ngoại trừ một số đối tượng
Nếu bạn muốn tạm dừng mọi thứ trong game ngoại trừ một số đối tượng nhất định, bạn có thể sử dụng Time.unscaledTime. Điều này đảm bảo rằng những đối tượng đó không bị tạm dừng khi game dừng:
void PauseGame() {
Time.timeScale = 0;
Time.fixedDeltaTime = 0; // Dừng toàn bộ
foreach (GameObject obj in certainObjects) {
obj.GetComponent().isKinematic = true;
}
}
3. Tạm dừng audio
Trong Unity, âm thanh mặc định sẽ tiếp tục phát ngay cả khi game bị tạm dừng. Bạn có thể dừng toàn bộ âm thanh bằng cách sử dụng AudioListener.pause:
void PauseGame() {
Time.timeScale = 0;
AudioListener.pause = true;
}
void ResumeGame() {
Time.timeScale = 1;
AudioListener.pause = false;
}
Nếu bạn chỉ muốn dừng một số âm thanh cụ thể, bạn có thể sử dụng thuộc tính ignoreListenerPause:
void PauseSpecificAudio(AudioSource audioSource) {
audioSource.ignoreListenerPause = true;
}
4. Sử dụng Coroutine khi game tạm dừng
Khi game tạm dừng, hầu hết các Coroutine sẽ bị dừng. Tuy nhiên, bạn có thể sử dụng Time.unscaledDeltaTime để cho phép Coroutine tiếp tục hoạt động:
IEnumerator PauseCoroutine() {
while (true) {
yield return new WaitForSecondsRealtime(1f);
Debug.Log("Hoạt động này vẫn chạy khi game tạm dừng");
}
}
5. Tạo menu Pause
Cuối cùng, bạn có thể thêm giao diện người dùng (UI) cho chức năng Pause bằng cách tạo một menu tạm dừng. Khi game bị tạm dừng, menu sẽ xuất hiện:
public GameObject pauseMenuUI;
void Pause() {
pauseMenuUI.SetActive(true); // Hiển thị menu
Time.timeScale = 0;
AudioListener.pause = true;
}
void Resume() {
pauseMenuUI.SetActive(false); // Ẩn menu
Time.timeScale = 1;
AudioListener.pause = false;
}
Với cách này, bạn có thể thêm các nút trong giao diện để người chơi có thể chọn Resume hoặc Quit từ menu tạm dừng.

Các kỹ thuật tuỳ chỉnh khi tạm dừng game
Khi tạm dừng game trong Unity, việc tùy chỉnh các tính năng nâng cao sẽ giúp cải thiện trải nghiệm người chơi. Dưới đây là một số kỹ thuật phổ biến và tùy chỉnh để quản lý tính năng pause một cách hiệu quả:
1. Điều chỉnh Time.timeScale linh hoạt
Thay vì chỉ sử dụng Time.timeScale = 0, bạn có thể điều chỉnh giá trị này một cách linh hoạt. Ví dụ, thay vì dừng hoàn toàn, bạn có thể giảm tốc độ game:
- Giảm tốc độ xuống
Time.timeScale = 0.1để tạo hiệu ứng slow-motion. - Khi người chơi nhấn nút pause, game có thể giảm dần tốc độ từ từ thay vì dừng ngay lập tức.
2. Tạo hiệu ứng âm thanh khi tạm dừng
Âm thanh cũng có thể được tùy chỉnh khi game tạm dừng. Bạn có thể sử dụng AudioSource.pitch để điều chỉnh âm thanh:
audioSource.pitch = Time.timeScale;
Điều này sẽ khiến âm thanh cũng dừng hoặc chạy chậm lại tương ứng với tốc độ game.
3. Tạm dừng với UI động
Khi tạm dừng game, bạn có thể tạo giao diện người dùng (UI) động bằng cách thay đổi trạng thái các thành phần UI như menu hoặc biểu đồ sức mạnh.
- Ẩn hoặc hiện các thành phần UI bằng phương pháp
SetActive(true/false). - Thêm các hiệu ứng chuyển tiếp (transition) để làm mềm quá trình dừng hoặc tiếp tục game.
4. Quản lý thời gian và sự kiện
Nếu bạn có các sự kiện hoặc hệ thống đếm giờ chạy trong game, hãy sử dụng Time.unscaledTime để những tính năng này không bị ảnh hưởng khi tạm dừng.
- Sử dụng
Time.unscaledDeltaTimecho các đối tượng quan trọng vẫn cần chạy dù game bị tạm dừng, ví dụ như đồng hồ đếm giờ. - Sử dụng
WaitForSecondsRealtime()trong các Coroutine để giữ cho chúng chạy độc lập vớiTime.timeScale.
5. Hiệu ứng hình ảnh khi tạm dừng
Để làm tăng thêm cảm giác tạm dừng game, bạn có thể thêm hiệu ứng làm mờ màn hình hoặc thay đổi màu sắc khi người chơi nhấn nút pause.
- Sử dụng các hiệu ứng Post-Processing để áp dụng hiệu ứng mờ (blur).
- Chuyển màn hình sang tông màu xám hoặc giảm độ sáng để làm nổi bật trạng thái tạm dừng.
6. Điều chỉnh Input khi tạm dừng
Khi game tạm dừng, người chơi có thể tiếp tục sử dụng một số nút nhất định (như menu, bản đồ). Để làm điều này:
- Vô hiệu hóa các input không cần thiết bằng cách sử dụng phương pháp
InputManager. - Kích hoạt các input đặc biệt như phím tắt để mở menu.
Bằng cách tùy chỉnh các kỹ thuật trên, bạn có thể nâng cao tính năng tạm dừng trong Unity, giúp tạo trải nghiệm mượt mà hơn cho người chơi.
Ứng dụng thực tế của chức năng Pause trong Game
Chức năng Pause trong game không chỉ đơn thuần là dừng lại để người chơi có thể nghỉ ngơi, mà còn mang lại nhiều giá trị ứng dụng thực tế trong quá trình phát triển và chơi game. Dưới đây là một số ví dụ phổ biến về cách chức năng Pause được sử dụng trong game:
1. Tạm dừng để quản lý thời gian chơi
- Người chơi có thể dừng game khi họ cần nghỉ ngơi hoặc giải quyết các công việc ngoài đời thực mà không ảnh hưởng đến tiến trình trong game.
- Chức năng này giúp quản lý thời gian chơi một cách hợp lý, tránh tình trạng chơi liên tục gây căng thẳng.
2. Cấu hình hoặc điều chỉnh cài đặt
Khi tạm dừng, game có thể cho phép người chơi truy cập vào menu cài đặt để điều chỉnh âm thanh, đồ họa, hoặc các tùy chọn khác:
- Điều chỉnh mức độ âm thanh cho phù hợp với môi trường chơi.
- Chuyển đổi giữa các chế độ đồ họa khác nhau để tối ưu hóa hiệu suất game.
3. Xem lại hướng dẫn và thông tin
Trong một số game, khi tạm dừng, người chơi có thể xem lại hướng dẫn chơi, các mẹo chiến lược hoặc thông tin chi tiết về nhân vật, vật phẩm:
- Xem lại nhiệm vụ hoặc các gợi ý cần thiết để tiếp tục.
- Kiểm tra trạng thái hiện tại của nhân vật, chỉ số sức khỏe và trang bị.
4. Tạm dừng trong các tình huống khẩn cấp
- Chức năng pause còn giúp người chơi tạm dừng game trong những tình huống ngoài đời thực như nghe điện thoại, giải quyết công việc đột xuất.
- Game vẫn lưu lại trạng thái hiện tại, không gây mất dữ liệu hay tiến trình chơi.
5. Cân bằng chiến thuật và thời gian suy nghĩ
Trong các game chiến thuật, chức năng Pause cho phép người chơi có thời gian suy nghĩ kỹ lưỡng về các nước đi tiếp theo hoặc chiến lược của mình:
- Cho phép phân tích tình hình hiện tại và điều chỉnh chiến thuật hợp lý.
- Có thể dừng lại để xem xét kỹ hơn các hành động của đối thủ và phản ứng kịp thời.
Nhìn chung, chức năng Pause trong Unity giúp nâng cao trải nghiệm người chơi, tăng tính linh hoạt và tiện lợi khi quản lý thời gian và cách thức chơi game một cách hiệu quả.
XEM THÊM:
Cách tối ưu chức năng Pause trong Unity
Để chức năng tạm dừng (Pause) trong game Unity hoạt động mượt mà và tối ưu hóa hiệu suất, lập trình viên cần chú trọng đến một số kỹ thuật sau đây:
- Giảm thiểu tài nguyên sử dụng khi tạm dừng: Trong khi game bị tạm dừng, nhiều tài nguyên như âm thanh, hiệu ứng hình ảnh và AI không cần phải hoạt động. Việc dừng hoặc giảm hoạt động của các thành phần này sẽ giảm tải cho CPU và GPU.
- Sử dụng
Time.timeScalehợp lý: Đặt giá trịTime.timeScalebằng 0 sẽ ngừng các sự kiện theo thời gian thực trong game, nhưng có thể tiếp tục xử lý các yếu tố khác như giao diện người dùng (UI). - Quản lý bộ nhớ và các đối tượng: Tạm dừng không chỉ là dừng thời gian, mà còn là quản lý bộ nhớ hiệu quả. Tắt hoặc chuyển sang trạng thái "ngủ" các đối tượng không cần thiết để giảm tiêu thụ bộ nhớ.
- Tối ưu giao diện người dùng khi tạm dừng: Sử dụng các kỹ thuật như làm mờ nền (blur background) hoặc hiển thị menu đơn giản, giúp giảm tải xử lý đồ họa.
- Kiểm tra và đo lường hiệu suất: Sử dụng các công cụ như
Unity Profilerđể theo dõi hiệu suất và xác định các yếu tố ảnh hưởng đến game khi tạm dừng.

Tổng hợp các lỗi thường gặp khi dùng Pause
Trong quá trình phát triển game với Unity, việc sử dụng chức năng Pause có thể dẫn đến một số lỗi phổ biến. Dưới đây là những lỗi thường gặp và cách khắc phục để giúp quá trình phát triển trở nên hiệu quả hơn:
- 1. Lỗi trạng thái không được khôi phục chính xác:
Khi sử dụng
Time.timeScaleđể dừng game, các thành phần vật lý hoặc animation có thể không khôi phục lại đúng trạng thái khi Resume. Để khắc phục, hãy sử dụng kết hợpAnimatorvà điều chỉnh các trạng thái vật lý một cách thủ công khi Resume game. - 2. Lỗi âm thanh không bị tạm dừng:
Thường khi Pause game, âm thanh vẫn tiếp tục phát. Bạn có thể giải quyết bằng cách tạm dừng các âm thanh bằng cách sử dụng
AudioSource.Pause()và tiếp tục bằngAudioSource.UnPause()sau khi Resume. - 3. Lỗi UI không phản hồi:
Khi Pause game, đôi khi UI không nhận sự kiện hoặc phản hồi chậm do sự phụ thuộc vào
Time.timeScale. Để khắc phục, hãy dùngTime.unscaledDeltaTimecho các UI animations để chúng không bị ảnh hưởng bởitimeScale. - 4. Lỗi về hiệu suất khi Resume:
Sau khi Resume, game có thể bị giật hoặc hiệu suất giảm do quá trình tính toán vật lý hoặc AI bị dừng lại đột ngột. Để khắc phục, bạn cần tối ưu các hệ thống liên quan đến vật lý và đảm bảo rằng chúng được xử lý mượt mà khi Resume.
- 5. Lỗi lưu trữ trạng thái không chính xác:
Khi Pause game, nếu không lưu trữ đúng trạng thái của game (ví dụ như vị trí nhân vật, trạng thái nhiệm vụ), việc Resume có thể không chính xác. Cần lưu trữ tất cả các trạng thái cần thiết trước khi Pause và khôi phục chúng một cách chính xác khi Resume.
Tài liệu và khóa học liên quan
Để giúp bạn phát triển và nâng cao kỹ năng trong việc lập trình và tối ưu hóa tính năng Pause trong Unity, dưới đây là một số tài liệu và khóa học đáng tham khảo:
- Beginning C++ Through Unity Programming: Một tài liệu hữu ích dành cho người mới bắt đầu học lập trình Unity. Nó cung cấp nền tảng lập trình C++ và Unity từ cơ bản đến nâng cao.
- 3D Math Primer for Graphics and Unity Development: Cuốn sách này cung cấp các thuật toán cần thiết để mô tả và xây dựng thế giới 3D, giúp bạn hiểu rõ hơn về toán học trong phát triển game.
- Unity Programming Patterns: Tài liệu này cung cấp các mẫu lập trình (Patterns) giúp bạn giải quyết những vấn đề phức tạp trong quá trình phát triển game Unity.
Bên cạnh tài liệu, bạn có thể tham gia một số khóa học chuyên sâu:
- Khóa học lập trình Unity 3D tại Việt Class: Khóa học này sẽ giúp bạn nắm bắt được các kỹ năng lập trình cơ bản, từ cách di chuyển nhân vật, tạo màn hình game đến tối ưu hiệu ứng, ánh sáng và kiểm thử game trên thiết bị thật.
- Khóa học Unity tại Techacademy: Đây là khóa học toàn diện, từ cách tạo game 2D, 3D cho đến phát triển các kỹ năng giải quyết vấn đề và tổ chức dự án game Unity một cách hiệu quả. Bạn sẽ học cách xây dựng hệ thống vũ khí và hệ thống camera có thể tái sử dụng.
Tham khảo các khóa học và tài liệu trên sẽ giúp bạn làm chủ Unity và phát triển tính năng Pause một cách hiệu quả hơn trong các dự án game của mình.























Blender Room - Cách Tạo Không Gian 3D Tuyệt Đẹp Bằng Blender
Setting V-Ray 5 Cho 3ds Max: Hướng Dẫn Tối Ưu Hiệu Quả Render
D5 Converter 3ds Max: Hướng Dẫn Chi Tiết Và Các Tính Năng Nổi Bật
Xóa Lịch Sử Chrome Trên Máy Tính: Hướng Dẫn Chi Tiết Và Hiệu Quả
VLC Media Player Android: Hướng Dẫn Chi Tiết và Tính Năng Nổi Bật
Chuyển File Canva Sang AI: Hướng Dẫn Nhanh Chóng và Đơn Giản Cho Người Mới Bắt Đầu
Chuyển từ Canva sang PowerPoint - Hướng dẫn chi tiết và hiệu quả
Ghi Âm Zoom Trên Máy Tính: Hướng Dẫn Chi Tiết và Mẹo Hữu Ích
"Notion có tiếng Việt không?" - Hướng dẫn thiết lập và lợi ích khi sử dụng
Facebook No Ads XDA - Trải Nghiệm Không Quảng Cáo Đáng Thử
Ký Hiệu Trên Bản Vẽ AutoCAD: Hướng Dẫn Toàn Diện và Thực Hành
Tổng hợp lisp phục vụ bóc tách khối lượng xây dựng
Chỉnh kích thước số dim trong cad – cách đơn giản nhất 2024