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!
In reply to auromolean
User Avatar
1 year ago
Auto-translated
auromolean
After trying to import these 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 began to "tear" in some places. I noticed a similar problem with other models in these versions of 3ds Max; this looks like a bug in the SMD plugin.
I've noticed similar defects. It might help to select all vertices after loading the SMD file and press Break, then select the vertices again and press Weld Vertices with a value of 0.001 (demonstrated in the video).
I also noticed black normals on the models. They can be fixed by unchecking "Rebuild smoothing normals" when loading the SMD file and then manually assigning smoothing to the polygons (demonstrated in the video).
The SMD plugin from Wonderboy causes some defects, so I used the plugin from NeilJed.
In reply to vova2112
1 year ago
Auto-translated

vova2112
I've noticed similar defects. Perhaps it will help if, after loading the SMD file, you select all the vertices and press Break, then select the vertices again and press Weld Vertices with a value of 0.001 (demonstrated in the video).
I also noticed black normals on the models. You can fix them by unchecking "Rebuild smoothing normals" when loading the SMD file and then manually assign smoothing to the polygons (demonstrated in the video).
The SMD plugin from Wonderboy causes some defects, so I used the plugin from NeilJed.

Yes, I tried doing all the actions with the vertices as shown in the video, and I unchecked "Rebuild smoothing normals," and then did Autosmooth as shown in the video, but unfortunately, it didn't help. I can't figure out the reason, as I am a programmer myself, but I'm a complete beginner in 3D.
Regarding the SMD plugin from Neil 'Jed' Jedrzejewski, I later noticed that it's the same as Wonderboy. I've attached a screenshot from the import screen, where you can see his name and his nickname.

There's also this SMD plugin from GameZombie for 3ds Max versions 2014-2022 https://knockout.chat/thread/806/1
It seems to import the mesh with the skeleton without problems, and I was able to apply FBX animation without defects, but unfortunately, this plugin doesn't support SMD animations. Therefore, the most optimal option seems to be Blender with the SMD plugin; so far, I haven't noticed any problems with it.

Attachments 1
1 file attached • Total size: 68.1 KB
User Avatar
1 year ago
Auto-translated
Here is an archive Attachment 75694 containing files that can be used to create Banshees with working animations. Everything works on the same principle as I described; when installing, make sure to select all bones, including the GLOBAL bone, for both Set as Skin Pose and Skin Pose Mode. I was a bit mistaken about the plugin – GameZombie won't work; you need the one from Wonderboy. Here’s a video – it might be clearer this way
Attachments 1
1 file attached • Total size: 619.1 KB
In reply to auromolean
User Avatar
1 year ago
Auto-translated
auromolean

Since I am a programmer myself, and a complete beginner in 3D.

The entire "Heroes 5" community is waiting for a programmer!!! )))) If they wrote a converter to translate models and animations from the game to FBX and back, without all the complicated procedures, without a bunch of plugins, different versions of 3ds Max, Maya, etc....)))) It would be useful for them, and the community would be happy.
User Avatar
1 year ago
Auto-translated
auromolean

With the Arkhangelsk model, the game crashes when attempting to load the GR2 skeleton (this is the only model with this issue).
Arkhangelsk doesn't crash for me, and I found another way to fix animation, skeleton, and model defects after exporting from Arkhangelsk using existing programs. I'll try to make a video tonight.
Basically, the second program with a GUI for exporting from GR2 to FBX adds more detailed information from the GR2 file, and it's possible to restore the correct skeleton and animation positions in the FBX file using "Assume Skin Pose," followed by saving it to an intermediate format. I used the HKX format from Skyrim, which creates a clean skeleton and works well with animations (although it needs to be converted to a binary file using another program).
In reply to vova2112
1 year ago
Auto-translated
vova2112
Here is an archive Attachment 75694 containing files that can be used to assemble a Banshee with working animation. Everything works according to the same principle as I described; when installing, in Set as Skin Pose and Skin Pose Mode, select all bones, including the GLOBAL bone.
I was slightly mistaken about the plugin – GameZombie doesn't work; you need one from Wonderboy.
Here is a Video – it will probably be clearer this way.
 

Indeed, after repeating all the steps from the video, the Banshee worked in 3ds Max 2020; I didn't notice any problems with the mesh or the animation itself.
There are also no issues with the skeleton size because in 3ds Max 2008, when attempting to import GR2 animations, the mesh starts to stretch significantly. In general, this is a common problem; for some models, the skeleton from the GR2 animation may be larger than the skeleton from Archangel, and for others, it may be smaller, causing the mesh to compress.
Thank you very much for the video with detailed step-by-step instructions!

However, upon importing into UE5, there was an issue where the Banshee's scythe doesn't move in all animations, but that seems to be related to Unreal Engine.
vova2112
Archangel does not crash on ghosts for me.

Could you share the SMD file from Archangel if it successfully applied the skeleton? I tried again now, and there still isn't a crash, but the skeleton isn't being applied; the bone list is empty.

In reply to auromolean
User Avatar
1 year ago
Auto-translated
auromolean
Could you share the SMD file from Archangel if it successfully applied the skeleton? I tried again, and there are no crashes this time, but the skeleton isn't applied; the bone list is empty.
I'll send the files later. When the bone list is empty (if the skeleton didn't load correctly in Archangel), the export to SMD still happens, but there are bones without names or coordinates, or their position is incorrect. For these purposes, an intermediate SMD is created from the skeleton to supplement the missing or incorrect bone information in the SMD file from Archangel.

Added 6 hours 33 minutes ago
In the archive - Gr2_3DsMax_Tools.rar are the files and programs that I used in the Video.
A small addition:
Some converters may trigger the antivirus; they have been tested over time and do not exhibit any activity other than what they were created for (I trust them; I checked them using spyxx and Process Monitor). If the fear is too great, use a sandbox or virtual environment.
Briefly about the steps in the video:
1) Convert the skeleton from gr2 to fbx using Gui for Granny Exporter rev 0.0.8
2) Convert the animation from gr2 to fbx using Gui for Granny Exporter rev 0.0.8
3) Import the fbx skeleton, select all bones, and reset Assume Skin Pose
4) Export the skeleton to hkx -> convert hkx using HavokBehaviorPostProcess from text format to binary
5) Import the fbx animation, select all bones, and reset Assume Skin Pose
6) Export the animation to hkx -> convert hkx using HavokBehaviorPostProcess from text format to binary
7) Import the animation from hkx, select the Global bone, and delete its animation keys (the Global bone does not participate in the animation), select all bones, and save the animation in xaf format (this will simplify loading the animation into the scene with the model in the future)
8) Import the hkx skeleton and then export it to smd for subsequent merging with the smd file obtained from Archangel
9) Assemble GeomRecovered.smd from two smd files
10) Import the skeleton from hkx into a clean scene
11) Import GeomRecovered.smd into the same scene
12) Import the animation from hkx into the same scene and check its operation.
13) Select all bones, reset Assume Skin Pose, and delete the selected animation.
14) After we have the skeleton in a T-pose, we can save the 3DMAX scene

Important to know:
Sometimes, exporting to hkx from 3DMAX changes the decimal separator from a period to a comma "1,000000 -> 1.000000" in the position of the bones in the created file. With a comma as the decimal separator, the HavokBehaviorPostProcess program will INCORRECTLY convert the file. If I understand correctly, this happens if the Russian keyboard layout is selected when launching 3DMAX, in which a comma is used as the decimal separator, so in case of an error, you should check the hkx file and recreate it by restarting 3DMAX with a different keyboard layout EN or change the decimal separator from a comma to a period in the existing file manually
In reply to vova2112
1 year ago
Auto-translated
vova2112
I'll send the files in the evening. When the bone list is empty (if the skeleton wasn't loaded correctly into Archangel), the export to SMD still happens, but some bones remain without a name or coordinates, or their position is incorrect. This is why an intermediate SMD file is created from the skeleton, so that two files can be used to supplement the missing or incorrect bone information in the SMD file from Archangel.

Yes, I tried to create an SMD export of the ghost model from Archangel, and it's clear that some bones don't have a name, and there's also no coordinate data. But by combining the Archangel's SMD file and the correct SMD skeleton, everything worked out, and the animation was applied correctly to the model. :)

I also watched the video with the new method, and I wanted to ask what additional problems it solves compared to the previous method? I just didn't notice any particular problems with the ghosts when I created them using FBX files from GrannyExporter and the combined SMD file. I haven't tried the new method yet; I need to figure out these additional programs and plugins for hkx.

Thank you!
In reply to auromolean
User Avatar
1 year ago
Auto-translated
auromolean
I also watched a video about a new method, and I wanted to ask what additional problems it solves compared to the previous method? I just didn't notice any particular problems with the ghosts themselves, having created them using FBX files from GrannyExporter and a combined SMD file.
With the old method, I always have a problem with spiky shoulder pads on one of the ghosts, but with Gui for GrannyExporter in conjunction with intermediate re-saving in hkx, there are no problems (this method is probably the best for complex and problematic models). I also noticed that you need to remove the version with a dot from the folder name "Gui for GrannyExporter," and then the exported files will be given normal names.
In reply to vova2112
1 year ago
Auto-translated
vova2112
I always have a problem with the old method regarding the spiked shoulder pads on one of the ghosts, but with Gui for GrannyExporter in conjunction with intermediate resaving in hkx, there are no problems (this method is probably the best for complex and problematic models). I also noticed that the version with a dot should be removed from the folder name "Gui for GrannyExporter," and then the files will be given normal names during export.

Yes, I see that there is a problem with the shoulder pads on the ghost on the right. Apparently, for such complex models, the second method will need to be tried.
And does the intermediate conversion to hkx format play an important role here, or can we try exporting them to SMD after we do Assume Skin Pose on the skeleton and animations?

I also wanted to ask, maybe you know of an optimal way to fix the move animations so that the model doesn't move forward but stays in place? We are currently exporting the move animation in SMD format and then processing this file with a custom script that determines which bones move forward during the animation, calculates the distance the bones move (there is always a fixed speed and the same additional offset for each frame), and then substitutes new values for each frame without the offset, but this method is probably too cumbersome
In reply to auromolean
User Avatar
1 year ago
Auto-translated
auromolean

Does the intermediate conversion to the hkx format play an important role here, or can I try exporting them to SMD after applying "Assume Skin Pose" to the skeleton and animations?
Also, I wanted to ask if you know of an optimal way to fix the movement in animations so that the model doesn't move forward but stays in place?

1) I couldn't get it to work with SMD; there are probably other ways to fix the export from Archangel. I just used the plugins I knew by trial and error, and it worked with the hkx format.
2) I can't think of a good way to stop the movement in the animation, but I definitely encountered such functionality either in a third-party plugin/script or in HavokPcXsContentTools_2010-2-0. For batch processing, I would try using the internal scripting language of 3ds Max.
In reply to vova2112
1 year ago
Auto-translated
vova2112

2) I can't think of a good solution for stopping the move animation, but I definitely encountered such functionality either in a third-party plugin/script or in HavokPcXsContentTools_2010-2-0. For batch processing, I would try using the internal scripting language of 3ds Max.

I understand, thank you. I was hoping there might be a quick way to fix this directly in 3ds Max by changing the position of the root bone at one of the keyframes (I think I saw something similar in a guide on how to add a model from Heroes 7, where the move animation plays in place, and it was necessary to move the mesh forward during the animation to make it work in Heroes 5). Also, I noticed that when GrannyExporter converts the move animation from GR2 to FBX, it tries to return the mesh to its original position on the last frames, and it looks like the model suddenly snaps back at the very end of the animation. Although in the original Gr2 animation, this doesn't happen; the model moves smoothly forward until the last frame.

I also noticed when working with the griffin model that turning off the "Rebuild Smoothing Normals" checkbox during SMD import and then using Autosmooth results in a more angular mesh. However, this can be fixed by increasing the Autosmooth angle from the default 45 to 90, or simply by selecting a single Smoothing Group for all polygons. I've attached a screenshot of the griffin model with the default Autosmooth and with a single Smoothing Group
Attachments 2
2 files attached • Total size: 287.0 KB
In reply to auromolean
1 year ago
Auto-translated
I also encountered a problem: when exporting move animations from 3ds Max to the SMD format, and then processing the animation with a script to make it play "in place," and attempting to apply the processed SMD animation, the griffin model noticeably stretches.
I found out that the problem isn't with the script; it's simply that even if you try to export an idle animation to SMD and immediately import that file into the same scene, the mesh still stretches. I suspect this problem is caused by different skeleton sizes in the skeleton file and in the animation files. For example, for the griffin, the skeleton in the animations is exactly 1.5 times smaller than the original skeleton. This can also be seen by comparing the bone positions in the original SMD file from the archangel and the SMD skeleton file obtained through grnreader98.exe; all the values in the skeleton file will be 1.5 times smaller than the values in the Archangel file.
I haven't figured out how to solve this problem yet.
In reply to auromolean
User Avatar
1 year ago
Auto-translated
auromolean
I also encountered a problem: when I export move animations from 3ds Max to SMD format, then process the animation with a script so that it plays "in place," and try to apply the processed SMD animation, the griffin model starts to stretch noticeably....
... I haven't figured out how to solve this problem yet.
Most likely, you need to re-save the file in SMD after the model with the skin has been "fitted" to the prepared skeleton, so that the model (mesh) corresponds to the size of the skeleton, and then apply the script for the movement animation to this SMD.
In reply to vova2112
1 year ago
Auto-translated
vova2112
Most likely, after the model with the skin is "applied" to the prepared skeleton, you need to save the file in smd format again, so that the model (mesh) matches the size of the skeleton, and then apply the script for animation movement to this smd.

For now, I've managed to solve the problem at the import stage in Unreal Engine by multiplying the Scale parameter by the difference between the sizes of the skeletons. Later, I'll think about what can be done with the Move animation; ideally, I'd like to find a way to make the FBX animation play "in place" without intermediate conversions to SMD.

Statistics

Welcome our newest member: recijeb