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 ]
HOMM1: info forum | HOMM2: info forum | HOMM3: info mods forum | HOMM4: info CTG forum | HOMM5: info mods forum | MMH6: wiki forum | MMH7: wiki forum
Heroes Community > Heroes 5 - Modders Workshop > Thread: Heroes 5 Modding: 3D Attempts and Theories
Thread: Heroes 5 Modding: 3D Attempts and Theories This thread is 5 pages long: 1 2 3 4 5 · «PREV / NEXT»
Pesmontis
Pesmontis


Adventuring Hero
status revoked
posted January 26, 2010 12:33 AM
Edited by Pesmontis at 22:42, 28 Jan 2010.

Hinges

Quote:
Some sort of summary

I think everything hinges on the capability of modders to create creature meshes and creature animations.
I mean, being able to use programs like 3DSmax and Maya properly requires quite some knowledge nowadays.

OK, there are good tutorials, but then again, noone (except TSoD, Mixolid, and Psatkha) is showing off mesh creations.
Anyway..

- Conversion from Maya (6.0) to HoMM.V
I can test this but I'd have to put 'Archangel' development on the backburner for a while.
My guess is: someone else can test this, probably better than I can ( TSoD / Psatkha / Kronos1000 ? ).

- Conversion of original HoMM.V creatures to Maya (including skeleton & animations).
For this conversion, a Maya plugin or a mel-script would be required.
Such a plugin / script is usually specific for one file type only.
It's possible to create such a plugin / script for any HoMM.V file (mesh / texture / skeleton etc.),
but I'd rather suggest using an existing plugin / script.
Which would require a non-HoMM.V file type to start with.
I think an SMD import plugin / script would fit the profile.
Now you'll ask: why SMD?
Answer: because SMD files can store skeleton info. (and animation info. as well).
In addition, SMD files can store the bindings between a skeleton and a mesh.
Furthermore, a Maya SMD importer / SMD exporter has been around for quite a while.
Maybe you'll ask: Why not use the FBX file type?
Good question, I think it might work, at least for newer Maya versions.
Regardless of the intermediate file type, the question now becomes: How to get HoMM.V files into such a magically importable file format?
Answer: some program should combine all that HoMM.V stuff.
So.. it's nice to be able to read ONE HoMM.V file type, but to combine them, that's a whole different ball game.
Has anyone even tried to read 'AIgeometry' files?
Besides, noone has yet defined clearly how to use Maya to get a (new) model into HoMM.V,
so I think we should try and answer that question first.

- Conversion to 3DSmax
This is possible by using 'Archangel' v0.2 Alpha.
At least for the skeleton, the animations, and the mesh.
But what to think of 'AIgeometry' files..
Does anyone know what they're used for in the first place?
To import animations a specific version of 3DSmax is required: 3DSmax2008.
3DSmax2008 can import HoMM.V GR2 animation files by using the NWN2 import plugin.

- Conversion from 3DSmax to various HoMM.V files
3DSmax version 7 is capable of writing GR2 files using the 'expotron' plugin.
It needs to be investigated whether such GR2 files can be used with HoMM.V (!).
Coming back to the SMD file format: 3DSmax7 is also capable of exporting this file type.
The (near) future version of 'Archangel' (v0.3 Beta) can read SMD files, and it can produce HoMM.V mesh files.
But whether an HoMM.V mesh file produced with Archangel can be used by the game @ all..

- Conversion to / from Blender
FBX, SMD.. import / export all possible.
GR2 writing: no go -> so if you want to stick to Blender, that's OK by me, but you won't be able to produce animations, not unless you're a miracle of a Python programmer..

Summarizing, there's four things which I think are worthwhile investigating:
1. How to get a complete animated Maya (6.0) binary model into the game?
2. What is contained in an 'AIgeometry' file?
3. Can GR2 animation files produced by 3DSmax7 be used by the game?
4. Can HoMM.V mesh files produced by Archangel be used by the game?

Now, I don't think you want me to investigate all four of these issues, do you?
Therefor, I call upon thee, gather thy brothers and figure out some answers.
If you get stuck I'll try & help out.

Meanwhile, I've got somit on my plate I guess..

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


Promising
Famous Hero
NCF Blacksmith
posted January 29, 2010 01:26 PM

First, for the last two points :
3. Can GR2 animation files produced by 3DSmax7 be used by the game?
4. Can HoMM.V mesh files produced by Archangel be used by the game?

3 : We have to try : name your gr2 file 00000000-0000-0000-0000-00000000 without any extension, then refer to it from the .(BasicSkelAnim).xdb in the <ui> tag
4 : Why wouldn't they be working ? they are mesh files too

And then:
1. How to get a complete animated Maya (6.0) binary model into the game?
2. What is contained in an 'AIgeometry' file?

1 : The first point is... creating such a model : A mesh with an attached skeleton is a good starting point. Packing the whole in a .mb file then using Crazypill's import method but in referencing the -skel xdb too (not forgetting specifying the name of the skeleton object in maya binary base scene). Then watch if .gr2 file has been created as skeleton of the imported .mb...

2 : I only think that AIGeometry is in fact "Artificial Intelligence Geometry", but you should already have thought this too. Maybe used by the game engine to know for collisions ? I dunno :/
____________
NCFBank,
the complete and homogen NCF
library.

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


Adventuring Hero
status revoked
posted January 30, 2010 01:55 AM
Edited by Pesmontis at 22:03, 31 Jan 2010.

Maya

Quote:
Quote:
Can HoMM.V mesh files produced by Archangel be used by the game?


Quote:
Why wouldn't they be working ? they are mesh files too

They might not be working because the contents of one of the index blocks is not yet interpreted / positively identified, and because each HoMM.V file has these two end-parameters which I'm not sure of how to produce. I've previously refered to one of these as a 'magic-number', but that was just a blind guess: they actually carry some kind of scale factor.

Quote:
Then watch if .gr2 file has been created as skeleton of the imported .mb..

Yeah, you're right.
After a few days of hesitation I started rigging one of my old Warcraft III models, and today I gave it a go with Maya 6.0
So I've put 'Archangel' development on the backburner (except for that language thing), in favor of exploration. My first test 'exporting' an 'imported' model with Map Editor went awry, but that made me think that this process actually needs a skeleton present before exporting the model's mesh.

So how can we produce a granny2 skeleton beforehand?
Since 'Crazypill's method' uses Maya plugins / script from Blitzkrieg 2, I tried looking for a BK2 modeling tutorial for a while, to find out how to use these plugins properly.
Then I just copied the script, the plugins and granny2.dll to their proper Maya directories, and I tried a Granny export of my model.

This worked almost the same as I described in my little 3DSmax granny tutorial, so it simply works..

Was I surprised? Maybe not really, I'm actually more surprised that noone tried this before (as far as I know, an not counting those belligerent BK2 modders ;-)

So now there's (at least) two direct ways of creating granny2 skeleton files and granny2 animation files: one via 3DSmax7, and one via Maya6.

I can't say I'm discontented with these findings :-)

[Edit]-Not a lot of news today, but still something worth telling everyone,
I've looked into creating an XML database from the HoMM.V XDB files.

With a properly rigged XML database, it would be possible to:
- scan all kinds of references inside the XDBs in the blink of an eye;
- maintain consistency in changing XDB data (by creating rules for editing and for importing new or altered XDBs).

I found a database engine which I could easily set to importing HoMM.V XDBs, and run SQL against.

But.. this 'spawn' project is keeping me from the real thing, so I think I'll put it on a shelf somewhere, unless of course there's modders around who know a bit about SQL (or XQuery) and would like to help out / take over..
____________

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


Admirable
Legendary Hero
modding wizard
posted January 31, 2010 11:23 PM

Quote:
- scan all kinds of references inside the XDBs in the blink of an eye;
- maintain consistency in changing XDB data (by creating rules for editing and for importing new or altered XDBs).


But for what exact modding purposes is this actually useful? I think most xdb files that are interesting to change are pretty well known today and searching for a specific id is simply possible with the search function from winrar.

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


Adventuring Hero
status revoked
posted February 02, 2010 10:46 AM

Database

Mm.. well, I'm not a standard-bearer (as we say in dutch) for databases, but to me the advantage is obvious:
(1) the knowledge (some of) you have regarding editing XDBs can be concentrated, automated, and checked;
(2) 'searching' is something different than applying SQL.

Surely the current ways of modding are OK, I'm not questioning that, I just like to think "what else / what more is possible?"

And that's also what this thread is about I guess..

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


Promising
Supreme Hero
posted February 03, 2010 03:08 AM
Edited by SimonaK at 03:10, 03 Feb 2010.

for my share,

I use SQL language with my own database containing tables pratically made to data.pak\GameMechanics\*.xdb files image.

with XML object controller + SQL,
It's extremly easy to remake/regenerate all xdb files and so build big MOD about artifacts, skills, creatures, town, heroes etc etc etc. all you want
because all is automatic..

you from your code you change data from tables..you click the button and bang: all your mod is built.

manual editing xdb file is too slow, too human error, too boring.

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


Promising
Famous Hero
NCF Blacksmith
posted February 03, 2010 06:59 PM

Quote:

manual editing xdb file is too slow, too human error, too boring.



...But it's still such a pleasure
____________
NCFBank,
the complete and homogen NCF
library.

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


Adventuring Hero
status revoked
posted February 04, 2010 02:20 AM

XML database & SQL

Quote:
I use SQL language with my own database..

I had a feeling you might have: the way / speed @ which you are pumping out updates.. ;-)

Wouldn't it be an idea to create a front-end website for such a database? That way everyone would benefit..

Quote:
It's extremely easy to remake/regenerate all xdb files..

.. and for that you don't even need to know a lot about SQL..

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


Promising
Supreme Hero
posted February 04, 2010 05:08 AM

Quote:
Wouldn't it be an idea to create a front-end website for such a database? That way everyone would benefit..

mmh surely good idea but not for me, i'm not interested by website creation.
btw I think a lot of people already benefit some of my works

Quote:
.. and for that you don't even need to know a lot about SQL..

that's true. no relative with SQL. indeed SQL remains strong.
ex: to know how many and what creatures have such or such ability,
or to get all locations of a particular object in a map.
the use is infinite. I'm sure that SQL could be useful in your project.

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


Adventuring Hero
status revoked
posted February 04, 2010 06:26 PM

Quote:
Quote:
.. a front-end website for such a database..


Quote:
.. not interested in website creation..

Me neither. I think there are people around who would die to make such a website.
Quote:
.. a lot of people already benefit from my work..

How very true ;-)

Quote:
.. the use is infinite..

Exactly so.

Quote:
.. SQL could be useful in your project..

Maybe so, do you have a suggestion for extended functionality?
If you do, we might want to combine our expertise..

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


Promising
Famous Hero
NCF Blacksmith
posted February 04, 2010 07:14 PM

Personally, I've been studying mySQL and PHP last week, and I can assure you it is incredibly useful !
Maybe, if I have time, I could add a php page on my NCFBank to see such database with my mySQL and PHP knowledge...
But first of all I need advice on how SimonaK you made your database editor or anything else that serves you to, for example

SELECT * FROM gameMechanics_Table WHERE type="creature"

(if it is what you were talking about when speaking of exemples (end of your post))
____________
NCFBank,
the complete and homogen NCF
library.

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


Promising
Supreme Hero
posted February 05, 2010 03:25 AM
Edited by SimonaK at 03:32, 05 Feb 2010.

My project uses SQL from Microsoft DAO 3.6 and my database is under Microsoft Access 2002.

My database's tables are powered by functions designed expressly for this purpose
will be reading the contents of xdb files (xdb = xlm database) from data.pak
and especially the GameMechanics folder. once such a function made its work it become useless.
all xml tag/nodes being functionnal and useful for the game and modding are "sniffed"
then other functions are intended to completely rewrite the xdb files from their corresponding tables.

of course, an important step is all functions that change the values inside these tables or
that returns the responses of SQL requests about them.

a general exemple is a function I made that named « AdvMapObjectREF »
that returns the REF (AdvMapobjectShared) of any AdvMapObject about its type and its val.

Public Function AdvMapObjectREF ( AdvMapObjectType As String, VAL As Long ) As String


AdvMapObjectREF("AdvMapMonster", 1) =

"/MapObjects/Haven/Peasant.(AdvMapMonsterShared).xdb#xpointer(/AdvMapMonsterShared)"

AdvMapObjectREF("AdvMapArtifact", 12) =

"/MapObjects/Artifacts/crown_of_many_eyes.(AdvMapArtifactShared).xdb#xpointer(/AdvMapArtifactShared)"

I can use this function to get the name of the object:

"select name_fr,name_en from ref_object where ref = """ & AdvMapObjectREF("AdvMapArtifact", 12) & """"

because « ref_object » is a table containing object names about their REF (the key)

indeed this is just a really small example.

Second example:
This query returns all the information needed to create the dwellings
of all creatures that may be because they are "basecreature" with a weekly growth
and a cost greater than 0.

select *
 from dwelling d, ref_object r
where d.ref = r.ref
 and not exists(select 1
                  from dwellingcreature dc,
                       gm_creatures g,
                       gm_creaturescost c
                 where dc.dwelling_id = d.id
                   and g.creature_id = dc.creature_id
                   and g.filename = c.filename
                   and(g.[_basecreature] <> ""CREATURE_UNKNOWN""
                    or g.[_weeklygrowth] = 0
                    or c.[_wood]+c.[_ore]+
                       c.[_mercury]+c.[_crystal]+c.[_sulfur]+c.[_gem]+c.[_gold] = 0))

so, if other creatures are added to the database, this select is always dynamic.

now my database has over 40 tables.

Quote:
SQL could be useful in your project..
Quote:
Maybe so, do you have a suggestion for extended functionality?


mmh I suppose that...
possess fully all information of all creatures at once. able to bind each of their components and files
like textures skeletons, geometries, animations, effects..etc...so remake file trees. create new files.
to be easly able to make mod like giving others anim,texture to the creatures etc etc...could be just awesome!

I'm here just to extolling the strenght of SQL
but I'm already fully occupied with my own projects.


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


Promising
Famous Hero
NCF Blacksmith
posted February 05, 2010 10:55 AM
Edited by TSoD at 19:32, 05 Feb 2010.

OK so if I would use mySQL, i could create a data base with tables like

skeletons
geometries
animations
animsets
basicskelanims
effects
modelinstances
particleinstances
lightinstances

etc. etc., one table for each type of xdb ? Or one table for each xdb tag ? What would you advise me ?
Thanks for explaining with example in your last post It's clear such a data base could be used even to rebuild entirely th data.pak, and at last have an homogen xdb library...
Indeed, perspectives are awesome.
I'm "charmed"

EDIT : I did some research and didn't find a method to import the xdb data into mySQL. Have you any idea ? Which kind of query should I present to mySQL ? Something like
INSERT INTO character(id, Model, ArenaAnimset, AdvMapAnimset, CoulourModels) VALUES(????????) // with "id" the auto-incremented value

How did you create a data base with Heroes V xdbs ? Could you please explain to me ? :S

____________
NCFBank,
the complete and homogen NCF
library.

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


Promising
Supreme Hero
posted February 06, 2010 02:58 AM
Edited by SimonaK at 03:06, 06 Feb 2010.

I don't know MySQL. I never ran it.

In VB.NET to load tables is enough easy.

personnaly, I coded myself the functions that made the job.

first, I created the tables and I have determined what attributes and properties
were important to maintain and I made the columns.

Secondly, I have functions that would read the xdb files and fed the tables with the content.

to insert in the tables I didn't used the insert sql command.
I rather used directly VB.NET database object methods making exactly the same job.

the IDs must be exactly the ones provided in the xdb files which correspond to the object.

you know, a great help I have is my knowledge of databases, it's my job in life

tables are "functionnal entities" one table for factions, one table for creatures, one table for abilities, one table for animations, one table for skeletons, etc, etc....what will the keys? how the links will be make? etc etc

VB.NET provides XML objects allowing the load of XML files.

that is a small example:

Dim MyXML As New Xml.XmlDocument

MyXML.Load("...\GameMechanics\Creature\Creatures\" & folder(i).path)

For Each noeud In element
     For Each noeudEnf In noeud.ChildNodes
           If noeudEnf.LocalName = "Upgrades" Then

               MyTable.Edit
               ....
               MyTable.Update
           Else
                 If (noeudEnf.LocalName = "Abilities") Then
                  ...
                 End If
           End If

      Next
Next


I suggest to you to continue your research on the web

these sites are good:

http://selkis.developpez.com/tutoriels/dotnet/Xmlpart1/

http://www.vbfrance.com/

they speak about PHP as well...




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


Adventuring Hero
status revoked
posted February 06, 2010 03:36 AM

vbfrance

I subscribe to that: vbfrance is excellent.

The software I tested for reading XDB's into a database is called SQL/XML-IMDB from QuiLogic: downloads at QuiLogic (this software has a "one hour" evaluation restraint). The software comes with examples for front-ends in five different programming languages, and I quickly adapted one of the examples to read all of the (almost) 50.000 XDB files from TotE..

After that it's up to the SQL-guys ;-)

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


Promising
Famous Hero
NCF Blacksmith
posted February 06, 2010 12:13 PM

So, now each of you has a database containing all the information right ? You both already created these data bases if I well understood. Couldn't you export your database in a txt file then send it to me so I can import it in mySQL ? (I'm pretty sure you have in your programs something like an "Export" function that export in a txt file the data base description and content => In mySQL with phpMyAdmin we can do that at least)
For all I know, I can import these format in mySQL :
ANSI
DB2
MAXDB
MYSQL323
MYSQL40
MSSQL
ORACLE
TRADITIONAL

So if you could export then send it to me, I would be "happy" 'cause I didn't know a single word of VB :/ All I know is C, C++, PHP, and very few about xml...
And that's not my job, I'm still a student and I have this knowledge from self-learning

In any case, as soon as I have your data base imported in mySQL, I can easily extract all I want from it.
But I need this data base improted first, and I can't do it it is higher than I'm able to do in programming
____________
NCFBank,
the complete and homogen NCF
library.

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


Promising
Supreme Hero
posted February 06, 2010 03:09 PM

I will not give my database or even a part of it!

a lot of tables serve for several other of my Heroes V projects not released.
and anyway, concerning the creatures, my database doesn't contain none of
tables for animations, skeletons, effects, geo etc.....
I stopped to the visual and icons, the information extracts about the creatures.
because it was all I needed about them.

but I gave some ideas and stategies for the creating of a perfect database
depending of the project.


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

Tavern Dweller
posted March 29, 2012 09:48 PM

3D Model of Haven Town

Hi Guys!

I am a'n architecture student and I am preparing for a contest between multiple colleges. The theme is "Creative thinking" and I taught of modeling the Haven Castle.

I would really like to have the 3D model from the game to start to build my real scale model.

If anyone could please help me!!!
____________

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


Adventuring Hero
Town Creator
posted June 22, 2014 10:55 AM

Hi I thought i'll ask my question here.I have ripped some shadow  dragon animations from h5 and saved as 3dsmax files.Heres how they look like :


Shadow Dragon Animations (3,3 mb )

Well I could say its done but I dont know how to import particle effects to these models.Could You tell me how can I possibly do this ? Thank You

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


Famous Hero
posted June 22, 2014 11:25 AM

Man, just tell us how did you import animations to 3ds max

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

Page compiled in 0.1016 seconds