def gather_mesh(blender_mesh: bpy.types.Mesh,
                vertex_groups: Optional[bpy.types.VertexGroups],
                modifiers: Optional[bpy.types.ObjectModifiers],
                skip_filter: bool, export_settings) -> Optional[gltf2_io.Mesh]:
    if not skip_filter and not __filter_mesh(blender_mesh, vertex_groups,
                                             modifiers, export_settings):
        return None

    mesh = gltf2_io.Mesh(
        extensions=__gather_extensions(blender_mesh, vertex_groups, modifiers,
                                       export_settings),
        extras=__gather_extras(blender_mesh, vertex_groups, modifiers,
                               export_settings),
        name=__gather_name(blender_mesh, vertex_groups, modifiers,
                           export_settings),
        primitives=__gather_primitives(blender_mesh, vertex_groups, modifiers,
                                       export_settings),
        weights=__gather_weights(blender_mesh, vertex_groups, modifiers,
                                 export_settings))

    if len(mesh.primitives) == 0:
        print_console(
            "WARNING",
            "Mesh '{}' has no primitives and will be omitted.".format(
                mesh.name))
        return None
    return mesh
Exemple #2
0
def gather_mesh(blender_mesh: bpy.types.Mesh,
                library: Optional[str],
                blender_object: Optional[bpy.types.Object],
                vertex_groups: Optional[bpy.types.VertexGroups],
                modifiers: Optional[bpy.types.ObjectModifiers],
                skip_filter: bool,
                material_names: Tuple[str],
                export_settings
                ) -> Optional[gltf2_io.Mesh]:
    if not skip_filter and not __filter_mesh(blender_mesh, library, vertex_groups, modifiers, export_settings):
        return None

    mesh = gltf2_io.Mesh(
        extensions=__gather_extensions(blender_mesh, library, vertex_groups, modifiers, export_settings),
        extras=__gather_extras(blender_mesh, library, vertex_groups, modifiers, export_settings),
        name=__gather_name(blender_mesh, library, vertex_groups, modifiers, export_settings),
        weights=__gather_weights(blender_mesh, library, vertex_groups, modifiers, export_settings),
        primitives=__gather_primitives(blender_mesh, library, blender_object, vertex_groups, modifiers, material_names, export_settings),
    )

    if len(mesh.primitives) == 0:
        print_console("WARNING", "Mesh '{}' has no primitives and will be omitted.".format(mesh.name))
        return None

    export_user_extensions('gather_mesh_hook',
                           export_settings,
                           mesh,
                           blender_mesh,
                           blender_object,
                           vertex_groups,
                           modifiers,
                           skip_filter,
                           material_names)

    return mesh
def gather_mesh(blender_object, export_settings):
    if not __filter_mesh(blender_object, export_settings):
        return None

    mesh = gltf2_io.Mesh(
        extensions=__gather_extensions(blender_object, export_settings),
        extras=__gather_extras(blender_object, export_settings),
        name=__gather_name(blender_object, export_settings),
        primitives=__gather_primitives(blender_object, export_settings),
        weights=__gather_weights(blender_object, export_settings))

    return mesh
Exemple #4
0
def gather_mesh(blender_mesh: bpy.types.Mesh,
                vertex_groups: bpy.types.VertexGroups, export_settings):
    if not __filter_mesh(blender_mesh, vertex_groups, export_settings):
        return None

    mesh = gltf2_io.Mesh(
        extensions=__gather_extensions(blender_mesh, vertex_groups,
                                       export_settings),
        extras=__gather_extras(blender_mesh, vertex_groups, export_settings),
        name=__gather_name(blender_mesh, vertex_groups, export_settings),
        primitives=__gather_primitives(blender_mesh, vertex_groups,
                                       export_settings),
        weights=__gather_weights(blender_mesh, vertex_groups, export_settings))

    return mesh
def gather_mesh(blender_mesh: bpy.types.Mesh,
                vertex_groups: Optional[bpy.types.VertexGroups],
                modifiers: Optional[bpy.types.ObjectModifiers],
                skip_filter: bool,
                export_settings
                ) -> Optional[gltf2_io.Mesh]:
    if not skip_filter and not __filter_mesh(blender_mesh, vertex_groups, modifiers, export_settings):
        return None

    mesh = gltf2_io.Mesh(
        extensions=__gather_extensions(blender_mesh, vertex_groups, modifiers, export_settings),
        extras=__gather_extras(blender_mesh, vertex_groups, modifiers, export_settings),
        name=__gather_name(blender_mesh, vertex_groups, modifiers, export_settings),
        primitives=__gather_primitives(blender_mesh, vertex_groups, modifiers, export_settings),
        weights=__gather_weights(blender_mesh, vertex_groups, modifiers, export_settings)
    )

    return mesh
def gather_mesh(blender_mesh: bpy.types.Mesh, uuid_for_skined_data,
                vertex_groups: Optional[bpy.types.VertexGroups],
                modifiers: Optional[bpy.types.ObjectModifiers],
                skip_filter: bool, materials: Tuple[bpy.types.Material],
                original_mesh: bpy.types.Mesh,
                export_settings) -> Optional[gltf2_io.Mesh]:
    if not skip_filter and not __filter_mesh(blender_mesh, vertex_groups,
                                             modifiers, export_settings):
        return None

    mesh = gltf2_io.Mesh(
        extensions=__gather_extensions(blender_mesh, vertex_groups, modifiers,
                                       export_settings),
        extras=__gather_extras(blender_mesh, vertex_groups, modifiers,
                               export_settings),
        name=__gather_name(blender_mesh, vertex_groups, modifiers,
                           export_settings),
        weights=__gather_weights(blender_mesh, vertex_groups, modifiers,
                                 export_settings),
        primitives=__gather_primitives(blender_mesh, uuid_for_skined_data,
                                       vertex_groups, modifiers, materials,
                                       export_settings),
    )

    if len(mesh.primitives) == 0:
        print_console(
            "WARNING",
            "Mesh '{}' has no primitives and will be omitted.".format(
                mesh.name))
        return None

    blender_object = None
    if uuid_for_skined_data:
        blender_object = export_settings['vtree'].nodes[
            uuid_for_skined_data].blender_object

    export_user_extensions('gather_mesh_hook', export_settings, mesh,
                           blender_mesh, blender_object, vertex_groups,
                           modifiers, skip_filter, materials)

    return mesh