Jump into concepts and practice - no test required
or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Recall & Review
beginner
What is a Physics Material in Unity?
A Physics Material in Unity defines how a surface interacts physically, controlling properties like friction and bounce when objects collide.
Click to reveal answer
beginner
What does the 'Friction' property control in a Physics Material?
Friction controls how much an object resists sliding against another surface. Higher friction means more resistance and less sliding.
Click to reveal answer
beginner
What effect does the 'Bounciness' property have in a Physics Material?
Bounciness controls how much an object bounces back after hitting another surface. A value of 0 means no bounce, 1 means full bounce.
Click to reveal answer
intermediate
How does 'Friction Combine' affect the interaction between two Physics Materials?
Friction Combine determines how friction values from two colliding materials combine. Options include Average, Minimum, Maximum, and Multiply.
Click to reveal answer
intermediate
How can you create a bouncy ball effect using Physics Materials in Unity?
Create a Physics Material with high Bounciness (close to 1) and set Bounce Combine to Maximum or Average, then assign it to the ball's collider.
Click to reveal answer
What does setting the Friction value to 0 in a Physics Material do?
AIncreases the bounce effect
BMakes the surface very sticky
CMakes the surface completely slippery with no resistance
DDisables collisions
✗ Incorrect
A friction value of 0 means no resistance to sliding, so the surface is completely slippery.
If you want an object to bounce less, which property should you adjust?
ADecrease Bounciness
BIncrease Mass
CSet Bounce Combine to Maximum
DIncrease Friction
✗ Incorrect
Lowering the Bounciness value reduces how much the object bounces after collision.
Which Friction Combine mode results in the highest friction when two materials collide?
AAverage
BMinimum
CMultiply
DMaximum
✗ Incorrect
Maximum takes the higher friction value of the two materials, resulting in the highest friction.
Where do you assign a Physics Material in Unity to affect an object?
AOn the Collider component
BOn the Rigidbody component
COn the Transform component
DOn the Mesh Renderer
✗ Incorrect
Physics Materials are assigned to Collider components to affect physical interactions.
What happens if Bounce Combine is set to 'Multiply' and both materials have bounciness 0.5?
AResulting bounce is 1.0
BResulting bounce is 0.25
CResulting bounce is 0.5
DNo bounce occurs
✗ Incorrect
Multiply mode multiplies the two bounciness values: 0.5 * 0.5 = 0.25.
Explain how friction and bounce properties in Unity Physics Materials affect object collisions.
Think about how a ball rolls or bounces on different surfaces.
You got /3 concepts.
Describe how you would create a Physics Material for a surface that is very slippery but does not bounce.
Imagine ice or a slick floor.
You got /3 concepts.
Practice
(1/5)
1. What does a Physics Material in Unity primarily control?
easy
A. The size of a collider
B. The color of a game object
C. The speed of a Rigidbody
D. Friction and bounce behavior of colliders
Solution
Step 1: Understand the role of Physics Materials
Physics Materials are used to define how surfaces interact physically, mainly controlling friction and bounce.
Step 2: Identify what Physics Materials affect
They affect colliders by changing friction (slipperiness or stickiness) and bounce (how much objects rebound).
Final Answer:
Friction and bounce behavior of colliders -> Option D
Quick Check:
Physics Material = friction and bounce control [OK]
Hint: Physics Materials change friction and bounce, not visuals [OK]
Common Mistakes:
Confusing Physics Material with visual materials
Thinking it controls Rigidbody speed
Assuming it changes collider size
2. Which of the following is the correct way to assign a Physics Material to a Collider in Unity using C#?
easy
A. collider.material = myPhysicsMaterial;
B. collider.physicsMaterial = myPhysicsMaterial;
C. collider.physicMaterial = myPhysicsMaterial;
D. collider.physicsMaterial2D = myPhysicsMaterial;
Solution
Step 1: Recall the correct property name for Physics Material
In Unity, the Collider component uses the property 'material' to assign a Physics Material.
Step 2: Check the options for correct syntax
collider.material = myPhysicsMaterial; uses 'collider.material', which is correct. Other options use incorrect property names or 2D-specific properties.
Final Answer:
collider.material = myPhysicsMaterial; -> Option A
Quick Check:
Collider.material assigns Physics Material [OK]
Hint: Use collider.material to assign Physics Material [OK]
Common Mistakes:
Using 'physicsMaterial' instead of 'material'
Confusing 3D and 2D collider properties
Misspelling 'physicMaterial'
3. Consider the following C# code in Unity:
PhysicsMaterial2D bouncyMaterial = new PhysicsMaterial2D();
bouncyMaterial.bounciness = 1.0f;
Collider2D col = gameObject.GetComponent<Collider2D>();
col.sharedMaterial = bouncyMaterial;
Rigidbody2D rb = gameObject.GetComponent<Rigidbody2D>();
rb.velocity = new Vector2(0, -10);
What will happen when this object hits the ground?
medium
A. It will bounce back with the same speed it hit the ground
B. It will stick to the ground without bouncing
C. It will bounce but lose some speed
D. It will ignore collisions and pass through the ground
Solution
Step 1: Analyze the Physics Material bounciness
The bouncyMaterial has bounciness set to 1.0, which means full bounce with no energy loss.
Step 2: Understand the effect on collision
Assigning this material to the collider means the object will bounce back with the same speed it hit the ground.
Final Answer:
It will bounce back with the same speed it hit the ground -> Option A
Quick Check:
Bounciness 1.0 means full bounce [OK]
Hint: Bounciness 1 means full bounce, no speed lost [OK]
Common Mistakes:
Assuming bounciness 1.0 means no bounce
Confusing sharedMaterial with material
Ignoring Rigidbody velocity effect
4. You wrote this code to make an object slippery:
PhysicsMaterial2D slippery = new PhysicsMaterial2D();
slippery.friction = 0f;
Collider2D col = gameObject.GetComponent<Collider2D>();
col.material = slippery;
But the object still slides slowly. What is the likely mistake?
medium
A. You should set bounciness to 0 instead of friction
B. You assigned the material to 'col.material' instead of 'col.sharedMaterial'
C. The Rigidbody2D's linear drag is causing slow sliding
D. Physics Materials do not affect friction
Solution
Step 1: Check the property used for assignment
Collider2D uses sharedMaterial property to assign PhysicsMaterial2D, not material which does not exist on Collider2D.
Step 2: Understand the consequence
Using the wrong property means the custom material with friction=0 is not assigned; default material with friction >0 is used, causing slow sliding.
Final Answer:
You assigned the material to 'col.material' instead of 'col.sharedMaterial' -> Option B
Quick Check:
Collider2D.sharedMaterial is the correct property [OK]
Hint: Collider2D: use sharedMaterial, not material [OK]
Common Mistakes:
Thinking friction 0 disables all slowing forces
Confusing material and sharedMaterial assignment
Believing Physics Materials don't affect friction
5. You want to create a bouncy ball that loses some energy on each bounce and slides slowly on the floor. Which settings for Physics Material friction and bounciness should you use?
hard
A. friction = 1.0, bounciness = 1.0
B. friction = 0, bounciness = 1.0
C. friction = 0.8, bounciness = 0.5
D. friction = 0.2, bounciness = 0
Solution
Step 1: Understand desired bounce behavior
The ball should bounce but lose some energy, so bounciness should be less than 1, e.g., 0.5.
Step 2: Understand desired sliding behavior
To slide slowly, friction should be moderate to high, e.g., 0.8, to resist sliding.