Jump to content

Rigged Clothing works fine in blender, but looks wrong in world.


Ickarus0
 Share

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

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

Recommended Posts

Hi guys. I've recently modeled a harness in Blender for the JOMO fox model (link here). The creator of this model has provided a dev kit which I've used to base my harness off of. The issue that I've come across is that after rigging the model with avastar and manually tweaking all the weights, the harness performs perfectly within blender (I can twist the joins around and the harness moves as it should) but when uploaded to SL and worn, it doesn't fit at all above the waist. I've shown the model to a friend who has lots of experience making models and rigging them for SL/game dev stuff and he's stumped as well. Below are some pictures showing what's going on.

I've done a bunch of investigating but I can't seem to pin down any concrete issues with what I'm doing. I'm almost certain there are some minor discrepancies between the dev kit model and the actual in game model, but nothing like you see in the two in game images, so I don't think that's a factor. I and other content creators have tried contacting the maker of the avatar but he never responds.

A bit more info regarding the harness and avatar itself: I'm not sure if this matters, but for the object physics on the harness I just uploaded a cube and applied it as the collider. The avatar in these images hasn't had its shape adjusted at all, and I was wearing nothing else that might in some way interfere with the mesh. Out of sheer desperation, I tried exporting my character shape as an .xml and uploaded it through avastar (not really knowing what I was doing at all) and compared it to my harness model. The comparison can be seen in the last image I uploaded. This is just a super random wild guess, but it almost looks like my harness is trying to fit to an invisible version of THIS body shape that is super imposed over the actual jomo avatar. This could be 100% wrong, but it's the closest I've come to explaining what is going on. I tried unboxing my avatar again and applying the harness to that body, thinking I might have somehow screwed up the body shape, but no, it seems to look wrong no matter what I do.

I know there must be some way to make clothing for this avatar as there are other 3rd parties that are selling clothing that seems to fit perfectly. I've even contacted some of these sellers to ask what I'm doing wrong, but most either don't respond or are just unsure. If you guys could offer some advice I would be so, so grateful. I've been tussling with this stupid model for weeks. Thanks so much.

 

 

front.jpg

back.jpg

frontingame.jpg

backingame.jpg

xml.png

Link to comment
Share on other sites

I see the same jaggy deformations that the default avatar shows. I need to ask whether the jomo avatar is fitted or not in the first place. Then, in your pictures it's easy to see, but i noticed the armpit deformation in Blender, and it doesn't seem exactly the same on the inworld avatar. Since you haven't provided details about the procedure you followed, i can just give you my guess there.

So, at current state, if you have used Avastar copy weight features, you might have copied the weights from the classic avatar instead of the Jomo avatar. Use the Data Transfer modifier instead, making sure to point to the Jomo avatar body object. Make sure to Limit the number of influences to 4 (or less, never more than 4). It's a tool available in the weight painting tools, in the panel that toggles with T. You also need to remove the unused vertex groups before the export, but I don't know how this is performed in Blender.

  • Like 1
  • Thanks 1
Link to comment
Share on other sites

2 hours ago, OptimoMaximo said:

I need to ask whether the jomo avatar is fitted or not in the first place.

I don't know much about this but I can answer that question at least and possibly another one too. Unless it is an old model, the JOMO avatar is fitted mesh Bento.

 

2 hours ago, OptimoMaximo said:

but i noticed the armpit deformation in Blender, and it doesn't seem exactly the same on the inworld avatar.

I'm beginning to get a feeling that is true for the whole dev kit, it doesn't match the actual avatar very well.

Here is a closeup of pair of shorts from one of the two biggest sellers of JOMO clothing:

Snapshot.png.878bfe8c766ed8a665e3a9601ca1d981.png

They didn't get it right either and they are supposed to be the experts.

Link to comment
Share on other sites

4 hours ago, ChinRey said:

Here is a closeup of pair of shorts from one of the two biggest sellers of JOMO clothing:

that may well be some room left for the texture layers, which hopefully soon will be a bad memory with baking services extended to meshes. However it is a common problem to many devkits, the body shapes aren't always a perfect match. Maitreya and Aesthetic to name a couple, this latter also has different weights from the inworld model! In my opinion, it is a matter of how the dummy in the devkit got the weights copied over from the original model. And before that, the aggressive decimation that some of those go through may have affected the model's volume as well as the lack of geometry in key spots to capture that area's weights. Sum all up together, perhaps with imprecise copy weights settings, et voilà you've got awesome discrepancies. 

However, my guess is still that Blender+Avastar may have copied weights from the classic avatar, judging from the pretty harsh deformations shown in the picture. The distance from the body is really exaggerated, while on the classic avatar it appears to be sunk in the torso.

Another thing that, if not handled correctly, can lead to issues in Blender is when the character was made with multiple bind poses in mind in another software like Maya, thing that Blender handles for you only via Avastar's scripts for you to *work with* different bind poses, but it doesn't handle a custom bind pose import. And a bind pose can also be involving collision volume bones, which give volume to body parts. If the devkit was exported from a thinner/thicker/taller/whatever shape, in Blender you'd get that as rest pose, while the bindpose (the original pose used for binding skins) was just lost. And there you get a consistent discrepancy with a sort of "fixed distance" between the garnment and the body, like the one ChinRey shows in her last picture. There may be a lot of concurrent causes to give us this devkit discrepant results with the inworld model they're supposed to support. I cant believe this was made on purpose, it would be plain stupid.

  • Like 1
Link to comment
Share on other sites

1 hour ago, OptimoMaximo said:

that may well be some room left for the texture layers, which hopefully soon will be a bad memory with baking services extended to meshes.

Oh yes, I really hope they roll that upgrade out soon.

The JOMO body doesn't have clothes layer though so that can be reason in this case.

1 hour ago, OptimoMaximo said:

However, my guess is still that Blender+Avastar may have copied weights from the classic avatar, judging from the pretty harsh deformations shown in the picture.

You are probably right. The deviations in Ikarus' pictures are not exactly the same that I get with my avatar. That may be differences between the male and female version of course, or it may be that the maker of my shorts has tried to compensate for the flaw. But most likely there is some other unrelated factor that causes Ikarus' problem.

Link to comment
Share on other sites

1 hour ago, ChinRey said:

But most likely there is some other unrelated factor that causes Ikarus' problem.

Another thing i couldthink of, is that the maker has used the female skeleton, while he's clearly using a male shape, both in avastar and inworld. The male skeleton has quite a few flaws, especially regarding the wrist area and, in general, when making an avatar that uses joint positions it's always good advice to start from a female skeleton. But i guess this kind of information should be included in the devkit docs.

 

1 hour ago, ChinRey said:

The JOMO body doesn't have clothes layer though so that can be reason in this case.

*can't be the reason* but i understood what you meant - Dang, i wanted to give them the benefit of doubt xD 

1 hour ago, ChinRey said:

may be that the maker of my shorts has tried to compensate for the flaw

In such case, it's very sad. How's a clothies designer supposed to work without a matching shape avatar? This is one of those mistakes that slowly kill a mesh body off the market because there's no garnment available. Who would make clothes on a constant basis for this body if you have to lose so much time in trial and error? You go and try, if it works within a short amount of time you keep it, otherwise the body is discarded for the release, next outfit maybe goes better. Which leads to a lack of accessories and clothing for particularly flawed mesh bodies. At least this is what happens to me with Aesthetic. I try and see how big of a discrepancy i get this time with the model i'm working. If i can get acceptable results in a short time, it goes to the release package. But the shape difference and weights (heavy) imprecision most of the times leads me to discard the Aesthetic version from that release. In 3 hours i rig on 6 body brands, i don't see why i should be wasting 1 or more hours just on that body because the devkit is extremely loose.

  • Like 2
Link to comment
Share on other sites

2 minutes ago, OptimoMaximo said:

In such case, it's very sad. How's a clothies designer supposed to work without a matching shape avatar? This is one of those mistakes that slowly kill a mesh body off the market because there's no garnment available.

Yes but the JOMO furry avatars have their own niche market with no serious competitors so it may not be important to them.

But on a side note, it is a very narrow niche and they have quite a wide range of elaborately made products there. And if you visit their inworld store, you will notice they are working the same way in other niche markets. There must be several cotnent creators represented in their product range and somebody must also have invested considerable time and effort organizing and developing the brand. It's very hard to see how the Second Life market alone can justify a gig like that. I wonder how they do it.

Link to comment
Share on other sites

19 hours ago, OptimoMaximo said:

I see the same jaggy deformations that the default avatar shows. I need to ask whether the jomo avatar is fitted or not in the first place. Then, in your pictures it's easy to see, but i noticed the armpit deformation in Blender, and it doesn't seem exactly the same on the inworld avatar. Since you haven't provided details about the procedure you followed, i can just give you my guess there.

So, at current state, if you have used Avastar copy weight features, you might have copied the weights from the classic avatar instead of the Jomo avatar. Use the Data Transfer modifier instead, making sure to point to the Jomo avatar body object. Make sure to Limit the number of influences to 4 (or less, never more than 4). It's a tool available in the weight painting tools, in the panel that toggles with T. You also need to remove the unused vertex groups before the export, but I don't know how this is performed in Blender.

Thanks for all the input man. The JOMO avatar is a mesh avatar using the bento skeleton. One thing I've noticed is that this is 'dev kit version 1' which I think means it's using an older skeleton version (non bento). Inside the dev kit there are two models, a male and a female. (see pic 1) I have only ever used the male version of the rig. Avastar has asked me in the past to update the rig, but I've been ignoring it, afraid of delving too deep into things I don't understand. Not sure if that matters or not.

I looked up this tutorial on avastar (here, skip to 2:48 to skip all the bull*****) and basically did the same for my harness, except instead of spawning an avastar dummy, I just opened up the male JOMO dev kit, clicked my harness, shift clicked the rig, then clicked 'bind to armature' with weight set to 'meshes', and the 'clear weights' and 'interpolate' options checked. I immediately exported the result without tweaking anything, and it turned out the same as before. Setting 'bind to armature' option to 'keep' results in the harness not being bound to the avatar (I'm assuming this is for weights that have already been painted onto the armature?) Also, I'm not sure if this matters, but when I try rigging it through avastar using this method, I've found that it seems to delete all of the vertex groups not directly 'touching' the harness (like the feet, ankles, butt, etc.). Clicking the remaining groups shows which parts of the harness mesh are being affected by the various avatar vertex groups.

I tried messing around with the Data Transfer modifier and followed this tutorial on stackoverflow, but it seems I'm missing something important. I can get the harness mesh bound to the avatar, but when I go to export it as a .dae, avastar informs me that there are hundreds of unweighted vertices and that it won't export the model. Just like in the tutorial, I told it to use vertex data and vertex groups. In the tutorial he had suggest parenting the piece of clothing to the rig with empty groups. I tried both empty groups and automatic weights- both of them resulted in the same issue mentioned previously, but with the 'automatic weights' setting resulting in fewer unweighted vertices. Unlike the avastar method, none of the vertex groups get deleted, but I can manually select them and see the weights of the different groups on the harness.

 

Not sure what to do from here. If you want, I could literally send you the dev kit and my model. Again, thanks for all the help.

Edited by Ickarus0
Link to comment
Share on other sites

3 hours ago, Ickarus0 said:

I just opened up the male JOMO dev kit, clicked my harness, shift clicked the rig, then clicked 'bind to armature' with weight set to 'meshes', and the 'clear weights' and 'interpolate' options checked.

Indeed, you did copy the weights from the avastar model, in my opinion. Try using Blender's native parenting and do: select the mesh, then add the armature to selection, ctrl+P and set that with automatic weights. You can follow that tutorial using the Data Transfer modifier, or you can do a quick test using the regular copy weights (select the body mesh first, then the harness and use the CopyWeights button in the T panel on the left) to just see whether things change.

As a side note, i seem to remember that the Data Transfer modifier needs to be applied before it's possible to export, to finalize vertex groups and weights, reason why i think you got that warning for unweighted vertices. Since you didn't mention this detail, i thought you may give a shot to this if you didn't already.

 

 

  • Like 2
Link to comment
Share on other sites

22 hours ago, OptimoMaximo said:

Indeed, you did copy the weights from the avastar model, in my opinion. Try using Blender's native parenting and do: select the mesh, then add the armature to selection, ctrl+P and set that with automatic weights. You can follow that tutorial using the Data Transfer modifier, or you can do a quick test using the regular copy weights (select the body mesh first, then the harness and use the CopyWeights button in the T panel on the left) to just see whether things change.

As a side note, i seem to remember that the Data Transfer modifier needs to be applied before it's possible to export, to finalize vertex groups and weights, reason why i think you got that warning for unweighted vertices. Since you didn't mention this detail, i thought you may give a shot to this if you didn't already.

 

 

So, you were right about the data transfer modifier needing to be applied. I did what the tutorial said, applied the modifier and was able to export the harness model, however, it seems to be giving me the same exact issue. See the first two images.

One thing I did notice is that when I went under appearance -> edit shape and changed my gender to female, the harness fit like you see in the 3rd and 4th images. This got me curious, so I opened the female JOMO dev kit, and appended my harness. Images 5 and 6 show how it sits on the female body. It certainly fits better, but it's still 'wrong'.

After this, I went back into blender, and instead of using the data transfer modifier, I did what you said and just selected the body mesh, then the harness, then clicked 'transfer weights' under the T panel. The 7th image shows what happened. It looks like it only transferred the weights from the mPelvis vertex group to the harness. Nothing else transferred, and when I moved the rig around, the harness (not surprisingly) didn't move with the figure at all.

Another thing that I did notice the other day that I forgot to mention is that while exploring the properties of the body mesh (the dummy) there are a series of shape keys on the model (the last image). Could these be presenting some sort of issue? I've never used shapekeys, and although I have a very general idea what they do, I thought SL didn't support them in the first place. I'm so dang confused at this point.

And again, I wanna thank you so much for taking the time to try and figure this out with me. I really, truly appreciate it man.

Edit- also, if you're curious what the 'avatar meshes' is in the file explorer in the last image, it's just a skirt and hairpiece dummy the designer included with the dev kit. 

a1.jpg

a2.jpg

a3.jpg

a4.jpg

a5.jpg

a6.jpg

a7.jpg

a8.png

Edited by Ickarus0
Link to comment
Share on other sites

I think the shape keys come from the Avastar plug in for the fitted mesh system to work. Indeed, what i would suspect is that you're not using the default shape, somehow, and the whole thing gets shifted. The whole fitted mesh system in Avastar is a sort of workaround to allow volumes display, when Blender doesn't actually support what the volume bones are supposed to do. The only thing i can think of, right now, is that your harness is not "fitted" in Blender when you bound to armature. There should be a drop down selector to choose between "classic" and "fitted". Make sure it's set to fitted, of course. You can double check whether you did it already or not (in case you can't remember if you did) by going to the shapekeys section: if it shows something like what you're posting here from the body, it's already attached as fitted; otherwise go ahead and try that! :) 

Link to comment
Share on other sites

20 hours ago, OptimoMaximo said:

I think the shape keys come from the Avastar plug in for the fitted mesh system to work. Indeed, what i would suspect is that you're not using the default shape, somehow, and the whole thing gets shifted. The whole fitted mesh system in Avastar is a sort of workaround to allow volumes display, when Blender doesn't actually support what the volume bones are supposed to do. The only thing i can think of, right now, is that your harness is not "fitted" in Blender when you bound to armature. There should be a drop down selector to choose between "classic" and "fitted". Make sure it's set to fitted, of course. You can double check whether you did it already or not (in case you can't remember if you did) by going to the shapekeys section: if it shows something like what you're posting here from the body, it's already attached as fitted; otherwise go ahead and try that! :) 

Not entirely sure what you mean here. I thought you said I should try not using avastar? Aren't the 'classic' and 'fitted' options things that I would have to do through avastar?

 

EDIT:

Ok, so I found another tutorial on youtube and tried that. I literally downloaded the version of blender used in the video so that I was guaranteed not to mess anything up. This is the tutorial. All she does is parent the clothing to the avatar with empty weights, then transfers the weights. It worked in blender perfectly. Instead of just copying the mPelvis vertex group weights to the harness, it copied all of them. It assigned the weights and the harness moved properly as I moved the character's rig around. When I exported it in this version of blender, because I didn't have Avastar installed, I couldn't use the Avastar .dae export option, so I used the standard blender .dae export option (I used the 'rigged' export preset). The result was my harness smashed up inside my characters body. I then saved what I did and opened my newer version of blender (2.79), and tried exporting it using the avastar .dae export option, but it turned out exactly like it normally does. I don't understand this at all. I literally weighted the harness in a version of blender NOT ASSOCIATED with avastar, and it's still messed up.

As a side note, not sure if this is useful, but while testing the harness in SL, when I right click on my harness (or any bit of clothing) and hit ctrl + shift, a bounding box with scaling markers appears. I'm assuming this is the collision model for the articles of clothing. The other articles I've made that work fine have their bounding boxes centered on the clothes, but all my harnesses have the bounding skewed and tilted like in the second image. I don't know if this means anything at all, but I'm grasping at straws here. I'm so desperate it hurts.

b1.jpg

b2.jpg

Edited by Ickarus0
Link to comment
Share on other sites

5 hours ago, Ickarus0 said:

Not entirely sure what you mean here. I thought you said I should try not using avastar? Aren't the 'classic' and 'fitted' options things that I would have to do through avastar?

Yes i have been telling you to try with and without avastar. I think the problem is the Blender version, at this point. What you show in the first picture, exported with default Blender collada from previous version, shows exactly the collision volume bones problem that Avastar addresses (scaling on the joints). Basically it was working correctly, but the SCALE of the cBones isn't supported in Blender and all the item got squashed like that. Try to install Avastar on that previous version (discard Blender 2.79 for now) and things should go definitely better.

Link to comment
Share on other sites

12 hours ago, OptimoMaximo said:

Yes i have been telling you to try with and without avastar. I think the problem is the Blender version, at this point. What you show in the first picture, exported with default Blender collada from previous version, shows exactly the collision volume bones problem that Avastar addresses (scaling on the joints). Basically it was working correctly, but the SCALE of the cBones isn't supported in Blender and all the item got squashed like that. Try to install Avastar on that previous version (discard Blender 2.79 for now) and things should go definitely better.

Ok, so I uninstalled the newest version of blender, reinstalled avastar on 2.77 (avastar said it wanted this version), selected both the rig and the harness, and did 'mind to armature, with weight set to 'meshes' and the clear weights and interpolate options checked. It does the same thing it normally does, where it floats off the avatar.  I tried installing it on the 2.68 version, but it wouldn't allow me to enable the addon after installation. I tried version 2.75 as well, and although it worked, it gave me a warning that avastar might not work, as it was written for version 2.77.

I also tried updating the rig to the extended version in this version of Blender, and did the same operation. No luck.

I've also been getting this error which I figured was just a high poly count warning. Dunno if that helps.

c1.jpg

Edited by Ickarus0
Link to comment
Share on other sites

Yes the warning says it-s a high triangle count and it's throwing a warning you could ignore, it says. Aside from the triangle count, Avastar can do its job here.

I believe that avastar copy weights from meshes is only intended for the classic avatar it provides and that could be hidden from view now. I'm not sure it accounts for your devkit meshes at all. To me, you should do the manual procedure, unmistakably doing the copy weights yourself. 

Another thing i forgot to mention, it's easier to have trouble if you bind a mesh that still has transforms, apply all of them prior to binding (CTRL+A apply rotation, scale and location).

We're almost there figuring out what was wrong, don't give up =)

 

  • Like 1
Link to comment
Share on other sites

What I don't understand is for half of these procedures I'm not even implementing avastar, other than using their export .dae option. I just did the data transfer method (on Blender 2.77, using this tutorial https://stackoverflow.com/questions/34719718/transferring-rig-weights-from-one-mesh-to-another-in-blender-2-76), and it's once again imported incorrectly. I've applied scale, rotation, and location on literally everything. The rig, the avatar base, the harness. None of it makes a bit of difference. I tried exporting it with avastar's export option, as well as with blender's .dae export option. Neither of them work properly.

I noticed that the dev kit has the avatar mesh dummy's rotation set to '-90' in the object properties menu. I tried clicking the avatar mesh and apply rotation, scale, and location to remove that. It did. It didn't make a difference when I rigged the harness to it.

I tried applying rotation, scale, and location, clicking the avatar mesh, clicking the harness, and hitting transfer weights. It only transfers weights from the mPelvis vertex group to the harness. Nothing else.

Edited by Ickarus0
Link to comment
Share on other sites

15 hours ago, Ickarus0 said:

I noticed that the dev kit has the avatar mesh dummy's rotation set to '-90' in the object properties menu. I tried clicking the avatar mesh and apply rotation, scale, and location to remove that. It did. It didn't make a difference when I rigged the harness to it.

Alright, so IF the devkit came in facing -Y with a rotation of -90 on the Z axis. What avastar does, basically, is to make the default working Blender orientation comply to SL's requirement upon export. When using plain Blender, no Avastar, you should make sure your character faces +X axis in the first place. This breaks any skeleton or weight mirroring operation, so you should do this right before the export. You should not apply the scale at any time because a) you're not scaling the character b) collision volume bones DO have scale information that is not 1,1,1 in its rest pose

So, i would suggest you to re-import the devkit, turn all rotations to zero (type the zero values in the transforms, do not apply rotation) and then bind to skeleton. 

  • Like 1
Link to comment
Share on other sites

11 hours ago, OptimoMaximo said:

Alright, so IF the devkit came in facing -Y with a rotation of -90 on the Z axis. What avastar does, basically, is to make the default working Blender orientation comply to SL's requirement upon export. When using plain Blender, no Avastar, you should make sure your character faces +X axis in the first place. This breaks any skeleton or weight mirroring operation, so you should do this right before the export. You should not apply the scale at any time because a) you're not scaling the character b) collision volume bones DO have scale information that is not 1,1,1 in its rest pose

So, i would suggest you to re-import the devkit, turn all rotations to zero (type the zero values in the transforms, do not apply rotation) and then bind to skeleton. 

I don't understand what you want me to do when you say bind to skeleton. We've done three different operations. I've used data transfer, I've used weight transfer, and I've used avastar. Which one should I use? Whenever I I click the mesh then the harness, and transfer weights, it only ever transfers the pelvis weights. Literally nothing else.

I completely re-downloaded the JOMO dev kit to make sure I didn't accidentally screw up the orientation at some point. When I look at the jomo avatar mesh in the object properties, it is at X= 0 degrees Y = 0 degrees Z = -90 degrees. The jomo rig itself is at X= 0 degrees Y = 0 degrees Z = 0 degrees (this doesn't make any sense to me. Shouldn't the rig and avatar have the exact same alignment?). My harness, when imported, is at X= 0 degrees Y = 0 degrees Z = 0 degrees. I've included pictures of all this below. When I zero out the avatar on the z axis so it's pointing at X+, the rig doesn't move with the avatar, and the avatar ends up distorting itself because they're not in alignment with eachother. Should I rotate the the rig -90 degrees on Z, then apply rotation so the rig and the avatar mesh are properly aligned? Furthermore, shouldn't I rotate my harness -90 degrees and apply it, so that when I 'zero' everything in the transforms (without applying the rotation) it's all pointing to +x?

 

EDIT: I don't understand what's going on at all. As soon as I start moving the avatar or the rig, everything gets *****ed up. This is the exact dev kit link I used. Can you please download it and look at it?

 https://www.dropbox.com/s/vrgord0vpo9k9hp/JOMO Fox V1.0 Development Kit.zip?dl=0

I'm losing my mind over this *****.

d1.jpg

d2.jpg

d3.jpg

d4.jpg

Edited by Ickarus0
Link to comment
Share on other sites

Alright, i try to explain this issue: what you're trying onto is a dev kit that was most likely made using Avastar. The problem in Blender for SL stuff is that Blender wants your character facing -Y axis like in your picture, whilst SL wants the character facing +X. During export, Avastar scripts do their thing in order to convert Blender's orientation into a SL orientation, which is represented by the skeleton Z axis rotation you've found on the object mode skeleton only. My explanations, in my previous posts, were comparing the 2 workflows.

So, IF you're not using Avastar:

  • Make sure you're using Blender 2.78 (the latest version seems to have problems with rigs)
  • Take the skeleton in object mode and set all rotations back to zero. The rig will turn with the character attached.
  • Take the character and Apply Rotation only
  • Make sure that ALL bones in pose mode are set to zero rotations as well
  • Bind/parent/attach to skeleton and do the weight transfer

I'm sorry to have added up on the confusion, I often use Maya terminology. Binding to skeleton is the same as parenting to Armature in Blender. 

This rotation discrepancy is due to Blender's limited handling of mirroring when it comes to weights and posing, which can only happen across the X axis. That's one of the several reasons i abandoned Blender also for my SL stuff.

  • Like 1
  • Thanks 1
Link to comment
Share on other sites

19 hours ago, OptimoMaximo said:

So, IF you're not using Avastar:

  • Make sure you're using Blender 2.78 (the latest version seems to have problems with rigs)
  • Take the skeleton in object mode and set all rotations back to zero. The rig will turn with the character attached.
  • Take the character and Apply Rotation only
  • Make sure that ALL bones in pose mode are set to zero rotations as well
  • Bind/parent/attach to skeleton and do the weight transfer

I downloaded blender 2.78c. I set the skeleton rotation to zero (they were already at 0, so I technically did nothing to the rig). I took the character (avatar) and applied rotation. I opened up pose mode, and right clicked on every single bone, making sure their rotations were all set to 0 (they were all at 0, so I did nothing to them). I appended the harness .blend object to the dev kit file like I always do. I made sure the harness was at 0,0,0 in the rotation properties. It was. I performed the data transfer by selecting the harness, creating a data transfer modifier, setting source object to avatar mesh. I selected vertex data, clicked vertex groups, then 'generate data layers'. I think clicked on the harness, clicked the rig, and hit ctrl + P 'with empty weights'.

I exported the .dae with the standard blender export option. I used the options in the image below for export. It still does not work. The harness is all smashed up inside the body.

I tried enabling avastar and exporting it with avastar's .dae export option. I made 0 changes to the rotations you told me to try. It does not work. The harness is wonky and out of shape like it always is.

 

EDIT: I'm not sure if I made this clear enough in earlier posts- although the JOMO avatar in game uses the bento skeleton, I believe the dev kit is using an older form of the rig that isn't bento. For these tests I did not try to update the rig. Is that a problem?

e1.png

Edited by Ickarus0
Link to comment
Share on other sites

i somehow missed the link to see the actual devkit files.

First analysis:

From the file creation dates, assuming you haven't saved over this package's blend file, the time stamps indicate that this character was made in Maya, exported to FBX, then a 3DSMax scene was created and for last, almost one month later, the blend file. This led me to read some infos when i opened the Blender file.

First of all, this was imported and bound to an Avastar rig:

Screenshot_1.png.c142fbb41d189d2c2549bc1430e76d58.png

The bones shapes and the main controller shape + name is unmistakably from Avastar

Secondly, the character was rotated from the original orientation to fit Avastar's, but the rotation wasn't applied. It should work properly also this way.

Screenshot_2.png.109744f694c686aa6cee25da41b8c0d2.png

So i guess its intended use is with Avastar anyway

I tried the update feature, but it didn't work. The skeleton just collapsed, so i went on deleting it, making sure the character was in TPose first.

Added a new avastar only rig, and simply went to the model's modifier panel to re-attach the Armature modifier

Screenshot_3.thumb.png.fcb5c2bfdbbe2ccaa41a0debc6cffc2b.png

Screenshot_4.png.473d1aec88bb4e5df44b7e7f045191bc.pngScreenshot_5.png.c8bb300bcb45c0587ab915764c61db00.png

and it goes back to a working order with a similar structure.

Screenshot_6.png.88dafb7c0ac477ac95fddf7269dc587c.png

Collision volume bones are hidden by default but they're there. Now this should work properly with Avastar.

Step back, without Avastar:

We have an extra bone that will be listed in a default Collada export, the Origin. So i would go into edit mode and remove that one first

Screenshot_7.png.ecf83a79be4287e17277f039a038d682.png

Back to object mode, we must have the character facing the +X axis

Screenshot_8.png.5e7739ac87bd51bb00d0779f8b4aebf1.png

then apply Rotation (CTRL-A-->Rotation). This will not affect the pose mode rotations, just do not apply the pose as rest pose.

Now, the problem resides in the following part:

Screenshot_9.png.d9df674ff163b0884ce147e0aea32fd7.png

As you can see here, collision volume bones come packed with custom properties that derive from Avastar packaging, some of which are needed to simulate features that Blender doesn't natively support, like binding to a rotated or, worse, scaled bone. All things expected to be in place by the mesh system to work. Here, you can see that the inworld default scale value is 0.09, and that's what Avastar is going to write instead of the values you can read in the N panel. However the default Collada exporter won't export those from the custom properties section. I remember that Gaia Clary had a video about her Avatar workbench to work around this issue, but i don't remember what was about for myself.

So your mesh squashing is most definitely due to this, since you're not using avastar to deal with the custom properties needed for the fitmesh system to work. You have two options i think: 

a) you use the Avastar version, doing the update as i showed above

b) you find that Avatar workbench "trick" to be able to export that data from the native collada exporter and follow the second method i showed here.

I personally would add a third option, but it's totally irrelevant to the matter at hand.

  • Like 1
  • Thanks 1
Link to comment
Share on other sites

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

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

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
 Share

×
×
  • Create New...