Home Artists Posts Import Register
The Offical Matrix Groupchat is online! >>CLICK HERE<<

Content

I spent some time figuring out a fast way to rebuild collision primitives for walls. The problem is that building physics meshes can be very time consuming. I came up with an idea that is similar to Unreal Engine 4 workflow but going a step further in the automation process. Essentially I take the raw detail mesh and I select faces that would together make a bounding box, simply disconnect from parent and leave them as their own object. Then I export these disconnected pieces together and pass the fbx through a simple script in Unity which takes the bounding box of each mesh and builds a Box Collider. This is super fast compared to manually retopoing with blocks because I can be super lazy and don't have to worry about making complete filled box faces, correct normals, or maintain vertex count. Video 1 illustrates me going really fast with this method. Video 2 shows the script taking these jumbled individual meshes and creating a Box Collider out of each. The one caveat is that this only works for axis aligned boxes. But I can very easily add an option to support creating convex meshes. The way the "Build Primitives" script works is it scans the fbx for all CollisionCube_* named objects and builds boxes for those. When I add support for Collision Meshes, it will simply find CollisionMesh_* and build them. Maybe even do CollisionRotatedCube_* down the road. This tool will also work for props.


I also imported the house, got rid of the baked raytrace textures, and popped in the Blender textures. Dynamic lighting will be a neat challenge for maintaining consistent FPS in VR but I think this is the best future proof solution. Would be nice if Nvidia didn't go full Intel with their GPU releases. Video 3 shows off the current map. Textures and models subject to change.


Lastly I removed initializing animation events for all animations. The issue is that Unity's animation events are SHIT. As in, the very very small tabs that appear per frame for animation events are hard to control, order, and keep track of. So I went in today and replaced most with script-driven functions that fire in C# instead. Way easier to maintain and change now.

Files

Comments

No comments found for this post.