Home Animation Showcase & Critiques

3ds max bone display modes

polycounter lvl 10
Offline / Send Message
Nixellion polycounter lvl 10
Hello all,

I've been doing some importing\exporting\bone stuff in max, and found out that it can display bones very differently.

But I know that it can display them as mesh objects, or as "Links", which makes them look similar to Maya's, for example, and others. But I also found this:


I searched all the parameters, even tried to access them through maxscript, no luck... How do I control this?

On the right the bones look like ticks connected with lines. On the left they look like diamonds connected with pyramid shapes. Both versions have constant screen-size, and don't respond to scaling.

Thanks 

Replies

  • Eric Chadwick



    FYI, here's how to embed images:
    http://polycount.com/discussion/63361/information-about-polycount-new-member-introductions/p1#forum

    When you select each of the two bone types, what do they show in the Modifier Stack? That should give you some clues.
    Which version of Max are you using?
    Some info about how bones work:
    http://help.autodesk.com/view/3DSMAX/2016/ENU/?guid=GUID-395E6B03-C60A-457D-A4BE-ED98380CFC55
  • Nixellion
    Offline / Send Message
    Nixellion polycounter lvl 10
    Hi, thanks.

    I'm using max 2016, but the same with 2014 and 2015.

    In the modifier stack they are all "Bone", with classic Bone Object parameters. I can turn off "Display Links" and then all of then render as regular max bones with geometry, though geometry is a bit weird, but whatever.

    But I still can't find any information about how to render them as ticks or diamonds, how to switch between these two. I want the whole skeleton to either be visualised as ticks (small ones on the right) or diamons (bigger ones onthe left), not both of them mixed up together. 

    I know that I can always just write a script to replace them with brand new objects in same coordinates with same names and hierarchy, but I just want to dig deeper and figure out wtf is going on with these bones :D
  • monster
    Offline / Send Message
    monster polycounter
    Have you tried the "Leave As Bone" FBX import option? This should cause everything to import as a BoneGeometry class object.

    In your screenshot I notice the arm is "links" and the attachment bones are dummies. It could be that only deforming bones are imported as Bones, and the rest are Dummies. Maybe try unchecking "Convert Deforming Dummies To Bones" when exporting. Maybe that will leave everything alone.
  • Nixellion
    Offline / Send Message
    Nixellion polycounter lvl 10
    It's not actually FBX import, it's nif from fallout, and they are not dummies, they are all bones, they have bone in the modifier stack, and through max script they register as bones as well. All of them.

    The "links" were imported separately through fbx, thats why they are displayed as links correctly, while the rest came from nif, and while they are all bones, somehow they are displayed differently. Which is very weird. 

    It's hard to imagine such problem in maya, because there you can control every parameter of bones, display and shapes, whatever you need, while in max it seems it's partially a blackbox...
  • monster
    Offline / Send Message
    monster polycounter
    Could you share your max file, or just part of the file? I can't reproduce this behavior.
  • Nixellion
    Offline / Send Message
    Nixellion polycounter lvl 10
  • monster
    Offline / Send Message
    monster polycounter
    Looks like the Nif importer is enabling BoneAsLine for some reason. This option is not available anywhere in the UI, nor through MaxScript. But we can get to it through Python. Select your objects while in link mode and evaluate this python script from the MaxScript Editor (language set to Python). 

    [edit]Sorry pasted as Quote instead of Code. Formatting is crucial to python.[/code]

    #//SETS OBJECTS TO DISPLAY AS A LINE WHEN IN LINK MODE
    import MaxPlus
    
    selNodes = MaxPlus.SelectionManager.GetNodes()
    
    for obj in selNodes :
    	obj.BoneAsLine(True)

  • Nixellion
    Offline / Send Message
    Nixellion polycounter lvl 10
    Oh, really!? Autodesk, wtf?
    I know Python, yeah. Thanks. 
Sign In or Register to comment.