The VG Resource

Full Version: (Another) Zelda Ripping Project!
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
(05-31-2021, 04:43 PM)Starkium Wrote: [ -> ]I'm back again, looking to get models from OOT 3d and MM 3d, what programs should I use? I have no problem doing textures by hand, but I need the vertex colors on the models intact. Google search results are a mess.
Currently got the stuff from models resource loaded up into a UE4 oculus quest project. Whole thing is working with vertex lighting.

Smile You got it almost 100% correct.

[Image: Hyrule-Field.jpg]

[Image: Spirit-Temple.jpg]

You're missing out on something important regarding the vertex colors. You need a shader that multiplies the vertex color output by 2.
This way, the colors get more contrast to really make the scene pop, similar to fake lighting baked in.
As well as have the scenes extracted with a tool and Blender version that doesn't botch values f.e. uv accuracy and missing alpha.

https://drive.google.com/file/d/1y-WyflS...sp=sharing //The game files (Some rips available online had damaged cmb files. This one is correct)
https://drive.google.com/file/d/12hjyGDA...sp=sharing //The importer for Blender which exports characters with rig. [Outdated]
https://drive.google.com/file/d/1rUvO95N...sp=sharing //The special Blender version that support vertex color alpha channel.
https://drive.google.com/file/d/1uEUb5Jf...sp=sharing //The game's soundtrack accurately converted to midi with correct soundfont. (Sounds like the real thing)
https://drive.google.com/file/d/1VXFWNYC...sp=sharing //Wanna get those eye and mouth textures from characters.

[Image: Link.jpg]

P.S. Sometimes you need to disassemble the cmb from the zsi. You can easily do this in HxD. All you need to do is cut out the first part of the file until 'cmb'.

[Image: HxD.jpg]

After that, just rename the file extension to cmb.

EDIT - Whoops, I forgot to make links accessible for everyone. Now downloads should work.
          Also, huge thanks to M-1, as he's the one who created the importer.
          https://github.com/M-1-RLG

EDIT 12/11/21 - I suggest following Meltyplayer's model utility as well. It extracts the game's model library in it's entirety to both fbx and gltf2 and can be easily navigated through Noesis.
https://github.com/MeltyPlayer/FinModelUtility

EDIT 29/06/22
https://github.com/MeltyPlayer/OoT3D-Importer
Use this one to import cmb files instead of the older version.
Sweet! Do you know if there's any fixed versions of the Majora's Mask 3d files? A few of the model .cmb files are broken there, too.
I too would like the Majora's Mask 3D correct files, if at all possible!
hello, this is my first time on a forum.
I'm already trying to rip the oot3D models for a long time but whenever I use the N3DSCmbViewer program the model comes broken and without the skeleton to animate so...I wanted to know if someone could explain to me how to fix this, I appreciate it...
Cute
Please look above you.. https://github.com/MeltyPlayer/OoT3D-Importer
This version improved by Meltyplayer even supports animation.
(09-25-2021, 04:44 AM)Alvare Wrote: [ -> ]Por favor, olhe acima de você .. https://github.com/MeltyPlayer/OoT3D-Importer
Esta versão aprimorada por Meltyplayer suporta até animação.

Hello again Smile
So i would like to thank you from my heart for making this file available.
Many years trying to fix these files and never got it.
So i´m here to thank everyone who helped me. Shy
Hello.

I am looking for the models for the BOTW - Soldier armour; I can find the helmet , but not the models for torso and legs. 
Does anyone have them?
(07-25-2021, 08:17 AM)Alvare Wrote: [ -> ]
(05-31-2021, 04:43 PM)Starkium Wrote: [ -> ]I'm back again, looking to get models from OOT 3d and MM 3d, what programs should I use? I have no problem doing textures by hand, but I need the vertex colors on the models intact. Google search results are a mess.
Currently got the stuff from models resource loaded up into a UE4 oculus quest project. Whole thing is working with vertex lighting.

Smile You got it almost 100% correct.

[Image: Hyrule-Field.jpg]

[Image: Spirit-Temple.jpg]

You're missing out on something important regarding the vertex colors. You need a shader that multiplies the vertex color output by 2.
This way, the colors get more contrast to really make the scene pop, similar to fake lighting baked in.
As well as have the scenes extracted with a tool and Blender version that doesn't botch values f.e. uv accuracy and missing alpha.

https://drive.google.com/file/d/1y-WyflS...sp=sharing //The game files (Some rips available online had damaged cmb files. This one is correct)
https://drive.google.com/file/d/12hjyGDA...sp=sharing //The importer for Blender which exports characters with rig.
https://drive.google.com/file/d/1rUvO95N...sp=sharing //The special Blender version that support vertex color alpha channel.
https://drive.google.com/file/d/1uEUb5Jf...sp=sharing //The game's soundtrack accurately converted to midi with correct soundfont. (Sounds like the real thing)
https://drive.google.com/file/d/1VXFWNYC...sp=sharing //Wanna get those eye and mouth textures from characters.

[Image: Link.jpg]

P.S. Sometimes you need to disassemble the cmb from the zsi. You can easily do this in HxD. All you need to do is cut out the first part of the file until 'cmb'.

[Image: HxD.jpg]

After that, just rename the file extension to cmb.

EDIT - Whoops, I forgot to make links accessible for everyone. Now downloads should work.
          Also, huge thanks to M-1, as he's the one who created the importer.
          https://github.com/M-1-RLG

EDIT 12/11/21 - I suggest following Meltyplayer's model utility as well. It extracts the game's model library in it's entirety to both fbx and gltf2 and can be easily navigated through Noesis.
https://github.com/MeltyPlayer/FinModelUtility

OMG Thank you! Bro I've been porting OOT and MM to oculus quest as art research. This is going to be a tremendous help. 

Getting this as glTF2 is even more interesting. I wonder what I can do with that

*EDIT* Is there a list of what file is what somewhere? Opening all of them one by one to find stuff is annoying.
Holy cow guys!! You've made some amazing progress since I checked this forum last!! Way to go!! Y'all have no idea how happy this makes me, keep up the great work everyone!! Big Grin
(07-25-2021, 08:17 AM)Alvare Wrote: [ -> ]
(05-31-2021, 04:43 PM)Starkium Wrote: [ -> ]I'm back again, looking to get models from OOT 3d and MM 3d, what programs should I use? I have no problem doing textures by hand, but I need the vertex colors on the models intact. Google search results are a mess.
Currently got the stuff from models resource loaded up into a UE4 oculus quest project. Whole thing is working with vertex lighting.

Smile You got it almost 100% correct.

[Image: Hyrule-Field.jpg]

[Image: Spirit-Temple.jpg]

You're missing out on something important regarding the vertex colors. You need a shader that multiplies the vertex color output by 2.
This way, the colors get more contrast to really make the scene pop, similar to fake lighting baked in.
As well as have the scenes extracted with a tool and Blender version that doesn't botch values f.e. uv accuracy and missing alpha.

https://drive.google.com/file/d/1y-WyflS...sp=sharing //The game files (Some rips available online had damaged cmb files. This one is correct)
https://drive.google.com/file/d/12hjyGDA...sp=sharing //The importer for Blender which exports characters with rig.
https://drive.google.com/file/d/1rUvO95N...sp=sharing //The special Blender version that support vertex color alpha channel.
https://drive.google.com/file/d/1uEUb5Jf...sp=sharing //The game's soundtrack accurately converted to midi with correct soundfont. (Sounds like the real thing)
https://drive.google.com/file/d/1VXFWNYC...sp=sharing //Wanna get those eye and mouth textures from characters.

[Image: Link.jpg]

P.S. Sometimes you need to disassemble the cmb from the zsi. You can easily do this in HxD. All you need to do is cut out the first part of the file until 'cmb'.

[Image: HxD.jpg]

After that, just rename the file extension to cmb.

EDIT - Whoops, I forgot to make links accessible for everyone. Now downloads should work.
          Also, huge thanks to M-1, as he's the one who created the importer.
          https://github.com/M-1-RLG

EDIT 12/11/21 - I suggest following Meltyplayer's model utility as well. It extracts the game's model library in it's entirety to both fbx and gltf2 and can be easily navigated through Noesis.
https://github.com/MeltyPlayer/FinModelUtility
So why should I use this method over the cmbviewer? like what are the benefits of this vs cmbviewer? it seems like more steps with the same end result. Especially since you can just dump the .dae file with cmbviewer and open that in blender and not have to worry about possible coding issues while manually converting the .zsi into a .cmb... so am I missing something? Does this "special" blender version automatically apply the alpha textures in with the material so you don't have to do it manually? Are a lot of files frequently missing the alpha when imported? I've not had a problem with that.. 
You said the IO scene master exports characters with rigs but so does cmb viewer? Explanations would be GREATLY appreciated.

Edit: I just did some tests and realized that using the cmbviewer the skeleton does not exported with the dae file, which I thought it did. The question I still have is this the only benefit? Granted it's a good benefit but only useful if you're trying to export characters, and also I did still use the cmb viewer, I just extracted the cmb instead of exported a dae file.

Edit 2: Importer works fine with the special version of blender but blender won't export a .dae or .fbx with textures and in the case of the .dae it won't even export the model correctly. Not sure why this is happening, I dumped the .dae file because that's the only way I could get it to dump the textures with it and I applied those textures to the model with the skeleton and the UVs were correct, however I tested the skeleton and it wasn't rigged to the model at all, so unless I'm doing everything wrong it appears that the current method still requires manual rigging.
Yeah, I'm not sure why some people are insisting that we need some ancient Blender version. I've seen that mentioned in other places too. Blender 2.8+ is perfectly capable of rendering and mixing vertex colors. Here's a screenshot comparing my scene (bottom) rendered in Blender 3.1 -- but I'm pretty sure the Vertex Color node has been there since 2.8 (or maybe 2.9).

[Image: 7wlGx0l.png]

My render is nearly identical. Not perfect, but good enough -- it gets the "feel" right, and it took minimal effort. The only issue I had was that the river texture was missing on the DAE export, so I had to assign that texture manually.

But yeah, I even applied the shader math the same as Starkium (oops, I meant Alvare) described:
Code:
vertexColor * 2 * baseColor

[Image: 2fALCpu.png]

The Vertex Color Node is going into a multiply node where the RGB is multiplied by (2,2,2). The color sliders only go from 0.0 to 1.0, but you can actually type in a value of 2 manually and the math works out fine.

Blender does botch the color appearance a bit **at first glance**, but the actual underlying color vertex data shouldn't be destroyed I don't think -- we just need to adjust the output. It was an easy fix: go to "Render Settings > Color Management" and bump up "Exposure" from 1.0 to 1.2. Now the colors are like 99% correct. Oh, also make sure the other Color Management Settings are on "sRGB", "Standard," and "Medium High Contrast."

Alpha transparency works fine too, look at these trees:
[Image: 3eNPtxh.png]

You just have to plug the ALPHA channel of the image into the ALPHA slot of the BSDF shader:

[Image: h9eLv9O.png]

Then make sure that Blend Mode is set to "Alpha Clip", with optional "Back Face Culling".
[Image: 88iSbaH.png]

I setup some python scripts that automate this whole process.
You will still have to set the "Color Management" settings manually for now. I might be able to add that to the script at a later date.

---

So that's what I figured out about these vertex colors. I do have one issue though: If anyone could help me out, I'd really appreciate it.

I can't figure out how to get the decompressed (is that the right word?) files for Majora's Mask. I was able to figure it out a few months ago for OoT3D and have a folder with all the ZAR files and such, which is how I was able to convert Hyrule Field and make these renders. But I forgot to write myself notes on how I did it, and I don't remember how.

I really want the maps from Majora, because I'm working on a Majora's Mask animation project, and I'd love to good clean map rips with all the vertex color data intact like this Hyrule Field test.

I have a few different CMB/ZAR model viewer programs already, but I didn't save whatever script converts the rom into a directory of model sources.

Here's a sneak peak at my project. I'm working on recreating the official Majora art effect in Blender:

[Image: Y9T0U7g.gif]

And here's a video where I did some animation tests:


Does anyone have a "Majoras Mask Romfs.zip" or a method on how I can extract the Romfs files myself?
About vertex color formula vertexColor * 2 * baseColor:

That's also the formula the PS1 used (it let's you also brighten textures instead of only darkening them). The neutral point where there's no effect on the texture is vertexColor=0.5 since 2*0.5=1. But if it's like the PS1 it's supposed to be in sRGB space. Starting in Blender 2.8, colors are passed around in linear space, so 0.5 (sRGB) will be passed into the node as 0.22 (linear) and 2*0.22=0.44 which makes things too dark. So you can try using a factor of about 4.6 instead of 2 to keep the neutral point neutral. I found this worked pretty well for PS1 models I tried. Unfortunately it loses accuracy as you move away from vertexColor=0.5, but maybe you can try it and see if it's any better than changing the global exposure.
(06-01-2022, 10:59 PM)scurest Wrote: [ -> ]About vertex color formula vertexColor * 2 * baseColor:

That's also the formula the PS1 used (it let's you also brighten textures instead of only darkening them). The neutral point where there's no effect on the texture is vertexColor=0.5 since 2*0.5=1. But if it's like the PS1 it's supposed to be in sRGB space. Starting in Blender 2.8, colors are passed around in linear space, so 0.5 (sRGB) will be passed into the node as 0.22 (linear) and 2*0.22=0.44 which makes things too dark. So you can try using a factor of about 4.6 instead of 2 to keep the neutral point neutral. I found this worked pretty well for PS1 models I tried. Unfortunately it loses accuracy as you move away from vertexColor=0.5, but maybe you can try it and see if it's any better than changing the global exposure.

Oh cool, that's good to know. I did some earlier experimentation with Vertex Coloring and noticed the same thing you mentioned: that the mid colors (0.5) seemed neutral, while the darks were darker and the lights were lighter. But I couldn't get it to look quite right in Blender 2.9 at the time because I wasn't familiar enough with the program.

I did read from somewhere that Blender made a change into using "linear space" for color and lighting calculations, which I guess is generally better for realistic 3D work, or "how humans would interpret colors" more so. But in this particular case we aren't trying to recreate a realistic 3D space, but a very specific sRGB color space, so yeah that does cause some issue.

I wasn't aware of the exact math behind linear/sRGB calculations, but I was able to correct the 0.44 color imbalance by adjusting the scene's Color Exposure to 1.2. Which, if my math is correct, may have pushed that 0.44 into being perceptually closer to 0.528, which would make it look closer to correct. Adjusting the scene exposure does work, but it also has the effect of over-brightening any object that isn't using this specific shader too.

I'll experiment with the numbers you mentioned here later though and see what I can get. You seem much more knowledgeable about the exact math of it all -- I just approach the issue from an artist perspective, so I'm eyeballing it to get colors at approximate correct values.

I don't know much python, but I skimmed over that link you posted. Is that an entire automation script to import Vagrant Story models? It looks like it even automates the "File > Import" process too, if I'm correct. I'll have to look at it closer.

Do you have a sample model I can borrow to test out your script (or point me to a link to which models you used)?

Here's an interesting thought: I know that you can change the rendering engine in a Blend file, the usual options being "Eevee, Workbench, or Cycles". And I know there used to be an older Blender Render which was scrapped to focus on improving Eevee. Would it be possible to write a 4th render engine that is specialized to render in a videogame sRGB manner? I wouldn't expect it written from scratch, more so a tweaked Eevee renderer that just adjusts some of the internal math values to be more in line with sRGB color space.
I did some tests, and it seems like 4.6 is definitely the magic number! It looks pretty close to me, though the darks aren't quite as dark, its acceptable by my standards.

For comparison:
the top-left: Alvare's original image (which I believe is a 100% accurate color representation from OoT3D).
top-right: My original image, using v * 2 * c formula, and adjusting exposure to 1.2.
bottom-right: New formula using v * 4.6 * c, and exposure reset to 1.0
bottom-left: bonus image, view from top of Death Mountain.

[Image: 6PMU5S9.jpg]

And here's a comparison of the Gerudo path entrance to the same spot on Noclip.website (which I also believe is 100% recreation):
https://cdn.knightlab.com/libs/juxtapose...95d9b17862

You can see the differences, but they're pretty minor. And part of it has to do with Eevee's lighting engine, which will always have some effect on the scene, unless you set everything to use a Diffuse material.

I also made some updates to my OoT3D script that make it easier to use. Now the script checks whether the nodes exist first, and only creates new ones if they don't -- this way you can run the script multiple times and adjust values. I also changed the "Vertex Color Multiplier" to be a variable (its x at the top of the script). So you just have to change this one number to mess with the vert color multiplier.

I'm just gonna ask again while I'm here: does anyone have the "romfs" folder for Majora's Mask files, or could help me find some instructions on how to generate my own? Googling has either led me here, or to many broken links.

There was a post a few pages back mentioning HackingToolkit9DS https://github.com/Asia81/HackingToolkit9DS-Deprecated-

But when I tried that method, I got a bunch of .bin files, but wasn't able to extract anything from them. Running the tool further just generated empty folders, so I'm not sure what I'm doing wrong.

EDIT: I eventually did figure out how to get the romfs folder for Majora. The issue I was having having was something to do with my files being corrupted from a botched decompress or something. I have no clue.

EDIT2: Ripping Majora maps coming along nice. This method seems to preserve the vertex colors/alphas well. Pics from Blender 3.1:
[Image: 8BDFLCQ.png]
[Image: OAYrhUP.png]
Nice job on obtaining Majora's Mask's files and getting the colors to look and work correctly.
You'll notice how some of MM's environments look more detailed than Oot3D's.

Btw, I didn't have the MM files for a while. Had it some time ago after searching for hours and found it somewhere in a YouTube comment.
Anyway, I have them again as well now, using the tools you mentioned.  Smile
You need the original cia files without decryption and don't have weird folder / file names. Some extractors can't read " ' " symbols too.
Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32