Этот материал находится в платной подписке. Оформи премиум подписку и смотри или слушай 2D Game Physics Programming, а также все другие курсы, прямо сейчас!
Премиум
  • Урок 1. 00:08:56
    Introduction & Learning Outcomes
  • Урок 2. 00:02:59
    How to Take this Course
  • Урок 3. 00:04:45
    What is Game Physics
  • Урок 4. 00:01:30
    A Quick Review of Vector Math
  • Урок 5. 00:11:02
    Vector & Scalar Quantities
  • Урок 6. 00:06:36
    Using the P5js Web Editor
  • Урок 7. 00:01:08
    Visualizing Errors in the Web Editor
  • Урок 8. 00:06:24
    Coding a Vec2 Class
  • Урок 9. 00:09:08
    Vector Magnitude
  • Урок 10. 00:08:37
    Vector Addition & Subtraction
  • Урок 11. 00:05:56
    Methods for Vector Addition & Subtraction
  • Урок 12. 00:02:15
    Vector Equality
  • Урок 13. 00:04:51
    Scaling Vectors
  • Урок 14. 00:04:10
    Static Methods
  • Урок 15. 00:08:01
    Applications of Vector Addition & Subtraction
  • Урок 16. 00:09:22
    Dot Product
  • Урок 17. 00:04:01
    Is the Dot Product Commutative?
  • Урок 18. 00:10:14
    Cross Product
  • Урок 19. 00:05:20
    Coding the Cross Product Method
  • Урок 20. 00:02:39
    Exercise: Perpendicular 2D Vector
  • Урок 21. 00:02:03
    Perpendicular 2D Vector
  • Урок 22. 00:01:12
    Exercise: Vec3 Methods
  • Урок 23. 00:05:15
    Vec3 Methods
  • Урок 24. 00:07:23
    Vector Normalization
  • Урок 25. 00:03:38
    Coding the Normalization Method
  • Урок 26. 00:08:01
    Scaling, Translating, and Rotating Vectors
  • Урок 27. 00:07:38
    Quick Review of Sine & Cosine
  • Урок 28. 00:20:20
    Vector Rotation Proof (x-component)
  • Урок 29. 00:07:17
    Vector Rotation Proof (y-component)
  • Урок 30. 00:09:23
    Coding the Vec2 Rotate Method
  • Урок 31. 00:02:53
    Concluding our JavaScript Vector Class
  • Урок 32. 00:06:14
    Vec2 C++ Header File
  • Урок 33. 00:17:39
    A Quick Look at C++ Vec2 Syntax
  • Урок 34. 00:09:07
    Vec2 Operator Overloading
  • Урок 35. 00:08:10
    Technologies & Dependencies
  • Урок 36. 00:11:18
    Folder Structure
  • Урок 37. 00:23:14
    Initial Project Files
  • Урок 38. 00:08:10
    Compiling using GCC & Linux
  • Урок 39. 00:06:05
    Makefile
  • Урок 40. 00:14:04
    Configuring Visual Studio on Windows
  • Урок 41. 00:11:58
    Introduction to Particle Physics
  • Урок 42. 00:10:15
    Particle Class
  • Урок 43. 00:05:57
    Particle Velocity
  • Урок 44. 00:01:47
    Using the + Operator to Add Vectors
  • Урок 45. 00:13:07
    Controlling our Framerate
  • Урок 46. 00:11:48
    Framerate Independent Movement
  • Урок 47. 00:02:51
    Clamping Invalid DeltaTime Values
  • Урок 48. 00:06:20
    Moving in a Constant Velocity
  • Урок 49. 00:12:21
    Changing the Particle's Velocity
  • Урок 50. 00:08:35
    Keeping the Particle Inside the Window
  • Урок 51. 00:05:26
    Constant Acceleration
  • Урок 52. 00:12:54
    Discrete vs. Continuous
  • Урок 53. 00:16:02
    Integration & Movement Simulation
  • Урок 54. 00:10:00
    Different Integration Methods
  • Урок 55. 00:04:27
    Particle Integrate Function
  • Урок 56. 00:11:42
    Applying Forces to Particles
  • Урок 57. 00:09:25
    Function to Add Force
  • Урок 58. 00:13:08
    Particles with Different Mass
  • Урок 59. 00:08:21
    The Weight Force
  • Урок 60. 00:04:18
    Inverse of the Mass
  • Урок 61. 00:05:57
    Applying Forces with the Keyboard
  • Урок 62. 00:15:21
    Drag Force
  • Урок 63. 00:14:51
    Drag Force Function
  • Урок 64. 00:04:38
    Handling Mouse Clicks with SDL
  • Урок 65. 00:02:15
    Unexpected Drag Behavior
  • Урок 66. 00:08:47
    Friction Force
  • Урок 67. 00:07:56
    Friction Force Function
  • Урок 68. 00:13:16
    Gravitational Attraction Force
  • Урок 69. 00:15:59
    Gravitational Attraction Force Function
  • Урок 70. 00:14:35
    Spring Force
  • Урок 71. 00:17:49
    Spring Force Function
  • Урок 72. 00:09:04
    Exercise: Spring Forces
  • Урок 73. 00:14:15
    Multiple Particles: Chain
  • Урок 74. 00:08:20
    Multiple Particles: Soft body
  • Урок 75. 00:08:58
    Soft Bodies & Verlet Integration
  • Урок 76. 00:14:04
    Rigid-Bodies
  • Урок 77. 00:07:39
    Shapes
  • Урок 78. 00:07:51
    Shape Class
  • Урок 79. 00:17:36
    Shape Class Implementation
  • Урок 80. 00:10:06
    Circle Shape
  • Урок 81. 00:11:32
    Angular Velocity & Angular Acceleration
  • Урок 82. 00:18:25
    Torque & Moment of Inertia
  • Урок 83. 00:22:48
    Circle Shape Angular Motion
  • Урок 84. 00:19:13
    Box Vertices
  • Урок 85. 00:17:04
    Local Space vs. World Space
  • Урок 86. 00:03:48
    Body Update Function
  • Урок 87. 00:02:29
    Why Not a Shape Draw Function?
  • Урок 88. 00:02:01
    No Draw Method in the Shape Class
  • Урок 89. 00:10:11
    Circle-Circle Collision Detection
  • Урок 90. 00:12:20
    Circle-Circle Collision Class
  • Урок 91. 00:09:57
    Circle-Circle Collision Implementation
  • Урок 92. 00:09:46
    Collision Contact Information
  • Урок 93. 00:29:06
    Collision Information Code
  • Урок 94. 00:10:52
    Broad Phase & Narrow Phase
  • Урок 95. 00:15:17
    The Projection Method
  • Урок 96. 00:14:41
    Objects with Infinite Mass
  • Урок 97. 00:10:02
    Impulse Method & Momentum
  • Урок 98. 00:10:09
    Impulse
  • Урок 99. 00:21:39
    Deriving the Linear Impulse Formula
  • Урок 100. 00:09:42
    Simplifying the Impulse Method Formula
  • Урок 101. 00:13:07
    Coding the Linear Impulse Method
  • Урок 102. 00:06:10
    Is Linear Collision Response Enough?
  • Урок 103. 00:12:27
    AABB Collision Detection
  • Урок 104. 00:20:02
    SAT: Separating Axis Theorem
  • Урок 105. 00:11:41
    Finding Minimum Separation with SAT
  • Урок 106. 00:12:53
    Polygon-Polygon Collision Code
  • Урок 107. 00:28:35
    Code to Find SAT Minimum Separation
  • Урок 108. 00:07:45
    Refactoring the SAT Separation Function
  • Урок 109. 00:14:57
    Finding Extra Collision Information with SAT
  • Урок 110. 00:16:42
    Polygon-Polygon Collision Information
  • Урок 111. 00:11:53
    Linear & Angular Velocity At Point
  • Урок 112. 00:14:24
    Post-Collision Velocity At Point
  • Урок 113. 00:12:06
    Computing Linear & Angular Impulse
  • Урок 114. 00:18:21
    Collision Distance Vectors Ra-Rb
  • Урок 115. 00:19:58
    2D Cross Product Simplification
  • Урок 116. 00:15:11
    Coding the Impulse Along Normal
  • Урок 117. 00:12:57
    Exercise: Impulse Along Tangent
  • Урок 118. 00:11:41
    Friction Impulse Along Tangent
  • Урок 119. 00:04:16
    Removing Window Boundaries Check
  • Урок 120. 00:10:13
    Circle-Polygon Collision Detection
  • Урок 121. 00:07:11
    Finding Polygon's Nearest Edge with Circle
  • Урок 122. 00:05:41
    Exercise: Circle-Polygon Edge Regions
  • Урок 123. 00:26:25
    Circle-Polygon Collision Information
  • Урок 124. 00:07:57
    Circle-Polygon Collision Resolution
  • Урок 125. 00:16:08
    Exercise: Polygons with Multiple Vertices
  • Урок 126. 00:04:55
    Polygon with Multiple Vertices
  • Урок 127. 00:12:58
    Loading SDL Textures
  • Урок 128. 00:08:58
    Rendering Circle Texture
  • Урок 129. 00:14:27
    World Class
  • Урок 130. 00:15:53
    Implementing World Functions
  • Урок 131. 00:08:32
    Refactoring Function to Update Vertices
  • Урок 132. 00:08:09
    Local Solvers vs. Global Solvers
  • Урок 133. 00:12:08
    A Naive Iterative Positional Correction
  • Урок 134. 00:18:41
    Constrained Rigid-Body Physics
  • Урок 135. 00:15:15
    Position vs. Velocity Constraints
  • Урок 136. 00:10:50
    Example Velocity Constraint & Bias Factor
  • Урок 137. 00:08:22
    Example Distance Constraint & Bias Factor
  • Урок 138. 00:13:58
    Constraint Forces & Constrained Movement
  • Урок 139. 00:15:59
    Force-Based vs. Impulse-Based Constraints
  • Урок 140. 00:07:04
    The Constraint Class
  • Урок 141. 00:15:02
    VecN Class
  • Урок 142. 00:09:15
    Implementing VecN Functions
  • Урок 143. 00:07:31
    VecN Operator Overloading
  • Урок 144. 00:18:44
    Matrices
  • Урок 145. 00:08:07
    MatMN Class
  • Урок 146. 00:05:28
    Matrix Transpose
  • Урок 147. 00:10:32
    Matrix Multiplication
  • Урок 148. 00:04:49
    Matrix Multiplication Function
  • Урок 149. 00:03:54
    Seeing Beyond the Matrix
  • Урок 150. 00:18:41
    Generalized Velocity Constraint
  • Урок 151. 00:15:55
    Solving Violated Velocity Constraints
  • Урок 152. 00:10:08
    Constraint Class Inheritance
  • Урок 153. 00:16:26
    Distance Constraint
  • Урок 154. 00:07:20
    Joint Constraint Class
  • Урок 155. 00:05:46
    Converting World Space to Local Space
  • Урок 156. 00:10:37
    World List of Constraints
  • Урок 157. 00:21:17
    Refactoring Body Update
  • Урок 158. 00:22:34
    Deriving the Distance Jacobian
  • Урок 159. 00:13:19
    Populating the Distance Jacobian
  • Урок 160. 00:20:21
    Solving System of Equations (Ax=b)
  • Урок 161. 00:05:23
    Gauss-Seidel Method
  • Урок 162. 00:12:55
    Constrained Pendulum
  • Урок 163. 00:14:28
    Solving System of Constraints Iteratively
  • Урок 164. 00:17:20
    Warm Starting
  • Урок 165. 00:08:13
    Adding the Bias Term
  • Урок 166. 00:12:04
    Ragdoll with Joint Constraints
  • Урок 167. 00:03:31
    Preventing NaN Errors
  • Урок 168. 00:13:47
    Penetration Constraint
  • Урок 169. 00:09:52
    Deriving the Penetration Jacobian
  • Урок 170. 00:27:10
    Penetration Constraint Class
  • Урок 171. 00:05:56
    Solving Penetration Constraints
  • Урок 172. 00:05:15
    Penetration Warm Starting
  • Урок 173. 00:14:17
    Penetration Constraint Friction
  • Урок 174. 00:08:02
    Clamping Friction Magnitude Values
  • Урок 175. 00:09:06
    Penetration Constraint Bounciness
  • Урок 176. 00:12:51
    Unstable Stack of Boxes
  • Урок 177. 00:12:42
    Allowing for Multiple Contact Points
  • Урок 178. 00:10:38
    Reference & Incident Edges
  • Урок 179. 00:21:52
    Finding Incident Edge
  • Урок 180. 00:18:40
    Getting Ready for Clipping
  • Урок 181. 00:17:08
    Clipping Function
  • Урок 182. 00:04:09
    Testing Multi-Contact Boxes
  • Урок 183. 00:10:05
    Testing Multiple Objects & Constraints
  • Урок 184. 00:14:07
    Contact Caching
  • Урок 185. 00:06:50
    Continuous Collision Detection
  • Урок 186. 00:04:16
    Broad & Narrow Split
  • Урок 187. 00:23:58
    Euler Integration Review
  • Урок 188. 00:10:25
    MidPoint & RK4 Integrators
  • Урок 189. 00:20:43
    Verlet Integration
  • Урок 190. 00:20:15
    Stick Constraints
  • Урок 191. 00:12:35
    Conclusion & Next Steps