Technically hurtboxes are never “2D”. They are 2D in the sense that the hurtbox has no depth itself but they are attached on a 3D plane. So for example, you know how C.Viper’s far HK (now B+HK) makes her swipe her leg from towards the screen to away from the screen? Because the hittbox is actually attached to her leg, as it gets farther from the screen it becomes smaller as it’s farther away from the camera.
The way hurtboxes work (to my understanding) is this.
By default, there is a preset size hurtbox attached to every part of the body based on the model. I think it’s based on the model bones but I’m not sure. Either way there are several possible parts of the body:
Waist, stomach, chest, head, L/R Shoulder, L/R Elbow, L/R Wrist, L/R Hand, L/R Hip, L/R Knee, L/R Ankle and L/R Foot (L/R = left or right, can be designated on their own.) I BELIEVE these are the only ones that can be used.
Then you have “invincibility” this section is where the game tells what parts of the body to enable vulnerability on. E.G. “All body parts except for The head, left wrist, and right foot are invincible to strikes”
If the invincibility section is not manually designated then by default it enables all body parts hurtboxes.
After that you have the actual hurtboxes themselves. What you are doing isn’t CREATING a hurtbox, in fact you are just manipulating the existing hurtbox. So you take the hurtbox attached to say: the characters head and you move it’s position and size to where you want them to be on specific frames. These hurtboxes are still in fact attached to those parts of the body, they are just displaced. So for example, the hurtbox on Evil Ryu’s leg during his far MK is actually his head hurtbox moved to a new position. If at any point during the animation his head moves the hurtbox that LOOKS like it’s on his leg will move the same amount. This is noticable on Cody’s far MK which is also attached to his head, so while his leg lowers the hurtbox stays the same, but the hurtbox changes position as his head moves up/down during parts of it.
So to sum up, hurtboxes are always there you just disable/enable their invincibility and manipulate their size/position. If you don’t designate the size/position of a hurtbox or you don’t tell the game “make these hurtboxes invincible” on specific frames it will just go back to default and be based on the character’s model entirely.
95% of moves in SF4 the hurtboxes are not at all designated during recovery frames of attacks as well as reeling animations.
I hope I didn’t OVER explain this lol.