Heroes of Might and Magic Community
visiting hero! Register | Today's Posts | Games | Search! | FAQ/Rules | AvatarList | MemberList | Profile


Age of Heroes Headlines:  
5 Oct 2016: Heroes VII development comes to an end.. - read more
6 Aug 2016: Troubled Heroes VII Expansion Release - read more
26 Apr 2016: Heroes VII XPack - Trial by Fire - Coming out in June! - read more
17 Apr 2016: Global Alternative Creatures MOD for H7 after 1.8 Patch! - read more
7 Mar 2016: Romero launches a Piano Sonata Album Kickstarter! - read more
19 Feb 2016: Heroes 5.5 RC6, Heroes VII patch 1.7 are out! - read more
13 Jan 2016: Horn of the Abyss 1.4 Available for Download! - read more
17 Dec 2015: Heroes 5.5 update, 1.6 out for H7 - read more
23 Nov 2015: H7 1.4 & 1.5 patches Released - read more
31 Oct 2015: First H7 patches are out, End of DoC development - read more
5 Oct 2016: Heroes VII development comes to an end.. - read more
[X] Remove Ads
LOGIN:     Username:     Password:         [ Register ]
New Server | HOMM1: info forum | HOMM2: info forum | HOMM3: info forum | HOMM4: info forum | HOMM5: info forum | MMH6: wiki forum | MMH7: wiki forum
Heroes Community > Heroes 7 - Falcon's Last Flight > Thread: Heroes 7 Hardpatch Modding Tutorial
Thread: Heroes 7 Hardpatch Modding Tutorial This thread is 4 pages long: 1 2 3 4 · NEXT»
LizardWarrior
LizardWarrior


Honorable
Legendary Hero
Age of erwins is over
posted May 08, 2016 08:59 PM bonus applied by Maurice on 08 May 2016.
Edited by LizardWarrior at 23:34, 08 May 2016.

Heroes 7 Hardpatch Modding Tutorial

'ello 'eroes, I have seen that several members were interested in learning how to mod that abomination of a game Heroes 7. And due to the lack of a comprehensive tutorial, I decided to make one myself in order to introduce more people to modding (or to scare them off). So, let's get down to business!


PHASE 1 - Preparations
So, you want to mod h7, eh? If you're familiar with editing 2d or 3d graphic you will have a smooth start, if you also used Unreal, I don't think you really need a tutorial. But let's start with the suite of programs you need.

UE Viewer - one essential piece of software in order to mod heroes 7, required to open .upk files, if you are planning to make creatures and animations from scratch, you won't need it (though who would bother to make new creatures from scratch when not even the devs did that )
2D graphic software (Gimp or Photoshop) - you will need a reliable graphic editing software to edit/make textures for your creatures, and no, paint won't do it
3d graphic software(3dsMax or Blender) - you will need a 3d modelling software to edit/make 3d models, you should get either 3ds max or blender because the ActorX script by Glidor works only on those programs
Actor X Scripts - 3d software script in order to import/export .psk (3d meshes) and .psa (animation sets) into your 3d program for editing.
Map making software(AwesomeBump or Crazybump) - do you really wanna bake normal maps manually by making a higher poly model

Good, now that you got all the software you need, it's time to start making some creatures!

PHASE 2 - Extraction

We already discussed that making creatures from scratch for h7 isn't worth it. Making a new model from scratch, making animations, bones, making the textures, unwrapping the textures, just too much work and it's too difficult. Let's start by editing some existing creature. So, now open UE Viewer and press the browse button, then navigate to (where you got h7 folder)Your Game FolderMMH7 GameCookedPC.


Good, now you shall see a directory tree on the left, navigate to Visuals->Creatures->town of your choice. If you didn't screw this up and you shouldn't screw this up, you aren't a h7 dev. Then highlight the creature you want to extract and press the "Export" button.


Your creature has been saved to: wherever you installed UE viewerUnreal ModelUModel ExportCH_Your_Creature .Now you are ready to import the creature inside your editing software.


PHASE 3 - Importing

This shouldn't be too hard, you need to open your 3d modelling software and look for the Scripts menu (in 3ds Max, it's MAXScript, for Blender, ask Galaad ). Then click on the "Run Script" option and open the ActorX Import script from where you saved it (preferably the script folder of your 3d software). A new window should appear, like in the screen, now press the "Import .psk" button. Navigate to wherever you installed UE viewerUnreal ModelUModel ExportCH_Your_CreatureSkeletal Mesh and select the .psk file. If you didn't screw up you should see it now in the viewport now.


Importing the texture is a lot simpler, as it is a targa file and should be supported by your 2d graphic software. Just navigate to wherever you installed UE viewerUnreal ModelUModel ExportCH_Your_CreatureTexture2D. Now you will see more textures, the naming convention is as it follows T(exture)_Creature_(T)ype. Now let's talk about the most important ones:

T_Creature_D(iffuse) - diffuse map, the one you see on the model as it is, you will most often work with this.
T_Creature_N(ormal) - normal (i.e: depth/bump) map, gives 3d detail to the model, adds realism to small details that aren't actually 3d modeled (like scales, scars, cloth, patina etc)
T_Creature_S(pecular) - specular (i.e: reflective) map, decide how much light should reflect certain parts of your texture, lighter the spot is, the more light it will reflect (useful for metal details and making your creature don't look like it's made from plastic)
T_Creature_E(missive) - emissive (glow) map, makes certain parts of your texture to look like they emit light, useful for glowing eyes/glyphs etc

For now just open the texture diffuse map (T_Creature_D.tga). You will work on that, then modify the other maps. As you see the texture is unwrapped in "islands" and every island corresponds to a certain part on the model. Most of them are pretty intuitive, so you'll know where is the head texture, weapon texture and so on.



PHASE 4 - Editing

I recommend editing both texture and model in parallel, the texture will automatically edit on the model once you save it. It's better to don't work blindly then see how your texture is on the model in the game, that's not very productive. So keep the 3d software opened while you work on the texture and adjust it in real time, just save it from time to time. There's not much to say about editing the texture, just go crazy. At editing the 3d model, there are quite a lot of things you got to take into consideration, as I said before you can make a new model from scratch, but this tutorial will cover just modifying already existing creatures while adding self-made details (as IMO it's not worth such a hassle for h7). One important thing when dealing with modifying and existing model is to watch out for the skin modifier, to don't screw the animations, so instead of using the already existing mesh modifier, add another one on the top of the stack, use that to modify the mesh, to modify the bones/animations, the existing skin modifier is okay to be modified as it is. When adding other details you made from scratch or imported from somewhere else, it's important to DON'T collapse it to the existing mesh, as it will delete the skin modifier, but rather add an edit poly modifier and attach them. When adding accessories you modeled from scratch, I recommend to unwrap them separately rather than cram them on the original textures in place of things you deleted, unwrapping should be without overlapping and as flat as possible (but that's common sense, as well as triangulating your newly made meshes before attaching them)

So, here's the creature I made especially for this tutorial, I added assets from other creatures to the original mesh as well as new parts. So nothing is impossible ( as long as you don't screw up )


Here's also the new material together with all the maps I need. You can observe that the normal map really makes a difference (the texture is completely 2d)


PHASE 4 - Exporting

Only the 3d model needs exporting, so you can skip this part if you only changed the textures. Triangulate your new meshes if you haven't done so. The mesh needs to be exported into the .fbx format from your 3d software native extension. That's not a problem, since .fbx exportation is provided by most 3d programs, if not all. But before exporting it, you need to move the original Skin modifier back at the top of the modifier stack, over your new mesh/poly and UVW modifiers, this is important so it doesn't screw the animation. Then just export is as .fbx, you don't need to export it as a .psk.


PHASE 5 - Unreal Editor

Oh boy, now the ugliest part. Not the ugliest part because it's the most difficult, but the ugliest part because h7 editor is one of the most buggiest, crash-prone, awfully optimized pieces of crap I have ever seen, you'd better download Unreal Development Kit to make your .upks, still not sure of all the links you need from h7, but I believe it works fine for packing. First, h7 editor devours your RAM, it eats me up to 5-6 GBs at a time, while the Unreal Engine 4 (not udk which they used to make it), consumes only about 1-2GBs, maybe 3 sometimes (I made a rain of high poly erwin heads to fall from the sky, without giving them a limited lifespan )

Now open the h7 editor and switch to unreal mode, which is basically UDK. Now look at the bar at the top and open the Content Browser, as I show in this screen:


You probably see that directory tree in the lower left of the window, navigate to CookedPC->Visuals->Creatures->Your_town->Your_Creature. Now I'm gonna copy into a new package the AnimSet as I use it and the Skeletal Mesh to use it as a base (will reimport it later). I also don't recommend copying to many items at once, as h7 editor will crash, so if you want to copy a lot, just copy 1-2 files at a time then save the new package. Also I prefer saving the package in a folder inside CookedPC for easy access.


Now if you have saved your package and you can't see it, restart the editor and it should be there. If you still can't see it, make a new folder inside MyDocumentMyGamesHeroes 7 folderMMH7 GameCookedPC, and save it there. Now let's put our textures inside the package, right-click on an empty space near your copied assets. Then from the menu select "New texture". A new window should appear, so be sure to save it inside your package, set the size to 2048*2048 and if you want to be organized, group it to textures.



A new window should open now and the texture will be white because it's empty. Well, we don't want it to be empty, so go in the right  rubric and look for a field that says "path to file". Write/Copy the address of your texture there (most probably you still got it inside the Texture2D folder), then press the "Reimport" button and you should see your texture as bellow. (if you are lazy just write gibberish in the path to file field and a "browse..." window will open for you ) Now repeat the same process for all your textures. I used 3 materials for my texture, so I got x3 diffuse, x3 normals and so on


So now that you uploaded all your maps it's time to make the material (I got to make 3 materials, remember ) Right-click your diffuse map and press "New Material"


Now a window should pop up, in the left you will see your material applied to a ball, for now it's black as we haven't connect any texture yet. Now press the black the square either from the texture sample or from the "Diffuse" option on the column and drag it to make a connection between the 2.


That's only for the diffuse map, but our material will have more maps, so right-click on an empty space on the grey background and select Texture->New Texture Sample and another empty sample should appear.


Don't close this window and go back to the content browser, click on your other texture (normal for example) so it's highlighted, then go back to the material window, press the new texture sample you made, then select the arrow button from the left side where it says "Texture". Now connect it to the material as we did previously. Repeat the same procedure for all maps.


Now comes a very important step, so be careful. After you connect all your maps to the material, press the material column, then look down in the left for a menu called "Usage", check the 2 following boxes: "Used with Skeletal Mesh" and "Used with outline". Afterwards you can close this window and save the material.


Okay, if you didn't modify the skeletal mesh, you can skip this step, otherwise it's very important. Right-click the mesh you imported and select "Reimport Skeletal Mesh". A browse window should open up and you have to select your .fbx file you exported from your 3d program. Afterwards, right-click again and select "Create New Physics Asset",


It's time to set up our materials on the mesh. So right-click the skeletal mesh once again and select "Edit Using Anim Set Viewer".


Now you should see your skeletal mesh un-textured or with the old textures on. In the bottom left corner select the mesh rubric and search for Materials in the search box. Using the same arrow symbol we used when we made the materials we assign them to the mesh, be sure to have them highlighted in the content browser before you press it


If you didn't screw up, you should see the textures on the model now. Also if you modified the mesh, you should go into the Mesh menu and delete the old LODs(levels of detail) as they are made for the old mesh, select "Remove Lod" under none LOD levels are left, then use the option "Generate LOD" to make the level of detail for your own mesh.


You can save the package now, the creature is done, but it's still not ready to be shown in the game! For this tutorial I will replace the Sun Deer with my new creature while also changing his size and portrait, as well as heropedia picture. Now close the editor, go where you saved the package, rename it to CH_SunDeer.upk(or whatever creature you want to replace) and replace the original file inside (where you got h7 folder)Your Game FolderMMH7 GameCookedPCVisualsCreaturesSylvan (or where your creature is located)

So, back in the content browser, look in the directory tree for the SylvanCreatureVisuals.upk inside CookedPCVisualsCreaturesSylvan (if you replaced a different creature then look for its town instead of sylvan) . Press Ctrl+A to select all of them and copy them to a new package (their size is small so the editor shouldn't crash). Open the archetype for the creature you want to replace, a new window should appear. Now open your recently replaced creature, CH_SunDeer.upk in my case and using the green arrow button again make some links, this time under the skeletal mesh rubric. Do as I did in the screen


Now, we should also change the size, shall we? Look down for the "Primitive Component" rubric and look for a field named Scale, play with it as you will


For heropedia and creature portraits look into CookedPCVisualsGUI for H7UnitIcons.upk and HeropediaArtowrks.upk. Apply the same principles as for the SylvanCreatureVisuals.upk, but those are larger so save only a few at a time until you saved them all. Those are like textures. Those are like textures so you must set path to them and be sure to make them the correct size!


Now, that we finished all this stuff, replace the visuals, heropedia and icons upks as you did with the CH_SunDeer.upk (or what you replaced ). Now, just open your game and ACCEPT HIS BLESSING



 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
LizardWarrior
LizardWarrior


Honorable
Legendary Hero
Age of erwins is over
posted May 08, 2016 09:04 PM

TO BE CONTINUED

with more stuff

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
Elvin
Elvin


Admirable
Omnipresent Hero
Tastes like chicken
posted May 08, 2016 09:09 PM

This is impressive, thx
____________
Being human is a roller coaster ride of emotions during rainstorms and sunshine, sprinkled with moments when you can almost reach the stars.

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
frostymuaddib
frostymuaddib


Supreme Hero
By the power of Vivendi!
posted May 08, 2016 09:16 PM

Great job Lizard! I especially like the example
____________
"Occam's shuriken: when the answer is elusive, never rule out ninjas." -- Dr. Gordon Freeman (Freeman's Mind)
"lol" -- VERRIKER VON ERWINSSEN

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
LizardWarrior
LizardWarrior


Honorable
Legendary Hero
Age of erwins is over
posted May 08, 2016 09:16 PM
Edited by LizardWarrior at 21:17, 08 May 2016.

Thanks, I'm just sharing my knowledge

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
The_green_drag
The_green_drag


Supreme Hero
posted May 08, 2016 09:17 PM

Holy snow thank you greatly!

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
verriker
verriker


Honorable
Legendary Hero
Oh, Kiss Me Like Erwin Tonight
posted May 08, 2016 09:21 PM

LizardWarrior said:



this has serious 2017 avatar potential lol
____________

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
LizardWarrior
LizardWarrior


Honorable
Legendary Hero
Age of erwins is over
posted May 08, 2016 09:22 PM

Be my guest

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
frostymuaddib
frostymuaddib


Supreme Hero
By the power of Vivendi!
posted May 08, 2016 09:32 PM

I like your folder structure where you installed the game
____________
"Occam's shuriken: when the answer is elusive, never rule out ninjas." -- Dr. Gordon Freeman (Freeman's Mind)
"lol" -- VERRIKER VON ERWINSSEN

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
Storm-Giant
Storm-Giant


Responsible
Undefeatable Hero
On the Other Side!
posted May 08, 2016 09:40 PM

verriker said:
LizardWarrior said:



this has serious 2017 avatar potential lol

Do. It.

No regrets
____________

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
LizardWarrior
LizardWarrior


Honorable
Legendary Hero
Age of erwins is over
posted May 08, 2016 11:08 PM
Edited by LizardWarrior at 23:14, 08 May 2016.

HOW TO QUICKLY CHANGE TEXT

'ello 'eroes, today I'm gonna give you a short tutorial on how to teak any text value in a matter of seconds!

Programs needed
- Notepad, duh (though notepad++ looks more professional)

What to do
Open the following folder Heroes 7/MMH7Game/Localization/Content/Int . Open any of the desired files with notepad. Edit them to please the Spider lord. Save them.


Now enjoy

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
Brukernavn
Brukernavn

Hero of Order
posted May 08, 2016 11:18 PM

I wonder if they would allow these type of mods in the Steam Workshop. Great stuff though, LW! Looks like the devs left a big toolbox for people to play around with.

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
LizardWarrior
LizardWarrior


Honorable
Legendary Hero
Age of erwins is over
posted May 08, 2016 11:20 PM

Brukernavn said:
I wonder if they would allow these type of mods in the Steam Workshop. Great stuff though, LW! Looks like the devs left a big toolbox for people to play around with.


Ubimoshi said:
Use custom maps at your own risk - there is no official support of these maps!



Also, no they just left the unreal engine

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
foxxxer
foxxxer


Promising
Famous Hero
posted May 09, 2016 12:02 AM

Hey Lizard, thank you! I was wondering how to change the global names of the resources. Completely forgot that there are other languages for the game beside English and the names may be stored in the Localization folder.

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
Galaad
Galaad


Honorable
Undefeatable Hero
Forge activist
posted May 09, 2016 01:03 AM
Edited by Galaad at 01:04, 09 May 2016.

Dat spider web on the deer's texture.

Quote:
 (in 3ds Max, it's MAXScript, for Blender, ask Galaad )

I don't recall if enabled by default, if not just add it.






____________
"Corribus is a teddy bear" - Blizzardboy

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
Moritzbradtke
Moritzbradtke


Known Hero
posted May 09, 2016 03:46 PM

THX that u took yourself the time to write this long and very detailed guide! It'll help people like me a lot when trying to mod the game and i'll definately give it a go when i have some time to spare (-: i'm also creating a custom scenario map at the Moment but this is still work in progress because im quite busy atm but it is a lot of fun to mod and create stuff for this game so people give it a go (-:

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
ChrisD1
ChrisD1


Supreme Hero
posted May 11, 2016 03:00 PM

a quick question here. i haven't instaled umodel. i found an .exe at the official site that does not ,for the life of me, create a umodel export folder in order to find the mesh i edited and reimport it to the editor. what  version of umodel do you have?
the .exe just runs umodel and let me peek and edit textures and save them but no umodelexport file for me
____________

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
LizardWarrior
LizardWarrior


Honorable
Legendary Hero
Age of erwins is over
posted May 11, 2016 03:24 PM
Edited by LizardWarrior at 15:24, 11 May 2016.

Don't open the upks, just click once to highlight them then press export.

If there are problems with the umodel, here's the version I use (assuming you use windows, it should work fine)
umodel_win32.zip

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
ChrisD1
ChrisD1


Supreme Hero
posted May 11, 2016 03:30 PM
Edited by ChrisD1 at 15:36, 11 May 2016.

LizardWarrior said:
Don't open the upks, just click once to highlight them then press export.

If there are problems with the umodel, here's the version I use (assuming you use windows, it should work fine)
umodel_win32.zip


no i don't click on any upk. i download the .exe from the page gildor. and then double click on the exe. i export a static mesh, i then edit it to photoshop and save. when i go to find that targa file there is nowhere to be found. if i open umodel again and got to its menu and select "see export file" then the targa file (through that menu only) is visible again in my desktop(lets say i saved the targa file there)
there is no installer for the umodel in order for a "umodelexport" file to be created, just the executable file which runs it. i will try your link now and see what is it about. thanks for the info though



ok your link came with an  umodelexport file ready! with some units in it.
my problem is that when i go to the game editor and look for the targa file i want to import the targa file is nowhere to be found neither the umodelexport file since there is no installer just the executable programm.



update again!
your umodel export folder worked and now i have the static meshes there! the executable wouldnt create that folder on its own!!
____________

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
LizardWarrior
LizardWarrior


Honorable
Legendary Hero
Age of erwins is over
posted May 11, 2016 03:41 PM

Well, the targa file is inside the .upk, that's why you need the UModel for. Did you open your upk inside the viewer? Does a new window appear where you can see the content (mesh, textures, shaders etc.). If so, press O and go back to the previous window, don't press enter, just click once the upk you want to modify and press the "Export" button.

If that's not the problem either, would you mind sharing a screen?

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
Jump To: Next Thread » This thread is 4 pages long: 1 2 3 4 · NEXT»
Post New Poll    Post New Topic    Post New Reply

Page compiled in 0.0960 seconds