I’m working on a wearable for a game and i need some help,
The game limits wearables to only having max of 2 textures. My model has 2 images textures and 3 materials. the images textures are a baked map for the textures and emission texture. one of the material is for glass and shares one of the images from the second material, the second material is for a few other objects that aren’t transparent it has 2 image textures, one is shared with the first material and the other is of an emission, the third material is for the character’s skin
for the 3rd material, it just has a bsdf node and a uv map, it is used to texture the skin in game, i noticed if i remove its texture image, it still works in game, im thinking the game has that texture and it just needs a uv map.
when i export the glb file, the game says i have 3 textures, when i check the amount of textures using gltf-pipeline, it says i only have 2 textures, if i export to separate files, there are only 2 images, any idea why the game thinks there’s 3 textures? could the bsdf node for the 3rd material be counted as a texture? is using 2 instances of the same image and an emission image being counted as 3 images? is there a way around that?
Maybe the game(engine) can’t share the images between material? But how should someone know, i even don’t know what game engine you use
Edit: I don’t wanted to be rude but you have to be a little bit more precise you know?
Hello, thanks for the quick reply, and youre right, i do have to be more descriptive, i dont know ehat engine the game uses, im going through the dics right now, but the game is decentraland, and im using cycles in blender, i export in gltf formats, this is what their docs say
Gltf pipine:
Among other things, it converts .gltf format into .glb, which is binary and so occupies a lot less. It also places texture files outside the 3D model, which allows you to use the same texture on multiple models.
Note: .glb format by default always has textures embedded in the file. The engine can’t recognize two embedded textures as the same, they need to be external files that share a same hash
I’m not entirely sure what you meant, but as far as I read your question is how to limit the textures used considering only 2 textures are allowed (is that per material?).
You might consider having 1 texture baked with all the textures you want to use, you don’t need to actually bake it, you could make your very own all-round texture in GIMP with different textures. Say you have cloth texture on one side of the image, and wood on the other. In-fact you can have as many textures inside this gigantic single image texture, as you like.
You can’t do tiling directly btw. You’ll have to tile the texture you want to tile - ie. in GIMP/Photoshop/other software. Make sure you tile it enough times, to fit the tiling you do on your model.
You’ll have to choose your second texture carefully though, ie. as a normal map. You can’t do specular, roughness and other stuff with this anyway if your second texture is a normal map, if that’s the limit of the game engine.
What you can do is to adjust the normal maps of all the different textures inside the single image texture in an image editor (ie. GIMP). Just make sure it has the same dimensions and size as the color textures.
it is a 2 texture limit for the entire model, so everything in the model can have a total of only 2 textures. I have 4 objects in the model and I did bake the textures.
object 1: has a node that uses 2 baked images, 1 for the textures and another for emission
object 2: same material as object 1, so same images and everything
object 3: different material than objects 1 and 2 (its the only way I know to make it transparent), but shares the same texture image from objects 1 and 2 (no emission image)
object 4: this object is the character’s skin, I downloaded it from their docs, it comes with material, UV map, and an image texture. The image and material are used to set skin tones in the game. It renders fine in-game without the image texture, but if I delete the material/UV map, it renders as plain white.
for object 4, I think the game provides the image needed for the skin because it’s used for other skin parts too
This is one of those situations where a few picture really would be worth thousands of words. Seeing what your object is, how it’s constructed, and how your UVs are laid out would help tremendously.
That entire model could be put onto a single UV sheet easily. If this is a model you got pre-textured, you may have to do some recombining and realigning in both Blender and a photo editor.
I textured it myself, how do I go about doing that? I’m sorry, I don’t under what you mean by one UV sheet, the neck part, I can’t really change the UV or delete the material, that’s how the game knows to set the skin tone colors per user’s choice. but other than that, how do I make it all one on one UV sheet?
all meshes are joined together, but have 3 different materials, i couldnt figure out how to use the same material and still have the bowl be transparent
As far as i see this: you want 1 model (wearable) which could have a max of 2 textures… and you are using 4 objects with 3 different textures… you have to use only what the game engine can handle. You have to merge the textures (why two different with the same image and one is transpaent). If using one UVmap (sheat) is a miracle to you, than you simple don’t know enough to do that… so learn what UVs are and how to merge them (maybe even rearrange the orig image)… and as @Renzatic said: images are better than (a thousend) words…
I only have 2 different textures, one for emission and the other for diffuse, the uv Map for 3 objects share the same exact texture image, even if i remove the image from one of the object’s node, i get the same result, i only have 2 images in the entire .blend file, i will upload more screenshots showing the uv map and the images i have in tye blender file later today, and i will also try to upload the .blend file
these are the images of the blend file, you can see that most of the material use the same 2 images except 1, the one that doesnt use the same image, doesnt use any image in blender. also, even if i take out the texture image from the glass bowl material, i still get the same result, i can acheive the tranparency for the bowl by setting the same material as the fish and using the alpha chanel with alpha clip or alpha blend but the issue i run into is either backface culling, the fish not rendering at all, or the bowl is fully transparent as if its not even there, i tried messing with the slider but doesnt really fix anything
you started a question about a particualr problem with a game engine, so this is no blender problem
you posted a link for the model essentials for this engine so the community have to learn about your problem
you seems to know little about 3D because you don’t understand the hints (UV sheats/map by @mediumaevum) or even said you could figure out how o to in blender or th engine???
you post images elsewhere even if new users can do this just by browsing around a liltle time ( bart often says 10 minor so) and reading the tutorial.
so you just regisered here because you have a problem…
your screenshot show weird things (using a part of another material texture to make someting transparent??? there you texture limits goes…)
you are posting the model blend file and now the community have to wait untill you hardisk gets delivered… (the texture images arent packed into the blend file nor within an extra archive)
Again: you just need two textures, so just use two. (I also think the blue circle can be put into the other texture maybe onto extra geo on the bowl)