![]() ![]() When you import the project to another machine, it looks into global storage and sees "model A should have modified padding". This is where model post processor gets the data from, and it's also used to check if model reimport is necessary. The optimal padding values are stored inside the global storage asset. Model post processor is the only way to alter the values of a model asset. Then ftModelPostProcessor.cs comes in and calls the unwrapping function individually for each mesh with different values. Bakery calculates texel size of every mesh in the atlas and THEN, if the checkbox is enabled, it calculates the optimal pack margin value per-mesh (not per model) and, if it's different from currently used, forces model reimport. It's not even a part of the lightmapper, but without it it's hard to get decent results. Now you install Bakery and it has this "Adjust UV padding" checkbox enabled by default. ![]() Bleeding on small objects is especially annoying. This is how it works in Unity out of the box. Tiny objects have bleeding or large objects have huge empty holes between charts. It was supposed to mean "empty texels between charts", but now it's scaled. Surprise, now the pack margin value doesn't make any sense. Unity's own atlas packer as well as Bakery packer scale each mesh differently in the lightmap atlas, so the amount of texels used per mesh is based on its world-space area. The padding value (spacing between UV charts aka "pack margin") is constant for the whole model and identical between meshes. Unity unwraps every mesh in the model individually for lightmapping. You import a model with auto-generated UVs. I wonder if it would help if I just convert global storage to e.g. I'm noticing Unity is unable to properly merge scripted asset files. I'm not sure about the whole system, hence it is not even mentioned in the docs, but eventually it should evolve into something usable. The idea is that you get the update (data + global storage), it detects the difference between global/local storages, syncs UV padding on your models and updates local storage. It should belong to an individual machine. Local Storage asset should not be pushed to repo. Version control is a problem at the moment.Īpart from your scene data, there are 2 interesting files in the project called ftGlobalStorage.asset and ftLocalStorage.asset. In a line: I need a way to make a partial bake of an scene or, even better, a method to bake some objects in a controlled scene and then being able to import the baked version in different scenes.Ĭlick to expand.Yeah, I was just explaining it today to another user. AFAIK this is an option to bake in albedo textures instead of generating a lightmap. No solution: I lose the baked lightmaps in the process. Once baked, save it as a prefab and then include the prefab in the main scene. There's a lot of invalid objects there, so Bakery gives an error or crashes.Īlso tried to bake in a separate scene, it works OK. Or, at least, they appear in the progress bar as being included in the calculations. In both cases Bakery is trying to bake ALL the scene geometry, including the objects that are not static, even the hidden, deactivated, ones. Hide everything in the scene but the baking geometry, switching off the activate checkbox, so the only objects active and visible are those I need to bake. ![]() The geometry to bake is the only Static in the scene. The object I need to bake works perfectly when it's isolated on its own scene but, when it's merged in the global scene, everything goes wrong. In that scene I have a lot of objects incompatible with bakery, but those don't need GI at all. I need to bake only a small part of a complex scene. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |