Thread Rating:
  • 1 Vote(s) - 5 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Crash NST: Playable Cortex mod
#1
Playing as Cortex is something a lot of people have asked me about over the last couple of years and for a long time I didn't think it would be possible, but recently I've been experimenting a bit with porting character models from CTR Nitro Fueled into the N Sane Trilogy, and some of the new things I've learned about how those files work gave me a few ideas...so here he is:


This mod uses the animations and skeleton from the Skylanders version of Crash, because that works a lot better for Cortex than normal NST Crash does, so the same issues that I mentioned here about not working in all levels will  apply. Standard platforming levels should be mostly ok though. Cortex also has some serious resting bitch face here because getting facial animations to work properly is something that's way beyond my current knowledge. But to compensate for these problems I've added a few extra things...

Downloads:
Crash.pak (Normal Cortex)
Crash.pak (Red Cortex)
Crash.pak (Green Cortex)
Crash.pak (Blue Cortex)
Crash.pak (Toga Cortex)
update.pak (extra stuff)

This is for the PC version. Red Cortex, Green Cortex and Blue Cortex are Cortex's exotic skins (recolours) from CTR Nitro Fueled. Downloading one of the Crash paks will give you playable Cortex. If you want the extra stuff seen in the video like Uka Uka and Cortex 1ups, you also need update.pak. To use the mod, download whichever pak files you want and place them in the "archives" folder in the game files. Backup the original Crash.pak if you want to, or you can restore it any time through Steam. If you have my Arctic Antics mod installed then overwriting update.pak with this version will remove that, so if you want to get Uka Uka into Arctic Antics you'll need to wait for me to make a proper mod loader or something...

[Image: 44a2EMF.jpg]

I haven't spent much time trying to do this with other characters yet and I don't intend to until after the level editor is released so I'm not sure if things like playable Dingodile or Crunch will be possible but I'll definitely see what I can do once I have the time for it!

UPDATE!
Added Toga Cortex skin (from Crash 3 Tiny boss)! Download

[Image: Y2NiqYV.jpg]
Immeline and carpetdiem like this post
Reply
#2
Absolute legend.
Reply
#3
I'm surprised there aren't more replies here, you did an amazing job once again!

Can I ask on a technical point of view what's different from before? You said you used animations from skylanders instead of the base game ones but what does it change?

I assume most of the characters share a common skeleton so it should be possible to retarget animations between models right?

I would be very interested in knowing your process, do you plan on making a video at some point?
Reply
#4
I am thinking about making a video talking about this at some point but probably not until I'm less busy doing level stuff and I've had some more success with getting CTR characters working.

(16-08-2020, 12:30 PM)carpetdiem Wrote: Can I ask on a technical point of view what's different from before? You said you used animations from skylanders instead of the base game ones but what does it change?

I assume most of the characters share a common skeleton so it should be possible to retarget animations between models right?

Using the Skylanders animations over the normal ones isn't actually the thing that gets this working, it's just that the Skylanders animations work better with Cortex's model because he's closer in height and posture to the Skylanders version of Crash than the N Sane version. Using Crash's normal animations does work, but it makes Cortex a bit lanky and he doesn't look quite right when running around. For reference here's Cortex using Crash's normal animations on the left vs Skylanders on the right:

[Image: rjxlA8l.jpg]

For this test that I did with N Brio, I did use Crash's normal animations and I think it works much better here because N. Brio is taller than Cortex.

But the reason why I am able to do this when I wasn't before is because I found a way to disable individual bones in character models. Unfortunately characters don't share a common skeleton and they vary a lot so using one character's animation on another's model will only work if they have a similar skeleton. The way that animations in this game work is that each bone in the model's skeleton is named within that model file, and each animation file contains a list of bones at the start of every animation, depending on which are used for that animation, and the bones are matched up from the model to the animations just based on their names. Although there are bones which are common across many different character models, the position of those bones is controlled by the animations rather than the model. Normally using Crash animations with Cortex's model would look like this:

[Image: 2nmGPbG.jpg]

His arms and legs work decent enough because the names of all of those bones are the same for both Crash and Cortex but everything else is broken, partly because of bones being listed in Cortex's model that aren't in Crash's animations file, and partly because of bones that are listed but are just too different to work. For simple animated models like basic enemies, if a bone is named in the model file and you use an animation file that doesn't reference that bone, the bone just won't be animated and that part of the character will be treated like a static model - that means any bones that don't work properly can just be renamed in the model file and they will be ignored. And in some cases you can rename them to bones that are used in the animations and it will improve things a bit. But it's more complicated for things like playable characters and bosses because of the extra Havok files that they use and if there are bones in the model that are not accounted for in the animations, the game tends to just stick all of those bones at the base of the character. That's why Cortex's head is all squashed up on the floor in the image above. But I found a better way to disable specific bones than just renaming them that means that even for playable characters they will be ignored and the game won't try to animate them.

So that's how the Cortex mod works, I basically just disabled every bone in his head and coat, which is why his face doesn't animate if you play as him. And although he obviously doesn't look anything like Crash, his limbs are just about similar enough that it works ok, and those are all that need to be animated for running, jumping, spinning etc. Apart from Cortex and N Brio, I haven't yet found any other characters that are close enough to Crash or Coco for it to really work... yes, you can use Coco as the template instead but I tried that with Tawna and the results were horrifying because even that height difference is too much for them to be compatible. This also means that if you're hoping to get to play as Dingodile before Crash 4 comes out you're probably out of luck because this is what he looks like, after going through the same process I used for Cortex:

[Image: nTWAQf8.jpg]

HOWEVER, this doesn't necessarily mean that this will only work with characters with similar enough skeletons to Crash and Coco. Crash and Coco are not the only playable characters in the game, and it's possible that the animations of one of the unused test characters will be a better match for some of those that don't work with Crash and Coco. There's also the fact that, while working out how to convert characters from CTRNF to work with this game, I've figured out how to get animation files from PS4 and Switch Alchemy games to work on PC. That means that every single playable character in Skylanders Imaginators is a viable option as an animation source. I'm not at all familiar with those characters so it would take a lot of experimenting but I'm confident I'll be able to pair up some of those animation files with some of the characters from the N Sane Trilogy and CTR at least as well as I could with Skylanders Crash and Cortex. But that would take a lot of time and I'm not going to start getting into all that until the level editor is sorted.

If you're wondering why, having explained that it's possible to use animations from Imaginators in this game, I didn't just use the Skylanders version of Cortex's animations for this, I did try and it doesn't work as well as you might expect. Skylanders Cortex is a fair bit shorter than N Sane Cortex (it might just be that Skylanders characters are smaller in general?) and it makes his already massive head seem even more ridiculously oversized:

[Image: ZgPLGDu.jpg]

Didn't really intend to write such a long response but if I do make a video about this it'll be a while before I get round to it so hopefully this explains things for anyone who's curious about how it works. There are definitely other things I want to try like actually modifying the animation files but that's a long way off at the moment.
AdventureT and carpetdiem like this post
Reply
#5
Thanks for the detailed explanation!
Since the skeletons are so different I get why it complicates things a lot. Basically the only way to retarget animations for taller characters would be to modify the animations and reinject those in the game, which would be even harder. I guess your workaround using taller characters' animations from Skylanders could work but since the match will never be perfect we will never get correct facial animations for example... Disabling bones is an interesting concept but I guess it will also prevent to get perfectly smooth animations. Great job nonetheless, I wonder what you will achieve next!
Reply
#6
Added Toga Cortex skin (from Crash 3 Tiny boss)! Download

[Image: Y2NiqYV.jpg]
Reply
#7
Hi Ard! sorry for the giant bump on this thread.
I was recently modding for fun the switch version and swapping some models i noticed that various npc works pretty well with crash animations, except for facial expressions


[Image: 2023081012551300-3-D8-E1-DE4-D671-F7453-...25-E90.jpg]

[Image: 2023081016542600-3-D8-E1-DE4-D671-F7453-...25-E90.jpg]

i was wondering if you could tell me how to disable specific bones, to make those less creepy  Tongue
Very thanks in advance!
Reply


Forum Jump: