sorry, didn't really pay attention to his name lol
also sorry about the long wait, um its taking a hell of a long time to encode and upload to youtube. my PC is EXTREMELY SLOW... like you wouldn't even know.. it takes 5mins to do like anything
also things keep crashing.. it took me 40mins just to make a 10mis clip, cause of all the crashing, restarting etc.. >_< gawd I hate making videos
using editPoly changes the vert count. since we are modding verts, vert count is extremely IMPORTANT.
but max also uses verts to morph.. if the vert count is off, we cannot morph everything is down the tubes... but no theres an answer!! morph by faces instead, since the face count remains the same, we can morph based on that instead. then morph back by verts.. its a owkr around.. further explained by video
yeah, DDV2 should remove the need for using any script by me. no doubt a few people are beta testing it since nobody should technically know about it and I keep seeing mention of it O_o
but anyway try to beg borrow and steal the beta or wait till it's officially released.
I can create another video explaining and fixing all these problems with alternate work arounds, but whats the point? DDV2 will eliminate the need for any script.
I posted my findings and a basic video in the beginning just to give everyone an equal stance on the current methods. those who have the comprehension of how to use max would have no doubt benefited from the script prior to the DDV2 release.
Personally I find the script allows you to work with a faster work flow, over using 3rd party apps outside of max. so I'll be continuing using it, over DDV. however both will accomplish the same means in the end. one or the other won't be any better, and will suffer from the same problems.. with the exception of the EditPoly Glitch.. which I'll need to fix.
its gonna burn having to take up my weekend scripting, but seems there's a need for a fixed script.
yeah there was a typo, that caused the script not to work...
since I wasn't able to fully understand the format, I didn't bother posting the fixed version, sorry
sometime I'll update my main script, and addd a new button called export. it'll dump raw verts, raw UVs, and faces formatted as specified for triStrip all as separate bin files. that way people can tinker with hex replacing data in the MDL0. hopfully that'll be a big help to everyone hexing.
but the thing that's held me back is the fact I'm using EditPoly to do all my operations in 3dsmax. see max has a marco recorder.. so basically it'll save your actions to a script, that you can replay later. that's the basics of maxscript. for some reason the macro listener only gives me output for using editPoly..
anyway editPoly is increasing the vert count, which is causing grief among my new vert technique..
I tried posting for help at the script spot, so far no answer.. how ever I may just continue with the script, cause I donno if I'll get my problem solved or not. my friend chrrox suggested using meshOps, by cloning and collapsing to mesh edit only then carry out my operations... it may have to come down to that.
No Fly Ideas, are ideas I had, but I can't invision in my head how it would work.. basically I don't think they would even be possible with my current abilities...
on another note, I was hanging around hongfire and found some really good concept art ideas... I was like WOW.. their good mid-evil mystical / fantasy type character ideas.. some which I might want to make up in brawl.. ^_^
anyway google, surf deviant art, find good concept ideas and bring them here! yes.
like megaGirl.. thats hot
ok here are some of the concepts I found from the verta CG set, hope you like some of them
size doesn't matter, its the format that does. maybe your file breaks the format, or is missing something.
usually game files are 100 - 500kb for a whole model file. some 500 - 1mb it's basically the texture data that takes all that space up. the rest is pretty condensable data, that can get even smaller once zlib'd
the Max default morpher, works by moving the common vertices... when this is broken the morph cannot work.
someone made a script called face morpher, it somehow moves the face, regurdless of the verts between the 2 models.
google scriptspot, facemorpher. play with it and you'll unstand what I mean....
basically morph a good mesh into your modified mesh. then morph that to your vert cloud.. its a run around until I fix the script, or the new app by das donkey is released.
I have to fix my script, I'm using edit poly to do my operations, but it's converting the models geometry, in some causes causing it to be incompatible. (this can be fixed using faceMorpher instead) but I'll need to change over from EditPoly to EditMesh.. but I'm not sure of the max commands for that one.
also try collapsing the modifier stack, that might do the trick
as more fixes and developments come, I'll be sure to post about it
-- fn writeBElong fstream = ( -- long = readlong fstream -- long = bit.swapBytes long 1 4 -- long = bit.swapBytes long 2 3 -- return long -- )
-- fn readBEshort fstream = ( -- short = readshort fstream -- short = bit.swapBytes short 1 2 -- return short -- ) fn ReadFixedString bstream fixedLen = ( local str = "" for i = 1 to fixedLen do ( str += bit.intAsChar (ReadByte bstream #unsigned) ) str )
filetest="" while(filetest!="tristrips") do( file=bit.intAsChar (ReadByte f #unsigned) if file=="<" do( filetest=readFixedString f 9 triStripOffset=((ftell f)+7) fseek f -9 #seek_cur ) if filetest=="tristrips" then exit )
if triStripOffset!=undefined do( fseek f triStripOffset #seek_set faceCount="" do( file=bit.intaschar (ReadByte f #unsigned) if file=="\"" then exit if file!=" " do( faceCount+=file ) ) while (file!=" ") faceCount =(faceCount as float)
while(ftell f!=end) do( file=bit.intAsChar (ReadByte f #unsigned) if file=="<" do( filetest=readFixedString f 2 if filetest=="p>" then exit ) )
fseek f -4 #seek_cur start=ftell f -- while(ftell f!=end) -- do( -- file=bit.intAsChar (ReadByte f #unsigned) -- if file=="/" do( -- filetest=readFixedString f 9 -- if filetest=="tristrips" then exit -- ) -- ) -- last=ftell f -- stripSize=(last-start)
-- fseek f start #seek_set -- StripRead="" -- for x = 1 to stripSize do( -- StripRead+=bit.intAsChar (ReadByte f #unsigned) -- ) -- StripRead as stringStream -- fr=readDelimitedString StripRead " "
faceArray=#() stripCount=#() for x = 1 to faceCount do( counter=0 do( fseek f -1 #seek_cur file2=bit.intAsChar (ReadByte f #unsigned)
if file2=="<" then exit
face=""
do( file=bit.intAsChar (ReadByte f #unsigned) if file==" " then exit if file=="<" then exit if file!=" " do(face+=file)
)while(file!=" ")
face=(face as float) append faceArray face counter+=1 )while(file2!="<")
append stripCount counter fseek f 27 #seek_cur )
-- print faceArray -- print stripCount fclose f gc()
createFile (fpath+fname+"_strips.bin") s = fopen (fpath+fname+"_strips.bin") "ab" for x = 1 to stripCount.count do( write=writeshort s 0x0098 write=writebyte s (stripCount[x]/3) for i = 1 to stripCount[x]/3 do( write=writeshort s (bit.swapBytes (faceArray[1]) 1 2) write=writeshort s (bit.swapBytes (faceArray[2]) 1 2) write=writebyte s 0x00 write=writeshort s (bit.swapBytes (faceArray[3]) 1 2) deleteItem faceArray 1 deleteItem faceArray 1 deleteItem faceArray 1
) -- gc light:false delayed:false )
fclose s gc()
) wh = ftell f print wh
-- totalLength=readBElong f -- mdl0Offset=readBElong f -- nodeId=readBElong f -- elemFlags=readBElong f -- texFlags=readBElong f -- dataFlags=readBElong f -- defSize=readBElong f -- defFlags=readBElong f -- defOffset=readBElong f -- dataLen1=readBElong f -- dataLen2=readBElong f -- dataOffset=readBElong f -- unk2=readBElong f -- unk3=readBElong f -- stringOffset=readBElong f -- index=readBElong f -- numVertices=readBElong f -- numFaces=readBElong f -- vertSet=readBEshort f -- normalSet=readBEshort f -- fseek f 20 #seek_cur -- part10Offset=readBElong f -- dataJump=totalLength-dataLen1 -- fseek f dataJump #seek_set