Skip to content

Validate locked normals is buggy #3

Description

@BigRoy

Issue

The locked normal validation for meshes is currently not checking the full model if the transforms are in the instance as opposed to the shapes. The collector only includes the direct set members in the instance in Maya, as such if the ROOT group was in the instance, then none of its children are passed in the instance.

So history, children or parents are not included from the collect instance members.

Problem

This introduces the problem where a Validator does not have access to the full hierarchy by just using the nodes in the instance. It'll need to retrieve the history, children or parents whenever it needs to check them. Just like how maya.cmds.ls(instance, type="mesh") wouldn't actually return in the related meshes in the Validate Normals plugin.

Solution

The solution can be done in two ways:

  • Either the validator retrieves the data from the scene; it finds the history, parents, or children that it needs to check. For example also include: maya.cmds.listRelatives(instance, allDescendents=True, fullPath=True) or for history checks do maya.cmds.listHistory(instance).

Note: these calls to list history or children can be slow in large scenes.

  • Or the collector collects this additional data.

This was originally an issue on the core but with config now having separated plug-ins I'm reposting this here.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions