Why does this Happen in DS4.6? Is it a bug?

WilmapWilmap Posts: 2,917
edited May 2013 in The Commons

Just playing with the new DS4.6 and added the Breeches from my Free Georgian Outfit to base genesis and got a strange thing happen (see 1st picture)

If I change the Subdivision Algorithm to Catmull-Clarke (Legacy) the breeches go back to how they should be!

When I rendered the image it rendered correctly. (see 2nd Picture)

Is this a bug?

breeches.png
600 x 776 - 263K
DS46_pic.jpg
600 x 600 - 96K
Post edited by Wilmap on

Comments

  • BejaymacBejaymac Posts: 1,886
    edited December 1969

    From what Parris said in his Bot Genesis thread, it has something to do with the normals in the mesh pointing inwards, and the new default SubD (catmark) doesn't like it.

    Parris said:
    It has to do with the new options for SubD, I believe. The normals of the inside end caps of my mechanical elbows point inwards (by mistake) and the new DS doesn't like that. I'm finishing up an update to Bot Genesis this week and the fix is included in that update. If you don't want to wait for the update, read on...

    The developers of DS are aware of this issue, so I don't think you need to file a ticket. DS 4.6 Pro now has a feature to deal with models that may have their poly normals pointing inward called Reverse Winding Order:

    Select the figure or model that you want to fix. Activate the Polygon Group Editor Tool and use one of many selection methods to select the polys that you want to effect. In the case of my elbow caps, you will want to hide Genesis (click eye to the left of Genesis in the Scene tab) so you can more easily see the bot elbow parts. Next select the elbow figure in the Scene tab, then right click in the viewport and select Polygon Selection > Select > Surfaces > hole. Now the problem polys should all be selected. Now right click in the viewport again and navigate to Polygon Editing > Reverse Winding Order to apply the fix. No idea why they call it that; 3D Modelers are more familiar with the term "Reverse Normals" as it is called in most 3D apps I know of.

    Ok, now you have the elbow figures fixed so then what? If you want to have them load correctly in the future (before my update comes out), then the best thing might be to save each figure out as an asset. Then you can delete the asset DUF and thumbnail but my original wearables will now load correctly. It's a bit more tricky but here's how to do all that (follow at your own risk) for the right elbow:

    With the right elbow figure still selected in the Scene tab, choose File > Save As > Support Asset > Figure/Prop Assets... and in the Filtered Save dialog, navigate to where the product's wearables are. Paths may vary slightly but on my PC this would be: C:\Users\YourUsername\My Documents\DAZ 3D\Studio\My Library\People\Genesis\Clothing\Bot Genesis. Name the file something like rElbow_Asset.duf and hit Save. Now you get the Figure/Prop Assets save Options dialog. Asset Directory should be the one ending with My Library; Vendor Name:Parris, Product Name: Bot Genesis, Item Name: Bot Right Forearm. You should be able to leave other settings in this dialog as is. So if that all looks correct then hit Accept. What this will do is save out a new asset but also update the corresponding DSF (where the geometry info gets written) in the data folder. The DSF file that should get updated when you save in this case would be C:\Users\YourUsername\My Documents\DAZ 3D\Studio\My Library\data\Parris\Bot Genesis\Bot Right Forearm\Bot_Gen_rElbow.dsf. So after saving, you can delete rElbow_Asset.duf and rElbow_Asset.duf.png from the folder and just load the original wearable. for the left elbow do the same but take care to name the file you save as lElbow_Asset.duf and use Bot Left Forearm for the Item Name (case and spacing matters).

    But hey, if all that seems a little scary or too much of a pain, Just wait for the update. I uploaded it to QA today, so hopefully it will be available soon.

  • WilmapWilmap Posts: 2,917
    edited December 1969

    Thanks for the info. Will take a look and see if it is the normals.

  • Joe CotterJoe Cotter Posts: 3,259
    edited May 2013

    Bejaymac said:
    From what Parris said in his Bot Genesis thread, it has something to do with the normals in the mesh pointing inwards, and the new default SubD (catmark) doesn't like it.

    Parris said:
    ... Now right click in the viewport again and navigate to Polygon Editing > Reverse Winding Order to apply the fix. No idea why they call it that; 3D Modelers are more familiar with the term "Reverse Normals" as it is called in most 3D apps I know of.

    Thanks Bejaymac, I missed this somehow about Parris' product.

    re: 'Reverse Winding Order' I would guess it has to do with the way the vertices are written out. It probably reverses the vertice write sequence for those normals, thus reversing the reverse?

    Post edited by Joe Cotter on
  • Richard HaseltineRichard Haseltine Posts: 100,773
    edited December 1969

    A polygon is defined by listing the vertices that make it up, in order. The normal points in the direction that has them run clockwise around the edge so reversing the winding order is the same as reversing the normal (unless the object has the normal overridden, of course).

  • Joe CotterJoe Cotter Posts: 3,259
    edited May 2013

    Yes, sorry I should have made that a statement rather then a question.

    In some of the old 3d worlds where one created their own objects from scratch you would have to write out the vertices (and uv's, materials, texture assignments) manually. Such as in the early days of ActiveWorlds and others from their early times that are now defunct. That was fun ;)

    They later came up with obj import and that was a revolution... although one still had to fix many things manually (edit the obj/mtl files) but at least it allowed more complex models then what was feasible with hand writing all the objects out. In avatars, one had to manually define bone structures and translations in a text file if creating a custom avatar. (I think I've reached the point where I've forgotten much more then I remember ;p )

    Post edited by Joe Cotter on
  • cwichuracwichura Posts: 1,042
    edited December 1969

    In the 4.6 beta thread, the devs mentioned that OpenSubDiv is far less forgiving of "bad" geometry than the Catmull-Clark implementation was. OSD isn't alone; there are many Poser & Studio products I own that LuxRender aborts SubD on because of things like invalid vertex winding order.

Sign In or Register to comment.