To create shields you just need to follow the tutorial here, but in step 8 you need also to copy shield0_blocking.json beacause this is the model of blocking shield animation.
So you can easly edit these copied files following your needs following these steps:
8.1) Copy these 2 files and replace the 0 after "shield" into your shield id you've chosen in customShields.yml
8.2) Then you just need to edit the shieldX.json file on your needs (if you have to edit textures path etc.). (in my case I modelled the shield with BDcraft Cubik PRO, so I just adjusted textures values to match the correct path in my resourcepack).
8.3) important: You need to open shieldX_blocking.json and change the "parent" option to item/custom/shields/shieldX where X is the id of your custom shield in customShields.yml (and the id you've set in shieldX.json name).
Follow the rest of the tutorial
Pretty easy, right?