Convert a figure to a prop



  • If people want a specific example, then let's go with Andy2 being a balloon. Balloon Andy is being draped over the back of a chair. So basically as if someone had taken BaloonAndy2 and thrown his deflated body over the back of a chair.

    That's not exactly what I'm doing, but it's a good example.



  • @mr_phoenyxx
    By "exploding", what do you mean? Coming apart at seams? Different parts falling in different places? Something else?

    OK, so let's take your balloon Andy as an example. Even though Andy is one FIGURE, it's a figure that is made of many geometry parts that are unique. There may also be splits at the group seams and so on.

    In order for "balloon Andy" to work as a single unified OBJ, you will have to do more than just import the OBJ file, and you'll probably have to do this in a modeler. The body parts that have one piece of geometry, but have different groups in that part will have to be welded at the group seams.

    Either that, or you will have to get creative in the Cloth Room, and assign rigid or soft decorated groups that retain their position when the Balloon Andy prop is simulated. Which you will also have to do with any "unattached" part, like Andy's ball joints.

    Taking a human figure as an example, in most cases the skin parts are a unified OBJ split into separate body parts. If the body parts are split at group seams you will need to weld those parts together to make sure that the skin is all one unified OBJ file.

    Then you have the eyes, fingernails, toenails, teeth, tongue, etc., which are almost always separate geometry in and of themselves. You will need to add each of these to soft or rigid decorated groups in the Cloth Room so that they remain "attached" to the skin.



  • @Deecey Exploding, as in the picture below:
    0_1509122380440_Clothsim.jpg



  • @Deecey Well I chose Andy so that we wouldn't have to worry about eyes, hair, and such.

    I tried exporting with weld at the seams checked, but I take it from what you are saying that this is likely not enough.



  • @Deecey Darn. It still explodes after going into the grouping room and creating a prop.



  • @mr_phoenyxx
    It's tough to guess what's going on at this point unless someone takes a look at the OBJ. Is this something you purchased?



  • @mr_phoenyxx said in Convert a figure to a prop:

    If people want a specific example, then let's go with Andy2 being a balloon. Balloon Andy is being draped over the back of a chair. So basically as if someone had taken BaloonAndy2 and thrown his deflated body over the back of a chair.

    That's not exactly what I'm doing, but it's a good example.

    Oh, some geometries are definitely not good for dynamic simulations. Sometimes I have to cut off some parts of the conforming cloth to get rid of odd geometries.

    The problem is that the dynamic cloth requires what they call a "non-manifold" mesh, meaning that the vertexes need to make a nice plane (even if it's a closed plane with holes). If only one vertex is wrong, it will blow up dynamic cloth simulator.

    The way I address that (without resorting to laborious mesh editing in Blender) is to make all vertexes Constrained or Soft Decorated; then only select as dynamic those regions that make a nice single plane like sheets of paper (say a skirt). So if you see someting like a pocket, that's a big no-no, because the vertices where the pocket joins the shirt will be non-manifold (they will belong to two different planes - the pocket and the shirt).

    You'll understand better the problems in the mesh if you import the OBJ in Blender and then Select Non-Manifold; only the edges should be selected - anything intrnal, big no-no-no for dynamic simulation in Blender, it will blow the simulation out.



  • @Deecey Yes, it's the top from Shoot 6: Cheer Squad on Renderosity.

    https://www.renderosity.com/mod/bcs/cheer-for-shoot-05-spirit-squad-outfit/91909/



  • @fbs7 Yeah, I think this top just isn't going to work well. It's too bad really. I was hoping to use a cloth sim to drape it over the back of a chair. Make my renders look better and more realistic.



  • Split groups have to either be welded or the seams set to one of the unwelded-friendly options, like soft-decorated, etc.

    Nonmanifold geometry should not exist in any product that is used in Poser. So, that shouldn't be causing anyone any issues with a professionally made product. And, it's the sort of thing one should be able to notice as soon as it loads into the preview window. "Should" at any rate.

    Poser does a decent enough job of welding near-identical vertices in split groups, but it can also weld any verts that are near enough to each other. And, it does this nondestructively - maps are not effected.

    Export->wavefront object-> single frame -> weld groups (All other options off) = done

    That's the automagic way to get a split-grouped object as one welded, contiguous, group object so you can more easily deal with it. Then, its all about setting bits and pieces that have no contiguous geometry so they don't "fall off" during simulation. Buttons, zippers, epulets, cuffs, collars, etc... Often, you have to set up soft-decorated groups in the Cloth Room using the clunky face-picker thingie. But, it's much easier if you take your object first to a decent 3D program and just select those faces and assign them a different material name. That way, you can drill-down to those material names in the Cloth room and one-click assign them instead of fiddling with the "face-picker."

    IF there was a script that differentiated between split-groups and welded those AND then assigned all non-contiguous geometry as being decorated groups, THAT would be awesome! But, that's putting a great deal of responsibility on a script. Either way, it's bound to get confused with certain piece of clothing.



  • @morkonan big problem with the current Poser Python interface is the absolute inability to create a new vertex group from Python. Cannot be done directly. The best you can do is write the current geometry out to a file manually and add in a dummy 'g NewGroupName' line, before reloading the geometry. The Grouping Tool can create new groups, but it has no Python API to initiate that function. You can create HairGroups for the Hair Room from python, but they're not vertex groups and can't be used with ordinary mesh geometries in Python.



  • Wardrobe Wizard has a script to turn a figure into a single prop.
    Wardrobe wizard->Utilities->Prop->Figure To Single Prop.



  • @mr_phoenyxx said in Convert a figure to a prop:

    @fbs7 Yeah, I think this top just isn't going to work well. It's too bad really. I was hoping to use a cloth sim to drape it over the back of a chair. Make my renders look better and more realistic.

    You can use the Fitting Room to drape any prop or figure around using the Fitting Room; it's really awesome, as you can manipulate the figure/prop to do a lot of things - like fitting closely, smoothing, or bagging or falling off, or you can just move it around as you wish. As I like to say, one of the most wonderful pieces of software engineering I ever saw.



  • @fbs7 said in Convert a figure to a prop:

    @mr_phoenyxx said in Convert a figure to a prop:

    @fbs7 Yeah, I think this top just isn't going to work well. It's too bad really. I was hoping to use a cloth sim to drape it over the back of a chair. Make my renders look better and more realistic.

    You can use the Fitting Room to drape any prop or figure around using the Fitting Room; it's really awesome, as you can manipulate the figure/prop to do a lot of things - like fitting closely, smoothing, or bagging or falling off, or you can just move it around as you wish. As I like to say, one of the most wonderful pieces of software engineering I ever saw.

    And the Fitting Room doesn't care for any jabberwocking non-manifold-thingies

    As far as the fitting room cares, the mesh can be manifolding, non-manifolding, in-between-folding, non-folding, super-folding, etc...



  • @raven Thank you! :)



  • @fbs7 I have not had very much luck with the fitting room, even after following multiple step-by-step tutorials. Mind you that was with conforming clothing fitted to a person.



  • @anomalaus said in Convert a figure to a prop:

    @morkonan big problem with the current Poser Python interface is the absolute inability to create a new vertex group from Python. Cannot be done directly. The best you can do is write the current geometry out to a file manually and add in a dummy 'g NewGroupName' line, before reloading the geometry. The Grouping Tool can create new groups, but it has no Python API to initiate that function. You can create HairGroups for the Hair Room from python, but they're not vertex groups and can't be used with ordinary mesh geometries in Python.

    Interesting.

    Is it Snarlygribbly that did the sub-d script? (On a diff computer atm, can't check.) IIRC, it welds everything and turns it into one group.

    Is this creating a new vertice group within an existing object or any multiple groups at all? I know there are scripts that create geometry, but confess that I don't think they create more than one group. Then, there are scripts that make "chains" by copy/pasting a stored object or create a primitive and rename each one according to the bone its assigned to. Neither actually contradict anything you've written, btw.

    I'm no pythoner, but I assume that if one wanted to get around the limitations you speak of, one could take the operation "outside" of Poser and then bring it back in, but all by running a script from Poser's interface? Or, would one have to go through a manual export/import process to do that?



  • @morkonan the Python API offers the ability to do anything you want with existing groups and vertices in an object you've loaded. None of the sample scripts included with Poser which create geometry objects from scratch by adding the vertices to a new, empty geometry do anything with vertex groups because they can't. There is no way to tell Poser to add a new, empty group to the geometry so you can assign vertices to it. New materials? Yes. New vertex groups? No.

    Yes, @Snarlygribbly 's Subdivider does exactly that. It doesn't create groups, because there is no way to do that, and it didn't serve the purpose of the subdivider to preserve existing groups anyway. With new geometry, you don't actually need groups at all. The obj format groups are optional and a single group object doesn't need to assign a name to a group that every vertex is a member of. Materials are assigned on a per-polygon basis, with each polygon only able to utilise a single material.

    The grouping operation can indeed be done outside Poser, if you're prepared to write the parsers and compose obj files directly from within Poser, as I have done. It's just a pain that you can't complete the creation of a grouped object entirely within Poser, but have to resort to creating and importing an obj file as intermediary.



  • @anomalaus said in Convert a figure to a prop:

    @morkonan the Python API offers the ability to do anything you want with existing groups and vertices in an object you've loaded. None of the sample scripts included with Poser which create geometry objects from scratch by adding the vertices to a new, empty geometry do anything with vertex groups because they can't. There is no way to tell Poser to add a new, empty group to the geometry so you can assign vertices to it. New materials? Yes. New vertex groups? No...

    Just from your expertise level, is there a reasonable technical reason this can't be done or a legal one?

    IOW - Could SM easily expand the API to provide access or to create this capability for scripters?

    Or, is it a "can't do that because the Universe hates us" sort of problem?



  • @morkonan I can imagine absolutely zero technical reasons why this was not done at the point when Poser first integrated Python scripting.

    In my uninformed opinion, it is a near certainty that the pre-divorce relationship with a major content provider who was vigorously combating piracy by developing a punitive EULA allowing them to issue and enforce international C&D writs and successfully prosecute piracy of their products, resulted in Poser being rendered "Cripple-ware" by having existing, developed features omitted from released versions of the software to avoid Poser's developers becoming co-defendants in piracy litigation, for deliberately providing the means to enable minimally modified, EULA breaching, derivative works being sold for profit. But that's just, like, my opinion ;-)