<p dir="ltr"><a href="https://static.makehumancommunity.org/mpfb.htmlhttps://static.makehumancommunity.org/mpfb/downloads.html">https://static.makehumancommunity.org/mpfb.htmlhttps://static.makehumancommunity.org/mpfb/downloads.html</a><br>
I looked a while ago at exporting the Makehuman / MPFB2 from blender and learned a few things needed for exporting gltf2<br>
1. in the MPFB2 menu that slides out from right edge of the main blender viewport > Library Settings > Materials > Skin, Clothing, Eyes - pick one of the PBR types from the drop-down lists for each of those materials because gltf2 exporter can't handle the more complex shader nodes MPFB2 uses for raytracing (if things export as white/gray its because the shader nodes in blender were too complex)<br>
2. on the gltf2 export panel, find 'apply modifiers' and check it. That's because in the scenegrpah under Human.rig > Human > Modifiers and Vertex Groups - various clothing articles are Vertex Groups in the humanoid, and which ones get applied during rendering in blender are set in the Modifiers list, with unused garments being set to ignore. If you don't apply modifiers on export, ALL the clothing vertex groups get exported and it's a mess. I suspect other modifiers that change the shape of the human slightly if not applied will result in the rig not matching the skin very well after export.<br>
3. on the gltf2 export export panel, check export textures - this will export the MPFB skin and clothing textures (set a folder during export so you can find the image files in the file system after exporting)<br>
When I do these 3 things I can display the .gltf2 character in freewrl and view3dscene and it looks good.</p>
<br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Dec 10, 2024, 11:26 a.m. Michalis Kamburelis via x3d-public <<a href="mailto:x3d-public@web3d.org">x3d-public@web3d.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Thank you a lot for the meeting! I quickly wrote down a few things I<br>
remembered, along with my TODOs, and some after-meeting-thoughts and<br>
research.<br>
<br>
@Vincent hopefully this can be complementary to your meeting notes --<br>
my notes below are likely *not* complete, I only wrote things I<br>
remembered because they selfishly relate to something I want :) And<br>
again thank you for "taking point" on this task, Blender->X3D exporter<br>
is very important for me (and I think it matters for other people a<br>
lot too, at least in my domain "indie gamedev" where Blender rules as<br>
3D authoring tool). It's great to see progress here!<br>
<br>
Michalis TODOs:<br>
<br>
1. *Find* (from actual usage in CGE / Cat-astrophe Games)<br>
and/or<br>
*make* (what I would consider "normal" usage by Blender/3D artists)<br>
<br>
...an example .blend file using using texture transform Blender node.<br>
<br>
2. See what does existing Blender->glTF exporter (from Khronos)<br>
support in regards to above (texture transform). So that we support<br>
(at least) similar setup in our Blender->X3D exporter.<br>
<br>
OK, this is easily done, they documented it nicely:<br>
<a href="https://docs.blender.org/manual/en/dev/addons/import_export/scene_gltf2.html#uv-mapping" rel="noreferrer noreferrer" target="_blank">https://docs.blender.org/manual/en/dev/addons/import_export/scene_gltf2.html#uv-mapping</a><br>
, section "UV Mapping",<br>
<br>
"""<br>
Settings from the Mapping node are exported using a glTF extension<br>
named KHR_texture_transform. There is a mapping type selector across<br>
the top. Point is the recommended type for export. Texture and Vector<br>
are also supported. The supported offsets are:<br>
<br>
- Location - X and Y<br>
- Rotation - Z only<br>
- Scale - X and Y<br>
"""<br>
<br>
I will provide testcases covering it too.<br>
<br>
<a href="https://github.com/KhronosGroup/glTF-Sample-Assets" rel="noreferrer noreferrer" target="_blank">https://github.com/KhronosGroup/glTF-Sample-Assets</a> should also<br>
have working demos of this, should be these ones:<br>
<a href="https://github.com/KhronosGroup/glTF-Sample-Assets/tree/main/Models/TextureTransformTest" rel="noreferrer noreferrer" target="_blank">https://github.com/KhronosGroup/glTF-Sample-Assets/tree/main/Models/TextureTransformTest</a><br>
<a href="https://github.com/KhronosGroup/glTF-Sample-Assets/tree/main/Models/TextureTransformMultiTest" rel="noreferrer noreferrer" target="_blank">https://github.com/KhronosGroup/glTF-Sample-Assets/tree/main/Models/TextureTransformMultiTest</a><br>
<br>
3. Provide some testcases of using materials (with non-white color)<br>
and per-vertex colors (with non-trivial values, some non-constant<br>
across vertexes and some constant across vertexes) in Blender.<br>
<br>
To test upcoming Vincent implementation of per-vertex colors in<br>
Blender->X3D exporter, that will<br>
<br>
phase 1: just export X3D ColorPerVertex with premultiplied<br>
material * per-vertex<br>
<br>
phase 2: give users an option to use CGE extension (maybe in X3D<br>
4.1)? to have Color[RGBA].mode="MODULATE" ,<br>
<a href="https://github.com/michaliskambi/x3d-tests/wiki/Converting-glTF-to-X3D#per-vertex-colors" rel="noreferrer noreferrer" target="_blank">https://github.com/michaliskambi/x3d-tests/wiki/Converting-glTF-to-X3D#per-vertex-colors</a><br>
.<br>
<br>
Other topics:<br>
<br>
4. Texture export from Blender->X3D fixed<br>
<br>
5. ImageTexture export when texture embedded in Blender fixed<br>
<br>
6. Default for X3D path generation changed to not be "AUTO" (good,<br>
this was convoluted) to "COPY" (always creates new files).<br>
<br>
Michalis notes: This doesn't really match our use-cases (for<br>
current glTF we also advise using "Keep Original", see<br>
<a href="https://castle-engine.io/blender" rel="noreferrer noreferrer" target="_blank">https://castle-engine.io/blender</a> ). When you have a texture library<br>
(reused by 3D models). And/or when you think of your textures "data<br>
that is not touched, only referred to, by 3D models".<br>
<br>
Of note: glTF does it a bit differently than X3D's pathMode. In<br>
glTF exporter, they have "Keep Original", by default *off*. So it does<br>
match the new default of X3D, good! But, also, it behaves<br>
automatically good (does not really copy) in the simplest case, when<br>
.blend is accompanied by textures.<br>
<br>
So, don't pay much attention to me for now :) I don't know what I<br>
want, exactly, myself. And glTF exporter by default has "Keep<br>
Original" = "off", which is somewhat like new X3D default path mode =<br>
"COPY" (Michalis TODO: test, to see what does "somewhat" mean here,<br>
how close are they equal). In general, if X3D export defaults would be<br>
similar to glTF export defaults, then this is almost always good for<br>
me too (because glTF defaults are generally good), and it seems this<br>
is the case now, so -> all cool.<br>
<br>
7. Material export:<br>
<br>
- What Blender->X3D is doing now is export "Viewport Display" colors<br>
<br>
- phase 1: should instead export Blender material (BSDF) colors to<br>
X3D PhysicalMaterial.baseColor,matallic,roughness<br>
<br>
- phase 2:<br>
give people a choice "use Material or PhysicalMaterial"?<br>
or give people a choice<br>
"use X3D 3.x with Material or X3D 4.x with PhysicalMaterial"? I<br>
like this idea! Simplifies things while still providing options.<br>
<br>
Note: We also have now UnlitMaterial in X3D 4.0, corresponds to<br>
Blender's "Background" material type, and glTF exporter already<br>
handles it (that is, Blender's Background -> glTF unlit). Would be<br>
nice to also support it in Blender->X3D.<br>
<br>
8. Correct MFString in Blender - to make a testcase, it would be<br>
easiest to first have support of Text Blender -> Text X3D (not<br>
downgrade to mesh, as I think happens now).<br>
<br>
Regards,<br>
Michalis<br>
<br>
niedz., 24 lis 2024 o 23:14 John Carlson via x3d-public<br>
<<a href="mailto:x3d-public@web3d.org" target="_blank" rel="noreferrer">x3d-public@web3d.org</a>> napisał(a):<br>
><br>
> Great! I’ll probably copy this into my exporter at some point. Thanks!<br>
><br>
> John<br>
><br>
> On Sun, Nov 24, 2024 at 4:09 PM Vincent Marchetti via x3d-public <<a href="mailto:x3d-public@web3d.org" target="_blank" rel="noreferrer">x3d-public@web3d.org</a>> wrote:<br>
>><br>
>> There will be another teleconference to discuss projects and progress related to Blender support of X3D import, export, and workflow.<br>
>><br>
>> Date/Time is December 10, 2024. at 12:00 PM EST, 17:00 UTC<br>
>><br>
>> Location: <a href="https://docs.google.com/document/d/19f9L9LczB4vVfiSN9OsajnmvSkvz6RZaS6f4LsrqZNA/edit?usp=sharing" rel="noreferrer noreferrer" target="_blank">https://docs.google.com/document/d/19f9L9LczB4vVfiSN9OsajnmvSkvz6RZaS6f4LsrqZNA/edit?usp=sharing</a><br>
>><br>
>> Agenda Document: <a href="https://docs.google.com/document/d/19f9L9LczB4vVfiSN9OsajnmvSkvz6RZaS6f4LsrqZNA/edit?usp=sharing" rel="noreferrer noreferrer" target="_blank">https://docs.google.com/document/d/19f9L9LczB4vVfiSN9OsajnmvSkvz6RZaS6f4LsrqZNA/edit?usp=sharing</a><br>
>><br>
>> Review of recent news:<br>
>><br>
>> A pull request for re-enabling export of the ImageTexture X3D node was merged into the trunk of the Blender.org X3D import/export extension. It will be released for updating existing Blender 4.2 installation, as soon as some issues discovered in testing are resolved.<br>
>><br>
>> These issues described in the pull request thread at <a href="https://projects.blender.org/extensions/io_scene_x3d/pulls/39" rel="noreferrer noreferrer" target="_blank">https://projects.blender.org/extensions/io_scene_x3d/pulls/39</a><br>
>> They basically involve distangling effects of the difference between filepaths and URLs, the difference between POSIX and Windows filepaths, and the correct implementation of MFString encoding. I think we just need to dot our i's and cross t's carefully.<br>
>><br>
>> Vince Marchetti<br>
>><br>
>><br>
>><br>
>> _______________________________________________<br>
>> x3d-public mailing list<br>
>> <a href="mailto:x3d-public@web3d.org" target="_blank" rel="noreferrer">x3d-public@web3d.org</a><br>
>> <a href="http://web3d.org/mailman/listinfo/x3d-public_web3d.org" rel="noreferrer noreferrer" target="_blank">http://web3d.org/mailman/listinfo/x3d-public_web3d.org</a><br>
><br>
> _______________________________________________<br>
> x3d-public mailing list<br>
> <a href="mailto:x3d-public@web3d.org" target="_blank" rel="noreferrer">x3d-public@web3d.org</a><br>
> <a href="http://web3d.org/mailman/listinfo/x3d-public_web3d.org" rel="noreferrer noreferrer" target="_blank">http://web3d.org/mailman/listinfo/x3d-public_web3d.org</a><br>
<br>
_______________________________________________<br>
x3d-public mailing list<br>
<a href="mailto:x3d-public@web3d.org" target="_blank" rel="noreferrer">x3d-public@web3d.org</a><br>
<a href="http://web3d.org/mailman/listinfo/x3d-public_web3d.org" rel="noreferrer noreferrer" target="_blank">http://web3d.org/mailman/listinfo/x3d-public_web3d.org</a><br>
</blockquote></div>