jsunandmax Posted November 19, 2018 Share Posted November 19, 2018 Hello, i have a 3k poly character w/ about 80 bones bound with a Skin modifier. When i export (latest exporter from GitHub), i get no errors but when the animation plays in the viewer here: https://sandbox.babylonjs.com/ It is 'jacked up'. What I mean is there is clearly animation as some verts are moving around, but only a few (see image). I think i've tried all the various flags, settings etc. Any help? thanks in advance, jason Quote Link to comment Share on other sites More sharing options...
Sebavan Posted November 20, 2018 Share Posted November 20, 2018 Adding @kcoley and @PatrickRyan our max exporters gurus Quote Link to comment Share on other sites More sharing options...
PatrickRyan Posted November 20, 2018 Share Posted November 20, 2018 Hi @jsunandmax, happy to help out! First, can you share which DCC tool you are using? I didn't see it in your post and the export paths are different depending on which package you are using. Secondly, are you able to share out the file for us to look at, even in a private link? Debugging skinning and animation issues through forum messages is far more difficult. Obviously anything you share with us stays confidential and we don't retain any files shared for debugging purposes. If not can you share with us screen captures of your asset in your DCC tool deforming the way you expect and again in the sandbox so we can compare? The image above is very dark and I'm not sure what the original is supposed to look like so understanding where to start is difficult. Thanks for your help and we'll do whatever we can to solve your issue. jsunandmax and Sebavan 2 Quote Link to comment Share on other sites More sharing options...
jsunandmax Posted November 21, 2018 Author Share Posted November 21, 2018 Thanks for the response; couple things: DCC is 3dsMax 2018. I've attached the original .fbx file; the character deforms fine inside Max; basically what you would expect. When you export, the pathologies are pretty obvious, if not in my screenshot. Thanks again, jason 2490fa122be34ac3950e8fed33203a27.fbx.fbx PatrickRyan 1 Quote Link to comment Share on other sites More sharing options...
PatrickRyan Posted November 21, 2018 Share Posted November 21, 2018 @jsunandmax it looks like there may be a bug in the Max exporter as the Maya exporter works correctly. I will ping @kcoley as he is working on the DCC exporters and give him my files to look at. Demon_MaxMayaComparison.mp4 Quote Link to comment Share on other sites More sharing options...
Raggar Posted November 21, 2018 Share Posted November 21, 2018 I've had similar issues with Max. Back then the issue happened if a vertex wasn't weighted properly. A single non-weighted vertex would create artifacts. I haven't tested your file, but try weighting ALL vertices 100% to a single bone. If this solves the artifacts, you can be pretty sure that it's a weighting issue. Edit: My issue actually looked different. Will try it later tonight. Quote Link to comment Share on other sites More sharing options...
PatrickRyan Posted November 21, 2018 Share Posted November 21, 2018 Our exporters should be kicking warnings about non-normalized skin weights, so if that is truly what's going on it is still likely a bug. Though I am unsure why the same FBX sent through Maya would succeed because exporting with non-normalized weights results in an invalid glTF. I'm guessing that @kcoley will know what is going on. Quote Link to comment Share on other sites More sharing options...
jsunandmax Posted November 21, 2018 Author Share Posted November 21, 2018 awesome research and fast turnaround, thanks lads! These clues are a great start...look forward to hearing more. as a minor detail, i stripped the skeleton and built a new one + skin in the cloud with www.mixamo.com and then brought back int 3DSMax and exported and THAT worked. Quote Link to comment Share on other sites More sharing options...
jsunandmax Posted November 21, 2018 Author Share Posted November 21, 2018 Here is a new file, largely rebuilt. The animation is simple 'arm rotate up' and when i export THIS one, there is no motion at ALL! any help appreciated, jason 1-arm-up.max Quote Link to comment Share on other sites More sharing options...
Raggar Posted November 21, 2018 Share Posted November 21, 2018 I can't open your max file since I'm outdated at the 2015 version. Deleting the cloth fixed the artifacts for me, but another thing did as well. Can you confirm this works for you, too?: - Select the cloth mesh - In the skin modifier, remove all but the weighted bones, leaving you only with the backflap_.......... frontflap_... bones. jsunandmax 1 Quote Link to comment Share on other sites More sharing options...
PatrickRyan Posted November 21, 2018 Share Posted November 21, 2018 I'm looking at your one arm animation file and the reason you don't see animation on that file is that there are two validation errors on the file with the following information: { "uri": "DemonOneArm_Max.gltf", "mimeType": "model/gltf+json", "validatorVersion": "2.0.0-dev.2.5", "validatedAt": "2018-11-21T23:13:19.321Z", "issues": { "numErrors": 2, "numWarnings": 0, "numInfos": 3, "numHints": 0, "messages": [ { "code": "MESH_PRIMITIVE_UNUSED_TEXCOORD", "message": "Material does not use texture coordinates sets with indices (0, 1).", "severity": 2, "pointer": "/meshes/0/primitives/0/material" }, { "code": "MESH_PRIMITIVE_UNUSED_TEXCOORD", "message": "Material does not use texture coordinates sets with indices (0, 1).", "severity": 2, "pointer": "/meshes/1/primitives/0/material" }, { "code": "NODE_EMPTY", "message": "Empty node encountered.", "severity": 2, "pointer": "/nodes/60" }, { "code": "ACCESSOR_INDECOMPOSABLE_MATRIX", "message": "Matrix element at index 831 is not decomposable to TRS.", "severity": 0, "pointer": "/accessors/16" }, { "code": "ACCESSOR_INDECOMPOSABLE_MATRIX", "message": "Matrix element at index 831 is not decomposable to TRS.", "severity": 0, "pointer": "/accessors/17" } ], "truncated": false }, "info": { "version": "2.0", "generator": "babylon.js glTF exporter for 3ds max 2019 v1.3.9", "resources": [ { "pointer": "/buffers/0", "mimeType": "application/gltf-buffer", "storage": "external", "uri": "DemonOneArm_Max.bin", "byteLength": 601992 } ], "hasAnimations": true, "hasMaterials": true, "hasMorphTargets": false, "hasSkins": true, "hasTextures": false, "hasDefaultScene": true, "primitivesCount": 2, "maxAttributesUsed": 7 } } If I export just the body of the character, the animation plays, but we still get one error in the validator: { "uri": "DemonOneArmBody_Max.gltf", "mimeType": "model/gltf+json", "validatorVersion": "2.0.0-dev.2.5", "validatedAt": "2018-11-21T23:36:54.474Z", "issues": { "numErrors": 1, "numWarnings": 0, "numInfos": 2, "numHints": 0, "messages": [ { "code": "MESH_PRIMITIVE_UNUSED_TEXCOORD", "message": "Material does not use texture coordinates sets with indices (1).", "severity": 2, "pointer": "/meshes/0/primitives/0/material" }, { "code": "NODE_EMPTY", "message": "Empty node encountered.", "severity": 2, "pointer": "/nodes/59" }, { "code": "ACCESSOR_INDECOMPOSABLE_MATRIX", "message": "Matrix element at index 831 is not decomposable to TRS.", "severity": 0, "pointer": "/accessors/7" } ], "truncated": false }, "info": { "version": "2.0", "generator": "babylon.js glTF exporter for 3ds max 2019 v1.3.9", "resources": [ { "pointer": "/buffers/0", "mimeType": "application/gltf-buffer", "storage": "external", "uri": "DemonOneArmBody_Max.bin", "byteLength": 466064 }, { "pointer": "/images/0", "mimeType": "image/png", "storage": "external", "uri": "UVmap2017255_baseColor.png", "image": { "width": 1024, "height": 1024, "format": "RGBA", "bits": 8 } } ], "hasAnimations": true, "hasMaterials": true, "hasMorphTargets": false, "hasSkins": true, "hasTextures": true, "hasDefaultScene": true, "primitivesCount": 1, "maxAttributesUsed": 6 } } Interestingly, the FBX I ran through Maya for export results in no errors, but one warning and the animation plays correctly. The difference is that the Maya export does not have the NODE_EMPTY error which I am sure is the problem here. Exporting the body only and the cloth only from the one-arm animation file results in a NODE_EMPTY warning in each case. Unfortunately, with the cloth only export I can't see if the animation is working. { "uri": "DemonTestMaya2019.gltf", "mimeType": "model/gltf+json", "validatorVersion": "2.0.0-dev.2.5", "validatedAt": "2018-11-21T23:41:03.318Z", "issues": { "numErrors": 0, "numWarnings": 1, "numInfos": 2, "numHints": 0, "messages": [ { "code": "UNSUPPORTED_EXTENSION", "message": "Unsupported extension encountered: 'KHR_lights'.", "severity": 1, "pointer": "/extensionsUsed/0" }, { "code": "MESH_PRIMITIVE_UNUSED_TEXCOORD", "message": "Material does not use texture coordinates sets with indices (1).", "severity": 2, "pointer": "/meshes/0/primitives/0/material" }, { "code": "MESH_PRIMITIVE_UNUSED_TEXCOORD", "message": "Material does not use texture coordinates sets with indices (1).", "severity": 2, "pointer": "/meshes/1/primitives/0/material" } ], "truncated": false }, "info": { "version": "2.0", "generator": "babylon.js glTF exporter for maya 2018 v1.2.6", "extensionsUsed": [ "KHR_lights" ], "resources": [ { "pointer": "/buffers/0", "mimeType": "application/gltf-buffer", "storage": "external", "uri": "DemonTestMaya2019.bin", "byteLength": 9452252 }, { "pointer": "/images/0", "mimeType": "image/png", "storage": "external", "uri": "UVmap2017.png", "image": { "width": 1024, "height": 1024, "format": "RGBA", "bits": 8 } } ], "hasAnimations": true, "hasMaterials": true, "hasMorphTargets": false, "hasSkins": true, "hasTextures": true, "hasDefaultScene": true, "primitivesCount": 2, "maxAttributesUsed": 7 } } At this point I think we need to call in our glTF expert @bghgary as he will be able to make more sense of the errors than I can. jsunandmax and Sebavan 2 Quote Link to comment Share on other sites More sharing options...
jsunandmax Posted November 22, 2018 Author Share Posted November 22, 2018 Raggar, yep that did the trick! What was the issue? Only one skin supported and those bones had membership in multiple object/skins or something? (this is a found mesh i'm using for testing, so i didnt create) thanks so much!! jason ps. I did notice that if i change the timeline to, say 200-400 and hit export, no animations were exported. (skin babylon values still set to default 1-100). I would have expected it to take the 1-100 values, but instead nada. Quote Link to comment Share on other sites More sharing options...
jsunandmax Posted November 22, 2018 Author Share Posted November 22, 2018 PatrickRyan, as for the '1-arm' i literally just loaded .fbx, set two keys and hit export. if that is kicking errors, there's something very funky happening. thanks for digging in! Quote Link to comment Share on other sites More sharing options...
Raggar Posted November 22, 2018 Share Posted November 22, 2018 11 hours ago, jsunandmax said: Raggar, yep that did the trick! What was the issue? Only one skin supported and those bones had membership in multiple object/skins or something? (this is a found mesh i'm using for testing, so i didnt create) thanks so much!! jason ps. I did notice that if i change the timeline to, say 200-400 and hit export, no animations were exported. (skin babylon values still set to default 1-100). I would have expected it to take the 1-100 values, but instead nada. I honestly have no idea. Your issue was different than mine. It was sort of a brute-force approach finding a solution. Quote Link to comment Share on other sites More sharing options...
Sebavan Posted November 22, 2018 Share Posted November 22, 2018 Adding @kcoley as well for the exporter bug Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.