Treemap visualisation of Maya scene files

Overview

Ever wondered which nodes are responsible for that 600 mb+ Maya scene file?

Features

  • Fast, resizable UI
  • Parsing at 50 mb/sec
  • Dependency-free, single-file install
  • Script Editor support
  • Terminal support
  • Percentage of total size per node
  • Color-coded node types
  • Click to copy node name to clipboard
  • Click to select node in Maya
  • Tooltip with full node name

Roadmap

  • Group by hierarchy SpaceSniffer has the ability to "zoom out" by grouping hierarchies under one large box. That would help snuff out those huge groups with thousands of offset groups and metadata stored as strings.
  • More metadata Hovering takes a while since it's a tooltip. Would be good having not only a faster and more visible popup, but also the full path (rather than just the name) along with parent, number of children, number of attributes, number of connections etc. To help make the decision to kill easier
  • Click to kill Modify the file directly, by removing any offending nodes you know aren't used or necessary.
  • Visualise plug-ins Spot and kill viruses like Turtle on-sight, with one click
  • Live Refresh Just a button to refresh current scene without re-launching the UI
  • Density Graph Just a graph, one point per node, sorted by size. It'll show whether size comes from a few dense nodes, or lots of smaller ones.
  • Heatmap Click button to put a surface shader on all renderable geometry, color all curves, with red being large, black being small. To demonstrate interactively in 3d where size comes from.
  • Visualise Connections These are currently ignored, but sometimes occupy >30% of the file. Include these, somehow..
  • Visualise Maya Preferences These are sometimes stored with the scene file, can get large, but aren't part of any node (?)
  • Responsive UI during parse Parse in a thread, and let the user know about progress. It's plain-old line-by-line reading, so we can get a pretty accurate percentage out of it.

Pull-requests are welcome.

sniffselect


Install

It's a single file, no dependencies.

  1. Download maya_sniffer.py
  2. Store in ~/maya/scripts, e.g. c:\Users\marcus\Documents\maya\scripts
  3. See Usage below

Usage

From the Script Editor.

import maya_sniffer
maya_sniffer.show()

From a terminal.

python maya_sniffer.py c:\path\to\scene.ma

Here's the currently coloured node types.

Color Node Type
transform
nurbsCurve
mesh
joint
camera
skinCluster
dagPose
animCurve

Why?

Whenever I run out of diskspace, I use a free Windows utility called SpaceSniffer. 2 minutes later, I've got the space I was looking for along with a greater understanding of where space typically ends up.

I wanted something like this for Maya.


How it works

Maya Sniffer counts the number of ASCII characters used when saving each node to disk.

That's it.

It's real silly and doesn't tell you how complex or heavy your scene is at run-time. Instead, it'll give you an approximation of where size is and how to recover it.


Showcase

Resizable UI

maya_sniffer

Script Editor

image

Standalone

Requires Python 2/3 and PySide2

image

Owner
Marcus Ottosson
Computer Artist
Marcus Ottosson
Basic Utilities for PyTorch Natural Language Processing (NLP)

Basic Utilities for PyTorch Natural Language Processing (NLP) PyTorch-NLP, or torchnlp for short, is a library of basic utilities for PyTorch NLP. tor

Michael Petrochuk 2.1k Jan 01, 2023
Top2Vec is an algorithm for topic modeling and semantic search.

Top2Vec is an algorithm for topic modeling and semantic search. It automatically detects topics present in text and generates jointly embedded topic, document and word vectors.

Dimo Angelov 2.4k Jan 06, 2023
Bot to connect a real Telegram user, simulating responses with OpenAI's davinci GPT-3 model.

AI-BOT Bot to connect a real Telegram user, simulating responses with OpenAI's davinci GPT-3 model.

Thempra 2 Dec 21, 2022
Spam filtering made easy for you

spammy Author: Tasdik Rahman Latest version: 1.0.3 Contents 1 Overview 2 Features 3 Example 3.1 Accuracy of the classifier 4 Installation 4.1 Upgradin

Tasdik Rahman 137 Dec 18, 2022
☀️ Measuring the accuracy of BBC weather forecasts in Honolulu, USA

Accuracy of BBC Weather forecasts for Honolulu This repository records the forecasts made by BBC Weather for the city of Honolulu, USA. Essentially, t

Max Halford 12 Oct 15, 2022
Code for the paper "Are Sixteen Heads Really Better than One?"

Are Sixteen Heads Really Better than One? This repository contains code to reproduce the experiments in our paper Are Sixteen Heads Really Better than

Paul Michel 143 Dec 14, 2022
The official implementation of VAENAR-TTS, a VAE based non-autoregressive TTS model.

VAENAR-TTS This repo contains code accompanying the paper "VAENAR-TTS: Variational Auto-Encoder based Non-AutoRegressive Text-to-Speech Synthesis". Sa

THUHCSI 138 Oct 28, 2022
Simplified diarization pipeline using some pretrained models - audio file to diarized segments in a few lines of code

simple_diarizer Simplified diarization pipeline using some pretrained models. Made to be a simple as possible to go from an input audio file to diariz

Chau 65 Dec 30, 2022
Sploitus - Command line search tool for sploitus.com. Think searchsploit, but with more POCs

Sploitus Command line search tool for sploitus.com. Think searchsploit, but with

watchdog2000 5 Mar 07, 2022
Différents programmes créant une interface graphique a l'aide de Tkinter pour simplifier la vie des étudiants.

GP211-Grand-Projet Ce repertoire contient tout les programmes nécessaires au bon fonctionnement de notre projet-logiciel. Cette interface graphique es

1 Dec 21, 2021
Chinese Named Entity Recognization (BiLSTM with PyTorch)

BiLSTM-CRF for Name Entity Recognition PyTorch version A PyTorch implemention of Bi-LSTM-CRF model for Chinese Named Entity Recognition. 使用 PyTorch 实现

5 Jun 01, 2022
NLP library designed for reproducible experimentation management

Welcome to the Transfer NLP library, a framework built on top of PyTorch to promote reproducible experimentation and Transfer Learning in NLP You can

Feedly 290 Dec 20, 2022
Module for automatic summarization of text documents and HTML pages.

Automatic text summarizer Simple library and command line utility for extracting summary from HTML pages or plain texts. The package also contains sim

Mišo Belica 3k Jan 08, 2023
🦆 Contextually-keyed word vectors

sense2vec: Contextually-keyed word vectors sense2vec (Trask et. al, 2015) is a nice twist on word2vec that lets you learn more interesting and detaile

Explosion 1.5k Dec 25, 2022
Text vectorization tool to outperform TFIDF for classification tasks

WHAT: Supervised text vectorization tool Textvec is a text vectorization tool, with the aim to implement all the "classic" text vectorization NLP meth

186 Dec 29, 2022
ChatBotProyect - This is an unfinished project about a simple chatbot.

chatBotProyect This is an unfinished project about a simple chatbot. (union_todo.ipynb) Reminders for the project: Find why one of the vectorizers fai

Tomás 0 Jul 24, 2022
A demo of chinese asr

chinese_asr_demo 一个端到端的中文语音识别模型训练、测试框架 具备数据预处理、模型训练、解码、计算wer等等功能 训练数据 训练数据采用thchs_30,

4 Dec 09, 2021
Rootski - Full codebase for rootski.io (without the data)

📣 Welcome to the Rootski codebase! This is the codebase for the application run

Eric 20 Nov 18, 2022
华为商城抢购手机的Python脚本 Python script of Huawei Store snapping up mobile phones

HUAWEI STORE GO 2021 说明 基于Python3+Selenium的华为商城抢购爬虫脚本,修改自近两年没更新的项目BUY-HW,为女神抢Nova 8(什么时候华为开始学小米玩饥饿营销了?) 原项目的登陆以及抢购部分已经不可用,本项目对原项目进行了改正以适应新华为商城,并增加一些功能

ZhangLiang 111 Dec 22, 2022
A Non-Autoregressive Transformer based TTS, supporting a family of SOTA transformers with supervised and unsupervised duration modelings. This project grows with the research community, aiming to achieve the ultimate TTS.

A Non-Autoregressive Transformer based TTS, supporting a family of SOTA transformers with supervised and unsupervised duration modelings. This project grows with the research community, aiming to ach

Keon Lee 237 Jan 02, 2023