While developing Ghostly Apparitions, specifically my push of new features this last month, I have learnt a few things that Unity did not seem to like me doing. These are things that are limitations of the default engine that, while maybe on the higher end there may be solutions, for now I have had to find workarounds for these quirks of the engine.
These are good to examine and stress test now, in the early stages, so I can note these down as thing to consider when working on the final design of Ghostly Apparitions systems.
Rigidbodys and Non-Convex Colliders
Ghostly Apparitions is currently going down a very physics driven route for it’s gameplay. Apparently between Unity 4 to 5, non-convex rigidbodies using mesh colliders have been removed as an option, eliminating easy to make holes and gaps in physic objects.
A workaround is using multiple colliders per special object, from separate parts, to remake the whole shape with the gaps, hole and indents needed, however I can’t say how efficient this is. This means I may have to find some alternatives in the future for things like cupboards, draws, bins and even the gaps under chairs. For now I will lean towards less gaps and holes in my games movable props and simply see how far using multiple colliders can take me.
Animation and Simulation
When animation is applied to any bone on a object it nullifies any physics driven movement on any other bone in its hierarchy. From my research with IKs there may be a way around this but without a special fix if you want, as I did in my example, a rigidbody driven door with animatable handles, it is simpler to have the handles be a separate rig childed to the door.
With that in mind I will probably make a base rig for all handle like objects in my game with a interchangeable mesh, since I will have to separate them from the doors anyway this will save time on setup.
Humanoid Rig, Ik Handles and Scaling Animation
The character models in my game are made for cartoon like expression and movement and have multiple parts in their rigs for classic squash and stretch animation. In the future I want the post 2017 AIs in Ghostly Apparitions to use IK handles to interact directly with props in game.
However Unity’s humanoid rig, it’s only built in route to IK handles, cancels out all scale driven animation in the entire rig. Luckily using some of the community built alternatives for Ik handles don’t seem to have this same quirk, so with a bit of research my specific animation needs should be fine, however I will not be able to use unity’s built in system.
While not much hopefully this may be useful for anyone who is doing similar work on the unity engine, as development continues I will be sure to post the specific solutions for any particularly problems I have as work goes on.