Results 1 to 10 of 10

Thread: Completely new skeletons from scratch?

  1. #1

    Default Completely new skeletons from scratch?

    I posted a few times and lost my message ev time so I'll keep it short.

    Will I be able to create models from scratch and export them succesfully to Rome Total war using the CAS ImportExport script?

    I'm a bit of a programmer (OpenGL , C, and some other stuff) so maybe we could look at it together Vercingetorix.

    Any suggestions or other tips on how I can create 6 limbed creatures would be appreciated.

    Thx

  2. #2

    Default Re: Completely new skeletons from scratch?

    Ok I'll clarify..................

    I want to create not only skeletons of course, but a complete model from scratch. Geomatry, bones and rigging. From some of the forums I read I get the distinct feeling that the CAS exporter can't handle that. Is this correct??

    The importer doesn't seem to import the bones, just some points witch reference the bones (as far as I can see correct me if I'm wrong). That wouldn't have to be a problem but there are also no IK chains or even a reference so it's rather difficult to determine what different rigs I have to create.........

    Any advice?

  3. #3
    The Dark Knight Member wlesmana's Avatar
    Join Date
    Jan 2005
    Location
    Indonesia
    Posts
    602

    Default Re: Completely new skeletons from scratch?

    You can create a model from scratch, but you have to rig it to an existing skeleton. I assume that the skeleton itself is hardcoded, with the number and names of the bones must be what we have already. BUT, there's a skeleton with an extra bone: fs_slinger_new, where there's an extra bone called Bone_weapon or something like that. If you use this skeleton as a base for your model (aka. the Bone is present when you export it) and the skeleton file you use in the game is NOT based on this, then the model would get messed up bad in-game because the skin modifier would get confused by the extra bone. The reverse also produce the same bad effect. So I'm assuming that the bone names in your model do get exported into the .CAS file even if there's nothing rigged to it since the presence or absence of a bone do cause problems.

    So, as of now, we can't add or remove bones from the pre-existing skeletons. We also can't change the xyz coordinates of the bones (EXCEPT for Scene Root), meaning only the rotations are read. However, as I've said above, there exists a skeleton with the extra bone so it might be possible to create new skeletons with extra bones but that seems to be hidden in the skeleton file or the packed files. There are at least some hidden files in there. The .evt files, for instance, are hidden and cannot be extracted by Vercingetorix's tool.

  4. #4

    Default Re: Completely new skeletons from scratch?

    Thanks , I'll check it out.

  5. #5

    Default Re: Completely new skeletons from scratch?

    I don't see any reason why this COULDN'T be done.... it's just that Vercingetorix's tool doesn't allow us to. He was working blid, and could not get the detail he needed about the way the files were put together.

    He made a tool that allowed us to do enough to mod with, and we were grateful for that. Development pretty much stopped. If you are in a position to take it further, then that would be good!

    Here's a brief rundown on what I know about hte subject!

    There are several different sets of bones, and each have different numbers and arrangements of bones. They all come from the root bone, which the game uses to position the actual unit. Right now, we cannot change ANY of this. We have the horse, camel, elephant, dog and human. I doubt you could create a vbrand new 6th type, but it would be good to replace ONE of those types with a new one.

    The animations then act on the basic skeleton.

    The key to the actual skeleton is to be able to read and re-write the skeleton.dat and idx files. Additionally, There is a skeleton text file, which was originally the source of the compressed files, but cannot be used instead...the game will not read it, and won't run without it. This tells the game which animation routines are used by each skeleton. They have a basic 'name' like, say, 'run' which tells it which animation to use when the game hasto make the model 'run'. Keep those bits intact, the the code should function.

    We need to be able to define which bones go where, which bones are linked where, and then to build a new IDX and DAT file containing the new data.

    Naturally, a full set of animations would have to be written for any new skeleton.

    Currently, the animation and imprt/export tool is pure Max Script. XIDX is the tool that breaks and rebuilds the files you will need to look at. This has GOT to be the best starting point to understand the way it works. V has released the source for this. The best starting place would be to find out how to re-write the positions of the bone pivots. We can't right now. The animations routines ONLY store rotational data, and have to use the pivot locations defined in the Skeleton DAT/IDX files. Crack that, and you will be half way there!

    p.s. More than happy to act as a guinea pig ;)
    Last edited by Bwian; 07-28-2006 at 23:22.
    Careless Orc Costs Lives!

  6. #6

    Default Re: Completely new skeletons from scratch?

    Thanks for your feedback Bwian,

    Lately every answer I get just results in me having several more questions.

    I contacted V he quickly guided me to the xidx source also. I can't blame him he's done enough and doesn't deserve people nagging him for pointers, lol.

    I still don't get where the visible reference to the skeleton comes from in 3dmax when you've imported a model. For me it feels like its coming from the CAS file.

    Anyway I'll look at the sourcecode for xidx first to see how it handles the skeletons.pack.

  7. #7

    Default Re: Completely new skeletons from scratch?

    The visual ref in Max has got to coe from the CAS file, but I suspect that is down to the fact that the model has a skin modifier which has to relate all the info back to a bone/skeleton to function. Basic skeletal information would have to exist there as a 'hook' for the games animation.

    What is key here, is that the game is not taking it's information fromthe CAS file for how a skeleton joins together, so any changes made to the skeleton in Max are ignored by the game engine. Try moving a few joints around, and it is clear that this is the case.

    It may be a function of the Max script not doing all it could, but I think Vercingetorix would have done that very early on if the CAS file could have been the key to this. I suspect rather, that he discovered the limitation of the CAS file in that respect, and didn't try to add any more functionality.

    From conversations I had with V way back, I can recall his opinion on the Skeleton DAT/IDX files, and I am 100% sure that is the key. I am no programmer, but looking at things from a modellers standpoint, I can see the links between the the animations and the skeletons lurking in the file when I looked in notepad!

    skeleton.idx appears to be just the list of skeletons that XIDX extracts into a .txt format.

    skeleton.dat is the compressed and 'tweaked' version of descr_skeleton which relates all the animations routines to the skeletons.

    Now....I gave this a bit more thought last night....

    The animations CAS file only store rotations....aside from the ROOT bone, which has to allow translations to move the model. ALL of the subsequent bone 'children' are rotated only. Consequently, something must define the original position and relationship between the bones in the model.

    It is possible these are hardcoded ..... but this has never been stated.

    It is possible they are in the CAS file format, and Vercingetorix never cracked it. He was looking for a tool to do a job, and he gave us that. Maybe he never wanted more. Can't blame him for that...what he DID do was fantastic.

    It is also possible that the thing is hidden in the skeletons DAT or IDX file. V's tool splits out the file into fs_whtever files, which sem to be the individual segments of skeleton.dat split up. The only human readable bits in there are the same as the descr_skeleton files.

    One thing we DO know, is that the game cannot read descr_skeleton, and MUST have it in dat/idx formats to work. Jerome Grasdyke hinted that the DAT/IDX files were made from this originally, and that development builds of the game read it directly.

    Now....if that is EXACTLY true....look in descr_skeleton.... no mention of bone names....

    I certainly wouldn't rule out the CAS file having more nfluence on the situation!
    Careless Orc Costs Lives!

  8. #8

    Default Re: Completely new skeletons from scratch?

    I think you're absolutely right , what V gave us is great! Every word of critisism I might utter is simply a reflection of my own inadequacy.

    V didn't include a lot of comments in the source (or in the readme's) so no way to profit from his acquired knowledge on the scope of the problem. But I'm not gonna bother him again before I have some real idea of a way forward expanding on his work.

    Btw V also mentioned a program he wrote called "cas2rum", he suggested I take a look at that also. You know that one (what is rum*)?

    l started reading his code(xidx) and will be piecing the logic of it together. One thing is certain, it will take some time.

    Additionally I'll keep on building my mod. I still haven't even exported a model succesfully, I do get my unit in the game but he's all stiff in the design position (arms horizontally). Getting this working is also important to understand how it all works together. And it's a way to get some short term result, I've got to keep morale up, you know!

    If I do get it (the bones) to work it won't be before MTW2, lol. But I don't care, if it works I'll be playing RTW mods hapilly for the next 20 years.

    Thx (plse keep thinking aloud)


    *yeh I know it's a drink.

  9. #9

    Default Re: Completely new skeletons from scratch?

    Drop me a PM about your model in game problem ... that sounds like the skin modifier not being correct. I can help you with that!

    As far as the RUM files go, the game creates them when you run it. They seem to be 'shortened' versions of the CAS files that can be more quickly loaded. I would guess V is looking at those as being the key data that the game engine is converting from a more cluttered format ( CAS ). Just a guess :D

    Might have to have a poke through the Max script and see if I can understand anything of what it is doing. Never messed with MAx script before...but hey...got to be a first time!
    Careless Orc Costs Lives!

  10. #10

    Default Completely new skeletons from scratch?

    An update incase anyone was wondering if I just gave up.

    Well.......

    For my own mod I've decided to work with what we've got. It's a bit of a letdown but I recovered from that and it will inspire me to take RTW to the max, squeezzz it for every drop of preformance that it has. Also to solve problems in unconventional ways. Like those guys that wrote the Commodore 64 games if anybody can still remember that , lol.

    I took another look at the the Blue Lotus mod and those guys also used some really smart tricks to create the illusion of another then the standard skeleton.

    But..........
    I've not given up completely.

    I've got the basics of getting a model in the game mastered this is important to understand the big pic.
    I'm still studying V's sourcecode when I have made some sense of that I'll ask V some stuff again. I need to tap into his knowledge, but I don't want to bother him before I'm somewhere near his level of understanding.

    If anybody has thoughts about this thread subject, please share them! But please state clearly if it's something you THINK or if you are CERTAIN !

    I'll be posting soon.......

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
Single Sign On provided by vBSSO