Qiz HUB Logo
QizHUB
QUESTION LIBRARY

Trang chủ
Môn học
Chủ đề
Đề thi
Câu hỏi
Thẻ

Đăng nhập
Qiz HUB Logo
QizHUB
QUESTION LIBRARY PLATFORM
Trang chủMôn họcChủ đềNhóm họcThẻ
Luyện đề ngayĐăng nhập
PrivacyTermsCookieAdsads.txtrobotssitemap
Trang chủMôn họcGame Programming with C# - Lập tringh Game với C#Đề ôn tập PRU213 - Lập trình Game với Unity - 50 câu có đáp án
Đề thi trắc nghiệm

Đề ôn tập PRU213 - Lập trình Game với Unity - 50 câu có đáp án

50Câu hỏi
Game Programming with C# - Lập tringh Game với C#Môn học

01Chọn hình thức làm bài

02Số câu hỏi

03Thời gian làm bài(chỉ áp dụng cho thi thử)

04Tuỳ chọn

Trộn thứ tự câu hỏi

Xáo trộn câu để tránh học vẹt.

Trộn thứ tự đáp án

Xáo trộn vị trí A B C D ở từng câu.

Tổng quan lượt làm

Hình thức
Chế độ học
Số câu
50 câu
Thời gian
Không giới hạn
Bạn cần đăng nhập để làm bài, lưu tiến độ và tiếp tục lần học trước.

Vui lòng đăng nhập để bắt đầu làm bài.

Tổng câu hỏi

50

Thời gian làm bài

Không giới hạn

Lượt xem

1

Câu có lời giải

50

Câu có link chi tiết

50

Xem trước câu hỏi

Bấm vào từng câu để xem đáp án
#001
—
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
ABy assigning functions or methods to buttons
BThrough scripting to define custom behaviors
Using Unity's animation system or event triggersĐÚNG
DBy using sprite atlases or sprite sheets for optimization
Giải thích

Để tạo hiệu ứng thu hút cho nút trong Unity, bạn có thể sử dụng các phương pháp sau. Thứ nhất, bạn có thể gán các hàm hoặc phương thức vào nút để tạo ra các hành động tùy chỉnh. Thứ hai, bạn có thể sử dụng hệ thống animation hoặc event triggers của Unity để tạo ra các hiệu ứng động. Điều này cho phép bạn tạo ra các hiệu ứng như nhấp nháy, thay đổi màu sắc, hoặc thậm chí là tạo ra các hiệu ứng 3D. Ngoài ra, bạn cũng có thể sử dụng các sprite atlases hoặc sprite sheets để tối ưu hóa quá trình tạo hiệu ứng.

#002
—
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
ATo determine the model's color palette
To specify which parts of the model can moveĐÚNG
CTo create realistic textures
DTo generate environmental effects
Giải thích

Khi hoạt động animation, một rig (còn gọi là skeleton) đóng vai trò quan trọng trong việc định hình cấu trúc và khả năng di chuyển của mô hình 3D. Rig được sử dụng để chỉ định các phần của mô hình có thể di chuyển, giúp tạo ra các động tác và hành động tự nhiên. Nó giống như một khung xương ảo cho mô hình, cho phép các nhà thiết kế và họa sĩ hoạt hình kiểm soát và điều chỉnh các phần của mô hình để tạo ra các hiệu ứng di chuyển mong muốn.

#003
—
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
ABy making the interface visually complex
By giving users instant responses to their actionsĐÚNG
CBy providing extensive tutorials
DBy maintaining uniformity in design elements
Giải thích

Sự nguyên tắc phản hồi tức thời giúp nâng cao trải nghiệm người dùng trong thiết kế UI bằng cách cung cấp cho người dùng phản hồi tức thời khi họ thực hiện các hành động. Điều này cho phép người dùng biết được kết quả của hành động của họ ngay lập tức, giúp họ hiểu rõ hơn về cách sử dụng sản phẩm và giảm thiểu sự nhầm lẫn. Phản hồi tức thời cũng giúp người dùng cảm thấy được hỗ trợ và hướng dẫn, từ đó tăng cường sự tin tưởng và hài lòng với sản phẩm.

#004
—
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
ABy directly changing the animation clip.
BBy enabling isTransitioning property of the Animator.
CBy calling Animator.TransitionToState().
By setting a parameter in the Animator.ĐÚNG
Giải thích

Để kích hoạt chuyển đổi giữa các trạng thái sử dụng một kịch bản, bạn cần hiểu cách hoạt động của Animator trong Unity. Animator là một thành phần quan trọng trong Unity giúp tạo ra các hành động và chuyển đổi giữa các trạng thái. Để kích hoạt chuyển đổi, bạn cần sử dụng phương thức TransitionToState() của Animator. Tuy nhiên, phương thức này không phải là phương thức được sử dụng phổ biến nhất. Thay vào đó, bạn có thể sử dụng phương thức SetParameter() của Animator để kích hoạt chuyển đổi. Phương thức này cho phép bạn đặt giá trị cho một tham số cụ thể, và khi giá trị này thay đổi, Animator sẽ tự động kích hoạt chuyển đổi giữa các trạng thái. Vì vậy, câu trả lời đúng là "By setting a parameter in the Animator."

#005
—
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
ABy focusing solely on aesthetic appeal within the interface
BBy making the interface visually complex within the interface
CBy allowing users to customize the interface extensively
By providing clear instructions, cues, or assistance within the interfaceĐÚNG
Giải thích

Giải pháp Hướng dẫn giúp người dùng trong thiết kế UI bằng cách cung cấp các hướng dẫn rõ ràng, tín hiệu hoặc hỗ trợ bên trong giao diện. Điều này giúp người dùng hiểu rõ về cách sử dụng giao diện và thực hiện các hành động mong muốn. Các hướng dẫn này có thể được thể hiện dưới dạng văn bản, hình ảnh hoặc biểu tượng, tùy thuộc vào thiết kế của giao diện. Mục tiêu của giải pháp Hướng dẫn là giảm thiểu sự nhầm lẫn và tăng cường trải nghiệm người dùng. Nó giúp người dùng cảm thấy tự tin hơn khi tương tác với giao diện và đạt được mục tiêu của mình.

#006
—
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
ATo apply a constant force in a specific direction.
To simulate air or fluid resistance, affecting how quickly an object slows down when moving through space.ĐÚNG
CTo control the rotational speed of the object.
DTo adjust the gravitational pull on the object.
Giải thích

Tính chất 'drag' của Rigidbody trong Unity có chức năng mô phỏng sự cản trở của không khí hoặc chất lỏng, ảnh hưởng đến tốc độ giảm của đối tượng khi di chuyển trong không gian. Điều này có nghĩa là khi bạn bật tính chất 'drag', đối tượng sẽ chậm lại nhanh hơn khi di chuyển qua không gian, giống như khi nó đang di chuyển trong không khí hoặc nước. Điều này giúp tạo ra hiệu ứng chân thực hơn trong trò chơi hoặc ứng dụng của bạn. Ngoài ra, tính chất 'drag' cũng có thể được sử dụng để mô phỏng các yếu tố như sức cản của gió hoặc sức cản của nước.

#007
—
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
AThe GameObject will stop moving
BThe GameObject will change color
A particle effect will be activated and a message loggedĐÚNG
DThe GameObject will increase in size
Giải thích

Khi GameObject có script CheckpointTrigger vào vùng trigger có nhãn "Checkpoint", thì sẽ kích hoạt hiệu ứng particle được chỉ định trong biến checkpointEffect và in ra thông báo "Checkpoint Reached!" trong console. Điều này có nghĩa là khi nhân vật hoặc đối tượng của bạn đến gần checkpoint, sẽ xuất hiện một hiệu ứng đặc biệt và thông báo cho bạn biết rằng bạn đã đạt được checkpoint.

#008
—
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
AThe GameObject will move downward with a force of 500 Newtons.
BThe GameObject's velocity will decrease by 500 units per second.
CThe GameObject will rotate around the Y-axis.
The GameObject will move upward with a force of 500 Newtons.ĐÚNG
Giải thích

Khi bạn nhấn phím không gian, GameObject sẽ di chuyển lên cao với một lực 500 Newtons. Điều này xảy ra vì trong đoạn mã, chúng ta đang sử dụng phương pháp AddForce để thêm một lực lên Rigidbody của GameObject. Lực này được tính toán bằng cách nhân vectơ hướng lên (Vector3.up) với giá trị lực (forceMagnitude). Vì vectơ hướng lên chỉ có thành phần theo trục z, nên lực được thêm vào sẽ chỉ có tác dụng đẩy GameObject lên cao. Ngoài ra, giá trị lực được đặt là 500 Newtons, nên GameObject sẽ di chuyển lên cao với một lực tương ứng.

#009
—
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
ASimulating a door hinge or swinging pendulum
BProviding customizable constraints for defining complex object relationships and motion
CApplying a spring-like force between connected bodies
Preventing relative motion between connected bodiesĐÚNG
Giải thích

Trong Unity, một khớp cố định (Fixed joint) có chức năng chính là ngăn chặn chuyển động tương đối giữa các vật thể được kết nối. Điều này có nghĩa là khi hai vật thể được kết nối bằng khớp cố định, chúng sẽ không thể di chuyển so với nhau. Khớp cố định thường được sử dụng để mô phỏng các mối quan hệ vật lý như một cánh cửa hoặc một thanh treo lắc. Tuy nhiên, nó không thể mô phỏng các mối quan hệ phức tạp hơn như một cánh cửa mở hoặc đóng, hoặc một thanh treo lắc có lực quán tính.

#010
—
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
To enable objects to respond to physics simulations, such as gravity and collisions, affecting their movement and rotation.ĐÚNG
BTo play audio effects when objects interact with the environment.
CTo define the graphical representation of objects in the game world.
DTo add visual effects to objects during collisions.
Giải thích

Trong Unity, Rigidbody là một thành phần quan trọng khi tạo ra các trò chơi vật lý. Nó cho phép các đối tượng phản ứng với các mô phỏng vật lý như trọng lực và va chạm, ảnh hưởng đến chuyển động và xoay của chúng. Khi sử dụng Rigidbody, các nhà phát triển có thể tạo ra các trò chơi vật lý phức tạp và chân thực, bao gồm cả các trò chơi puzzle dựa trên vật lý. Ví dụ, một trò chơi puzzle có thể yêu cầu người chơi di chuyển các vật thể bằng cách sử dụng trọng lực và va chạm để đạt được mục tiêu. Trong trường hợp này, Rigidbody sẽ giúp tạo ra các hiệu ứng vật lý chân thực và thú vị.

#011
—
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
AComponent-based design ensures better performance across different platforms
BComponent-based design is more familiar to developers than inheritance-based design from GameObject
CComponent-based design simplifies debugging and reduces the complexity of your scripts
Component-based design allows for greater flexibility and reusability of GameObject functionalitiesĐÚNG
Giải thích

Khi thiết kế một trò chơi trong Unity, bạn có thể chọn giữa hai phương pháp thiết kế khác nhau: thiết kế dựa trên thành phần (component-based design) và thiết kế dựa trên thừa kế (inheritance-based design). Thiết kế dựa trên thành phần cho phép bạn tạo ra các thành phần độc lập có thể được sử dụng lại trong nhiều GameObject khác nhau. Điều này giúp tăng tính linh hoạt và tái sử dụng của các tính năng GameObject. Ví dụ, bạn có thể tạo một thành phần "Phát Súng" độc lập và sử dụng nó trong nhiều loại nhân vật khác nhau. Điều này giúp giảm thiểu sự lặp lại mã và tăng cường khả năng mở rộng của trò chơi. Ngoài ra, thiết kế dựa trên thành phần cũng giúp đơn giản hóa quá trình debug và giảm thiểu phức tạp của mã.

#012
—
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
AStorage Management
BSerialization
CLoading Process
Data CollectionĐÚNG
Giải thích

Bước đầu tiên trong việc triển khai hệ thống lưu trữ và tải dữ liệu trong Unity là thu thập dữ liệu. Điều này bao gồm việc xác định dữ liệu cần lưu trữ, phân loại dữ liệu và xác định cách thức lưu trữ dữ liệu. Việc thu thập dữ liệu giúp đảm bảo rằng hệ thống lưu trữ và tải dữ liệu được thiết kế phù hợp với nhu cầu của dự án. Sau khi thu thập dữ liệu, bạn có thể bắt đầu thiết kế hệ thống lưu trữ và tải dữ liệu, bao gồm việc chọn phương thức lưu trữ phù hợp và triển khai các tính năng cần thiết.

#013
—
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
ATranslate game object
BScale game object
CMove game object
Rotate game objectĐÚNG
Giải thích

Trong Unity Scene view, một GameObject đã được chọn sẽ được bao quanh bởi một gizmo được tạo thành từ ba vòng tròn màu sắc (đỏ, xanh lá cây và xanh da trời) bên trong một vòng tròn trắng ngoài. Đây là công cụ được sử dụng để xoay GameObject. Khi bạn chọn một GameObject và nhìn vào Scene view, bạn sẽ thấy một gizmo bao quanh nó. Gizmo này bao gồm ba vòng tròn màu sắc: đỏ, xanh lá cây và xanh da trời. Mỗi vòng tròn màu sắc này đại diện cho một trục xoay khác nhau. Vòng tròn đỏ đại diện cho trục xoay theo chiều ngang, vòng tròn xanh lá cây đại diện cho trục xoay theo chiều dọc và vòng tròn xanh da trời đại diện cho trục xoay theo chiều chéo. Khi bạn di chuyển con trỏ chuột vào một trong những vòng tròn màu sắc này và nhấn vào nút chuột trái, GameObject sẽ được xoay theo trục đó.

#014
—
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
Particle SystemĐÚNG
BTransform.Translate
CRigidbody2D with forces
DCustom C# script for movement
Giải thích

Trong các phương pháp thực hiện di chuyển nhân vật trong một trò chơi 2D, phương pháp nào không thường được sử dụng? Câu trả lời đúng là 'Hệ thống hạt' (Particle System). Hệ thống hạt thường được sử dụng để tạo ra các hiệu ứng như mưa, khói, lửa, v.v. Nó không liên quan trực tiếp đến việc di chuyển nhân vật trong trò chơi. Phương pháp Transform.Translate thường được sử dụng để di chuyển nhân vật bằng cách thay đổi vị trí của nó. Rigidbody2D với lực (forces) cũng thường được sử dụng để di chuyển nhân vật bằng cách áp dụng các lực vào nó. Cuối cùng, một kịch bản tùy chỉnh bằng C# cũng có thể được sử dụng để thực hiện di chuyển nhân vật theo cách tùy chỉnh.

#015
—
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
DebuggerĐÚNG
BRemote Debugging
CProfiler
DConsole Window
Giải thích

Công cụ nào trong Unity cho phép bạn đặt điểm dừng, xem xét biến và thực hiện bước qua thực thi mã? Trong Unity, công cụ này được gọi là Debugger. Nó cho phép bạn đặt điểm dừng vào các vị trí cụ thể trong mã của mình, sau đó xem xét giá trị của các biến và thực hiện bước qua thực thi mã để tìm hiểu lý do tại sao mã của bạn không hoạt động như mong đợi. Ngoài ra, Debugger cũng cho phép bạn xem lịch sử thực thi mã và các biến được sử dụng trong mã.

#016
—
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
ATo store animation data for game objects
BTo create visual effects for animations
To organize animation states and transitionsĐÚNG
DTo manage physics interactions between animated objects
Giải thích

Trong Unity, Animator Controller đóng vai trò quan trọng trong việc quản lý và tổ chức các trạng thái và chuyển tiếp của animation. Nó cho phép bạn thiết lập các trạng thái animation khác nhau, chẳng hạn như chạy, nhảy, tấn công, v.v. và chuyển tiếp giữa các trạng thái này một cách mượt mà. Điều này giúp tạo ra các hiệu ứng animation chân thực và thú vị. Ngoài ra, Animator Controller cũng cho phép bạn thiết lập các điều kiện và hành động để điều khiển animation dựa trên các sự kiện trong trò chơi.

#017
—
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
ALog messages and warnings
BDebugging for remote devices
Performance metrics and analysis to identify bottlenecksĐÚNG
DProperties and components of game objects
Giải thích

Trong Unity, Profiler là một công cụ giúp bạn theo dõi và phân tích hiệu suất của trò chơi. Nó cung cấp các thông số và phân tích để giúp bạn xác định các điểm nghẽn trong trò chơi. Với Profiler, bạn có thể theo dõi các hoạt động như thời gian thực hiện các tác vụ, lượng bộ nhớ sử dụng, và các thông số khác. Điều này giúp bạn tối ưu hóa hiệu suất của trò chơi và đảm bảo trải nghiệm chơi game mượt mà cho người dùng.

#018
—
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
ARigidbody
BTransform
QuaternionĐÚNG
DVector3
Giải thích

Trong Unity, có nhiều cách để biểu diễn các chuyển động. Tuy nhiên, nếu bạn đang tìm kiếm một lớp đặc biệt dành cho Unity để biểu diễn các xoay, thì lớp Quaternion chính là lựa chọn phù hợp. Quaternion là một lớp được sử dụng để biểu diễn các chuyển động xoay trong không gian 3D. Nó cho phép bạn dễ dàng thực hiện các phép toán như cộng, trừ, nhân và chia các chuyển động xoay. Ngoài ra, Quaternion cũng được sử dụng để biểu diễn các chuyển động xoay trong các hệ thống cơ học và vật lý trong Unity.

#019
—
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
AHandling initialization tasks before gameplay
BExecuting actions triggered by collisions
CResponding to user input during gameplay
Controlling GameObject actions for each frame during gameplayĐÚNG
Giải thích

Trong Unity, hàm Update là một hàm đặc biệt được sử dụng trong các script MonoBehaviour. Hàm này được gọi mỗi khung hình (frame) trong quá trình chơi game. Mục đích chính của hàm Update là kiểm soát các hành động của GameObject trong mỗi khung hình. Điều này có nghĩa là bất kỳ hành động nào được thực hiện trong hàm Update sẽ được lặp lại mỗi khung hình, cho phép bạn tạo ra các hiệu ứng động và phản ứng với các sự kiện trong game. Ví dụ, bạn có thể sử dụng hàm Update để di chuyển GameObject, kiểm soát tốc độ, hoặc thực hiện các hành động khác dựa trên thời gian và trạng thái của game.

#020
—
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
Unity intermittently passes control to the script by calling specific event functionsĐÚNG
BUnity requires manual updates every frame to run script
CUnity executes the script only once at the start of the game
DUnity runs the script continuously in a loop like a traditional program
Giải thích

Trong Unity, một kịch bản (script) hoạt động khác với một chương trình truyền thống. Thay vì chạy liên tục trong một vòng lặp, kịch bản Unity được thực hiện bởi Unity khi cần thiết. Điều này có nghĩa là Unity sẽ gọi các hàm (function) cụ thể trong kịch bản khi cần, thay vì chạy kịch bản liên tục. Điều này cho phép Unity quản lý hiệu suất và hiệu quả hơn, đặc biệt là trong các trò chơi phức tạp. Ví dụ, khi một nhân vật di chuyển, Unity sẽ gọi hàm cập nhật vị trí của nhân vật trong kịch bản, thay vì chạy kịch bản liên tục để cập nhật vị trí.

#021
—
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
ABy adding Rigidbody components to the mouse
BBy using the Transform component
By modifying Input Actions to adjust sensitivityĐÚNG
DBy enabling Sprite Renderer on the mouse pointer
Giải thích

Để tùy chỉnh đầu vào chuột trong Unity, bạn có thể sử dụng các phương pháp khác nhau. Một trong những cách phổ biến nhất là sử dụng Input Actions. Input Actions cho phép bạn điều chỉnh độ nhạy của chuột, điều này rất hữu ích khi bạn muốn tạo ra một trải nghiệm chơi game có độ chính xác cao. Ngoài ra, bạn cũng có thể sử dụng các thành phần khác như Rigidbody và Transform để tùy chỉnh đầu vào chuột, nhưng điều này thường không cần thiết. Vì vậy, câu trả lời đúng cho câu hỏi này là "By modifying Input Actions to adjust sensitivity".

#022
—
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
ATo define the physics behavior of objects
BTo manage the appearance of game objects
CTo control lighting in the scene
To handle user input from devices, touch, or gesturesĐÚNG
Giải thích

Unity Input System là một công cụ mạnh mẽ giúp bạn quản lý và xử lý các đầu vào từ người dùng trong trò chơi của mình. Mục đích chính của Unity Input System là để xử lý các đầu vào từ thiết bị, chạm hoặc các cử chỉ khác nhau. Điều này bao gồm việc nhận diện các nút bấm, chạm, di chuyển và các hành động khác từ các thiết bị như bàn phím, chuột, tay cầm chơi game, màn hình cảm ứng và các thiết bị khác. Với Unity Input System, bạn có thể tạo ra các trải nghiệm chơi game đa dạng và phong phú, đáp ứng được nhu cầu của người chơi.

#023
—
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
Use Input.GetKeyDown(KeyCode.W) in Update().ĐÚNG
BUse Input.GetKeyDown(KeyCode.W) in FixedUpdate().
CUse Input.GetKey(KeyCode.W) in Update().
DUse Input.GetKey(KeyCode.W) in FixedUpdate().
Giải thích

Để khiến nhân vật nhảy chỉ khi nhấn phím 'W' một lần, chúng ta cần sử dụng hàm Input.GetKeyDown(KeyCode.W) trong phương thức Update(). Hàm này sẽ trả về giá trị True nếu phím được nhấn trong lần cập nhật hiện tại, và False nếu phím không được nhấn. Điều này giúp chúng ta thực hiện hành động nhảy một lần khi nhấn phím 'W' mà không cần phải giữ phím. Trong khi đó, hàm Input.GetKey(KeyCode.W) sẽ trả về giá trị True nếu phím được nhấn trong bất kỳ lần cập nhật nào, và hàm Input.GetKeyDown(KeyCode.W) trong FixedUpdate() sẽ không phù hợp vì nó không được sử dụng để kiểm tra hành động người dùng.

#024
—
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
AThe Transform values of the child GameObjects automatically update to match the parent GameObject's Transform values.
BThe Transform values of the child GameObjects are not affected by changes to the parent GameObject.
CThe Transform values of the child GameObjects reset to (0, 0, 0) regardless of the parent GameObject's Transform modifications.
The Transform values of the child GameObjects change relative to their original values, depending on the modification applied to the parent GameObject.ĐÚNG
Giải thích

Khi điều chỉnh thuộc tính Transform của một GameObject trong Unity, mối quan hệ cha-con của GameObject ảnh hưởng như thế nào đến giá trị Transform của GameObject con khi giá trị Transform của GameObject cha được chỉnh sửa? Trong Unity, khi bạn chỉnh sửa giá trị Transform của một GameObject cha, các GameObject con sẽ tự động cập nhật giá trị Transform của mình tương đối với giá trị Transform ban đầu của chúng. Điều này có nghĩa là giá trị Transform của GameObject con sẽ thay đổi dựa trên sự thay đổi của giá trị Transform của GameObject cha. Ví dụ, nếu bạn chỉnh sửa vị trí của GameObject cha, vị trí của các GameObject con cũng sẽ thay đổi tương ứng. Điều này giúp bạn dễ dàng quản lý và điều chỉnh vị trí của các GameObject trong một hệ thống phức tạp.

#025
—
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
AGameObject
BTransform
UnityEngine.SceneManagementĐÚNG
DMonoBehaviour
Giải thích

Khi quản lý nhiều cảnh trong dự án Unity, lớp Unity nào cung cấp các tính năng để tải và xóa bỏ các cảnh? Để quản lý các cảnh trong Unity, chúng ta cần sử dụng lớp UnityEngine.SceneManagement. Lớp này cung cấp các phương thức để tải và xóa bỏ các cảnh, giúp chúng ta dễ dàng quản lý các cảnh trong dự án. Ngoài ra, lớp UnityEngine.SceneManagement cũng cung cấp các tính năng để quản lý các cảnh trong thời gian chạy, giúp chúng ta có thể dễ dàng chuyển đổi giữa các cảnh mà không cần phải tải lại toàn bộ dự án.

#026
—
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
AProject window
BOverlays
Inspector windowĐÚNG
DStatus bar
Giải thích

Để xem và chỉnh sửa các thuộc tính của đối tượng trò chơi đang được chọn, bạn cần sử dụng cửa sổ Inspector. Cửa sổ này cho phép bạn xem và chỉnh sửa các thuộc tính như vị trí, kích thước, màu sắc, v.v. của đối tượng trò chơi. Nó cũng cho phép bạn xem và chỉnh sửa các thuộc tính của các thành phần khác như sprite, vật thể, v.v. Cửa sổ Inspector là một công cụ quan trọng trong Unity và được sử dụng rộng rãi trong quá trình thiết kế và phát triển trò chơi.

#027
—
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
To provide a base class with methods and properties essential for scripting GameObject behavior in Unity.ĐÚNG
BTo manage the user interface elements of a Unity game.
CTo define the main game mechanics and rules.
DTo act as the main entry point for Unity applications.
Giải thích

Trong Unity C#, lớp MonoBehaviour đóng vai trò quan trọng khi tất cả các script trong Unity đều kế thừa từ nó. Lớp này cung cấp một số phương thức và thuộc tính cơ bản cần thiết để lập trình hành vi của GameObject trong Unity. Ví dụ, các phương thức như Start(), Update(), OnDestroy() cho phép lập trình viên thực hiện các hành động khi GameObject được tạo, mỗi frame hoặc khi GameObject bị hủy. Ngoài ra, lớp MonoBehaviour cũng cung cấp các thuộc tính như GetComponent(), GetComponentInChildren() để giúp lập trình viên truy cập và sử dụng các thành phần của GameObject. Tóm lại, lớp MonoBehaviour là lớp cơ sở quan trọng giúp lập trình viên có thể tạo ra các script hiệu quả và dễ dàng quản lý hành vi của GameObject trong Unity.

#028
—
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
Register callbacks for OnMouseDown(InputAction.CallbackContext context) and OnMousePosition(InputAction.CallbackContext context), starting the drag on context.performed and tracking the mouse position until the button is released.ĐÚNG
BUse OnMouseDrag(InputAction.CallbackContext context) and check if context.performed is true for starting drag, and context.canceled for ending the drag.
CImplement OnMouseDown() and OnMouseUp() methods, and calculate the drag distance in Update() method.
DUtilize OnLeftClick(InputAction.CallbackContext context) for detecting drag start, and track movement in OnMouseMovement(InputAction.CallbackContext context) until context.canceled is true.
Giải thích

Khi thực hiện chức năng kéo chuột trong một trò chơi Unity, bạn cần sử dụng sự kết hợp của các callback và điều kiện InputAction trong script C# của mình. Trước hết, bạn cần đăng ký callback cho OnMouseDown và OnMousePosition. Sau đó, bạn sẽ bắt đầu kéo chuột khi context.performed là true và theo dõi vị trí chuột cho đến khi nút được nhấn được thả ra. Điều này cho phép bạn dễ dàng quản lý chức năng kéo chuột trong trò chơi của mình.

#029
—
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
Through attached ScriptsĐÚNG
BThrough external plugins
CThrough built-in Components exclusively
DThrough visual scripting tools
Giải thích

Trong Unity, hành vi của GameObjects được kiểm soát chủ yếu thông qua các script được gắn vào chúng. Các script này có thể được viết bằng nhiều ngôn ngữ lập trình khác nhau như C#, UnityScript, Boo, v.v. Các script có thể được sử dụng để tạo ra các hành vi phức tạp cho GameObjects, chẳng hạn như di chuyển, quay, tương tác với người dùng, v.v. Ngoài ra, các script cũng có thể được sử dụng để tạo ra các hệ thống logic phức tạp, chẳng hạn như hệ thống trò chơi, hệ thống quản lý tài nguyên, v.v. Vì vậy, các script đóng vai trò quan trọng trong việc kiểm soát hành vi của GameObjects trong Unity.

#030
—
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
AExecuting game logic updates once per frame
Handling frame updates for physics-related updatesĐÚNG
CInitializing variables for script execution
DExecuting late updates after all other functions have been called
Giải thích

Hàm FixedUpdate trong Unity được sử dụng để cập nhật logic vật lý trong trò chơi. Nó được gọi một lần mỗi frame, nhưng không phụ thuộc vào tốc độ khung hình. Điều này giúp đảm bảo rằng các cập nhật vật lý được thực hiện một cách đều đặn và chính xác, ngay cả khi tốc độ khung hình thay đổi. Hàm FixedUpdate thường được sử dụng để cập nhật vị trí, tốc độ và quán tính của các đối tượng vật lý trong trò chơi. Nó cũng có thể được sử dụng để cập nhật các hệ thống vật lý khác, chẳng hạn như hệ thống va chạm và hệ thống lực hấp dẫn. Tóm lại, hàm FixedUpdate là một phần quan trọng của Unity và được sử dụng để tạo ra các trò chơi có hiệu ứng vật lý chân thực.

#031
—
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
AOnce per frame
BAfter LateUpdate()
CWhen the object becomes enabled
At a fixed time intervalĐÚNG
Giải thích

FixedUpdate() là một phương thức đặc biệt trong Unity, được gọi tại một khoảng thời gian cố định. Điều này có nghĩa là phương thức này sẽ được thực hiện một cách đều đặn, bất kể khung hình (frame) hiện tại đang được cập nhật hay không. FixedUpdate() thường được sử dụng để thực hiện các tác vụ cần được cập nhật tại một khoảng thời gian cố định, chẳng hạn như cập nhật vị trí của các vật thể trong một trò chơi.

#032
—
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
ATo update game logic continuously after the object becomes enabled
BTo perform actions when the object becomes disabled
CTo initialize variables when the object becomes enabled
To perform actions when the object becomes enabled and activeĐÚNG
Giải thích

Mục đích của phương thức OnEnable() trong Unity là để thực hiện các hành động khi đối tượng trở nên có hiệu lực và hoạt động. Phương thức này được gọi một lần khi đối tượng được bật lên và hoạt động, cho phép bạn thực hiện các hành động cần thiết như khởi tạo các biến, tải tài nguyên, hoặc thực hiện các hành động khác. Điều này giúp bạn có thể kiểm soát và quản lý các hoạt động của đối tượng một cách hiệu quả. Ngoài ra, phương thức OnEnable() cũng có thể được sử dụng để cập nhật logic trò chơi liên tục sau khi đối tượng được bật lên.

#033
—
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
ABy allowing animations to loop indefinitely until stopped by a script.
By triggering specific C# script functions at designated points in an animation clip's timeline.ĐÚNG
CBy automatically adjusting the animation's frame rate based on the game's performance.
DBy enabling the Animator Controller to switch between different animation layers.
Giải thích

Animation Events trong hệ thống Animation của Unity cho phép tăng tính tương tác trong các dự án game. Chúng cho phép bạn kích hoạt các hàm script C# tại các điểm cụ thể trong timeline của một clip animation. Điều này cho phép bạn tạo ra các hành vi phức tạp và đa dạng hơn trong game của mình. Ví dụ, bạn có thể tạo một Animation Event để kích hoạt một hàm script khi nhân vật của mình đến một điểm nhất định trong level. Điều này giúp tăng cường trải nghiệm chơi game và tạo ra cảm giác chân thực hơn.

#034
—
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
AScriptable Objects
BAnimation Controller
CCanvas Renderer
State TransitionsĐÚNG
Giải thích

Tính năng trong Unity cho phép tạo sự khác biệt hình ảnh giữa các trạng thái nút như Normal, Highlighted, Pressed và Disabled được gọi là State Transitions. Đây là một tính năng quan trọng giúp bạn có thể tạo ra các nút có giao diện đẹp mắt và dễ sử dụng. Với State Transitions, bạn có thể dễ dàng tạo ra các trạng thái khác nhau cho nút, chẳng hạn như trạng thái bình thường, trạng thái được chọn, trạng thái nhấn và trạng thái bị vô hiệu hóa. Điều này giúp bạn có thể tạo ra các nút có giao diện chuyên nghiệp và dễ sử dụng.

#035
—
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
AToggle
BDropdown
CSlider
Scroll ViewĐÚNG
Giải thích

Trong Unity, có nhiều loại thành phần uGUI khác nhau để tạo ra các giao diện người dùng. Để xử lý nội dung có thể cuộn, chẳng hạn như danh sách dài hoặc nội dung không thể chứa trong một khu vực cố định, bạn cần sử dụng thành phần phù hợp. Trong các lựa chọn trên, thành phần "Scroll View" là lựa chọn tốt nhất. Nó cho phép người dùng cuộn qua nội dung khi nó vượt quá giới hạn của khu vực hiển thị. Điều này rất hữu ích khi bạn cần hiển thị một lượng lớn dữ liệu mà không cần phải tạo ra một khu vực hiển thị quá lớn.

#036
—
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
ATexture maps
BJoints
CRigid parts
BonesĐÚNG
Giải thích

Các phần mềm dẻo của một mô hình được gọi là gì? Các phần mềm dẻo của một mô hình 3D là các điểm nối giữa các phần cứng khác nhau, cho phép mô hình có thể di chuyển và thay đổi hình dạng. Chúng thường được sử dụng trong các ứng dụng như đồ họa máy tính, trò chơi điện tử và thiết kế sản phẩm. Các phần mềm dẻo giúp mô hình có thể thể hiện các chuyển động và hành động tự nhiên hơn, tạo ra trải nghiệm chân thực hơn cho người dùng.

#037
—
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
Using sprite atlases or sprite sheets to minimize draw calls and improve performanceĐÚNG
BAssigning functions or methods to buttons
CScripting custom button behaviors
DUsing Unity's animation system to animate buttons
Giải thích

Kỹ thuật tối ưu hóa được khuyến nghị cho tài nguyên nút trong Unity là sử dụng sprite atlas hoặc sprite sheet để giảm số lần gọi và cải thiện hiệu suất. Việc sử dụng sprite atlas hoặc sprite sheet giúp giảm số lượng draw call, từ đó cải thiện hiệu suất của trò chơi. Điều này đặc biệt quan trọng khi bạn có nhiều nút trên màn hình, vì mỗi nút đều cần một draw call riêng biệt. Ngoài ra, sử dụng sprite atlas hoặc sprite sheet cũng giúp giảm thiểu việc tải và lưu trữ tài nguyên, từ đó cải thiện hiệu suất tổng thể của trò chơi.

#038
—
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
AAutomatically switching between camera views when the game starts
Triggering the transition from idle to walk state when the player presses the forward keyĐÚNG
CMaking the object rotate continuously without player input
DChanging the background music based on the game's progress
Giải thích

Một ví dụ về chuyển đổi animation được lập trình (scripted animation transition) trong Unity là khi người chơi nhấn phím đi phía trước, hệ thống sẽ chuyển từ trạng thái đứng (idle) sang trạng thái đi (walk). Điều này được thực hiện thông qua việc lập trình các trạng thái và chuyển đổi giữa chúng. Trong Unity, các trạng thái và chuyển đổi có thể được quản lý thông qua hệ thống trạng thái (state machine) hoặc các script được viết bằng C#. Ví dụ, bạn có thể sử dụng hệ thống trạng thái để tạo ra các trạng thái như idle, walk, run và chuyển đổi giữa chúng dựa trên các điều kiện nhất định. Điều này cho phép bạn tạo ra các hiệu ứng animation phức tạp và tự động mà không cần phải lập trình từng chi tiết.

#039
—
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
To control animations based on button interactionsĐÚNG
BTo save and load game data
CTo manage the camera view during gameplay
DTo handle player movement and physics
Giải thích

Animation triggers trong Unity được sử dụng để điều khiển các hoạt ảnh dựa trên các tương tác của người dùng. Ví dụ, bạn có thể sử dụng animation triggers để kích hoạt các hoạt ảnh khi người chơi nhấn một nút, hoặc khi họ đạt được một mục tiêu nào đó. Điều này cho phép bạn tạo ra các hiệu ứng hình ảnh động thú vị và hấp dẫn hơn trong trò chơi của mình. Ngoài ra, animation triggers cũng có thể được sử dụng để điều khiển các hoạt ảnh dựa trên các điều kiện nhất định, chẳng hạn như khi người chơi đạt được một mức độ nhất định hoặc khi họ gặp một sự kiện nào đó.

#040
—
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
AThey control the audio volume level when two objects collide in the game environment.
BThey are used exclusively for rendering realistic lighting effects on game objects.
They define the physical shape of an object for collision detection, enabling objects to interact with each other physically in the game world.ĐÚNG
DThey act as triggers for starting or stopping animations on game objects.
Giải thích

Trong hệ thống vật lý của Unity, mục đích của các collider khi phát triển các trò chơi logic vật lý là định hình hình dạng vật lý của một đối tượng để phát hiện va chạm, cho phép các đối tượng tương tác với nhau vật lý trong thế giới trò chơi. Các collider giúp xác định hình dạng và kích thước của một vật thể, từ đó cho phép Unity xác định khi nào hai vật thể va chạm với nhau. Điều này cho phép các nhà phát triển tạo ra các trò chơi logic vật lý phức tạp và thú vị, chẳng hạn như các trò chơi đố vui vật lý.

#041
—
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
Colliders act as physical barriers that objects cannot pass through, whereas Triggers do not physically stop objects but instead fire events when an object passes through.ĐÚNG
BColliders can only be used for 3D objects, whereas Triggers are exclusively for 2D objects.
CTriggers can physically interact and apply forces to objects, while Colliders cannot.
DThere is no difference; both Colliders and Triggers serve the same purpose in Unity.
Giải thích

Khi sử dụng Collider như một rào cản vật lý và khi sử dụng nó như một Trigger trong Unity, có một điểm khác biệt chính. Collider hoạt động như một rào cản vật lý mà các đối tượng không thể vượt qua, trong khi Trigger không ngăn chặn vật lý các đối tượng nhưng thay vào đó kích hoạt các sự kiện khi một đối tượng đi qua. Điều này có nghĩa là khi một đối tượng chạm vào một Trigger, nó sẽ kích hoạt các hành động hoặc sự kiện được lập trình mà không ngăn chặn vật lý đối tượng đó. Trong khi đó, Collider sẽ ngăn chặn vật lý đối tượng đó và không kích hoạt bất kỳ sự kiện nào. Tóm lại, Collider được sử dụng để tạo ra các rào cản vật lý trong Unity, trong khi Trigger được sử dụng để kích hoạt các sự kiện khi đối tượng đi qua.

#042
—
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
ABox Collider
BCylinder Collider
CCapsule Collider
Sphere ColliderĐÚNG
Giải thích

Trong Unity, khi cần tạo ra các đối tượng hình cầu như bóng đá, quả bóng,... thì bạn nên sử dụng Collider hình cầu. Collider hình cầu có thể được sử dụng để tạo ra các đối tượng có hình dạng gần giống với hình cầu. Nó có thể được sử dụng để tạo ra các đối tượng như bóng đá, quả bóng, hoặc bất kỳ đối tượng hình cầu nào khác. Khi sử dụng Collider hình cầu, bạn có thể dễ dàng tạo ra các đối tượng có hình dạng phức tạp và có thể tương tác với các đối tượng khác trong môi trường Unity.

#043
—
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
To efficiently identify potential collisions among a large number of objectsĐÚNG
BTo determine if potential collision pairs are indeed colliding
CTo check the precise shapes defined by the colliders
DTo detect collisions without physically interacting with other objects
Giải thích

Mục đích chính của Broad-Phase Collision Detection trong Unity là xác định các đối tượng có thể va chạm với nhau một cách hiệu quả, đặc biệt là trong các ứng dụng có số lượng đối tượng lớn. Quá trình này giúp giảm thiểu số lượng đối tượng cần được kiểm tra trong Narrow-Phase Collision Detection, từ đó cải thiện hiệu suất của trò chơi. Broad-Phase Collision Detection sử dụng các thuật toán như Grid, Sweep and Prune, AABB (Axis-Aligned Bounding Box) để xác định các đối tượng có thể va chạm với nhau. Điều này giúp giảm thiểu số lượng đối tượng cần được kiểm tra trong Narrow-Phase Collision Detection, từ đó cải thiện hiệu suất của trò chơi.

#044
—
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
AChecking the precise shapes defined by the colliders
A detailed examination of potential collision pairs to determine if they are indeed collidingĐÚNG
CQuickly identifying potential collisions among a large number of objects
DDetecting collisions without physically interacting with other objects
Giải thích

Narrow-Phase Collision Detection trong Unity liên quan đến việc kiểm tra chi tiết hình dạng được định nghĩa bởi các collider. Nói một cách khác, quá trình này bao gồm việc phân tích từng cặp đối tượng tiềm ẩn va chạm để xác định xem chúng có thực sự va chạm hay không. Điều này đòi hỏi một sự chính xác cao và thường được thực hiện bằng cách sử dụng các thuật toán phức tạp như GJK (Gilbert-Johnson-Keerthi) hoặc EPA (Separating Axis Theorem). Quá trình này giúp đảm bảo rằng các đối tượng trong trò chơi không va chạm với nhau một cách không mong muốn.

#045
—
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
AThey identify when two objects intersect and respond to collisions
They control which objects interact with each otherĐÚNG
CThey simulate the force of gravity on objects
DThey limit the movement of objects with Constraints and Joints
Giải thích

Trong Unity Physics, các lớp (Layers) và mặt nạ (Masks) đóng vai trò quan trọng trong việc kiểm soát tương tác giữa các đối tượng. Các lớp và mặt nạ cho phép bạn xác định các nhóm đối tượng và chỉ cho phép các nhóm đó tương tác với nhau. Điều này giúp bạn dễ dàng quản lý và phân loại các đối tượng trong một dự án Unity, từ đó tăng hiệu suất và giảm thiểu sự phức tạp trong việc xử lý các tương tác vật lý. Ví dụ, bạn có thể tạo một lớp cho các đối tượng chơi game và một lớp cho các đối tượng môi trường, sau đó sử dụng mặt nạ để chỉ cho phép các đối tượng chơi game tương tác với các đối tượng môi trường.

#046
—
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
Hinge jointĐÚNG
BFixed joint
CSpring joint
DConfigurable joint
Giải thích

Loại khớp trong Unity hạn chế xoay quanh một trục, mô phỏng một cánh cửa lật hoặc một chiếc cân lắc. Loại khớp này được sử dụng để tạo ra các chuyển động xoay linh hoạt trong các ứng dụng game. Ví dụ, bạn có thể sử dụng loại khớp này để tạo ra một cánh cửa lật hoặc một chiếc cân lắc trong một trò chơi. Loại khớp này cho phép bạn điều khiển chuyển động xoay của đối tượng một cách linh hoạt và chính xác.

#047
—
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
Delegate that enables one object to notify other objects about actionsĐÚNG
BObjects that hold data and methods that operate on the data
CType definitions that specify the methods signature
DSpecial methods used for asynchronous programming and store data
Giải thích

Trong lập trình C#, sự kiện (events) là một khái niệm quan trọng giúp cho các đối tượng (objects) có thể thông báo cho nhau về các hành động (actions) cụ thể. Một sự kiện thường bao gồm một hoặc nhiều hành động, và các đối tượng có thể đăng ký (subscribe) để nhận thông báo khi sự kiện đó xảy ra. Điều này cho phép các đối tượng có thể tương tác và giao tiếp với nhau một cách linh hoạt và hiệu quả. Trong câu hỏi này, sự kiện được mô tả là một đại diện (delegate) cho phép một đối tượng thông báo cho các đối tượng khác về các hành động. Đây là một định nghĩa chính xác và phù hợp với khái niệm sự kiện trong lập trình C#.

#048
—
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
ADelegates are essentially a reference type that holds the reference to a method.
BDelegates allow one object to call methods on another object without knowing its specific type.
CDelegates can be used to create callback mechanisms.
Delegates cannot be invoked like a regular method.ĐÚNG
Giải thích

Các câu hỏi về các đại diện trong C# thường liên quan đến tính chất và cách sử dụng của chúng. Trong số các lựa chọn trên, câu 'Các đại diện không thể được gọi như một phương thức thông thường' là không đúng. Các đại diện thực sự là một loại tham chiếu, chúng giữ một tham chiếu đến một phương thức. Điều này cho phép chúng được gọi như một phương thức thông thường. Ngoài ra, các đại diện cho phép một đối tượng gọi phương thức của một đối tượng khác mà không cần biết loại cụ thể của đối tượng đó. Điều này giúp tăng tính linh hoạt và khả năng mở rộng của mã. Cuối cùng, các đại diện có thể được sử dụng để tạo cơ chế gọi lại (callback mechanism). Vì vậy, câu 'Các đại diện không thể được gọi như một phương thức thông thường' không phải là một tuyên bố đúng về các đại diện trong C#.

#049
—
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
ATo create audio effects for animations based on the assigned Animator Controller
BTo store animation data, including keyframes, curves, and events
CTo organize animation states and transitions based on the assigned Animator Controller
To control animation playback based on the assigned Animator ControllerĐÚNG
Giải thích

Component Animator trong Unity đóng vai trò quan trọng trong việc quản lý và điều khiển các hoạt động animation của đối tượng 3D. Nó cho phép bạn tổ chức các trạng thái animation và chuyển đổi giữa chúng dựa trên Controller Animator được chỉ định. Component Animator cũng cho phép bạn điều khiển việc phát lại animation dựa trên Controller Animator được chỉ định. Điều này giúp bạn tạo ra các hiệu ứng animation phức tạp và đa dạng cho các trò chơi hoặc ứng dụng 3D.

#050
—
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
AIn a Scene Manager
On a Canvas componentĐÚNG
COn a Sprite folder
DIn a Transform component
Giải thích

Trong Unity, các thành phần UI được đặt tại vị trí Canvas component. Canvas component là một phần quan trọng của Unity, giúp bạn tạo ra các giao diện người dùng (UI) cho trò chơi của mình. Nó cho phép bạn thêm các thành phần UI như text, hình ảnh, button, và nhiều hơn nữa vào trò chơi của mình. Để đặt các thành phần UI, bạn cần thêm Canvas component vào GameObject của mình, sau đó thêm các thành phần UI vào Canvas component. Điều này sẽ giúp bạn tạo ra một giao diện người dùng đẹp mắt và dễ sử dụng cho trò chơi của mình.