Skip to content

Instantly share code, notes, and snippets.

View revoconner's full-sized avatar
😵‍💫

Rév O'Conner revoconner

😵‍💫
View GitHub Profile
@revoconner
revoconner / suppressInputAsOutput.py
Created December 30, 2025 18:02
Maya - Stop showing script in the output section of maya's script editor. Tested only in 2025, and 2026.
# suppressInputAsOutput.py
import maya.OpenMaya as OpenMaya
callback_id = None
suppress_enabled = True
def output_filter(msg, msg_type, filter_output, client_data):
global suppress_enabled
# kHistory = 1 (command echo)
@revoconner
revoconner / Maya_packMultiObj_UV.py
Last active January 3, 2026 00:38
Maya tool for packing (layout) UV shells of multiple objects together around existing shells. Great for creating Atlases, when you have already manually packed some assets.
# Maya tool for packing UV shells around existing shells.
# Pack (layout) UV of multiple objects together without overlapping on existing unselected uv shells
# Maya 2023 and above only
# License: MIT
import maya.cmds as cmds
import maya.api.OpenMaya as om2
import maya.mel as mel
from collections import defaultdict
@revoconner
revoconner / Maya_align_pivot_to_components.py
Last active December 19, 2025 08:10
Maya script to align pivot orientation to the best-fit (average) plane of multiple selected components. Aligns pivot rotation perfectly to arbitrary selected vertices, faces, or edges!
"""
Maya's pivot orientation can be manually adjusted in Edit Pivot mode, but aligning it to match an arbitrary
selection of components is tedious and imprecise when:
- The target plane has no obvious orientation to reference
- Selected components are scattered with no clear alignment
- Finding the correct axis would require manual trial and error
- Manual aligning with component doesn't give the best result (you can only ever
select one component as far as I understand)
@revoconner
revoconner / maya_flatten_to_best_fit_plane.py
Last active December 19, 2025 02:24
Maya script (python) to flatten selected vertices/edges/faces to their best-fit plane using SVD or averaged face normals.
"""
Maya's scale tool can flatten geometry by scaling to 0 on an axis, and while
the axis can be manually defined, this becomes impractical when:
- The target plane has no obvious orientation to reference
- Selected components are scattered with no clear alignment
- Finding the correct axis would require tedious manual calculation
This script calculates the best-fit plane for any selection using SVD and
projects vertices onto it, regardless of orientation.
@revoconner
revoconner / FBXToPrimitiveCubesColliders.cs
Last active December 22, 2025 02:54
Create cube primitive colliders from imported meshes in Unity
/*
Build colliders in DCC application like maya and blender
Export and import it as fbx,
Run the tool to convert
************
Only supports cuboids shape,
so build your colliders with cubes.
***********
Full support of transform, rotation and scale in object space
Does not support shear
@revoconner
revoconner / reddit_left_sidebar_toggle.user.js
Last active December 19, 2025 13:46
Tampermonkey script to hide reddit sidebar and show on hover
// ==UserScript==
// @name Reddit Left Sidebar Toggle
// @namespace http://tampermonkey.net/
// @version 1.2
// @description Hide Reddit left sidebar by default, show it on hover, and fix scrolling issue.
// @author Rev
// @match https://www.reddit.com/*
// @grant GM_addStyle
// ==/UserScript==
@revoconner
revoconner / cleanup.py
Created November 23, 2024 15:26
Static object cleanup in maya for games export
import maya.cmds as cmds
import maya.mel as mm
def show_completion_dialog():
if cmds.window("cleanupMessage", exists=True):
cmds.deleteUI("cleanupMessage")
# Create window
window = cmds.window("cleanupMessage", title="Script Complete", widthHeight=(300, 100))
main_layout = cmds.columnLayout(adjustableColumn=True, columnAlign="center")