Daz - How to e weld vertices

From Daz:
Sub-division of surfaces does not work well with objects that have non-welded vertices. Make sure that all vertices are welded prior to applying Sub-D.
http://docs.daz3d.com/doku.php/artzone/pub/software/subd/start

From my researchs seems that only Hexagin do do this, as I am on a Mac catalina (no Hexagon available as far as I know).

How can I  "make sure that all vertices are welded prior to applying Sub-D."in daz?

 

 

Thanks
 

 

 

Comments

  • duckbombduckbomb Posts: 585

    As far as I know, you'd have to use some kind of modelling program, such as Blender or Zbrush (or Hexagon, as you've pointed out).  I don't think there's a way to do this in DS. 

    Bear in mind, that when you do you'll change the vert count and order, so it's entirely possible your textures won't work without fixing them.

    I know that wasn't super helpful, and maybe I'm wrong, but I think you're going to need to handle this in your modeling program of choice.

  • TheKDTheKD Posts: 2,710
    edited May 2020

    Yeah, just about any modeler can do this. In blender to make sure everything is welded tab into edit mode, hit A, Alt + m and select by distance. That will clean up any doubles/unwelded for ya.

    Post edited by TheKD on
  • Catherine3678abCatherine3678ab Posts: 8,455

    Welding will zap the uvmaps so be prepared to remake those too.

  • richardandtracyrichardandtracy Posts: 6,178
    edited May 2020

    It might zap the texture maps, but it doesn't have to. There is no earthly reason why the texture mapping needs to be merged when edges are welded. I have been slowly writing my own finite element stress modeller program since 2004 and in the last few years have made it obj file compatible. In it I have the facility to weld edges, but as the texture mapping is at a facet level, there is no programming need to merge the texture vertices when welding vertices - particularly as they should be held in different arrays.

    The code snippet below is the structure definition for the variables grouped together as a facet in my program. In accordance with engineering practice a vertex is called a 'node' and a facet is called an 'element'. You can see it has three arrays associated with the facet, one to store the node numbers (array nodenumbers), one to store the texture node numbers (array texturenodenumbers) and one to store a normal at each facet vertex (array normalnodenumbers). There is other stuff associated with the facet, but that's mostly used by the finite element side, though the nsrl number is instrumental in defining how many vertices there are in the facet and therefore how many entries there are in each of the vertex/normal arrays. Also, if the facet is not texture mapped, there will be no entries in the texturenodenumbers array.

    typedef struct {    int elementnumber, facenumber, nsrl;    nodalposition facecentroid, displaycentroid, normal;    int node1;    TColor colour, depthsortedcolour;    bool selected, visible, internal;    DynamicArray <int> nodenumbers;    DynamicArray <int> texturenodenumbers;    DynamicArray <int> normalnodenumbers;    int layernumber, groupnumber;    } elementface;

    OK, having said that there is no programming need to merge texture vertices, it doesn't mean it's not done in applications other than my one frown

    Regards,

    Richard

    Post edited by richardandtracy on
  • WendyLuvsCatzWendyLuvsCatz Posts: 38,889
    edited May 2020

    yeah depends on program used

    Ultimate Unwrap 3D I can weld and keep UV's for example

    thats windows only though

    other programs it depends what is welded

    Post edited by WendyLuvsCatz on
  • JohnJohnFJohnJohnF Posts: 14
    edited May 2020
    TheKD said:

    Yeah, just about any modeler can do this. In blender to make sure everything is welded tab into edit mode, hit A, Alt + m and select by distance. That will clean up any doubles/unwelded for ya.

    Thanks mate, that was helpful! : )
    After doing that, I get a warning saying that Blender "renmoved 0 vertices".
    Guess I did something wrong?

    Also, will morphs applied (previously to welding), will work after welding?

    Screenshot 2020-05-07 at 11.52.10.png
    2688 x 1430 - 3M
    Post edited by JohnJohnF on
  • TheKDTheKD Posts: 2,710

    You can try removing some 0's from that dialogue box
    I think the answer about morphs will be no, but I could be totally wrong. Just going off how morphs work in other programs, it's possible blender may be smart enough to figure it out. I have never done any morphs in blender, I mostly use it to model scenes/props to bring into DS.

  • Catherine3678abCatherine3678ab Posts: 8,455

    It might zap the texture maps, but it doesn't have to. There is no earthly reason why the texture mapping needs to be merged when edges are welded. I have been slowly writing my own finite element stress modeller program since 2004 and in the last few years have made it obj file compatible. In it I have the facility to weld edges, but as the texture mapping is at a facet level, there is no programming need to merge the texture vertices when welding vertices - particularly as they should be held in different arrays.

    The code snippet below is the structure definition for the variables grouped together as a facet in my program. In accordance with engineering practice a vertex is called a 'node' and a facet is called an 'element'. You can see it has three arrays associated with the facet, one to store the node numbers (array nodenumbers), one to store the texture node numbers (array texturenodenumbers) and one to store a normal at each facet vertex (array normalnodenumbers). There is other stuff associated with the facet, but that's mostly used by the finite element side, though the nsrl number is instrumental in defining how many vertices there are in the facet and therefore how many entries there are in each of the vertex/normal arrays. Also, if the facet is not texture mapped, there will be no entries in the texturenodenumbers array.

    typedef struct {    int elementnumber, facenumber, nsrl;    nodalposition facecentroid, displaycentroid, normal;    int node1;    TColor colour, depthsortedcolour;    bool selected, visible, internal;    DynamicArray <int> nodenumbers;    DynamicArray <int> texturenodenumbers;    DynamicArray <int> normalnodenumbers;    int layernumber, groupnumber;    } elementface;

    OK, having said that there is no programming need to merge texture vertices, it doesn't mean it's not done in applications other than my one frown

    Regards,

    Richard

    Oh there is hope then for the future, yes!

  • nicsttnicstt Posts: 11,715
    JohnJohnF said:

    From Daz:
    Sub-division of surfaces does not work well with objects that have non-welded vertices. Make sure that all vertices are welded prior to applying Sub-D.
    http://docs.daz3d.com/doku.php/artzone/pub/software/subd/start

    From my researchs seems that only Hexagin do do this, as I am on a Mac catalina (no Hexagon available as far as I know).

    How can I  "make sure that all vertices are welded prior to applying Sub-D."in daz?

     

     

    Thanks
     

     

     

    If it's an item you have bought or got as a freebie, then doing that will affect the product; in affect, when you do that you're creating a new one, even if all you've done is reduce the vertex count by one. You will also have changed the vertex order, a problem even when the geometry has not changed.

  • JohnJohnFJohnJohnF Posts: 14
    edited May 2020

    It might zap the texture maps, but it doesn't have to. There is no earthly reason why the texture mapping needs to be merged when edges are welded. I have been slowly writing my own finite element stress modeller program since 2004 and in the last few years have made it obj file compatible. In it I have the facility to weld edges, but as the texture mapping is at a facet level, there is no programming need to merge the texture vertices when welding vertices - particularly as they should be held in different arrays.

    The code snippet below is the structure definition for the variables grouped together as a facet in my program. In accordance with engineering practice a vertex is called a 'node' and a facet is called an 'element'. You can see it has three arrays associated with the facet, one to store the node numbers (array nodenumbers), one to store the texture node numbers (array texturenodenumbers) and one to store a normal at each facet vertex (array normalnodenumbers). There is other stuff associated with the facet, but that's mostly used by the finite element side, though the nsrl number is instrumental in defining how many vertices there are in the facet and therefore how many entries there are in each of the vertex/normal arrays. Also, if the facet is not texture mapped, there will be no entries in the texturenodenumbers array.

    typedef struct {    int elementnumber, facenumber, nsrl;    nodalposition facecentroid, displaycentroid, normal;    int node1;    TColor colour, depthsortedcolour;    bool selected, visible, internal;    DynamicArray <int> nodenumbers;    DynamicArray <int> texturenodenumbers;    DynamicArray <int> normalnodenumbers;    int layernumber, groupnumber;    } elementface;

    OK, having said that there is no programming need to merge texture vertices, it doesn't mean it's not done in applications other than my one frown

    Regards,

    Richard

    Thanks for the inputs Richard!

    I welded in Blender, and textures worked fine. I could not test with morphs, as morphs dont work when I export to Blender.

    Would it work to Weld Genesis8 (no mdificiations), and export the welded genesis as collada with morphs (not baked)?


     

    Post edited by JohnJohnF on
Sign In or Register to comment.