GLTF and USDZ repeat and scale texture problem (tiling texture) - blender

We're trying to do tiling textures for AR Quick Look (iOS in USDZ (pixar) format), but issuing a problem.
What we have:
Project in the blender, where we use scaling texture via mapping (screen below) and everything looks fine like it is tiled properly.
When I do export in GLTF 2.0 you can see, that texture is not scaled (scale should be 100, 100) and that is why it looks bad. Doing not tiled textures for (for example) roads, is bad idea, so, that is why i'm using it.
The same goes to usdz.But i think that it is because of GLTF format
Not sure if while exporting from blender to gltf i should do something correctly

This question might be better suited for Blender SE, not here.
The glTF exporter is looking for a shader node called "UV Map" instead of that "Texture Coordinate" node you have there. I realize the names are almost synonymous, but the "UV Map" node has a chooser for which UV Map, and that's what the exporter wants to find. (For more detail, there is documentation.)
Also I don't know if glTF export supports that little splitter node you have in your graph there. Try drawing individual lines from the "mapping" box to each of the image textures.

Related

Blender glft mirrors armature after exporting model

I have gltf model with rig and animation sequences (with .bin), exported from video game League of Legends. After mport into Blender, everything looks fine (almost, but that's not important for rig), but after exporting into other format (I export as .smd to use in Source Filmmaker, but also tried othe formats) and importing into Blender exported model armature mirrors along global Y. Here's how animation has to look
And here is what comes after export-import:
import mesh with armature, but without animation
and what comes with adding animation
(for this after previous screenshot I flipped mesh in edit mode along Y global).
I tried to mirror before/after export-import both armature and mesh. Nothing helped before. On last screenshot everything is flipped along global X. One day I fixed it, but her weapon (circle thing) is always behind her after export-import when it must be ahead of her.

Assimp FBX loader and PBR textures

I would like to know if the assimp FBX loader does supports PBR materials.
I am currently using it with glTF/glb files and it perfectly loads my PBR textures.
I am loading PBR textures via the "assimp/pbrmaterial.h" header file, but this file is only defining glTF macros.
How can I load PBR textures when using the FBX file format with assimp ?
Regards.
I don't think it can. glTF 2.0 uses a single texture that contains: metallic on the blue channel, roughness on the green. And from my own testing using Blender v2.93.3 (the latest right now), if you use its Shader Editor to split that single texture into separate RGB channels, the FBX won't get saved with any paths to it. Even when you import the FBX back into Blender it will only have the base color and normal map applied, nothing else. So I don't think you can expect Assimp (v5.0.1) to work with it either... But this might just be a bug in Blender, I'm not sure. Because it seems that if metallic and roughness are individual textures, Blender can correctly import the FBX back. It's a pretty big oversight that you can't export (as FBX) models that use multi-channel textures. Pretty much all PBR workflows involve having them merged into a single texture, to reduce texture lookups.
I don't know... seems like glTF 2.0 is a much better format. It comes with a GPU-friendly binary (compared to something like Wavefront OBJ which is very slow), and you can even have the textures separately if you choose the "glTF Separate" format when you export it. You automatically get a merged PNG with both metallic and roughness like I said before:
If you really wanna have support for FBX files (I know I do; it's a popular format), what you could do, is to have it correctly identify and load the base color and normal map, but then you have to manually load the "PBR" texture somewhere before the render loop starts, and then manually bind the texture and send it as a uniform to the fragment shader before drawing it. I tested this and it works.
glActiveTexture(GL_TEXTURE2); // Texture unit 2
glBindTexture(GL_TEXTURE_2D, *pMyMetRoughTexture);
pShader->SetInt("uMaterial.MetallicRoughnessTexture", 2); // Tell the sampler2D from the fragment shader to use texture unit 2
pMyModel->Draw(pShader);
But having 2/3 textures loaded automatically and 1 left up to you, to manually handle, for every... single... model... is just... bleh. I'm sorry if this isn't a "proper" answer. I'm really disappointed by the lack of PBR support, for something that's used so ubiquitously in I think all AAA games in the last few years.

Godot doesn't import glTF material shaders correctly

I have a model that I am using as my gameworld in Godot and I am putting some textures on it in Blender. When exporting the model to .glb it seems to not be exporting some of the materials correctly.
The ones that are an image texture that I scaled using mapping.
It just skips the first two nodes. When I disconnect them the material looks like it does in Godot.
What it should look like (what it looks like in Blender):
What it looks like in Godot:
There also are some materials that use mix shaders to mix images together. These are also skipped and it just uses one of the two instead of mixing them.
What it should look like:
What it looks like in Godot:
The F is from an image with text that is overlayed ontop of the other image.
I am not really sure if these issues lie with the glTF format and certain shaders just don't work with it or that Godot doesn't want to import them.
I hope someone can help me with this.
Thanks in advance and have a nice day,
Rover
In general, arbitrary node graphs cannot be exported from Blender — see https://blender.stackexchange.com/a/57541/43930 for the long explanation of that. To ensure that the material will export correctly, you'll need to refer to the documentation for the Blender glTF exporter and configure your material accordingly. For more complicated effects, you can also bake Blender nodes down to simpler textures.

A-Frame 0.70: Animated Blender-Exported glTF 2.0 w/ Simple Rig Doesn't Render Correctly

I'm creating an animation with a simple rig in Blender and using it A-Frame 0.70. I have a box with a lid that opens via Euler rotation, but all children of the armature rotate with the lid even if they are not supposed to animate. Wiring up the flaps to their respective bones also distorts the geometry of the flaps - but I am simplifying this problem to just the lid for now to try to understand what is happening.
Animation works fine in Blender and apparently works in UX3D.
Attempts to separate the mesh into pieces and de-parent them from the armature results in the de-parented meshes to not render at all despite exporting all objects.
Tried Blender 2.78c and 2.79 and virtually all combinations of glTF export options with latest Blender glTF 2.0 exporter from Khronos.
Blender Screenshot
A-Frame Demo
<a-gltf-model cursor-listener id="gift" src="#rigged-gift" animation-mixer=""></a-gltf-model>
Blender source included in CodePen link
Appreciate any direction I can get on this problem!
This is now resolved with Blender 2.8 and above.

How to add images to painted texture in blender?

When painting textures in blender, I would like to add existing images to the texture image. But blender does not seem to provide such functions.
I tried external editing in photoshop, but the uv unwrapped vertices are lost and so there's no reference points available.
Thanks!
This question would be better suited to blender.stackexchange and maybe a little more info on what steps you are trying.
In the image editor after you unwrap you can use UVs->Export UV Layout to save the uvs for use in an external image editor.
When using Texture painting mode you also have options to use an image as a brush texture.