Join also our Discord channel! Click here.

3d Models, animation importer - FatImporter

General game file tools that are useful for more than one game
Post Reply
User avatar
zaykho
mega-veteran
mega-veteran
Posts: 213
Joined: Fri Dec 03, 2010 1:20 pm
Location: France
Has thanked: 151 times
Been thanked: 33 times

Re: 3d Models, animation importer - FatImporter

Post by zaykho » Wed Oct 10, 2012 5:53 am

Darko wrote:
zaykho wrote:
Yes. indeed!
But they didn't have any animation ? I mean, they always "stuck" like that ?

If I remember when I played this game, some fingers may move in gravure........
They use morphs for animation.

See ya
Ok, thank you again Darko :p

Darko
double-veteran
double-veteran
Posts: 704
Joined: Mon Jul 13, 2009 6:16 pm
Has thanked: 70 times
Been thanked: 119 times

Re: 3d Models, animation importer - FatImporter

Post by Darko » Wed Oct 10, 2012 6:26 am

No problem, It's the same with the earlier games (DOA3, DOAX, DOAU2, DOA4 and DOAX2).

See ya.
Image

Drawing
mega-veteran
mega-veteran
Posts: 172
Joined: Wed Jan 11, 2012 10:21 pm
Has thanked: 25 times
Been thanked: 3 times

Re: 3d Models, animation importer - FatImporter

Post by Drawing » Wed Oct 10, 2012 3:38 pm

fatduck do you have the download of Sanguo 三国争霸 and Zero of the World 天上人間?

because i can't find this game on the net

fatduck
mega-veteran
mega-veteran
Posts: 315
Joined: Wed Aug 02, 2006 10:07 pm
Has thanked: 10 times
Been thanked: 93 times

Re: 3d Models, animation importer - FatImporter

Post by fatduck » Wed Oct 10, 2012 6:00 pm

Drawing wrote:fatduck do you have the download of Sanguo 三国争霸 and Zero of the World 天上人間?

because i can't find this game on the net
Just google and copy the name will get the result!!!

Sanguo 三国争霸: http://www.7fgame.com/DownloadCenter/Clients.html
Zero of the World 天上人間: http://tw.hehagame.com/html/down/d/36590.shtml
No more Fatduck, no more FatImporter, Byebye everyone!

User avatar
Rimbros
ultra-veteran
ultra-veteran
Posts: 495
Joined: Fri Jul 09, 2010 12:23 am
Has thanked: 41 times
Been thanked: 13 times

Re: 3d Models, animation importer - FatImporter

Post by Rimbros » Fri Oct 12, 2012 10:36 pm

Amazing Job Fat, i think u hare one of the best on this of keep out animations with models. Cheers :D
Renders Art by Rimbros
http://s303.photobucket.com/albums/nn12 ... E/Renders/

Personal Game repository samples, send PM

peto1488
n00b
Posts: 12
Joined: Sat Jan 28, 2012 12:26 am
Has thanked: 3 times

Re: 3d Models, animation importer - FatImporter

Post by peto1488 » Sun Oct 14, 2012 2:02 pm

90% not open models :/

Image

Allanoon
advanced
Posts: 42
Joined: Sat Apr 14, 2012 9:00 pm
Has thanked: 34 times
Been thanked: 11 times

Re: 3d Models, animation importer - FatImporter

Post by Allanoon » Sun Oct 14, 2012 5:44 pm

First of all thanks for the awesome update! ^-^
peto1488 wrote:90% not open models :/

Image
Which models are you trying to open? What version of autodesk are you using?
I do not have any problems at all, everything seems to work fine o.o

But... about Bounty Bay online... models visualization is strange
Image
I see his "back" mesh while looking in front of it and viceversa.
And i get
"--Unknown property: "parent" is undefined" error when trying to load some of them while others seems to load fine.

fatduck
mega-veteran
mega-veteran
Posts: 315
Joined: Wed Aug 02, 2006 10:07 pm
Has thanked: 10 times
Been thanked: 93 times

Re: 3d Models, animation importer - FatImporter

Post by fatduck » Sun Oct 14, 2012 8:20 pm

For BountyBay Online. Sometimes normals are flips. Don't know why!?
And which models got that "--Unknown property: "parent" is undefined" error?
This game is a bit messy. It better to import *.ini in ..\INI\ folder to load the everything in one time!



S.U.N. fixed. Test with version 110, 112, 113, 114, 117, 118, 119, 120
You do not have the required permissions to view the files attached to this post.
Last edited by fatduck on Mon Oct 15, 2012 8:22 am, edited 2 times in total.
No more Fatduck, no more FatImporter, Byebye everyone!

peto1488
n00b
Posts: 12
Joined: Sat Jan 28, 2012 12:26 am
Has thanked: 3 times

Re: 3d Models, animation importer - FatImporter

Post by peto1488 » Mon Oct 15, 2012 1:07 am

3ds max 8
Import WZM (SOUN) 500 models = only import 20-30 models
more than 400 are bad


Image

  • Code: Select all

    rollout MainRoll "Soul of the Ultimate Nation" (fn fc8705d6 f fscale a5efccb5 i89f90b7 = (c42adf63 = getFileSize a5efccb5;hdr = readFixedString f 4;if (hdr=="WZMD")OR(hdr=="WZAD") then () else (messagebox "Not a valid SUN File!";return undefined);AnimationRange = interval 0f 100f;SliderTime = 0f;g801b25d = readshort f #unsigned;if g801b25d<0x78 then (ec75184a = readshort f;b7ef643a = for j = 1 to ec75184a collect (readbyte f#unsigned););b85d663d = #();ic8012ea = #();fb756de8 = undefined;do (c507de07 = readshort f #unsigned;d01a556e = readlong f;d7c4556e = (ftell f) + d01a556e - 6;case c507de07 of (0xB7DA: (c90d663e = 0;d48e080a = 0;bf8745d3 = $'AnimData';if bf8745d3==undefined then bf8745d3 = dummy name:"AnimData" else (c90d663e = GetUserProp bf8745d3 "ACnt";if c90d663e != undefined then d48e080a = ( getUserProp bf8745d3 ("A"+(c90d663e as string)+"ED") ) + 1 else c90d663e = 0;if d48e080a==undefined then d48e080a = 0);gb70650d = readbyte f #unsigned;if g801b25d<0x71 then (b705de4a = readbyte f #unsigned;c025df6c = for j = 1 to gb70650d collect b705de4a) else if g801b25d<0x77 then (b705de4a = readshort f #unsigned;c025df6c = for j = 1 to gb70650d collect b705de4a) else c025df6c = for j = 1 to gb70650d collect (readshort f #unsigned);a80b63b4 = readfloat f;b85d663d = #();for i = 1 to gb70650d do (g5bb568a = readbyte f #unsigned;i5e89025 = readbyte f #unsigned;h6b8f446 = readFixedString f i5e89025;f801b504=undefined;for b in i89f90b7 where b.name==h6b8f446 do (f801b504=b;exit);if f801b504==undefined then (f801b504 = dummy boxsize:[.1,.1,.1] showLinks:true showLinksOnly:true name:h6b8f446 wirecolor:yellow;setUserProp f801b504 "SUNBone" (i-1);if g5bb568a==255 then f801b504.parent = bf8745d3 else f801b504.parent = b85d663d[(g5bb568a+1)]);append b85d663d f801b504);e70d63d1 = 0;d90eaa41=0;if g801b25d >0x71 then d90eaa41 = readlong f;if g801b25d > 0x76 then (if d90eaa41==0 then (ec54078e = dummy();for i = 1 to gb70650d do (ec54078e.rotation.controller = copy b85d663d[i].rotation.controller;if e70d63d1<(c025df6c[i]-1) then e70d63d1=(c025df6c[i]-1);for k = 1 to c025df6c[i] do (h90b45d3 = [(readfloat f),(readfloat f),(readfloat f)]*fscale;if ((g801b25d>=0x78)or(b7ef643a[1]==1)) then i03edfd7 = quat (readfloat f) (readfloat f) (readfloat f) (readfloat f) else i03edfd7 = conjugate ((EulerAngles (RadToDeg (readfloat f)) (RadToDeg (readfloat f)) (RadToDeg (readfloat f))) as quat);with animate on at time (k+d48e080a-1) (ec54078e.rotation = i03edfd7;in coordsys b85d663d[i].parent    b85d663d[i].pos = h90b45d3));b85d663d[i].rotation.controller = copy ec54078e.rotation.controller);delete ec54078e) else if d90eaa41==1 then (ec54078e = dummy();for i = 1 to gb70650d do (ec54078e.rotation.controller = copy b85d663d[i].rotation.controller;for k = 1 to c025df6c[i] do (a0564dc0 = readshort f #unsigned;if e70d63d1<(a0564dc0) then e70d63d1=(a0564dc0);h90b45d3 = [(readfloat f),(readfloat f),(readfloat f)]*fscale;if ((g801b25d>=0x78)or(b7ef643a[1]==1)) then i03edfd7 = quat (readfloat f) (readfloat f) (readfloat f) (readfloat f) else i03edfd7 = conjugate ((EulerAngles (RadToDeg (readfloat f)) (RadToDeg (readfloat f)) (RadToDeg (readfloat f))) as quat);with animate on at time (a0564dc0+d48e080a) (ec54078e.rotation = i03edfd7;in coordsys b85d663d[i].parent    b85d663d[i].pos = h90b45d3));b85d663d[i].rotation.controller = copy ec54078e.rotation.controller);delete ec54078e) else (messagebox ("new Key Type: "+(d90eaa41 as string));return b85d663d)) else (f50cdfd7 = for i = 1 to gb70650d collect dummy();for i = 1 to gb70650d do f50cdfd7[i].rotation.controller = copy b85d663d[i].rotation.controller;e70d63d1 = c025df6c[1]-1;if d90eaa41==0 then (for k = 1 to c025df6c[1] do (for i = 1 to gb70650d do (h90b45d3 = [(readfloat f),(readfloat f),(readfloat f)]*fscale;if ((g801b25d>=0x78)or(b7ef643a[1]==1)) then i03edfd7 = quat (readfloat f) (readfloat f) (readfloat f) (readfloat f) else i03edfd7 = conjugate ((EulerAngles (RadToDeg (readfloat f)) (RadToDeg (readfloat f)) (RadToDeg (readfloat f))) as quat);with animate on at time (k+d48e080a-1) (f50cdfd7[i].rotation = i03edfd7;in coordsys b85d663d[i].parent    b85d663d[i].pos = h90b45d3)));for i = 1 to gb70650d do b85d663d[i].rotation.controller = copy f50cdfd7[i].rotation.controller) else if d90eaa41==1 then (for k = 1 to c025df6c[1] do (a0564dc0 = readlong f;if e70d63d1<(a0564dc0) then e70d63d1=(a0564dc0);for i = 1 to gb70650d do (h90b45d3 = [(readfloat f),(readfloat f),(readfloat f)]*fscale;if ((g801b25d>=0x78)or(b7ef643a[1]==1)) then i03edfd7 = quat (readfloat f) (readfloat f) (readfloat f) (readfloat f) else i03edfd7 = conjugate ((EulerAngles (RadToDeg (readfloat f)) (RadToDeg (readfloat f)) (RadToDeg (readfloat f))) as quat);with animate on at time (a0564dc0+d48e080a) (f50cdfd7[i].rotation = i03edfd7;in coordsys b85d663d[i].parent    b85d663d[i].pos = h90b45d3)));for i = 1 to gb70650d do b85d663d[i].rotation.controller = copy f50cdfd7[i].rotation.controller);delete f50cdfd7);c90d663e += 1;setUserProp bf8745d3 ("A"+(c90d663e as string)+"ST") d48e080a;setUserProp bf8745d3 ("A"+(c90d663e as string)+"ED") (e70d63d1+d48e080a);setUserProp bf8745d3 ("A"+(c90d663e as string)+"NE") (getFilenameFile a5efccb5);setUserProp bf8745d3 "ACnt" c90d663e);0xB7D1: (if g801b25d>0x6E then a50ce60f1 = readlong f else a50ce60f1 = readshort f #unsigned;a74d5c6b = #();for k = 1 to a50ce60f1 do (g01b54d6 = readshort f;append ic8012ea g01b54d6;append a74d5c6b ([(readfloat f),(readfloat f),(readfloat f)]*fscale));if g801b25d>=0x75 then (readbyte f #unsigned;d84e0df1 = readbyte f #unsigned;e801dbf4 = readlong f) else (d84e0df1 = readbyte f #unsigned;e801dbf4 = readlong f);bb702d6f = #();e0df846c = #();gb754d6b = #();f77dc65a = #();hb754b15 = #();fb904d66 = 1;d67effb4 = multimaterial numsubs:d84e0df1;for i = 1 to d84e0df1 do (if g801b25d>=0x75 then (readlong f);i5e89025 = readbyte f #unsigned;if i5e89025>0 then (h4b5002d = readFixedString f i5e89025;d67effb4[i].diffusemap = bitmapTexture filename:((getFilenamePath a5efccb5)+h4b5002d) name:(getFilenameFile h4b5002d);d67effb4[i].diffusemap.monoOutput = 1;d67effb4[i].diffusemap.alphaSource = 2;showTextureMap d67effb4[i] d67effb4[i].diffusemap on;d67effb4[i].opacitymap = d67effb4[i].diffusemap;d67effb4[i].twoSided = on);i5e89025 = readbyte f #unsigned;if i5e89025>0 then (h4b5002d = readFixedString f i5e89025;d67effb4[i].specularmap = bitmapTexture filename:((getFilenamePath a5efccb5)+h4b5002d) name:(getFilenameFile h4b5002d);d67effb4[i].specularmap.monoOutput = 1;d67effb4[i].specularmap.alphaSource = 2);i5e89025 = readbyte f #unsigned;if i5e89025>0 then (h4b5002d = readFixedString f i5e89025;d67effb4[i].bumpMap = Normal_Bump ();d67effb4[i].bumpMap.normal_map = bitmapTexture filename:((getFilenamePath a5efccb5)+h4b5002d) name:(getFilenameFile h4b5002d);d67effb4[i].bumpMap.normal_map.monoOutput = 1;d67effb4[i].bumpMap.normal_map.alphaSource = 2) else (if d67effb4[i].specularmap != undefined then (f8953fd0 = undefined;g7b0255f = findstring d67effb4[i].specularmap.filename "_sp.";if g7b0255f!= undefined then f8953fd0 = replace d67effb4[i].specularmap.filename g7b0255f 3 "_no" else (g7b0255f = findstring d67effb4[i].specularmap.filename "_s.";if g7b0255f!= undefined then f8953fd0 = replace d67effb4[i].specularmap.filename g7b0255f 2 "_n" else (g7b0255f = findstring d67effb4[i].specularmap.filename "_Seq.";if g7b0255f!= undefined then f8953fd0 = replace d67effb4[i].specularmap.filename g7b0255f 4 "_Nom" else (g7b0255f = findstring d67effb4[i].specularmap.filename "SpecularMap.";if g7b0255f!= undefined then f8953fd0 = replace d67effb4[i].specularmap.filename g7b0255f 11 "NomalMap")));if f8953fd0 != undefined then (d67effb4[i].bumpMap = Normal_Bump ();d67effb4[i].bumpMap.normal_map = bitmapTexture filename:f8953fd0 name:(getFilenameFile f8953fd0);d67effb4[i].bumpMap.normal_map.monoOutput = 1;d67effb4[i].bumpMap.normal_map.alphaSource = 2)));if g801b25d>0x6E then (e902d506 = readlong f;e801dbf4 = readlong f;h70b232c = readlong f) else (e801dbf4 = readshort f #unsigned;h70b232c = readshort f #unsigned);for k = 1 to e801dbf4 do (de801252 = readshort f #unsigned;if g801b25d>0x6E then c8e0f45f = readlong f else c8e0f45f = readshort f #unsigned;append bb702d6f (c8e0f45f+1);e0df846c[(c8e0f45f+1)] = [(readfloat f),(readfloat f),(readfloat f)];a605d08e = readlong f;if g801b25d>=0x75 then b89e0f56 = readlong f;i5edfc47 = [(readfloat f),(readfloat f),(readfloat f)];readbyte f #unsigned;append gb754d6b [(readfloat f),1-(readfloat f),0]);if g801b25d>0x6E then for j = 1 to h70b232c do ( append f77dc65a  ([(readlong f),(readlong f),(readlong f)]+fb904d66) ; append hb754b15 i ) else for j = 1 to h70b232c do ( append f77dc65a ([(readshort f #unsigned),(readshort f #unsigned),(readshort f #unsigned)]+fb904d66) ; append hb754b15 i );if g801b25d > 0x75 then (readlong f);fb904d66 += e801dbf4);if d84e0df1==1 then d67effb4 = d67effb4[1];i2dd303e = for c7f022a6 in f77dc65a collect [bb702d6f[c7f022a6.x],bb702d6f[c7f022a6.y],bb702d6f[c7f022a6.z]];fb756de8 = mesh vertices:a74d5c6b faces:i2dd303e materialIDs:hb754b15 name:(GetFilenameFile a5efccb5);fb756de8.numTVerts = gb754d6b.count;buildTVFaces fb756de8;for j = 1 to gb754d6b.count do setTVert  fb756de8 j gb754d6b[j];for j = 1 to f77dc65a.count do setTVFace fb756de8 j f77dc65a[j];for j = 1 to e0df846c.count do setNormal fb756de8 j e0df846c[j];fb756de8.material = d67effb4);0xB7D2: (c1fb05eb = readshort f #unsigned;h5b603dc = #();for i = 1 to c1fb05eb do (h5b603dc[i] = #(#(),#());b909f6e3 = readbyte f #unsigned;for k = 1 to b909f6e3 do (g01b54d6 = readbyte f #unsigned;a40256d0 = readfloat f;append h5b603dc[i][1] (g01b54d6+1);append h5b603dc[i][2] a40256d0));e451df2a = #();for g01b54d6 in ic8012ea do (if g01b54d6>=0 then append e451df2a #(#(g01b54d6+1),#(1.0)) else append e451df2a h5b603dc[(abs(g01b54d6))]);AutoskinMeshNT fb756de8 b85d663d e451df2a);default: fseek f d7c4556e #seek_set);if (ftell f)!=d7c4556e then ( Messagebox "Chunk size error!" ; retrun undefined )) while (ftell f) != c42adf63);button opnRes images:#(FatImage,undefined,10,ImgIdx,ImgIdx,ImgIdx,ImgIdx) width:200 Height:150 align:#center tooltip:"Import S.U.N File";on opnRes pressed do (a5efccb5 = getOpenFileName caption:"Open Soul of the Ultimate Nation File" types:"SUN Animation (*.WZA)|*.wza|SUN model (*.WZM)|*.wzm|All File (*.*)|*.*|";if a5efccb5 != undefined then (f = fopen a5efccb5 "rb";b85d663d = for b in $Helpers where (getUserProp b "SUNBone")!=undefined collect b;fc8705d6 f fscale a5efccb5 b85d663d;fclose f)))

Allanoon
advanced
Posts: 42
Joined: Sat Apr 14, 2012 9:00 pm
Has thanked: 34 times
Been thanked: 11 times

Re: 3d Models, animation importer - FatImporter

Post by Allanoon » Tue Oct 16, 2012 8:47 pm

fatduck wrote:For BountyBay Online. Sometimes normals are flips. Don't know why!?
And which models got that "--Unknown property: "parent" is undefined" error?
This game is a bit messy. It better to import *.ini in ..\INI\ folder to load the everything in one time!
I apologize, dunno why but i didn't write "animations" some animations give me that error, unless, i got to run all those inis first? o.o
And ye you're right, it's not easy to associate animation-models and such in here

Oh and ehm...
About Zero of the World, those .tcpk files... is there any specific extractor? I still didn't look trou them but with a simple look on google i only found .cpk extractors and i doubt they'll work on it. That bms script in the folder is to convert textures but i'll have to extract them first anyway xD
peto1488 wrote:...
Fatduck should have fixed the problem for you in his previous post~ But i also think that the problem may be caused by that old autodesk version, as i said a few months ago:
Oh i also noticed that some importer function doesn't work with 3ds max 2012 (errors) but works perfectly with 3ds max 9. An example would be Chaos Legion :)
It may be the opposite case with S.U.N. ^^

kazhuki01
beginner
Posts: 31
Joined: Mon Jun 18, 2012 6:46 pm

Re: 3d Models, animation importer - FatImporter

Post by kazhuki01 » Thu Nov 01, 2012 7:26 pm

Wow! This is really amazing fatduck..
Ohh btw where i can find the Tantra Exporter.mse?

Pilgrim
ultra-n00b
Posts: 8
Joined: Thu Dec 02, 2010 6:41 pm
Has thanked: 1 time

Re: 3d Models, animation importer - FatImporter

Post by Pilgrim » Tue Nov 06, 2012 9:58 pm

Thank you for this tool. I'm trying to work with Archeage files. I realize it is only in beta, but I can't get any of the files to open. It will either give a rollout handler exception error, or wont display the model at all. (.chr files)
Have you been able to successfully import these files? or could it be that I am using 3DS max 8 ? or does it work only with more recent versions?

Thanks again.

fatduck
mega-veteran
mega-veteran
Posts: 315
Joined: Wed Aug 02, 2006 10:07 pm
Has thanked: 10 times
Been thanked: 93 times

Re: 3d Models, animation importer - FatImporter

Post by fatduck » Tue Nov 06, 2012 10:26 pm

Image

I use 3dsmax9 and 2009. Haven't got any error at all!? 3dsmax8 missing some bits operation command which might not work!?(I can't remember)

PS: I only have Archeage CTB2, the format might changed as well?(Since there are lots of bugs in the format) I don't know!

Sorry for that!
No more Fatduck, no more FatImporter, Byebye everyone!

Pilgrim
ultra-n00b
Posts: 8
Joined: Thu Dec 02, 2010 6:41 pm
Has thanked: 1 time

Re: 3d Models, animation importer - FatImporter

Post by Pilgrim » Wed Nov 07, 2012 3:25 pm

Thank you fatduck. I will try to update my 3ds version and see if that helps. I am using files from CTB5, so that may also be the cause.
I will keep trying.

Pilgrim
ultra-n00b
Posts: 8
Joined: Thu Dec 02, 2010 6:41 pm
Has thanked: 1 time

Re: 3d Models, animation importer - FatImporter

Post by Pilgrim » Thu Nov 08, 2012 5:08 pm

It must be that CTB5 will not work with it. I used 3ds 2009, and still get errors.

Post Reply