So I’m working on a horror game with quick time events.
What I have is girl walking through old abandoned buildings in a trade school with only a cellphone. What I want is the main antagonist npc to be able to grab the heroine and be able to slit her throat with meathook. I have the stuff ready to animate, extra gory details and all. However I have no Idea how to make the animations sync up based on position of character and npc.
I have an idea on how I should program the qte but not how to link the two animations.
Any ideas?
Two general way to accomplish. Using IK to control the characters arms in engine to “attach” to the player characters body while performing the animation.
Second way - probably simpler - more straight forward - animate both characters in 3D together in the same scene and export/import them together.
This would require some very creative canera work and swapping in/out of rigs. Ive only read about this workflow - never performed it.
Some of the information shared by the Ori dev team discussed this workflow when animating Ori and the other characters he interacted with.
But how would I ensure the positions of each mesh were corect during animation
This is a problem that requires iteration and prototyping to solve.
A lot of games use this technique - and ‘cut’ the camera scene when the scene starts. Usually it’s a way to hide the character switch from two gameplay characters to the two characters imported as one scene - or to change out the interactive character for the action non-interaction version.
IK would be used for the character hand/foot placement on the other characters. It gets more complicated when dealing with multiple characters, this is why there is not a lot of information about it.
If a camera cut is not “doable” or not in line with the design - prototyping will have to be done, and more complex IK set up for in game character ‘hands on’ interaction to be accomplished.
Research on this subject is needed. Also consider fighting games for research - how they accomplish combos and player interactions.