Maniphest T80276

Not clear if Blender's glb-exporter can save scene-set mesh-order. Correct order is needed for glb-import to WebGL development [I consider it a bug if it cannot do this]
Closed, Archived

Assigned To
Richard Antalik (ISS)
Authored By
Thomas Due Nielsen (tdneren)
Aug 31 2020, 1:03 PM
Tags
  • BF Blender
Subscribers
Julien DUROURE (julien)
Richard Antalik (ISS)
Thomas Due Nielsen (tdneren)

Description

System Information
Operating system: Windows-10-10.0.18362-SP0 64 Bits
Graphics card: AMD Radeon HD 7000 series ATI Technologies Inc. 4.5.13399 Core Profile Context 15.201.1151.1008

Blender Version
Broken: version: 2.83.1, branch: master, commit date: 2020-06-25 09:47, hash: rB8289fc688b3e
Worked: (newest version of Blender that worked as expected)

Blender:

Short description of error
I doesn't seem to be posible to export a GLB-file with a specific mesh-order. When I try to do so, the mesh-array (when opened in the WebGL development software PlayCanvas) restrains itself from having a consistant numeric order. Meaning that if I try to set material pr mesh (like this in javascript Playcanvas):

for(var i=0; i<meshes.length; i++){ 
                              var mesh = meshes[i]; 
                             if(i===0){mesh.material = self.app.assets.get(34767279).resource; }
                              if(i===1){mesh.material = self.app.assets.get(34766497).resource;}
                              if(i===2){mesh.material = self.app.assets.get(34764537).resource;}
                              if(i===3){mesh.material = self.app.assets.get(34768158).resource; }
                              if(i===4){mesh.material = self.app.assets.get(34766497).resource;}
                              if(i===5){mesh.material = self.app.assets.get(34768159).resource;}                              
                              if(i===6){mesh.material = self.app.assets.get(34767287).resource; } 
                              if(i===7){mesh.material = self.app.assets.get(34767288).resource;}
                              if(i===8){mesh.material = self.app.assets.get(34767289).resource; } 
                              if(i===9){mesh.material = self.app.assets.get(34767291).resource;}
                              if(i===10){mesh.material = self.app.assets.get(34767297).resource; } 
                              if(i===11){mesh.material = self.app.assets.get(34767314).resource;}
                              mesh.material.update();  
        }
  • the result in a partially random setting of the resource-referenced materials. Above the 'if(i===0) ... ' and 'if(i===11) ...' mesh.material-assignments work while many of the in between material-sets are wrong on the specific mesh placeholders -> are wrong on the mesh-indices sort of say)).

I do not wish to make the decsription long, or make you relate to details in the actual PlayCanvas-code, but it is vital to my project, that I can 'set a numeric meshorder' when I export GLB-files. PS: Have extra screendumps to back my case, but I will shorten myself for now :-)

Step to reproduce (as image):

  • update: I did find a solution within PlayCanvas, but I will still consider mesh order-consistancy between Blender and WebGL development-environments a big plus for our business-sector. So please consider optimizing the glb-exporter within coming Blender-version anyway - obt

Event Timeline

Thomas Due Nielsen (tdneren) created this task.Aug 31 2020, 1:03 PM
Thomas Due Nielsen (tdneren) renamed this task from Not clear how glb saves the mesh-order, while imported to WebGL development [I consider it a bug that it cannot do this] to Not clear if Blender's glb-exporter can save scene-set mesh-order. Correct order is needed for glb-import to WebGL development [I consider it a bug if it cannot do this].Aug 31 2020, 4:33 PM
Thomas Due Nielsen (tdneren) updated the task description.
Richard Antalik (ISS) added subscribers: Julien DUROURE (julien), Richard Antalik (ISS).Sep 2 2020, 8:21 PM

Honestly I don't quite understand the problem or even gltf file format, but this really sounds like feature request.

@Julien DUROURE (julien) is this something sensible that should/could be included in exporter?

Julien DUROURE (julien) added a comment.Sep 4 2020, 2:21 PM

Hello,
Not sure to really understand, but yes, seems to be a feature request. Any ordering is not required in glTF2.0 specification.

Richard Antalik (ISS) closed this task as Archived.Sep 8 2020, 1:29 AM
Richard Antalik (ISS) claimed this task.
In T80276#1009190, @Julien DUROURE (julien) wrote:

Hello,
Not sure to really understand, but yes, seems to be a feature request. Any ordering is not required in glTF2.0 specification.

Thanks for info, I will close this report.

@Thomas Due Nielsen (tdneren) thanks for the report, but the issue reported here is a request for modified/improved behavior and not a bug in current behavior. For user requests and feedback, please use other channels: https://wiki.blender.org/wiki/Communication/Contact#User_Feedback_and_Requests

For more information on why this isn't considered a bug, visit: https://wiki.blender.org/wiki/Reference/Not_a_bug

Closing as this bug tracker is only for bugs and errors.