Jump to content

3ds Max - Skeletons never work


You are about to reply to a thread that has been inactive for 72 days.

Please take a moment to consider if this thread is worth bumping.

Recommended Posts

I have been having this problem for quite some time now, and it is driving me insane. No matter what I do, I can't seem to get a working skeleton. Whether it's creating one from scratch, importing dev kits, using bought plugins and scripts to try and fix imports, or the actual LL skeletons, nothing seems to want to work. Almost every single rigged item I upload is completely mangled or won't even upload, and I cannot fix it no matter how many years I spend trying to fix it.

Could someone please explain to me what is going on? What does SL not like about everything that isn't Blender (which I am absolutely not going to use, don't even suggest it)? I am absolutely losing my mind over this because my store is an utter wasteland because I can't upload anything.

  • Like 1
Link to post
Share on other sites
7 minutes ago, HarrisonMcKenzie said:

I have been having this problem for quite some time now, and it is driving me insane. No matter what I do, I can't seem to get a working skeleton. Whether it's creating one from scratch, importing dev kits, using bought plugins and scripts to try and fix imports, or the actual LL skeletons, nothing seems to want to work. Almost every single rigged item I upload is completely mangled or won't even upload, and I cannot fix it no matter how many years I spend trying to fix it.

Could someone please explain to me what is going on? What does SL not like about everything that isn't Blender (which I am absolutely not going to use, don't even suggest it)? I am absolutely losing my mind over this because my store is an utter wasteland because I can't upload anything.

Sharing the work environment details and all the various settings tried so far may help people spot possible issues. My first question would be what axis is the avatar facing? 

Link to post
Share on other sites
1 hour ago, OptimoMaximo said:

Sharing the work environment details and all the various settings tried so far may help people spot possible issues. My first question would be what axis is the avatar facing? 

That doesn't seem to matter, since no facing works. Regardless of the facing, rigged mesh will not upload. Also worth noting that the LL skeleton is facing the wrong way.

Link to post
Share on other sites

Actually, dealing with the skeleton in blender is also a problem. Which is the main reason why tools like Avastar became popular in the first place. Avastar did a lot of things behind the curtains so that the collada file would be "SL Ready" before you imported.

As a hobbyst, I wanted to actually understand how to deal with it without using avastar, and I think the source that helped me out the most was this series of posts by Ada Radius: https://adaradius.com/2020/03/01/how-to-build-the-bento-armature-in-blender-2-8x-part-1/

After spending a lot of time on this, two things seem very clear to me: The default SL files are a mess and the way the uploader deals with the skeleton is more finicky than it needed to be. So you need to go around these two things to make it work. Grab a working dae file and compare with the one from 3dmax, see whats different.

Link to post
Share on other sites
9 hours ago, HarrisonMcKenzie said:

That doesn't seem to matter, since no facing works. Regardless of the facing, rigged mesh will not upload. Also worth noting that the LL skeleton is facing the wrong way

That's why I was saying that sharing the work environment might help. The fbx files found in the wiki face the correct direction, but the import settings might make Max do any sort of operations and change things in a way that uploading it back is broken. 

Anyway, if more info and pics will be coming along, someone might be able to help. A general answer like yours, which leaves everything to be assumed, including your correct knowledge about the topic, won't lead you any farther than where you currently are. 

Link to post
Share on other sites

The inworld armature was developed c2004 in Maya, with changes in 2012 and again in 2016 when they added the Bento bones and changed the height. The xml definitions are in the viewer folder Character, in avatar_skeleton.xml and, to morph to the male sized armature, avatar_lad.xml. I did the conversions to Blender earlier this year, best I could, and stashed them in GitHub/RuthAndRoth/References/AdaRadius. There are symmetry errors and bone length errors in the xml files, so I had to make some compromises - Blender defines bones differently than Maya. I am no programmer, this was best efforts when Avastar didn't upgrade well enough to Blender 2.8 and beyond. Bento Buddy is another Blender plugin I haven't checked out yet - I just bought it. For Max, I thought someone had done all this, but I don't know where it is.  Good luck!

  • Thanks 1
Link to post
Share on other sites
14 hours ago, OptimoMaximo said:

That's why I was saying that sharing the work environment might help. The fbx files found in the wiki face the correct direction, but the import settings might make Max do any sort of operations and change things in a way that uploading it back is broken. 

Anyway, if more info and pics will be coming along, someone might be able to help. A general answer like yours, which leaves everything to be assumed, including your correct knowledge about the topic, won't lead you any farther than where you currently are. 

Unfortunately, I really can't give any more info. There are no unique settings, no odd importing problems, and no extra details I have. This has never worked right on any computer I have used, nor on any version of Max or any version of an FBX exporter. This is the normal "mesh is twisted up and deformed" problem that people keep running into but never seem to find a solution for. Nothing works, and I'm hoping that someone who's done this exact thing in Max can share how they did it.

4 hours ago, Ada Radius said:

The inworld armature was developed c2004 in Maya, with changes in 2012 and again in 2016 when they added the Bento bones and changed the height. The xml definitions are in the viewer folder Character, in avatar_skeleton.xml and, to morph to the male sized armature, avatar_lad.xml. I did the conversions to Blender earlier this year, best I could, and stashed them in GitHub/RuthAndRoth/References/AdaRadius. There are symmetry errors and bone length errors in the xml files, so I had to make some compromises - Blender defines bones differently than Maya. I am no programmer, this was best efforts when Avastar didn't upgrade well enough to Blender 2.8 and beyond. Bento Buddy is another Blender plugin I haven't checked out yet - I just bought it. For Max, I thought someone had done all this, but I don't know where it is.  Good luck!

The creator of Bento Buddy made a plugin for Max, but that doesn't work either, and they ended up pulling it when they started working on Bento Buddy.

Can you explain you you used to xml file to try and fix thing? I opened up an exported shape, and only saw position info (most of which was zeroed out and not really helpful).

Link to post
Share on other sites

@HarrisonMcKenzie I took the Maya values in avatar_skeleton.xml, converted them to Blender values in a spreadsheet  (also in that github folder) as well as I could, then built the various armatures in Blender from those values. I blogged about it, about a year ago.  My route to the male armature was more convoluted; I may go back some day and clean it up. But what's really needed is an overhaul of the armature - clean up the numbers, the hierarchy, the naming conventions. Heck, fix the topology while we're at it. A better Character folder and viewer coding.  

 

Link to post
Share on other sites
  • 2 weeks later...

What is the armature? I see some dev kit have , others don't , others have different naming of skeleton , its all such a mess to try to adapt and rig different clothes to different bodies because there is no unified standard, everyone seems to create with his own setting and don't care for other creators that have to work with the files to adapt to more .

I am a max user and I ca't find any support for max on that regard, I don't have Maya and I don't like Blender, but seems that most tool creators only focus on blender, even if its very limited on some features compared to other tools.

I tried Bento buddy but I can't find a comprehensive tutorial of the features and how to use them for eventually porting all the work to max .

Link to post
Share on other sites

Have you tried to export from max into fbx and then use this Autodesk tool to convert to dae?

https://images.autodesk.com/adsk/files/fbx20133_converter_win_x64.exe

 

other usefull tips from the wiki

 

Before you export your mesh, make sure that it doesn’t have any stray vertices or overlapping edges. These will either cause unexpected visual results in Second Life or worse, the mesh will fail to upload entirely.

Once that’s done, select the mesh and...

1. Go to File --> Export --> Export Selected

2. Select the directory you wish to save the exported .dae or FBX file and create a name for it.

3. In the “Save as type:” drop down menu, select “Autodesk Collada (.DAE)” or "Autodesk FBX" depending of the workaround that your version of Max requires.

4. Autodesk Collada/FBX export will open a FBX Export dialog box. You shouldn’t need to change much to the default settings. If you’re exporting a skinned mesh, make sure “Animation” and “Deformations” are checked off. For all meshes, make sure that the “Up Axis” is set to “Z-up”. If the axis isn’t set to Z-up, the mesh axis(and the rig data) will be flipped on its side and/or rotated in Second Life. This will wreak havoc on a skinned mesh. Make sure that you also check "Triangulate" to avoid problems at time of the upload and to make sure that your mesh will look exactly as it does in Max.

5. If you're having trouble with Material ID's in world not reproducing what you have set up in 3ds max, you probably have a Materials naming issue: Follow this link for a more in depth explanation: Uploading_a_multi-face_mesh Autodesk Users

Bones and rigging

  • Units need to be metric cm or meters. See above for how to set that.
  • Your model should be editable poly when done making the geometry (the shape). You can use other object types while making it, but in final form it should be Editable Poly.
  • If your model is more than one named object in Max, it will import as separate objects. Use the attach button in Editable Poly rollout to combine objects if you want it as a single one.
  • Make sure you have no degenerate triangles (triangles with zero width), stray or duplicated vertices, etc. It needs to be a clean model.
  • Maximum complexity for import is 64K vertexs. Upload and prim cost depends on model size and complexity.
  • You can apply a maximum of 8 submaterial slots in a Multi/SubObject material, using default shader, applied to whole object.
  • It needs UV map coordinates if you want to apply a texture. Otherwise SL will have no information on what part of the texture goes on what polygons of the model.
  • Once imported, each submaterial ID acts like a "side" on a prim for applying textures. Imported models are one-sided for textures. The other side is transparent. If you want it to be seen from both sides, you need additional triangles facing the other way. Make sure normals point in the direction you will see once imported.
  • Use smoothing groups when you have curved shapes. Any polygons in different smoothing groups will show a hard edge between them. Hard edges will increase the vertex count in the upload window.
  • Apply "Skin" modifier last, after UV mapping. You might want to do test imports on Aditi at each stage before rigging to find problems in those stages.
  • Get the SLAV 3ds Max Plugin, which has a set of bones for the SL avatar pre-made. You may need to scale and rotate the bone rig to human size.
  • All vertexes need to be weighted to 1.0 total (no unweighted or partially weighted ones). At joints weight vertexes to the two or more nearest bones to get a smooth bend.
  • Add all bones to the Skin modifier. Click here for the whole workaround.
  • Delete everything from the scene besides the bone skeleton and your model before export. Save a copy with extra objects if you want, then a second one stripped to those two for export.
  • Export to Collada using Autodesk FBX Plugin or Converter. For the requires version check the first section about software setup.
  • Click Z-up on the export window and check Triangulate. Other settings are OK as default.
  • On the SL importer, go to the third tab, and click "Skin weights". I recommend doing your test imports on the beta grid (Aditi) because it uses fake L$. Once the items is perfect, you can import once on the main grid. Model will appear in the import window in white, possibly small. It can be rotated and zoomed
  • The importer creates a .slm file in the same folder as your Collada .dae file, to save your upload settings. This often causes problems if you change the model and upload again, so delete it.

3ds Max 2011, 2012 and 2013 versions

To export to DAE, use the Autodesk FBX 2013.2. Also make sure the objects, materials, submaterials and textures in the scene do not contain any spaces. (so not "Box 001" which will give the "Error: element is invalid", but "Box001" or "Box_001"). It's preferible if your model doesn't contains any textured applied before exporting and assign them later in world once the model have been uploaded.

 

3ds Max 2014 and above versions

Since you can't install older versions of FBX plugin in Max 2014 and above, and since the required working version is 2013.2, you may need to export your model as FBX but making sure that in the FBX Exporter plugin you choose 2013 as FBX version. You can then convert the resulting FBX file into Collada using FBX Converter 2013.2. As like with Max 2011, 2012 and 2013, make sure to not use any space in the name of objects, materials, submaterials and textures as well as not including any textures applied to the materials or submaterials at time of exporting.

Note: while the default Collada Exporter may "work", all 2014 Autodesk products (and still on 2020 at time of writing this) may present issues at time of export. The most apreciable one it's a huge delay on the exporting process taking more than 30 minutes on skinned meshes. The exporting process often may result on 3D Max crashing. Others issues are related with custom joints offsets not working correctly in-world and faces/IDs not being assigned correctly. For this reason it's recommended to use the FBX method instead untill Autodesk comes with a fix for the native Collada exporter.

 

Older versions

For older verions of 3DS Max, you can follow the same workaround for 3DS Max 2014. Download the latest version available of the plugin for your version of Max from Autodesk FBX archive (for example, FBX 2006.11.1 is the latest version that supports 3DS Max 7), export your model as FBX and convert to Collada using FBX Converter 2013.2.

Edited by Naiman Broome
Link to post
Share on other sites
14 hours ago, Naiman Broome said:

I don't like Blender, but seems that most tool creators only focus on blender, even if its very limited on some features compared to other tools.

Are you my soulmate?

I finally have something uploading (I basically threw away everything I had and did a bunch of upload tests using different processes). However, seemingly regardless of the skeleton I use (be it a devkit, the LL skeleton, bones generated from scripts, or hand-drawn bones), and regardless of the exporter, I'm finding that rigged mesh is uploading out of proportion. I don't mean that it's too big or too small; it's uploading with the wrong proportions.

So let's say I upload a pair of pants. The legs are fine and reflect the physical geometry I have offline, but the pelvis is coming in too small and offset inwards. Nothing in the appearance editor with regards to shape with correct for this (ie. making the avatar fatter makes them fatter, but the fatter pelvis is still negatively offset), and the amount of the offset is different across each coordinate.

I've been trying to manually bash the bones into place, like moving and scaling them to account for the offset, but the upload keeps breaking after a while. It goes from tedious progress (hundreds of uploads, all while working blind) to complete failure to upload within one export, and I just can't figure out why.

  • Like 1
Link to post
Share on other sites
12 hours ago, HarrisonMcKenzie said:

Are you my soulmate?

I finally have something uploading (I basically threw away everything I had and did a bunch of upload tests using different processes). However, seemingly regardless of the skeleton I use (be it a devkit, the LL skeleton, bones generated from scripts, or hand-drawn bones), and regardless of the exporter, I'm finding that rigged mesh is uploading out of proportion. I don't mean that it's too big or too small; it's uploading with the wrong proportions.

So let's say I upload a pair of pants. The legs are fine and reflect the physical geometry I have offline, but the pelvis is coming in too small and offset inwards. Nothing in the appearance editor with regards to shape with correct for this (ie. making the avatar fatter makes them fatter, but the fatter pelvis is still negatively offset), and the amount of the offset is different across each coordinate.

I've been trying to manually bash the bones into place, like moving and scaling them to account for the offset, but the upload keeps breaking after a while. It goes from tedious progress (hundreds of uploads, all while working blind) to complete failure to upload within one export, and I just can't figure out why.

Have you exported to fbx of 2013 and then converted to collada dae with the convertor?

I was able to import a crappy looking pants but indeed the bones seems outplacing the mesh and I had tomanually edit the vertexes with soft selection to put them into position , but its not a desiderable procedure as you miss the original arrangement of vertexes .

 

About the out of proportion issues, I had those when I was using a wrong unit setup , the one I use and that I check when I import bones etc is Meters, if I import then a dev kit that is not respecting that ( for some reasons seems every mesh body developer has his own standards ) I try to scale it to correct sizes at import stage.

ALso the problem you are describing I think is due to the morphing bones that to what I am seeing are poorly handled by the import export in and out of 3dsmax.

Edited by Naiman Broome
Link to post
Share on other sites
You are about to reply to a thread that has been inactive for 72 days.

Please take a moment to consider if this thread is worth bumping.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...