So this s where the tank is:
The final piece that needed implementation was the weapons system. With a little bit of modification, that came across without too much trouble from my original tank.
However, a new issue came to light: the method by which I was rotating the turret and barrel was a problem: their collision was not being updated to match the mesh.
The core of the problem is the mixing and matching of simulated and kinematic bodies. The base of the tank is simulated. The turret was to be kinematic, as that seemed like the most straight forward solution: get some input and use that to rotate the mesh or bone it is attached to. However, physics and animation don’t necessarily mix well; one system doesn’t necessarily know or operate with the other.
To bring it all under one house, a solution was tried where the turret and barrel were instead simulated and driven by physics: Input came in, math was done on it, and that was converted to torque which was applied to the turret and barrel’s parent bones.
Unfortunately, the barrel was subject to gimble lock. Without the ability to change axis order when evaluating rotations in UE4, I couldn’t quickly fix it. Also, while the turret seemed to work under this system, I do not have confidence in it. I suspect I just got lucky with the combination of constraints and axes I was using. That’s not a reliable solution to be endorsing for release.
Several alternate implementations have been tried to circumvent the issue, but at this point, I require assistance from our physics people, who are currently working on high priority tasks on our game projects.
The question now is: release it as is, knowing the turret collision isn’t working and let the community work around it, or wait until it can be fixed?