Это пробный урок. Оформите подписку, чтобы получить доступ ко всем материалам курса. Премиум

  1. Урок 1. 00:08:56
    001. Introduction & Learning Outcomes
  2. Урок 2. 00:02:59
    002. How to Take this Course
  3. Урок 3. 00:04:45
    003. What is Game Physics
  4. Урок 4. 00:01:30
    004. A Quick Review of Vector Math
  5. Урок 5. 00:11:02
    005. Vector & Scalar Quantities
  6. Урок 6. 00:06:36
    006. Using the P5js Web Editor
  7. Урок 7. 00:01:08
    007. Visualizing Errors in the Web Editor
  8. Урок 8. 00:06:24
    008. Coding a Vec2 Class
  9. Урок 9. 00:09:08
    009. Vector Magnitude
  10. Урок 10. 00:08:37
    010. Vector Addition & Subtraction
  11. Урок 11. 00:05:56
    011. Methods for Vector Addition & Subtraction
  12. Урок 12. 00:02:15
    012. Vector Equality
  13. Урок 13. 00:04:51
    013. Scaling Vectors
  14. Урок 14. 00:04:10
    014. Static Methods
  15. Урок 15. 00:08:01
    015. Applications of Vector Addition & Subtraction
  16. Урок 16. 00:09:22
    016. Dot Product
  17. Урок 17. 00:04:01
    017. Is the Dot Product Commutative
  18. Урок 18. 00:10:14
    018. Cross Product
  19. Урок 19. 00:05:20
    019. Coding the Cross Product Method
  20. Урок 20. 00:02:39
    020. Exercise Perpendicular 2D Vector
  21. Урок 21. 00:02:03
    021. Perpendicular 2D Vector
  22. Урок 22. 00:01:12
    022. Exercise Vec3 Methods
  23. Урок 23. 00:05:15
    023. Vec3 Methods
  24. Урок 24. 00:07:23
    024. Vector Normalization
  25. Урок 25. 00:03:38
    025. Coding the Normalization Method
  26. Урок 26. 00:08:01
    026. Scaling, Translating, and Rotating Vectors
  27. Урок 27. 00:07:38
    027. Quick Review of Sine & Cosine
  28. Урок 28. 00:20:20
    028. Vector Rotation Proof (x-component)
  29. Урок 29. 00:07:17
    029. Vector Rotation Proof (y-component)
  30. Урок 30. 00:09:23
    030. Coding the Vec2 Rotate Method
  31. Урок 31. 00:02:53
    031. Concluding our JavaScript Vector Class
  32. Урок 32. 00:06:14
    032. Vec2 C++ Header File
  33. Урок 33. 00:17:39
    033. A Quick Look at C++ Vec2 Syntax
  34. Урок 34. 00:09:07
    034. Vec2 Operator Overloading
  35. Урок 35. 00:08:10
    035. Technologies & Dependencies
  36. Урок 36. 00:11:18
    036. Folder Structure
  37. Урок 37. 00:23:14
    037. Initial Project Files
  38. Урок 38. 00:08:10
    038. Compiling using GCC & Linux
  39. Урок 39. 00:06:05
    039. Makefile
  40. Урок 40. 00:14:04
    040. Configuring Visual Studio on Windows
  41. Урок 41. 00:11:58
    041. Introduction to Particle Physics
  42. Урок 42. 00:10:15
    042. Particle Class
  43. Урок 43. 00:05:57
    043. Particle Velocity
  44. Урок 44. 00:01:47
    044. Using the + Operator to Add Vectors
  45. Урок 45. 00:13:07
    045. Controlling our Framerate
  46. Урок 46. 00:11:48
    046. Framerate Independent Movement
  47. Урок 47. 00:02:51
    047. Clamping Invalid DeltaTime Values
  48. Урок 48. 00:06:20
    048. Moving in a Constant Velocity
  49. Урок 49. 00:12:21
    049. Changing the Particle's Velocity
  50. Урок 50. 00:08:35
    050. Keeping the Particle Inside the Window
  51. Урок 51. 00:05:26
    051. Constant Acceleration
  52. Урок 52. 00:12:54
    052. Discrete vs. Continuous
  53. Урок 53. 00:16:02
    053. Integration & Movement Simulation
  54. Урок 54. 00:10:00
    054. Different Integration Methods
  55. Урок 55. 00:04:27
    055. Particle Integrate Function
  56. Урок 56. 00:11:42
    056. Applying Forces to Particles
  57. Урок 57. 00:09:25
    057. Function to Add Force
  58. Урок 58. 00:13:08
    058. Particles with Different Mass
  59. Урок 59. 00:08:21
    059. The Weight Force
  60. Урок 60. 00:04:18
    060. Inverse of the Mass
  61. Урок 61. 00:05:57
    061. Applying Forces with the Keyboard
  62. Урок 62. 00:15:21
    062. Drag Force
  63. Урок 63. 00:14:51
    063. Drag Force Function
  64. Урок 64. 00:04:38
    064. Handling Mouse Clicks with SDL
  65. Урок 65. 00:02:15
    065. Unexpected Drag Behavior
  66. Урок 66. 00:08:47
    066. Friction Force
  67. Урок 67. 00:07:56
    067. Friction Force Function
  68. Урок 68. 00:13:16
    068. Gravitational Attraction Force
  69. Урок 69. 00:15:59
    069. Gravitational Attraction Force Function
  70. Урок 70. 00:14:35
    070. Spring Force
  71. Урок 71. 00:17:49
    071. Spring Force Function
  72. Урок 72. 00:09:04
    072. Exercise Spring Forces
  73. Урок 73. 00:14:15
    073. Multiple Particles Chain
  74. Урок 74. 00:08:20
    074. Multiple Particles Soft body
  75. Урок 75. 00:08:58
    075. Soft Bodies & Verlet Integration
  76. Урок 76. 00:14:04
    076. Rigid-Bodies
  77. Урок 77. 00:07:39
    077. Shapes
  78. Урок 78. 00:07:51
    078. Shape Class
  79. Урок 79. 00:17:36
    079. Shape Class Implementation
  80. Урок 80. 00:10:06
    080. Circle Shape
  81. Урок 81. 00:11:32
    081. Angular Velocity & Angular Acceleration
  82. Урок 82. 00:18:25
    082. Torque & Moment of Inertia
  83. Урок 83. 00:22:48
    083. Circle Shape Angular Motion
  84. Урок 84. 00:19:13
    084. Box Vertices
  85. Урок 85. 00:17:04
    085. Local Space vs. World Space
  86. Урок 86. 00:03:48
    086. Body Update Function
  87. Урок 87. 00:02:29
    087. Why Not a Shape Draw Function
  88. Урок 88. 00:02:01
    088. No Draw Method in the Shape Class
  89. Урок 89. 00:10:11
    089. Circle-Circle Collision Detection
  90. Урок 90. 00:12:20
    090. Circle-Circle Collision Class
  91. Урок 91. 00:09:57
    091. Circle-Circle Collision Implementation
  92. Урок 92. 00:09:46
    092. Collision Contact Information
  93. Урок 93. 00:29:06
    093. Collision Information Code
  94. Урок 94. 00:10:52
    094. Broad Phase & Narrow Phase
  95. Урок 95. 00:15:17
    095-0. The Projection Method
  96. Урок 96. 00:06:36
    095-1. Implementing the Projection Method
  97. Урок 97. 00:14:41
    096. Objects with Infinite Mass
  98. Урок 98. 00:10:02
    097. Impulse Method & Momentum
  99. Урок 99. 00:10:09
    098. Impulse
  100. Урок 100. 00:21:39
    099. Deriving the Linear Impulse Formula
  101. Урок 101. 00:09:42
    100. Simplifying the Impulse Method Formula
  102. Урок 102. 00:13:07
    101. Coding the Linear Impulse Method
  103. Урок 103. 00:06:10
    102. Is Linear Collision Response Enough
  104. Урок 104. 00:12:27
    103. AABB Collision Detection
  105. Урок 105. 00:20:02
    104. SAT Separating Axis Theorem
  106. Урок 106. 00:11:41
    105. Finding Minimum Separation with SAT
  107. Урок 107. 00:12:53
    106. Polygon-Polygon Collision Code
  108. Урок 108. 00:28:35
    107. Code to Find SAT Minimum Separation
  109. Урок 109. 00:07:45
    108. Refactoring the SAT Separation Function
  110. Урок 110. 00:14:57
    109. Finding Extra Collision Information with SAT
  111. Урок 111. 00:16:42
    110. Polygon-Polygon Collision Information
  112. Урок 112. 00:11:53
    111. Linear & Angular Velocity At Point
  113. Урок 113. 00:14:24
    112. Post-Collision Velocity At Point
  114. Урок 114. 00:12:06
    113. Computing Linear & Angular Impulse
  115. Урок 115. 00:18:21
    114. Collision Distance Vectors Ra-Rb
  116. Урок 116. 00:19:58
    115. 2D Cross Product Simplification
  117. Урок 117. 00:15:11
    116. Coding the Impulse Along Normal
  118. Урок 118. 00:12:57
    117. Exercise Impulse Along Tangent
  119. Урок 119. 00:11:41
    118. Friction Impulse Along Tangent
  120. Урок 120. 00:04:16
    119. Removing Window Boundaries Check
  121. Урок 121. 00:10:13
    120. Circle-Polygon Collision Detection
  122. Урок 122. 00:07:11
    121. Finding Polygon's Nearest Edge with Circle
  123. Урок 123. 00:05:41
    122. Exercise Circle-Polygon Edge Regions
  124. Урок 124. 00:26:25
    123. Circle-Polygon Collision Information
  125. Урок 125. 00:07:57
    124. Circle-Polygon Collision Resolution
  126. Урок 126. 00:16:08
    125. Exercise Polygons with Multiple Vertices
  127. Урок 127. 00:04:55
    126. Polygon with Multiple Vertices
  128. Урок 128. 00:12:58
    127. Loading SDL Textures
  129. Урок 129. 00:08:58
    128. Rendering Circle Texture
  130. Урок 130. 00:14:27
    129. World Class
  131. Урок 131. 00:15:53
    130. Implementing World Functions
  132. Урок 132. 00:08:32
    131. Refactoring Function to Update Vertices
  133. Урок 133. 00:08:09
    132. Local Solvers vs. Global Solvers
  134. Урок 134. 00:12:08
    133. A Naive Iterative Positional Correction
  135. Урок 135. 00:18:41
    134. Constrained Rigid-Body Physics
  136. Урок 136. 00:15:15
    135. Position vs. Velocity Constraints
  137. Урок 137. 00:10:50
    136. Example Velocity Constraint & Bias Factor
  138. Урок 138. 00:08:22
    137. Example Distance Constraint & Bias Factor
  139. Урок 139. 00:13:58
    138. Constraint Forces & Constrained Movement
  140. Урок 140. 00:15:59
    139. Force-Based vs. Impulse-Based Constraints
  141. Урок 141. 00:07:04
    140. The Constraint Class
  142. Урок 142. 00:15:02
    141. VecN Class
  143. Урок 143. 00:09:15
    142. Implementing VecN Functions
  144. Урок 144. 00:07:31
    143. VecN Operator Overloading
  145. Урок 145. 00:18:44
    144. Matrices
  146. Урок 146. 00:08:07
    145. MatMN Class
  147. Урок 147. 00:05:28
    146. Matrix Transpose
  148. Урок 148. 00:10:32
    147. Matrix Multiplication
  149. Урок 149. 00:04:49
    148. Matrix Multiplication Function
  150. Урок 150. 00:03:54
    149. Seeing Beyond the Matrix
  151. Урок 151. 00:18:41
    150. Generalized Velocity Constraint
  152. Урок 152. 00:15:55
    151. Solving Violated Velocity Constraints
  153. Урок 153. 00:10:08
    152. Constraint Class Inheritance
  154. Урок 154. 00:16:26
    153. Distance Constraint
  155. Урок 155. 00:07:20
    154. Joint Constraint Class
  156. Урок 156. 00:05:46
    155. Converting World Space to Local Space
  157. Урок 157. 00:10:37
    156. World List of Constraints
  158. Урок 158. 00:21:17
    157. Refactoring Body Update
  159. Урок 159. 00:22:34
    158. Deriving the Distance Jacobian
  160. Урок 160. 00:13:19
    159. Populating the Distance Jacobian
  161. Урок 161. 00:20:21
    160. Solving System of Equations (Ax=b)
  162. Урок 162. 00:05:23
    161. Gauss-Seidel Method
  163. Урок 163. 00:12:55
    162. Constrained Pendulum
  164. Урок 164. 00:14:28
    163. Solving System of Constraints Iteratively
  165. Урок 165. 00:17:20
    164. Warm Starting
  166. Урок 166. 00:08:13
    165. Adding the Bias Term
  167. Урок 167. 00:12:04
    166. Ragdoll with Joint Constraints
  168. Урок 168. 00:03:31
    167. Preventing NaN Errors
  169. Урок 169. 00:13:47
    168. Penetration Constraint
  170. Урок 170. 00:09:52
    169. Deriving the Penetration Jacobian
  171. Урок 171. 00:27:10
    170. Penetration Constraint Class
  172. Урок 172. 00:05:56
    171. Solving Penetration Constraints
  173. Урок 173. 00:05:15
    172. Penetration Warm Starting
  174. Урок 174. 00:14:17
    173. Penetration Constraint Friction
  175. Урок 175. 00:08:02
    174. Clamping Friction Magnitude Values
  176. Урок 176. 00:09:06
    175. Penetration Constraint Bounciness
  177. Урок 177. 00:12:51
    176. Unstable Stack of Boxes
  178. Урок 178. 00:12:42
    177. Allowing for Multiple Contact Points
  179. Урок 179. 00:10:38
    178. Reference & Incident Edges
  180. Урок 180. 00:21:52
    179. Finding Incident Edge
  181. Урок 181. 00:18:40
    180. Getting Ready for Clipping
  182. Урок 182. 00:17:08
    181. Clipping Function
  183. Урок 183. 00:04:09
    182. Testing Multi-Contact Boxes
  184. Урок 184. 00:10:05
    183. Testing Multiple Objects & Constraints
  185. Урок 185. 00:14:07
    184. Contact Caching
  186. Урок 186. 00:06:50
    185. Continuous Collision Detection
  187. Урок 187. 00:04:16
    186. Broad & Narrow Split
  188. Урок 188. 00:23:58
    187. Euler Integration Review
  189. Урок 189. 00:10:25
    188. MidPoint & RK4 Integrators
  190. Урок 190. 00:20:43
    189. Verlet Integration
  191. Урок 191. 00:20:15
    190. Stick Constraints
  192. Урок 192. 00:12:35
    191. Conclusion & Next Steps