I've been dreaming of getting my hands of RE:ORC's animations for years, and after finally getting tired of it, I can present you the ultimate blender script for RE:ORC!
what started as a port of
Szkaradek123's script from Xentax forum to the latest blender version, ended up expanding massively upon it, supporting animations and LODs for models!
UPD 15.11.23: Xentax forum is now gone (don't know since when), I am actually extremely sad about it, so much stuff is lost now
I am glad I was able to share my work here at least
EXAMPLES (GIFs)DOWNLOADbefore we go any further, here's what this script CANNOT do:
- ssg unpacking: this part of the original Szkaradek123's script was left out due to it being pretty much unneeded and very low priority;
- asset exporting:
you cannot export anything with this script, which wouldn't even make sense because you wouldn't be able to import anything back into the game, as almost every single asset is inside an .ssg archive, for which not even a reliable extractor exists, let alone a packer well this is now invalid, but the script still doesn't support exporting;
- cutscene importing:
it is unknown how to get their files as any existing SSG extractor corrupts data from cutscene archives, and I also have a suspicion that slant six games used a completely different file format for cutscenes, unrelated to the file format used for in-game animations the part about corrupted files is now invalid, and slant six games did indeed use a completely different format for cutscene which I have no idea how to work with;
- importing console assets: simple, console versions of ORC have different asset endianness and potentially even slightly different file format from my short comparison of PC and PS3 + X360 assets
you can find more technical information about this script in the same Xentax thread linked above if you need
importing models:
as per Szkaradek123's script, to import a model you need to open an .edgemodel file, you can get one by extracting .ssg files within the game folder (one example would be dlc\pack
N\characters folder, that consists of every single character in the game, including monsters and humans)
if you need it to be skinned (have a skeleton), you need to also extract it's skeleton file (for characters that would be dlc\pack
N\characters\skel) and placing it in the same folder as the .edgemodel, making sure both skeleton and model have the same file name!
currently, LOD4 has broken rigging and potentially materials and it is unknown whether it will ever be fixed or not
importing skeleton:
if you need to import an animation or you simply want to import a skeleton without any mesh, you can do that too: simply get a skeleton file and import it using the script
importing animations:
now the most interesting part
to import an animation, you need to first import the skeleton or a skinned model you want to apply the animation to and
make sure that the armature object is called Armature, otherwise the animation importer won't do anything!go to Animations\Projects folder of the game and extract .anims.ssg files (for any humanoid characters aka players or npcs that would be
Trooper.anims.ssg)
then you find the animation you need, at the end of the animation file name you will see
-- and after that there will be a skeleton name that this animation must be applied to, you import the animation you need and after that you will see a file importer window again, this time you must select the skeleton file that was referenced in animation file name (so for example,
pm_stand_fp_rifle_injectself_upper--player_male_skeleton would need
player_male_skeleton skeleton file, you can get most of the skeletons in
skel folder of the game)
after you select the correct skeleton, you're done!
PLEASE NOTE: if your animation has a pistol and rifle version, the pistol version will most likely look broken! this is because in some pistol animations, only hands are animated, the rest of the body is animated in the rifle version, so you need to get the rifle animation, and then merge it's hands animation with pistol version manually!
credits:
- Szkaradek123: original script
- REDxEYE: port of the script to latest blender version, LODs support for models
- DeadZoneGarry: initial research of animations format
- PiMoNFeeD: animations importer, material importer and model importer fixes
changelog:
- december 20th, 2022: initial release
- december 21th, 2022: updated model importer to be slightly more reliable
- december 24th, 2022: updated animation importer to be slightly faster, fixed potential issues with last frame missing data and fixed incorrect translation in some animations (thanks to
Fran... for reporting it)
- december 25th, 2022: further improvements on animation importer from previous update and added a hack to disable facial bones translation import, as it comes out broken 99% of the time most likely due to the way the game handles facial animation and stores it in assets (so basically no way to properly fix it)
- december 27th, 2022: referring to last update, I was wrong about facial animations and everything related to animation importer has been properly fixed, and facial bones translation hack has been removed
- december 29th, 2022: added a hack to allow importing some corrupted animations (one example is
licker_knock_back--licker, thanks again to
Fran... for reporting it)
- january 27th, 2023: disabled leftover debug print for better performance
- march 22nd, 2023: updated model importer to reliably parse mesh material names
- june 16th, 2023: updated model importer to be more reliable, added support for importing multiple files at once
- june 17th, 2023: updated model importer to be more reliable, added support for importing textures, added a setting to toggle bones importing
- september 19th, 2023: updated model importer to fix broken UV map on some models
- november 15th, 2023: updated texture importer to work with blender 4.0
- june 18th, 2024: updated model importer to work with blender 4.1
have fun! if you have any questions or bugs to report, feel free to message me here or
pimonfeed on Discord, but I rarely check this forum