450 likes | 582 Views
Unity3D Physics. April 3, 2015 Comp 150 - Game Design Michael Shah. Physics Topics. Physics Games Couple studies of physics gone well Physics as the main mechanic Case study of games Unity3D Physics Tweaking Physics Physics Engines Further items to look at (and appreciate physics).
E N D
Unity3D Physics April 3, 2015 Comp 150 - Game Design Michael Shah
Physics Topics • Physics Games • Couple studies of physics gone well • Physics as the main mechanic • Case study of games • Unity3D Physics • Tweaking Physics • Physics Engines • Further items to look at (and appreciate physics)
Realistic Physics • Goal is to simulate the real world as close as possible.
Realism on a sliding Scale • Trials HD • Tony Hawk Pro Skater
Cartoon Physics • Angry Birds • Flappy Bird • Mario
Physics as A Mechanic • Half-Life 2 Gravity Gun • Portal
Why we need good Physics https://youtu.be/NYt3B9lcUm0?t=4m49s (This game was probably never tested!)
Unity Physics - The Basics • Built on top of Nvidia’s PhysX System • Lets look at the built in components
Colliders • Box, Sphere, Capsule, and Mesh • OnCollisionEnter, OnCollisionExit, OnCollisionStay • Colliders as Triggers • OnTriggerEnter, OnTriggerExit, OnTriggerStay • Detecting a Collision requires at least one of the colliding objects to have a: void OnCollisionEnter(Collider col) method.
Rigid Body • Used for moving objects • Gameobject is effected by Gravity
Force and Torque • Add Force • Change movement of object • Add Torque • Rotate object around axis.
Physic Materials • Physics Materials effect the way the object reacts in the game engine (Basketball versus bowling bowls surface). • Dynamic friction: Effects the object as it moves. • Static Friction: How much force is needed to move an object from a static position (sticky glue-like). • Bounciness: self-explanatory • Friction and Bounce Combine: How to respond to another object during collision.
Joints • Fixed • Does not move until break force exceeded • Spring • Hooke’s Law • Hinge • Doors
Raycasting • Raycasting: The process of shooting an invisible ray from a point to a specified direction into any colliders. • Use Debug.DrawRay to see where you are casting a ray
Puzzles • Some Exercises to walk through • How would you implement the scene? • What types of objects would you construct? • What does the hierarchy look like?
Puzzle #1 - Destructible Wall https://www.youtube.com/watch?v=IjELu_Q01eQ
Puzzle #2 - Wrecking Ball https://www.youtube.com/watch?v=oAWGs0kt_vM
Puzzle #3 - Trampoline http://forum.unity3d.com/threads/trampoline-bouncy-spring-please-help.53181/
Puzzle #4 - Pool of Water https://www.youtube.com/watch?v=mDtnT5fh7Ek
Puzzle #6 - Destructible Objects https://www.youtube.com/watch?v=IXlA3HSIDPg
Puzzle #7 - Improve Performance of Complicated Geometry http://unity3d.com/learn/tutorials/modules/intermediate/physics/physics-best-practices
Best Practices • Remember that 2D is different than 3D in Unity • All of those puzzles, the same features apply, but use the 2D components! • http://devmag.org.za/2012/07/12/50-tips-for-working-with-unity-best-practices/ • 9. Put your world floor at y = 0. This makes it easier to put objects on the floor, and treat the world as a 2D space (when appropriate) for game logic, AI, and physics.
Physics in Regards to Animation • Integrate Maya into the pipeline • ‘Apply Root Motion’ powers animated objects based on animation • No need to move Transform or add Force
Animation as an Agent-Based System • Flocking Behavior • Physics - Attract and Repel Objects • https://www.youtube.com/watch?v=EZEK1lXxFfA • Crowd Simulation • Particle System
Appreciating the built-in Physics Three Books to build your own physics engine