I need to be able to render exact frames of animation that match frames in Maya. I understand that this can be difficult to achieve considering that the engine is simply playing animation and rendering each frame as the game plays, but is there any way to make the results more reliable?
Also is there any functionality for adding custom render passes based upon post process materials?
E.G. you would pick 3 post process materials (rather than just one) and it would render each of those every frame before moving on to the next frame.
For your first question about frames matching, you can export your maya animation into fbx file (reminder your FPS), then when you render in UE4, use exactly that Frame rates. Otherwise, you can use Martinee (checked Play on Level Load) to compose your imported animation. This may be not the best way, but it work for me. I’m newbie so please let me know if anyone have better solutions.
Regarding animation, you cannot get EXACT frames. As the frame rate fluctuates, there always will be interpolation of some sort. The larger the animation and the more keyframes you have, the more accurate it will be. However on practice, the difference is minimal and I cannot image a case where what UE4 has to offer in this respect would not suffice.
As for custom render passes, you are limited to what post process has to offer you. You can modify that, but that would require overhauling rendering pipeline and is not available by default.
I have found that Matinee simply estimates by trying to render at the designated frame rate, but it is not repeatable or perfectly accurate. Sequencer, however was rebuilt with one of the priorities being that it is frame repeatable, so it matches animation exactly, which is not possible with Matinee.