Oven and baking issues


#1

On some model, I got some degradation after have baked them with the Oven:

The Oven works well on clean models, but it seems to become hazardous with some organic model that has been obtained by decimation. Note that those models look good when not baked.
(I’m not using the Asset Server, but I do use the Oven executable to bake the models that I store on the web.)

I suspect that the compression issue could be difficult to solve on such models.
Also I was wondering if it could be still an advantage if we could have an option on the Oven to be able to only baked only the textures and keep the fbx untouched regarding the armature.
This way, such tricky models could keep their original aspect while enjoying the advantage of the baked textures.


#2

That’s very odd… I bake all assets and I have never seen that happen before (though the oven loves to fall apart if you shove DDS textures into it).

I actually didn’t know the FBX was touched at all but maybe that’s only for the most recent ovens. I’ll have to download/build it and see what happens.


#3

I’ve mostly noticed this sort of thing happen when I’ve put a subsurface modifier on a mesh, but haven’t UV mapped for that and allowed the exporter to apply the modifier. If this sounds like it could be what’s happening to you, you can either apply the modifier directly and UV unwrap from that, or you can still allow the exporter to apply it, but make sure that when you’re unwrapping you have the “Use Subsurface Modifier” checkbox enabled.


#4

Well it does do stuff to the UV map by the looks of it, and regarding textures, do I need to do anything special to make them show for models baked with the standalone oven?

left: original. middle: baked from asset server. right: baked with oven.exe

just a blender ico sphere, here is the UV:


I want to be a good boy and bake my stuff, I just don’t really understand how it works


#5

I always do the decimation before create the UV Map. It won’t work otherwise.
The exported fbx look fine by the way, it’s only when it is baked that it gets some degradation.

But the point here is not to have the compression fixe for any edge cases, it’s more about having a way to bake without the armature compression. (only the texture compression)
That said, good if they can fixe something, but there will have always some edge cases.


#6

I’m seriously confused. I am using an older version of the oven, and from what I’m seeing, it’s like the smoothness property is being removed. All this after finally wanting to push the oven…

EDIT: Older version seems to work fine. Sounds like something recently broke the oven.

Right: Baked
Left: Original


#7

So I went ahead and tested the latest oven on my linux server (all hail xming!).

Old Baked:

New Baked:

I am noticing a new file system for the textures, so I’m not sure if this is specific to the linux build. I will be building the oven from scratch on Windows and giving it a try shortly to validate the results.

In the meantime, could one of the devs help explain the new textmeta.json files? Are they needed? I’d rather ask than explore my log files to debug that.


#8

Hi @FlameSoulis, yeah those are necessary I believe to help link the textures. @huffman might be able to give you a better explanation, but keep them around to be safe.

(this is an example of one of them for context)
{
“compressed”: {
“COMPRESSED_SRGB_S3TC_DXT1_EXT”: “…/emissive-1_bcn.ktx”
},
“original”: “…/emissive.jpg”
}


#9

Thanks for the swift reply!

One thing that confuses me is the older version didn’t need that. What is the advantage to having so many files now?


#10

Do you know which older version you are referring to? I think also that one of the reasons the oven tool isn’t put up to much for public use, is that it’s still isn’t fully fleshed out. I know there was an update to handle the Android files better and that maybe the reason for more files. I’ll see if I can get a better answer for you.


#11

The oven tool is currently a nightmare for me. It’s slow. It should not take half an hour to bake a few 2048 images. It won’t let me bake standalone images. Every skybox I try to bake fails. There’s zero documentation on this tool. It’s a teensy tiny bit frustrating.


#12

So I got back a couple of answers @FlameSoulis.

Summary:

those should have been around for a while

They allow a client to select the best possible baked version of the texture depending on the platform
ex: so that each of a PC and android user can download the right baked texture, using the same FBX as a base (edited)
I want to say that you should only see those for skyboxes, because for fbxs we embed the texmeta.json in the fbx itself. But maybe there is an exception to that


@Marcus.Llewellyn man I’m sorry to hear that, I know that if you are hitting that, others are as well. I know there is a lot of great stuff coming down the pipeline for all types of users, and that includes domain creators for sure. Not for sure, but I think some of the work we are doing optimizing for the quest coming up will probably touch on this area as well.


#13

Ah okay, I guess that makes sense. The only issue I can see is that I don’t understand why the original is still included (as in, the original texture) since one of the biggest selling points of the oven was some protection through obscurity.

As for the previous one I used, I don’t have the version mentioned, but it was from 10/13/2017 built with Qt 5.9.

In both cases, one where I ran it on my own Digital Ocean server (2 cores), I was able to bake my own avatar in under 15 minutes, which I know was slower due to the core limit. Running it on my own system (i7 7700k 8 cores) took less than 3 minutes, for both the older and newer version.

I know that with the quest being talked about a lot, there has been a stir and constant mentioning of baking at the meetings, which is why the talk of the oven has resurfaced. If the oven isn’t ready for prime time, then things for the Quest won’t be either, and that should be taken into serious consideration, especially since the oven can be disabled for weaker servers.