John Mather

johnmather

About Me

Expertise
Developer
Location
Canada
Website

Connect

Recent Forum Posts

TOPs in Houdini Engine for Maya April 3, 2020, 11:14 a.m.

Hi Leopardob,

Unfortunately it is not supported at this time.

HDA requires selecting faces from a group April 2, 2020, 3:21 p.m.

Hi alfyou, unfortunately the current method of specifying groups is less than ideal. You need to specify the component ids just like you would with the attribute ids inside of Houdini. Improving the UX of this shouldn't be difficult to implement, so I should be able to get to it by early next week.

In the mean-time, the easiest way to get these values is to select the components that you want to be part of the group, then run the following script in the Python script editor:

from maya import cmds

def get_selected_components(component_type):
    components = []
    sel_mask   = -1
    type_name  = ''
    
    if component_type.lower() == 'vtx':
        sel_mask = 31
        type_name = 'vertices'
    elif component_type.lower() == 'e':
        sel_mask = 32
        type_name = 'edges'
    elif component_type.lower() == 'f':
        sel_mask = 34
        type_name = 'faces'
    elif component_type.lower() == 'map':
        sel_mask = 35
        type_name = 'UVs'
    else:
        cmds.error('Unknown component type. Must be "vtx", "e", "f" or "map".')
    
    components_raw = cmds.filterExpand(cmds.ls(sl=True), sm=sel_mask, ex=False)
    
    if not components_raw:
        return None

    for component in components_raw:
        lidx = component.find('[') + 1
        ridx = component.rfind(']')
        
        if lidx <= 0 or ridx <= 0 or ridx <= lidx:
            cmds.warning('Could not determine %s index of "%s"' % (type_name, component))
        
        components.append(component[lidx:ridx].replace(':', '-'))
    
    return ', '.join(components)

def run_get_selected_components():
    print 'Selected components\n--------------------------------------------'
    print 'Vertices:', get_selected_components('vtx')
    print 'Edges:   ', get_selected_components('e')
    print 'Faces:   ', get_selected_components('f')
    print 'UVs:     ', get_selected_components('map')

run_get_selected_components()

This will print out the components that you need to specify in the group field in the digital asset. It will look something like the following:
Selected components
--------------------------------------------
Vertices: 1860-1866, 1912-1914
Edges: None
Faces: None
UVs: None

HDA requires selecting faces from a group April 1, 2020, 10:21 p.m.

Hi alfyou,

I'm not quite sure what you mean by “revealing” a few group nodes. Are you trying to provide your digital asset with a face selection from Maya?