The Optimization Update™


It’s been a while, but I’ve been using this thing for my own purposes for almost a year now and I haven’t found any major bugs in the optimized version so I’m officially promoting that to Version 1.1.

There are also a few quality of life things that I added. Version 1.1 includes:

  • A bunch of optimizations (the ones that you saw in the optimization video plus a few more that I thought of afterwards)
  • A whole bunch of new Vector functions (including a Vector2 class), just for fun
  • Removed the Matrix classes in favor of just using the GameMaker 16-element array matrices, because those were confusing and using them added more overhead that I really like
  • If you construct a ColTransformedModel (or call the Set() method that goes with them) with an array of ColTriangles instead of a ColMesh, a ColMesh will be created for you
    • This will create a new ColMesh from scratch, so only do this if each Transformed Model is to be associated with a unique Mesh
  • ColWorld now takes an Octree, Quadtree, or Spatial Hash as its preferred acceleration structure instead of creating one for you
  • ColWorld::CheckRay can now take a maximum distance, discarding any hits that are farther away
  • Added COL_MIN_TREE_DENSITY to set the object threshold for when a tree structure is subdivided, which can speed them up by a fair amount
  • Shapes attached to objects also have an .object reference that they can refer back to

Files

3dcollisions.yymps 57 kB
Jun 25, 2024
3DCollisionTestWorld-Web.zip Play in browser
Jun 25, 2024
3DCollisionTestWorld-Windows.zip 3.2 MB
Jun 25, 2024

Get 3D Collisions in GameMaker

Download NowName your own price

Leave a comment

Log in with itch.io to leave a comment.