Carlos Garcia Logo carlosgarcia.works

Resources

This page contains a collection of downloadable tools and resources that I use throughout my own workflow and in the classroom. Here you'll find Maya scripts, ZBrush brushes and materials, UI configurations, pipeline utilities, batch files, and other practical resources designed to streamline production and improve day-to-day workflows.

Maya

Scripts

Select Creased Edges

Select Creased Edges

Selects all creased edges on a polygon object. Useful for assets exported from ZBrush with creased edges for use in Maya's Crease Set Editor.

python
import maya.cmds as cmds

def select_creased_edges():
    selection = cmds.ls(selection=True, long=True)
    if not selection:
        cmds.warning("Please select a polygon object.")
        return

    obj = selection[0]
    edge_count = cmds.polyEvaluate(obj, edge=True)
    creased_edges = []

    for i in range(edge_count):
        edge = f"{obj}.e[{i}]"
        crease = cmds.polyCrease(edge, query=True, value=True)
        if crease and crease[0] > 0.0:
            creased_edges.append(edge)

    if creased_edges:
        cmds.selectType(edge=True)
        cmds.select(creased_edges, replace=True)
        print(f"Selected {len(creased_edges)} creased edge(s).")
    else:
        cmds.warning("No creased edges found on the selected object.")

select_creased_edges()
Download
Purge Redshift Nodes

Purge Redshift Nodes

Removes the Redshift unsupported nodes popup and error when opening scenes in Maya without Redshift installed.

python
import maya.cmds as cmds

def purge_redshift_from_loaded_scene():
    deleted = []

    # Get ALL nodes by name pattern (not type-based)
    all_nodes = cmds.ls(long=True) or []

    for n in all_nodes:
        try:
            if "redshift" in n.lower():
                cmds.lockNode(n, lock=False)
                cmds.delete(n)
                deleted.append(n)
        except:
            pass

    # Also remove unknown nodes (fallback safety)
    unknown = cmds.ls(type="unknown") or []
    for n in unknown:
        try:
            t = cmds.unknownNode(n, q=True, typeName=True)
            if t and "redshift" in t.lower():
                cmds.delete(n)
                deleted.append(n)
        except:
            pass

    print("\n=== PURGE COMPLETE ===")
    print("Deleted:", len(deleted))
    for d in deleted:
        print(" -", d)

purge_redshift_from_loaded_scene()
Download

ZBrush

UI Configs

ZBrush UI 2026

ZBrush UI 2026

Custom ZBrush interface and menu for 2026.

Download

Brushes

Mask Depth

Mask Depth

Custom mask depth brush for ZBrush. Useful for masking out 90 degree planes.

Download
Soft Forms

Soft Forms

Pablanders gio soft forms brush.

Download

Materials

Skin

Skin

Custom skin material for ZBrush.

Download
Clay Purple

Clay Purple

Custom clay purple material for ZBrush.

Download
Cloth

Cloth

Custom cloth material for ZBrush.

Download
Metal

Metal

Custom metal material for ZBrush.

Download

Substance Painter

Smart Materials

Color Variation 01

Color Variation 01

Smart material for procedural color variation.

Download

Pipeline

Scripts

Mount S: Drive

Mount S: Drive

Maps S: as a virtual drive pointing to the script's directory. Ensures a universal project path across all machines.

batch
@echo off
set "TARGET_DIR=%~dp0"
set "TARGET_DIR=%TARGET_DIR:~0,-1%"
subst S: /d
subst S: "%TARGET_DIR%"
echo S: drive now mapped to: %TARGET_DIR%
pause
Download