Day 1 – It started with the importing: Synty Apocalypse, Particles, and Boss Zombies, and then the Gaia 2 module. Not sure what I’m going to do with that one but I imported it. Then I imported all the animal packs, because why the hell not? Go big or go home, that’s what I always say.
Day 2 – That was a terrible mistake. While the assets I added were awesome (Gaia 2 was incredibly cool), it was overwhelming, so I tossed it all and reset a new Zombie Runner project, this time with just the Synty Apocalypse pack. I set up a small scene and discovered that I kept getting stuck in corners. The solution is to set the Shell Offset in the Rigidbody First Person Controller to be not zero.
Day 3 – My solution was to switch the building mesh renderers to the collision mesh, then build the Nav Mesh, and then switch back. To accomplish this I created a behavior called Mesh Swapper. When a Mesh Swapper is added to an object, it finds the Mesh Filter and saves the original mesh in a member variable. The designer can then use the Mesh Swap tool to toggle between the collision and original meshes.
They’ve found us! This is my solution to the chase range video (#172). In short, the Search For Targets component uses Overlap Sphere to find all the objects inside of the Search Radius. Then it filters out the closest object and triggers the Target Found event. Target Found is a custom Unity Event that passes the Transform of the closest target to all listeners.