Skip to content

Posts from Exporting models and animations from the game for use in Unreal Engine.

No ratings yet — be the first to rate!
1 year ago
Auto-translated

Hello everyone,

I am a representative of the Heroes 5: Reborn project. We are trying to recreate Heroes of Might and Magic 5 using the Unreal Engine.

You can see the initial results of our work here:


Currently, we are using Archangel and 3ds Max 2008 with plugins for SMD and GR2 files to export game models and animations.
Briefly, the process is as follows:
1) We load the model and apply textures to it in Archangel (for static models, we then simply export it to OBJ).
2) We load the GR2 skeleton into Archangel and export the model with the skeleton in SMD format.
3) We import the SMD model with the skeleton into 3ds Max 2008 using the SMD import plugin (by Wunderboy).
4) We import the GR2 animation into 3ds Max 2008 using the GR2 import plugin (NWN2Utils).
After this, we can export the animated model from 3ds Max in FBX format.

In most cases, this method works correctly. However, some models have problems at the stage of applying animation to the skeleton in 3ds Max.
This usually happens with models that have complex skeletons; for example, the animations for most mounted units do not work correctly.

We preliminarily believe that the problem is either in the SMD import plugin, which incorrectly imports the model's skeleton into 3ds Max, or in Archangel, which incorrectly applies the skeleton to the game model. This is because when importing a bare GR2 skeleton into 3ds Max and applying animations to it, we see that everything works as it should.
We have tried some other methods, such as using the SMD import plugin for Blender and using the Noesis program to convert GR2 animations to FBX/SMD formats, but this did not yield any results.

Therefore, we would like to ask for help from those who have experience working with game models and animations and may be able to suggest a more optimal and less error-prone method for exporting models. Or suggest a way to solve the problems that arise when working with Archangel and 3ds Max.

As an example of a problematic model, I have uploaded the files for the Order hero to Google Drive: https://drive.google.com/drive/u/2/folders/15eu2R0Dcn2N5ggIAZnkAfzmi0tuCV2-1
There are the original game model files (geom, gr2 skeleton, gr2 move animation), the SMD file from Archangel with the model and skeleton, and MAX and FBX files with the knight's move animation. You can see that the knight moves forward, while the horse runs in place, and the knight's sword is pointing downwards.

We will be extremely grateful for any help! Thank you!

User Avatar
1 year ago
Auto-translated
auromolean

Hello everyone,

I am a representative of the Heroes 5: Reborn project. We are trying to recreate Heroes of Might and Magic 5 on the Unreal Engine.

You can see the initial results of our work here:

We would be extremely grateful for any help! Thank you!

What exactly are the problems? Essentially, you need to extract animations and models from the game, right? You don't need to put them back in... I extracted Titans (and later used them for an experiment in the Attila: Total War game, it looked cool), Cyclops, and everything worked quite correctly in 3D Max... I can't remember the details right away... If I can remember how I extracted them (I think there was some nuance with scaling, but it might not be your problem, I don't know), I'll let you know.

Added after 35 seconds
Oh, damn, I didn't read to the end; the problem is described at the bottom.
User Avatar
1 year ago
Auto-translated
The internet relies on people like you, auromolean. I don't understand models, but the topic is cool.
User Avatar
1 year ago
Auto-translated
https://forum.heroesworld.ru/showthread. ... &page=26
Okay... in the middle of the page is my post about scaling ratios... it says that the model with a skeleton was obtained through Archangel, and the animations were obtained through the NOEZIS program... most likely, this is a working version; as far as I remember, so you need to read how to use NOEZIS there... darn, it worked before, but I've already forgotten the details; there were so many trial-and-error methods... and eventually everything resolved itself, but I don't know exactly how anymore)))

Added after 6 hours 23 minutes
I opened the animation in NOEZIS, but only with one set of bones; all the bones are moving, nothing stays in place...
therefore, we need to understand how you do it, step by step
User Avatar
1 year ago
Auto-translated
Upon a quick inspection, I noticed that some bones change their names after being exported through Arkhangel ('Knight_Global|Hip' -> 'Hip'; 'Global|Hip' -> 'Hip01'). Could the problem lie in this?
In reply to Pavlinho
1 year ago
Auto-translated

Pavlinho
https://forum.heroesworld.ru/showthread. ... &page=26
Okay... in the middle of the page is my post about scaling ratios......it says that the model with a skeleton was obtained through Archangel, and the animations were obtained through the NOESIS program....most likely, this is a working version; as far as I remember, so you need to read how to use Noesis there....damn, it worked out, but I've already forgotten the details, there were so many trial-and-error methods.....and eventually everything resolved itself, but I don't remember exactly how )))

Added after 6 hours 23 minutes
I opened the animation through Noesis, but only with one set of bones; all the bones move, nothing stays in place....
therefore, we need to understand how you do it, step by step

Thank you, yes, we also tried using Noesis, the animations are displayed correctly there, but there are always problems with the size of the skeleton; it is very small, and it is not very clear how to choose the scale.
I see from the link that SCALE value of 25400 yielded good results, but in our case, the skeleton turned out to be too large with such a value.

But overall, based on what we see, the NWN2 plugin for 3ds max 2008 for GR2 files also works correctly. If you import a bare GR2 animation into 3ds max, then you can also see that the animation itself is fine.
That is, the problem here is most likely either in the SMD import plugin for 3ds max or there is a bug in Archangel itself, due to which the exported SMD file may contain incorrect data about the model's skeleton.

User Avatar
1 year ago
Auto-translated
If I remember correctly, this 25400 is the difference between a skeleton model using Arkhangelsk (without animation) and a skeleton animation using Noesis.
In reply to vova2112
1 year ago
Auto-translated

vova2112
During a quick inspection, I noticed that some bones change their names after exporting through Archangel ('Knight_Global|Hip' -> 'Hip'; 'Global|Hip' -> 'Hip01'). Could the problem be related to this?

Thank you very much! This helped solve the problem.

I copied the bone names from the intermediate SMD file, which is generated by the NWN2 plugin for 3ds max 2008 during the import of GR2 animations, and pasted these names into the SMD file exported from Archangel.
There were indeed several different names, and after that, the move animation was applied correctly, and the horse and rider began to move together :).

The only remaining issue was that the Knight's sword was pointing downwards; in this case, I manually found bone 54 "Sword_joint" in the SMD file with the model and changed the values like this:
before => 54 -0.3955500 -0.8006296 0.4118724 1.5053960 -0.0858597 0.7723252
after => 54 -0.3955500 -0.8006296 0.4118724 -1.5053960 -0.0858597 0.7723252

Essentially, I just changed the plus sign to a minus for the 4th parameter, and this helped; the sword started pointing upwards.
Apparently, in Archangel, besides the bug with incorrect bone naming, there is also another bug with incorrect rotation values for bones.

P.S. When we were figuring out the process of exporting game models and animations, your posts in this thread were very helpful https://forum.heroesworld.ru/showthread. ... &page=23
So, thank you again for that :)

User Avatar
1 year ago
Auto-translated
by the way, how does Unreal Engine 5 handle this difference? Is it necessary to match the scale of the model's skeleton and the animation skeleton for it? Or, for example, does it read it like this: here's the model in a specific pose with its skeleton, and it's skinned, and here's the animation of that skeleton, and the scale doesn't matter...?
In reply to Pavlinho
1 year ago
Auto-translated
Pavlinho
by the way, how does Unreal Engine 5 react to this difference? Does it require that the model's skeleton and the animation skeleton be scaled equally? Or, for example, does it simply read the model in a specific pose with its skeleton, and the animation of that skeleton, regardless of the scale...?

In Unreal Engine, there are no problems. We import animated models in FBX format, and they are all the same size.
User Avatar
1 year ago
Auto-translated
auromolean
I see... and are you planning to "improve" the models yourselves? I understand that Heroes 5 is not only an old game, with its corresponding graphics, but also has a certain individuality, charming models without a doubt, but... Unreal Engine 5 can produce such stunning visuals that you are amazed by the beauty, and I would like to see the titans and dragons correspond to the engine.
In reply to Pavlinho
1 year ago
Auto-translated
Pavlinho
auromolean
I see... and do you plan to "improve" the models yourselves? I understand that Heroes 5 is not only an old game, with its corresponding graphics, but also has a certain individuality, charming models without a doubt, but... Unreal Engine 5 can produce such stunning visuals that you are amazed by the beauty, and I would like to see the titans and dragons correspond to the engine.

Yes, in the long term, we plan to improve the quality of the models. But for now, we will use the original ones.
User Avatar
1 year ago
Auto-translated
To ensure the experiment's accuracy, I tested the functionality of importing models from Archangel into 3DsMax2018, following the instructions from the video. Everything worked perfectly on the first try, with no issues, and it took less than 2 minutes.
In reply to vova2112
1 year ago
Auto-translated
vova2112
For the sake of experiment purity, I tested the functionality of importing models from Archangel into 3DsMax2018 according to the instructions in the video; everything worked the first time, without any issues, and it took less than 2 minutes.


Hello, I only saw this post a few days ago.

Thank you for the detailed description of the process; I tried it on several models, and it looks like it can significantly speed up the export of animated models. GrannyExporter works very well; it converts Heroes of Might and Magic GR2 animations even better than the NWN2Utils plugin for 3ds Max 2008 or Noesis. For example, the idle animations of some units (swordsmen, vampires, and many others) noticeably twitched when viewed in GR2 files in Noesis and when imported into 3ds Max 2008, and there was also a noticeable problem with how, in certain frames of the animations, the weapon slightly started to "fall out" of the unit's hands. When running such idle animations through GrannyExporter, the resulting FBX file did not have these problems, and that's great because we had to fix these problems either manually or with custom scripts that processed the SMD animation file.

grnreader98, unlike Archangel, correctly processes bone names, which avoids problems when applying animations, but I noticed that on a couple of models, if you take the FBX skeleton obtained from the GR2 skeleton through GrannyExporter and convert it to SMD, it differs slightly from the SMD skeleton obtained through grnreader98, mainly in the rotation of some bones, but sometimes also in the size of the skeleton (for example, for the demon hero). I also noticed in the readme file that grnreader98 is based on GR2skanim v1.2 source by GR2 Decode / tazpn (NWN2 dlu for 3DSmax2008), and if you try to import the GR2 skeleton into 3ds Max 2008 through this plugin, an SMD skeleton will be automatically created in the folder with the GR2 skeleton, which is completely identical to the SMD skeleton obtained through grnreader98.

In general, it turns out to be very convenient that GR2 animations can be converted to FBX and immediately imported into Unreal Engine without other intermediate steps, and in one version of 3ds Max, you can prepare a Skeletal Mesh from an SMD file (previously, we used 3ds Max 2008 because of the NWN2Utils plugin, and then we saved all the animations in MAX format so that we could later open them in 3ds Max 2024 and create an FBX export with a modern version of FBX).

Strangely, I noticed that even when performing all the steps from the video and using 3ds Max 2020 with the SMD plugin from Wonderboy, the demon hero model had a strange defect: the chain that should be around the hero's waist began to move very far away from his back and hang in the air, although there was no such problem with 3ds Max 2008. I even tried to export the idle animation in SMD format and apply this animation in 3ds Max 2008, and there really was no such defect; perhaps this is some specific problem with 3ds Max 2020, most likely with the SMD plugin.

Also, the banshee model still hasn't been mastered; it remains as problematic as before , with the exception of ghosts, because with ghosts, Archangel crashes when trying to load the GR2 skeleton (this is the only model with this problem).

Thank you again for the guide and the links to the programs!

UPD: I tried 3ds Max 2018, but the problem with the idle animation of the demon hero remained there as well; apparently, for some models, it will still be necessary to use 3ds Max 2008, because there are no defects there.

In reply to auromolean
1 year ago
Auto-translated
After some tinkering, I finally managed to get the banshee model working. To do this, I combined the SMD file of an archangel and the SMD file of a skeleton. The skeleton SMD file was obtained by first running the GR2 skeleton through GrannyExporter, and then converting the FBX skeleton to SMD. The animation file was also initially run through GrannyExporter, and the FBX animation was also converted to SMD using Noesis. I initially converted the FBX animation to SMD only because 3ds Max 2008 couldn't handle the newer FBX format from GrannyExporter, but I later noticed that this also helps solve the problem of different skeleton sizes in some models. First, I tried importing these files into 3ds Max 2008, but for some reason, some parts of the banshee's mesh didn't move, specifically most of the cloak pieces. After trying to import the same 2 files into 3ds Max 2018 and 2020, all parts of the mesh started moving correctly, but there was a problem where the mesh started to "tear" in some places. I noticed a similar problem with other models in these versions of 3ds Max; it looks like a bug in the SMD plugin. Then, I tried importing these files into Blender using the SMD plugin, and everything worked without any problems. I've attached all the screenshots in the attachments, and I've also uploaded the files to a drive if anyone is interested in taking a look: https://drive.google.com/drive/u/2/folders/1poy_Uy-2NCJ12dG3vYBZuh9acQEwCGXl
Attachments 3
3 files attached • Total size: 515.7 KB

Statistics

Welcome our newest member: recijeb

Users Online 3 users 1388 guests