Users browsing this thread: 20 Guest(s)
Zelda64 Models
#31
Hi,
I'm a Zelda fan and I would love to have access to these 3D models, but I'm an artist so this things about programing are too much for me, also I use 3dsmax to work and have never used blender.

The thing is I'm planing to do some High poly models of Zelda Ocarina of Time, and the first thing I want to do is Gerudo's Fortress, I don't know if it would be possible to you to export that as an OBJ or so, so I can use it in 3DSmax.
If you want to check some of my fanart here is my DA account, hope this isn't considered as spam.

http://txikimorin.deviantart.com/gallery/

By the way, is amazing that you can take those models out, especially those like Ganon, which are models that i'd love to see in detail because in the game it's almost a silouete, and I will have to do a Link vs Ganon fight some day.

Thanks anyway!
Thanked by:
#32
Hey Txikimorin, please read our forum rules and the Request Rules, please don't request rips or anything until you meet the requirements, we're getting swarmed by people only coming in to ask for things and that's not good for the community and bothersome for the regulars.
Thanked by: Garamonde
#33
(04-30-2013, 06:44 PM)Txikimorin Wrote: Hi,
I'm a Zelda fan and I would love to have access to these 3D models, but I'm an artist so this things about programing are too much for me, also I use 3dsmax to work and have never used blender.

The thing is I'm planing to do some High poly models of Zelda Ocarina of Time, and the first thing I want to do is Gerudo's Fortress, I don't know if it would be possible to you to export that as an OBJ or so, so I can use it in 3DSmax.
If you want to check some of my fanart here is my DA account, hope this isn't considered as spam.

http://txikimorin.deviantart.com/gallery/

By the way, is amazing that you can take those models out, especially those like Ganon, which are models that i'd love to see in detail because in the game it's almost a silouete, and I will have to do a Link vs Ganon fight some day.

Thanks anyway!

No worries, Blender can export wavefront .obj. The ganondorf and ganon models will give you hell though. they both use the same hierarchy layout, and the limbs are rotated weird compared to other zobjs.

Anyway, sorry I take such a long time to respond...the truth is, I've kinda gotten bored lately with both modding and programming Shy
It's been an obsession for the past couple of years, and during the past month or two, I've kinda been taking the time to step back and think.

All but 2 or so of my programs are modding related, and as much as I love the Zelda series, it's just not getting me anywhere. I'm not gonna say I'll never work on the script anymore, but it's not really on my todo list.
The only things that aren't implemented are non-hierarchical dlist loading, combiner mux interpreting, and animation importing. Not trying to dump the workload on anyone else, but if any python programmers wanna patch it up, you can find info on each of those things in the following links

display list documentation (for non-hierarchical dlist loading)
combiner mux-ing / multi-texturing (see n64 texture crapper source at bottom of page 1)
animation format
Thanked by:
#34
I knew about zSaten and thanks to your work and of course http://wiki.spinout182.com/w/Animation_Format I did the anime part,

http://glitchkill.proboards.com/index.cg...post=63969

People are asking for it, so get here, http://www.mediafire.com/download/exbwc4...rt_z64.rar

my code is not that good, but it worked ok Tongue I did not even know what was python language, learned the basic as fast I could and needed, only to make it works for what I wanted, dump Link's animes. Never to any end user.

So the basic is, for normal models just load it and choose the anim to play on the menu's importer, blender may hang for a moment, looks like blender is multicore only for render stuff, it is better to open the console window before open the .obj to see what is happening on the log.

By default it load 1 anim at a time, if want other anim -> new -> load again.

For Link anims, has to have "link_animetion.zdata named as segment_07.zdata"
and "gameplay_keep.zdata named segment_04.zdata" on same folder of link .zobj
same for link's MM

for link animes I'd made some codes to load varius animes 'on the same load' that I wanted and in the order that I wanted, it is on a block comment on the code, if you know what you are doin just do it there, and also T pose him, so I could caracter him on MotionBuilder.

Can't get rid of a blender warning "convertViewVec: called in an invalid context" on translations so...
That is all.


Update: To load anims from object_ganon, object_zl2 etc, just rename the correspondent object anime to "segment_0F.zdata" and check the ExternalAnim button on the importer menu.


Thanks again to the original autor, SoulofDeity.
Sorry my English, it's not my language.
See Ya.
#35
wow Big Grin I didn't expect someone to jump on it so soon Genki ^_^

Those warnings might be caused because you need to pass the active scene context to it or something. Anyway, great job!
Thanked by:
#36
(06-11-2013, 04:39 PM)SoulofDeity Wrote: wow Big Grin I didn't expect someone to jump on it so soon Genki ^_^

Those warnings might be caused because you need to pass the active scene context to it or something. Anyway, great job!

Yes, I saw something like that on Blender's forum, but since it worked, I didn't looked for it anymore. Tongue.

Thanks.
Thanked by:
#37
Question 
Hey did anyone here figure out how to get all of object_ganon animations to play in Blender ? Smile
Thanked by:
#38
(06-13-2013, 09:04 AM)Leo22 Wrote: Hey did anyone here figure out how to get all of object_ganon animations to play in Blender ? Smile

Hi, https://sites.google.com/site/flotonic65...zobjdoc#af
it has separate animetions files for it... more work to be done.

Updated it there.

See Ya.
Thanked by:
#39
(06-03-2013, 03:19 AM)SoulofDeity Wrote: Anyway, sorry I take such a long time to respond...the truth is, I've kinda gotten bored lately with both modding and programming Shy
It's been an obsession for the past couple of years, and during the past month or two, I've kinda been taking the time to step back and think.

Bummer. As good as you seem to be, I'd hoped you would have turned your attention to other titles lacking good extractors, like SSBM.

Yeah, I'm kinda biased towards that game, and really think it needs an extractor that's at the level of BRRES Viewer.
Thanked by: Garamonde
#40
(06-15-2013, 01:35 PM)Tiberious Wrote:
(06-03-2013, 03:19 AM)SoulofDeity Wrote: Anyway, sorry I take such a long time to respond...the truth is, I've kinda gotten bored lately with both modding and programming Shy
It's been an obsession for the past couple of years, and during the past month or two, I've kinda been taking the time to step back and think.

Bummer. As good as you seem to be, I'd hoped you would have turned your attention to other titles lacking good extractors, like SSBM.

Yeah, I'm kinda biased towards that game, and really think it needs an extractor that's at the level of BRRES Viewer.

I've worked with BMD files before, but other than that I'm not really familiar with GC / Wii formats. I have an unfinished v4 script on my pc that allows the use of memory maps and would make ripping texture animations or models from other n64 games using the f3dex2 microde a lot easier; but it's not something that can just be crazy-glued to a working script. It's an entire rework of how all data is addressed.

btw RodLima, I forgot to mention that you can make the animations import a lot faster if you buffer segment 7. that's how the model itself imports so fast.
Thanked by:
#41
Quote:btw RodLima, I forgot to mention that you can make the animations import a lot faster if you buffer segment 7. that's how the model itself imports so fast.

Um, but the normal models that don't use the segment_07 took same time to import, I think it take some time because blender uses only one core to do the python Transforms, it takes twice the time on my old AMD 3 cores compared to my I5, and on the code I did not make the math for the next frame,

ex: frame 1: limb_6 Rot X=90, frame 2: limb_6 Rot X=92, I can't just put 92 again above the previous Rot X, it should be previous + 2, and I did not realise well how the python list works.

On UnrealScript we just make:

Var array<Rotator> Frame;

Frame[0].Pitch = 90
Frame[1].Pitch = unpack_from( Frame 1: Rotation.Pitch value ) - Frame[0].Pitch;
something like that

Did not understand the python list easily so gave up.

and I'd to repose the model before the next frame, to use frame 2: limb_6 Rot X=92, and it cost twice the process time.
Thanked by:
#42
(06-18-2013, 09:31 PM)RodLima Wrote:
Quote:btw RodLima, I forgot to mention that you can make the animations import a lot faster if you buffer segment 7. that's how the model itself imports so fast.

Um, but the normal models that don't use the segment_07 took same time to import, I think it take some time because blender uses only one core to do the python Transforms

that shouldn't be a problem at all. if the script can convert / export 20+ textures and locate / import 21 + display lists, texture / position / and skin all of them instantaneously, there's no reason why a few matrix instructions should cause it to lag out so badly. All modern games execute hundreds of matrix instructions a second.

The only thing that should cause such a bad lag is if you're using file operations. Aside from segment_07, are you using the already buffered data for segment_05/06, or are you using a file handle?

EDIT:
As far as arrays in python go, its simple.

Code:
myarray = []   # initialize an empty array
myarray = [0, 2, 3]  #initialize an array
myarray[0] = 1   # assign an element
myarray[1:]   # this is a slice of just [2, 3]
myarray[:1]   # this is a slice of just [1, 2]
myarray[:-1]  # this is a slice of just [1, 2]
myarray.append(4)   # add 1 item to an array
myarray.extend([4])  # add items from another array to this array
offset = 0
val = unpack_from(">L", myarray, offset)[0]   # read a big endian unsigned long value (long = 32 bit) from the array

# unpack_from returns a tuple. the first argument is the format specifier where:
#    > = big endian,    < = little endian
#    capital letter = unsigned, lowercase letter = signed
#    B = byte,   H = halfword (16-bit, 2 bytes)  L = long (32-bit, 4 bytes)
# if you did unpack_from(">LLL", myarray, offset), it would return a tuple with 3 items because 3 L's

# how to buffer a file
file = open(filename, 'rb')
myarray = file.read()
file.close()
Thanked by:
#43
(06-19-2013, 06:35 AM)SoulofDeity Wrote:
(06-18-2013, 09:31 PM)RodLima Wrote:
Quote:btw RodLima, I forgot to mention that you can make the animations import a lot faster if you buffer segment 7. that's how the model itself imports so fast.

Um, but the normal models that don't use the segment_07 took same time to import, I think it take some time because blender uses only one core to do the python Transforms

that shouldn't be a problem at all. if the script can convert / export 20+ textures and locate / import 21 + display lists, texture / position / and skin all of them instantaneously, there's no reason why a few matrix instructions should cause it to lag out so badly. All modern games execute hundreds of matrix instructions a second.

The only thing that should cause such a bad lag is if you're using file operations. Aside from segment_07, are you using the already buffered data for segment_05/06, or are you using a file handle?

EDIT:
As far as arrays in python go, its simple.

Code:
myarray = []   # initialize an empty array
myarray = [0, 2, 3]  #initialize an array
myarray[0] = 1   # assign an element
myarray[1:]   # this is a slice of just [2, 3]
myarray[:1]   # this is a slice of just [1, 2]
myarray[:-1]  # this is a slice of just [1, 2]
myarray.append(4)   # add 1 item to an array
myarray.extend([4])  # add items from another array to this array
offset = 0
val = unpack_from(">L", myarray, offset)[0]   # read a big endian unsigned long value (long = 32 bit) from the array

# unpack_from returns a tuple. the first argument is the format specifier where:
#    > = big endian,    < = little endian
#    capital letter = unsigned, lowercase letter = signed
#    B = byte,   H = halfword (16-bit, 2 bytes)  L = long (32-bit, 4 bytes)
# if you did unpack_from(">LLL", myarray, offset), it would return a tuple with 3 items because 3 L's

# how to buffer a file
file = open(filename, 'rb')
myarray = file.read()
file.close()

Ok nice, I'm using the segment data that you had made
Looking at your code I believe it is the first thing done

Code:
if self.loadOtherSegments:
         for i in range(16):
            f3dzex.setSegment(i, fpath + "/segment_%02X.zdata" % i)

And I'd learned how to extend and add to a list, and what the unpack_from means, after all I'd made it work, I just wish that it was more like C or UnrealScript that has a Rotator structure already made.

Code:
// An orthogonal rotation in 3d space.
struct immutable Rotator
{
    var() int Pitch, Yaw, Roll;
};

Code:
self.offsetAnims = []
self.offsetAnims.extend([i])
self.offsetAnims[self.animTotal] = (0x06 << 24) | i
self.animTotal += 1
this part is done fast.

since you load a Link's walk anime that has 20 frames and it took about 3 sec to load, and the Link's biggest anime 365 frames and it took about 60 sec to load and at this point the code only acess the self.offsetAnims[] array already defined and some unpack_from calls. That is really fast, if you blockcomment the transforms code, and load Link anime 33 - 365 frames, it takes about 0.5 sec to load.

So, the part that take time IS the transform thing, rotate 20 joints for Link on 3 axes each on a for loop is not cheap to a single CPU core, I know there is constant joints and it could be skipped, but don't care about it.

if you look at my code, you wiil see how I did it and will realise that 80% of my code I just copied from zanime64 and zsaten, and a lot of thing could have been done another way.

But again, I know that you just want to help, but I'm done whit this, like I said before it was my first and last python code, don't want to mess with
python never again, I'm comfortable with C, C++, java, UnrealScript etc...

don't like to code something that if you had an invisible TAB or Space, it keep throwing error at our face!

And I did not made the anime part for anyone, it was just to me, I'm not comfortable on ask thing to anyone, so did not wanted to bother you, I'd made it only to dump Link's animes, and I already done this, 573 animes dumped, and put it to UDK as .PSA animes.

As you said
Quote:Not trying to dump the workload on anyone else, but if any python programmers wanna patch it up
and someone PM me askin for it, so I'd uploaded it.

Some day at the past, I was really considering on make some C code to Read Only the Link's rotation bones so I could manually set it on maya, how much time it would cost to me? More that some secs that is for sure.

And thanks to your project, the final result was infinitely better than I could ever dreamed.

I know it is slow, but I'm not in a hurry. Tongue


Thanks.
Thanked by:
#44
no prob. I don't blame you for not wanting to mess with python either. between you and me, python's library support is total shit and there are so many differences between revisions and platform restrictions that downloaded scripts rarely work. I personally would've preferred if Blender had used ECMAScript or a derivative with support for classes and typing like UnityScript.

thanks a lot for your work with the animations Smile not gonna lie, I most likely would've never finished it Tongue
Thanked by:
#45
(06-19-2013, 09:36 PM)SoulofDeity Wrote: no prob. I don't blame you for not wanting to mess with python either. between you and me, python's library support is total shit and there are so many differences between revisions and platform restrictions that downloaded scripts rarely work. I personally would've preferred if Blender had used ECMAScript or a derivative with support for classes and typing like UnityScript.

thanks a lot for your work with the animations Smile not gonna lie, I most likely would've never finished it Tongue

Oh man I know what you mean, I know that you wanted some kind of demand for it, but I really needed it, and since you said that someone could continue, if you had not said that, trust me I never would uploaded it, I would keep it only for me and just thank you for started it.

But hey, it is not "finished" you can refine it and add more stuffs I'm sure everyone will give you a lot of support.

Thanks.
Thanked by:


Forum Jump: