Page MenuHome

X3D export in 2.80 does not save texture
Confirmed, NormalPublicKNOWN ISSUE

Description

System Information
Operating system: Darwin-18.6.0-x86_64-i386-64bit 64 Bits
Graphics card: AMD Radeon Pro Vega 64 OpenGL Engine ATI Technologies Inc. 4.1 ATI-2.9.26

Blender Version
Broken: version: 2.80 (sub 74), branch: master, commit date: 2019-07-04 22:24, hash: rBfdcfc263e973
Worked: (optional)

Short description of error
Need the same output as in 2.79 for uploading to Shapeways, but exporting in 2.80 does not export texture information correctly.

Exact steps for others to reproduce the error
I imported an OBJ file from my scanner software
Processed it with some booleans
Did not retexture anything that got removed
Completely flattened file (apply all modifiers and removed all other objects) because "selection only" doesn't work either (see T66533)
File -> export -> X3D
Save
Zip x3d file and png from OBJ
Upload to Shapeways
The texture is not rendered

Event Timeline

Maciej Jutrzenka (Kramon) lowered the priority of this task from 90 to 30.Nov 26 2019, 5:13 PM

Does it happen in 2.81?

Different user, but a similar end result with 2.81.

Blender Version
2.81 (sub 16), branch: master, commit date: 2019-11-20 14:27, hash: 26bd5ebd42e3, type: Release

The material uses Principled BSDF with a texture attached. It shows up correctly inside Blender.

This is the excerpt from the exported .x3d from Blender 2.81, both the ImageTexture as well as the TextureTransform tags are missing from the exported file:

...
<Appearance>
	<Material DEF="MA_Material_002"
		diffuseColor="1.000 1.000 1.000"
		specularColor="0.401 0.401 0.401"
		emissiveColor="0.000 0.000 0.000"
		ambientIntensity="0.333"
		shininess="0.098"
		transparency="0.0"
		/>
</Appearance>
...

This is the expected output as it was with 2.79:

...
<Appearance>
	<ImageTexture DEF="texture.bmp"
		url='"texture.bmp" "C:/path/to/texture.bmp"'
		/>
	<TextureTransform 
		translation="0.000000 0.000000"
		scale="1.000000 1.000000"
		rotation="0.000000"
		/>
	<Material DEF="MA_Material_002"
		diffuseColor="1.000 1.000 1.000"
		specularColor="0.401 0.401 0.401"
		emissiveColor="0.000 0.000 0.000"
		ambientIntensity="0.333"
		shininess="0.098"
		transparency="0.0"
		/>
</Appearance>
...
Aaron Carlisle (Blendify) changed the task status from Needs Information from User to Needs Developer to Reproduce.Feb 18 2020, 7:30 PM

A quick update as this remains relevant for 2.82. I have also attached simple example files for 2.79 and 2.82 and their respective x3d results.

Blender Version
Broken: version: 2.82 (sub 7), branch: master, commit date: 2020-03-12 05:06, hash: rB375c7dc4caf4



I have had some success with integrating some of the changes from https://developer.blender.org/D7200 (lines 436ff.).
With these changes the texture file is exported as expected. I have not done a lot of testing and some parts of my changes are very likely wrong/not ideal e.g. I'm not sure what mesh_material_tex[i] should be assigned to, repeat_x/y and rot have been commented out as a result.

This makes exporting to Shapeways.com with color textures impossible with Blender 2.82a. It unfortunately makes Blender an unusable toy vs game changing tool.
I'd raise the priority on this one and fix this before these kinds of embarrassments become more publicly known. It's really hard to recover from the damage they do to the respect of the CG community in general.

Philipp Oeser (lichtwerk) changed the task status from Needs Developer to Reproduce to Confirmed.May 18 2020, 1:52 PM
Philipp Oeser (lichtwerk) changed the subtype of this task from "Report" to "Known Issue".

Can confirm, this was one of the lower prio TODOs when porting to 2.8, see rBAe8da70ab73d2: X3D: basic initial port to blender2.8.
Will have to call this a Known Issue though [it is kind of known not to be implemented....]

Hopefully someone steps up sooner than later...
Maybe @Michalis Kamburelis (kambi) is interested?

Hopefully someone steps up sooner than later...
Maybe @Michalis Kamburelis (michalis) Kamburelis (kambi) is interested?

Not in the immediate future, I'm afraid.

Too much work, too little time :). And, while I care about X3D, I also use glTF 2.0, and practically speaking the glTF 2.0 exporter already satisfies my use-cases more.

I would be grateful to anyone that tackles this, and I can do some testing.

Note about the more distant future:

  • But this is a note for later. Right now my changes to introduce PhysicalMaterial to X3Dv4 are not yet even finished in X3Dv4 :)