create3000 / x3d-tidy

X3D Converter, Beautifier and Minimizer
https://www.npmjs.com/package/x3d-tidy
Other
0 stars 0 forks source link

Problems loading Blender created skeletons. GLTF and GLB inputs to x3d-tidy #2

Closed coderextreme closed 1 year ago

coderextreme commented 1 year ago

If you need to create skeletons in Blender, try GPT. I can give you a few pointers, like using sgpt.

https://[raw.githubusercontent.com/coderextreme/X3DJSONLD/master/gltf/samurai.gltf](https://raw.githubusercontent.com/coderextreme/X3DJSONLD/master/gltf/samurai.gltf)

$ npx x3d-tidy -i [/c/Users/john/Documents/samurai.gltf -o /c/Users/john/Documents/samurai.x3d

Couldn't load URL 'file:///C:/Users/john/Documents/samurai.gltf'. TypeError: Cannot read properties of undefined (reading 'undefined') at GLTF2Parser.nodeObject (C:\Users\john\AppData\Local\npm-cache_npx\e9b6d5b508ffea3a\node_modules\x_ite\dist\x_ite.js:44759:33) at C:\Users\john\AppData\Local\npm-cache_npx\e9b6d5b508ffea3a\node_modules\x_ite\dist\x_ite.js:44853:31 at Array.map () at GLTF2Parser.nodeChildrenArray (C:\Users\john\AppData\Local\npm-cache_npx\e9b6d5b508ffea3a\node_modules\x_ite\dist\x_ite.js:44853:11) at GLTF2Parser.sceneNodesArray (C:\Users\john\AppData\Local\npm-cache_npx\e9b6d5b508ffea3a\node_modules\x_ite\dist\x_ite.js:45006:20) at GLTF2Parser.sceneObject (C:\Users\john\AppData\Local\npm-cache_npx\e9b6d5b508ffea3a\node_modules\x_ite\dist\x_ite.js:44971:27) at C:\Users\john\AppData\Local\npm-cache_npx\e9b6d5b508ffea3a\node_modules\x_ite\dist\x_ite.js:44921:49 at Array.map () at GLTF2Parser.scenesArray (C:\Users\john\AppData\Local\npm-cache_npx\e9b6d5b508ffea3a\node_modules\x_ite\dist\x_ite.js:44921:29) at GLTF2Parser.rootObject (C:\Users\john\AppData\Local\npm-cache_npx\e9b6d5b508ffea3a\node_modules\x_ite\dist\x_ite.js:43509:13)

Couldn't load X3D file.

https://github.com/coderextreme/X3DJSONLD/blob/master/gltf/humanoid.glb

$ npx x3d-tidy -i /c/Users/john/Documents/humanoid.glb -o /c/Users/john/Documents/humanoid.x3d

Couldn't load URL 'file:///C:/Users/john/Documents/humanoid.glb'. TypeError: Cannot read properties of undefined (reading 'undefined') at GLTF2Parser.nodeObject (C:\Users\john\AppData\Local\npm-cache_npx\e9b6d5b508ffea3a\node_modules\x_ite\dist\x_ite.js:44759:33) at C:\Users\john\AppData\Local\npm-cache_npx\e9b6d5b508ffea3a\node_modules\x_ite\dist\x_ite.js:44853:31 at Array.map () at GLTF2Parser.nodeChildrenArray (C:\Users\john\AppData\Local\npm-cache_npx\e9b6d5b508ffea3a\node_modules\x_ite\dist\x_ite.js:44853:11) at GLTF2Parser.sceneNodesArray (C:\Users\john\AppData\Local\npm-cache_npx\e9b6d5b508ffea3a\node_modules\x_ite\dist\x_ite.js:45006:20) at GLTF2Parser.sceneObject (C:\Users\john\AppData\Local\npm-cache_npx\e9b6d5b508ffea3a\node_modules\x_ite\dist\x_ite.js:44971:27) at C:\Users\john\AppData\Local\npm-cache_npx\e9b6d5b508ffea3a\node_modules\x_ite\dist\x_ite.js:44921:49 at Array.map () at GLTF2Parser.scenesArray (C:\Users\john\AppData\Local\npm-cache_npx\e9b6d5b508ffea3a\node_modules\x_ite\dist\x_ite.js:44921:29) at GLTF2Parser.rootObject (C:\Users\john\AppData\Local\npm-cache_npx\e9b6d5b508ffea3a\node_modules\x_ite\dist\x_ite.js:43509:13)

Couldn't load X3D file.

create3000 commented 1 year ago

Will try tomorrow.

coderextreme commented 1 year ago

Here’s a pretty good prompt for creating a skeleton in Python:

sgpt --code "Create a model of a human skeleton with joints and bone segments. Put the armature in edit mode. Connect the bones segments to joints like they are in a human. Now do it in blender python."

create3000 commented 1 year ago

The fatal bug is fixed, but the two files will not produces a scene, because for samurai: the one object in skins is not used anywhere, this will then lead in a scene graph with only Transform nodes without any Shape and so on. This Transforms will be optimized away leading in an empty scene. If the one skin object would be used somewhere, the Transform nodes would become HAnimJoint nodes, which will not be optimized away.

coderextreme commented 1 year ago

Got a good scene conversion from X3DV to XML, when tovmrlx3d did not produce animations or panel for animation. Conversions show up in view3dscene and X_ITE. Thanks! Dealing with component/profile error reports, even though rendering and animation is great! There's one scene of Joe's that needs optimization.