Jump to content
  • 0

A big issue all hackers for Zelda OOT/MM are facing


Zeth Ryder
 Share

Question

We lack a proper tool to do .obj conversion into F3DEX2 displaylist. So is there anyone willing to make such a tool or at least release info/documentation on how to do correct vertex normals, texture conversion, etc cause atm, the community is without a very vital tool. Without this, no new NPCs, no new objects can be made without having to manually convert them. (and spinout I can't get your tool to work at all nor is it very user friendly x.x;)

Link to comment
Share on other sites

Recommended Posts

  • 0

It's funny you should mention this, I'm in the process of rigging an NPC for OoT. I did slight yet very hackish modifications to a couple of tools and a fair bit of hex editor work and have a method down but it is a complex setup with many shortcuts which would took me a long time to figure out and would take even longer to explain. I suppose I could make a few "hack" releases of the modified tools - but in all fairness the tools were modified specifically for the job I'm currently doing, and fail my personal standards for software I wish to publish.

 

EDIT: actually, what the hell. I'll review my method:

  • Build each component of charachter.

  • Correct normals in modeling software.

  • Export each with their own origins to their own obj. (I'm using SU pro built-in OBJ exporter, no problems so far)

  • Modify the objs to all use the same mtl file.

  • Ensure all images are non-interlaced PNG (objn64tool bug. Ideal new builds will use librawimg, but that doesn't support BMP yet anyways)

  • Import them all at once as separate display lists, so you don't repeat texture data for each piece of the model (requires a special build of objn64tool)

  • Build hierarchy by hand in hex editor. I used a couple of lines at the python interpreter to help me out with the more redundant parts.

  • Build animation(s) by hand in hex editor

  • Configure animations and hierarchy in z64anim (I now am running into the bug where it won't save changes. Just save with a different file name then save to the original name again. It will eventually save. Double check that the changes were saved by loading the file in another instance of z64anim)

  • Realize that you need to remodel 60% of the model. Return to first step, repeat. The hierarchy and animation can be reused if you don't change the bone structure again, you just have to fix any pointers that changed (basically all of them)
Link to comment
Share on other sites

  • 0

I think what we need is a collaborative effort from the community's programmers to produce a set of tools that are easy to use. spinout, the main thing that hampers your programs is a lack of GUI. You kind of need it when working with 3D. But xdan has that down, and on multiplatform. He's also a very competent programmer in his own right.

 

Another thing we need is support for per-vertex editing. Once a model is complete, it'd be nice to be able to manually set vertex properties, perhaps save the additional data into an array or something. Or start using plaintext .x files instead of .obj, since .x supports vertex colour and alpha. Both would be even better.

 

Collaboration is my main point here, though.

Link to comment
Share on other sites

  • 0

I just want a converter that works on converting .obj to F3DEX2 list that are used in zobjs. Trying to do this manually is a PITA cause you don't know scaling until you literally get ingame and then have to rescale manually the entire object again and reconvert. This is a long process that is honestly a waste of time when it could be done easier. Sadly I don't have the programming knowledge to do such things where puts me in a situation of not being able to just do it myself. So this leaves the URA Project, the community, and other future projects without a means to make zobjs unless they feel like spending a few hours converting dlist.

Link to comment
Share on other sites

  • 0

Arcaith: Yes, a community collaboration would be great. Re: GUI, I've found that knowing hotkeys on the keyboard is much faster than moving the mouse around all the time, in both SU and z64anim.

I just want a converter that works on converting .obj to F3DEX2 list that are used in zobjs. Trying to do this manually is a PITA cause you don't know scaling until you literally get ingame and then have to rescale manually the entire object again and reconvert. This is a long process that is honestly a waste of time when it could be done easier. Sadly I don't have the programming knowledge to do such things where puts me in a situation of not being able to just do it myself. So this leaves the URA Project, the community, and other future projects without a means to make zobjs unless they feel like spending a few hours converting dlist.

 

Objects, unlike maps, can easily be scaled in the actor.
Link to comment
Share on other sites

  • 0

There isn't really, in my opinion, a "correct way" to convert OBJ to F3DZEX Display Lists. Certain vertex colors and commands need to be applied to achieve different effects. (i.e the Master Sword "Shinyness") Nintendo, I think, had these programs to make a F3DZEX Display List from a .C file?

 

I don't really think the problems are the converter, but rather the model format we're working with and the limitations of programs are based around that.

 

Say we were working with .DAE files. (For an example) We could have made a program to export NPC files with a bone structure and then re-import new files. This is similar to what Brawl modding has advanced to. Currently, my process, as you know, is to use multiple programs together with SharpOcarina. Sometimes the process is shorter than other times depending on the amount of texture data converted. I can explain the process if you'd like, and you might think it would be really easy.

Link to comment
Share on other sites

  • 0

Arcaith: Yes, a community collaboration would be great. Re: GUI, I've found that knowing hotkeys on the keyboard is much faster than moving the mouse around all the time, in both SU and z64anim.

Objects, unlike maps, can easily be scaled in the actor.

 

But that doesn't help the situation if you're and upgrading current objects with a newer one, you have to literally scale manually to match current bounding collision otherwise everything is going to be off.
Link to comment
Share on other sites

  • 0

What's not to understand about the usage of objn64tool? Of course, it won't generate a hierarchy and animations, but it will generate collision for a specified obj file.

 

I'm pretty sure I'm not entirely understanding the problem because it seems like there are already plenty of solutions for it besides issues concerning building a hierarchy and modifying vertex colors. I do agree, however, that a GUI or comfortable user interface be made for these sorts of programs and that scaling is quite an issue for those who don't understand how actors work.

 

http://wiki.spinout182.com/w/Libobj

 

It might also be beneficial to look at marshallh's OBJN64 if you're interested in display lists in C:

http://z64.spinout182.com/index.php/topic,174.0.html

  • Like 1
Link to comment
Share on other sites

  • 0

What's not to understand about the usage of objn64tool? Of course, it won't generate a hierarchy and animations, but it will generate collision for a specified obj file.

 

I'm pretty sure I'm not entirely understanding the problem because it seems like there are already plenty of solutions for it besides issues concerning building a hierarchy and modifying vertex colors. I do agree, however, that a GUI or comfortable user interface be made for these sorts of programs and that scaling is quite an issue for those who don't understand how actors work.

 

http://wiki.spinout182.com/w/Libobj

 

It might also be beneficial to look at marshallh's OBJN64 if you're interested in display lists in C:

http://z64.spinout18...opic,174.0.html

 

I couldn't get spinout's program to work, it just wouldn't run. D:
Link to comment
Share on other sites

  • 0

BMP textures don't seem to be working with it. I use PNGs strictly.

 

Png does not work either. Apparently the converter does NOT accept textures that are palettized which is something I do with my textures to help keep that at a very low size. instead of having them 8 bit RGB channels,

I decrease them down to 16 colour palette. Also my UV coordinates are getting fucked up too.

Link to comment
Share on other sites

  • 0

... There are a lot of bugs in the current release version. The version I am using is tuned too specifically to be a release version, to be quite honest I need to devote some time to using librawimg in libobj. I apologize for releasing software which doesn't work up to it's own spec. I just get bummed out that nobody expresses interest in helping me with my programs. Maybe it's the way I write them. I don't know.

Link to comment
Share on other sites

  • 0

... There are a lot of bugs in the current release version. The version I am using is tuned too specifically to be a release version, to be quite honest I need to devote some time to using librawimg in libobj. I apologize for releasing software which doesn't work up to it's own spec. I just get bummed out that nobody expresses interest in helping me with my programs. Maybe it's the way I write them. I don't know.

 

I'm not a programmer which honestly I wish I was, it would probably make helping out a lot easier, but atm I can at least try to test, and help iron out some bugs, I'll do whatever I can to help out. Both you and Xdan are very brilliant people and what you guys write is really great, it just needs some bug fixing and fine tuning is all.
Link to comment
Share on other sites

  • 0

I think it may be the languages you use. I am not sure how widely known C and python are in the community. The higher level languages may be more prevalent. I know if there were more c#.NET, I wouldn't mind helping. The only one that uses it that I know of is xDaniel and he isnt taking helpers as far as i know :)

 

Plus he changes projects so frequently (no offense)

Link to comment
Share on other sites

  • 0

The only one that uses it that I know of is xDaniel and he isnt taking helpers as far as i know :)

 

Plus he changes projects so frequently (no offense)

 

Well, I'd gladly accept help if people asked me, while at the same time I don't want to go around asking for help myself, besides maybe for beta testing. I guess I don't want to come across as... deperate or something. In turn, the changing of projects often stems from either getting bored or frustrated with a project, especially if it started out well, and then devolved into an unsightly mess - guess which project I'm alluding to.

 

So by all means, haddockd and anyone else interested - especially regarding SO I suppose -, if you do know C# and don't mind looking through a hunk of poorly written code, have a look at it, the known bugs it has and have a go at fixing and improving it. I still think a full, better-planned replacement for it would be the best course of action (not with me at the helm, tho, as mentioned), but at least getting rid of the most significant bugs could still be worthwhile.

Link to comment
Share on other sites

  • 0

I'm feeling the same way as Zeth; I'd love to help if programming were my thing, but in the few experiences I've had with it, I find it to be a fairly difficult aspect of modding to work with. Needless to say, though, I'm always glad to help beta test programs when I can find the time; I just usually don't do so unless asked to.

Link to comment
Share on other sites

 Share

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.