12 câu hỏi phỏng vấn và câu trả lời hàng đầu về Unity 3D (2025)
Dưới đây là những câu hỏi phỏng vấn Unity và câu trả lời dành cho người mới bắt đầu cũng như ứng viên lập trình viên Unity có kinh nghiệm để có được công việc mơ ước của mình.
1) Unity 3D là gì?
Unity 3D là một công cụ phát triển mạnh mẽ, đa nền tảng và tích hợp đầy đủ, cung cấp chức năng sẵn sàng sử dụng để tạo trò chơi và nội dung 3D tương tác khác.
Tải xuống PDF miễn phí: Câu hỏi và câu trả lời phỏng vấn Unity 3D
2) Đặc điểm của Unity3D là gì?
Đặc điểm của sự thống nhất là
- Đây là một công cụ trò chơi đa nền tảng với các tính năng như (đối tượng 3D, vật lý, hoạt hình, kịch bản, ánh sáng, v.v.)
- Biên tập viên kịch bản đi kèm
- MonoDevelop (win/mac)
- Nó cũng có thể sử dụng Visual Studio (Windows)
- Trình chỉnh sửa địa hình 3D
- Trình quản lý hoạt hình đối tượng 3D
- Hệ thống GUI
- Nhiều nền tảng thực thi xuất khẩu Web player/ Android/ Ứng dụng gốc/ Wii
Trong Unity 3D, bạn có thể lắp ráp các tác phẩm nghệ thuật và nội dung vào các cảnh và môi trường như thêm hiệu ứng đặc biệt, vật lý và hoạt hình, ánh sáng, v.v.
3) Hãy kể tên những thành phần quan trọng của Unity 3D?
Một số thành phần quan trọng của Unity 3D bao gồm
- Thanh công cụ: Nó có một số công cụ thao tác quan trọng cho cảnh và cửa sổ trò chơi
- Cảnh Xem: Đây là bản xem trước 3D được kết xuất đầy đủ của cảnh hiện đang mở được hiển thị và cho phép bạn thêm, chỉnh sửa và xóa GameObject
- Hệ thống cấp bậc: Nó hiển thị danh sách mọi GameObject trong chế độ xem cảnh hiện tại
- Cửa sổ dự án: Trong các trò chơi phức tạp, cửa sổ dự án tìm kiếm các tài sản trò chơi cụ thể khi cần. Nó khám phá thư mục tài sản cho tất cả các kết cấu, tập lệnh, mô hình và prefab được sử dụng trong dự án
- Trò chơi Xem:Trong Unity, bạn có thể xem trò chơi của mình và đồng thời thực hiện các thay đổi cho trò chơi trong khi đang chơi theo thời gian thực.
4) Hãy cho biết chức năng của Inspector trong Unity 3D là gì?
Thanh tra là bảng điều khiển theo ngữ cảnh, nơi bạn có thể điều chỉnh vị trí, tỷ lệ và góc quay của Đối tượng trò chơi được liệt kê trong bảng Phân cấp.
5) Giải thích Prefabs trong Unity 3D là gì?
Prefab trong Unity 3D được gọi là mẫu đối tượng được chế tạo sẵn (Lớp kết hợp các đối tượng và tập lệnh). Tại thời điểm thiết kế, một prefab có thể được kéo từ cửa sổ dự án vào cửa sổ cảnh và thêm vào hệ thống phân cấp các đối tượng trò chơi của cảnh. Nếu muốn, đối tượng sau đó có thể được chỉnh sửa. Tại thời điểm chạy, một tập lệnh có thể khiến một thể hiện đối tượng mới được tạo tại một vị trí nhất định hoặc với một tập hợp các thuộc tính chuyển đổi nhất định.
6) Giải thích file Unity3D là gì và làm thế nào để mở file Unity3D?
Tệp Unity3D là tệp trình phát web cảnh do Unity tạo ra; một ứng dụng được sử dụng để phát triển trò chơi 3D. Các tệp này bao gồm tất cả các tài sản và dữ liệu trò chơi khác trong một kho lưu trữ duy nhất và được sử dụng để kích hoạt trò chơi trong trình duyệt có Unity Web Player Plugin. Các tài sản trong tệp Unity 3D được lưu ở định dạng đóng độc quyền.
7) Liệt kê một số phương pháp hay nhất cho Unity 3D?
- Tham chiếu thành phần bộ nhớ đệm: Luôn lưu trữ tham chiếu đến các thành phần bạn cần sử dụng tập lệnh của mình
- Cấp phát bộ nhớ: Thay vì tạo đối tượng mới ngay lập tức, hãy luôn cân nhắc việc tạo và sử dụng nhóm đối tượng. Điều này sẽ giúp giảm phân mảnh bộ nhớ và làm cho trình thu gom rác hoạt động ít hơn
- Lớp và ma trận va chạm: Đối với mỗi lớp mới, một cột và hàng mới được thêm vào ma trận va chạm. Ma trận này chịu trách nhiệm xác định tương tác giữa các lớp
- Phát tia: Nó cho phép bắn một tia theo một hướng nhất định với độ dài nhất định và cho bạn biết nếu nó bắn trúng thứ gì đó
- Vật lý 2D 3D: Chọn engine vật lý phù hợp với trò chơi của bạn
- Cơ thể cứng nhắc: Đây là thành phần thiết yếu khi thêm các tương tác vật lý giữa các đối tượng
- Bước thời gian cố định: Giá trị bước thời gian cố định ảnh hưởng trực tiếp đến fixedupdate() và tốc độ cập nhật vật lý.
8) Giải thích Fixed Timestep trong Unity3D là gì? Tại sao cài đặt Fixed Timestep lại ảnh hưởng đến tốc độ trò chơi?
Tính năng Fixed Timestep giúp thiết lập các bản cập nhật hệ thống theo khoảng thời gian cố định. Một cơ chế giống như hàng đợi sẽ quản lý tất cả các sự kiện thời gian thực được tích lũy giữa các kỷ nguyên thời gian. Nếu tốc độ khung hình giảm xuống dưới một số ngưỡng giới hạn được thiết lập cho fixed timestep, thì nó có thể ảnh hưởng đến tốc độ trò chơi.
9) Trong Unity 3D, làm thế nào để ẩn gameobject?
Để ẩn gameobject trong Unity 3D, bạn phải sử dụng mã
gameObject.SetActive(false);
10) Liệt kê ưu và nhược điểm của Unity 3D?
Ưu điểm | Nhược điểm |
---|---|
Nó sử dụng ngôn ngữ JavaScript và C# để viết kịch bản | So với Unreal Engine thì chất lượng đồ họa của nó thấp hơn |
Unity cung cấp một cửa hàng Tài sản nơi bạn có thể mua hoặc tìm thấy những thứ bạn muốn sử dụng trong trò chơi của mình | Giao diện không thân thiện với người dùng và khó học, đặc biệt là đối với người mới bắt đầu |
Bạn có thể tùy chỉnh shader của riêng mình và thay đổi cách Unity hiển thị trò chơi | Nó đòi hỏi kiến thức lập trình tốt vì hầu hết mọi thứ đều chạy trên Scripts |
Đây là nền tảng tuyệt vời để tạo trò chơi cho các thiết bị di động như iOS, Android và Web (HTML5) | ----- |
11) Giải thích mục đích sử dụng AssetBundle trong Unity3D?
AssetBundles là các tệp có thể xuất từ Unity để chứa tài sản bạn chọn. AssetBundles được tạo ra để tải nội dung xuống ứng dụng của bạn.
12) Liệt kê một số tính năng chính của Unity3D UE4 (Unreal Engine 4)?
UE4 | Unity3D |
---|---|
Logic trò chơi được viết bằng C++ hoặc trình soạn thảo bản thiết kế | Logic trò chơi được viết bằng môi trường Mono |
Đối tượng cảnh cơ sở-Diễn viên | Đối tượng cảnh cơ sở- GameObject |
Sự kiện đầu vào - Thành phần UInputComponent của lớp Actor | Sự kiện đầu vào- Lớp đầu vào |
Các lớp chính và chức năng của UE4 bao gồm int32, int24, Fstring, Ftransform, FQuat, FRotator, Actor và TArray | Các lớp và hàm chính bao gồm int,string,quaternion,transform,rotation, gameobject, Mảng |
Để tạo một thể hiện mới của một lớp được chỉ định và trỏ tới Actor mới được tạo. UWorld::SpawnActor() có thể được sử dụng | Để tạo một bản sao của một đối tượng, bạn có thể sử dụng hàm Instantiate() |
Giao diện người dùng của Unreal Engine 4 linh hoạt hơn và ít bị sập hơn | Kho tài sản của công cụ này được xếp chồng tốt hơn nhiều so với UE4 |
Nó không hỗ trợ các hệ thống như X-box 360 hoặc PS3, nó yêu cầu card AMD Radeon HD để hoạt động bình thường | Nó hỗ trợ nhiều loại máy chơi game như X-box và PS4, cũng như các phiên bản tiền nhiệm của chúng |
Rẻ hơn so với Unity3D | Unity3D có phiên bản miễn phí thiếu một số chức năng trong khi phiên bản pro hơi đắt so với UE4 |
Để sử dụng UE4 bạn không cần kiến thức về ngôn ngữ lập trình | Nó đòi hỏi kiến thức về ngôn ngữ lập trình |
Những câu hỏi phỏng vấn này cũng sẽ giúp ích cho bài thi viva(orals) của bạn
gameObject.transform.SetActive(sai)
Thay thế bằng
gameObject.SetActive(sai)
Chào bạn,
Cảm ơn gợi ý của bạn. Đã sửa rồi.
Transform không thể ẩn chỉ có gameObject mới có thể ẩn nên nội dung đã viết là đúng