Copying Channel Box information between objects

I’ve spent a lot of time in Unity and as anyone who’s spent a lot of time in Unity, you’re using the Transform component quite a lot. One thing that I’ve always like about Unity’s Inspector is the ability to copy a component and paste it either as a new component on another object, or just copy the component values. I’m in the middle of doing some hard surface modeling and things need to line up pretty accurately. The manual way of getting Channel Box information from one object to another is first selecting the object that needs to be adjust, shift select the other you want to adjust to and then tab-enter your way through the Channel Box. It works and it’s actually quite fast. But it’s not the one click solution I’m usually after.

Continue reading

Recover Maya files after crash

I had Maya crashing on me a couple of times in the last past days and trying to get my files back was just not fun. So I wrote a little script that allows you to recover whatever file(s) Maya managed to save before crashing. Your mileage my vary whether or not the files actually open, but you can always give this a try.

Grab it here – recoverAfterCrash.zip.

  • Put the files in your Maya scripts folder
  • On line 32, set uiFilePath to the path where you saved the ui file. Probably C:\Users\[USERNAME]\Documents\maya\scripts
  • Add the following python script to your shelf:
  • import recoverAfterCrash
    recoverAfterCrash.CreateUI()
    

The code of the script:


##############################################
#
#
# recoverAfterCrash.py
# nielsvaes@gmail.com
#
#
##############################################


#PySide
from PySide.QtCore import * 
from PySide.QtGui import *
from PySide import QtGui as QTGui
from PySide.QtUiTools import *
from shiboken import wrapInstance


#Maya
import maya.cmds as cmds
import maya.mel as mel
from maya import OpenMayaUI as omui

#Python std lib
import os
import tempfile

ui = None

#Change this path to the location of the nameTools.ui
uiFilePath = "<PATH TO THE LOCATION OF>/recoverAfterCrash.ui"

def CreateUI():
	global ui
	global uiFilePath

	mayaMainWindowPtr = omui.MQtUtil.mainWindow()
	mayaMainWindow = wrapInstance(long(mayaMainWindowPtr), QWidget)

	loader = QUiLoader()
	file = QFile(uiFilePath)
	file.open(QFile.ReadOnly)

	ui = loader.load(file, parentWidget = mayaMainWindow)
	file.close()
	
	ui.btnTryToRecover.clicked.connect(TryToRecover)

	Awake()

	ui.setWindowFlags(Qt.Window)
	ui.show()

def Awake():
	tempDir = tempfile.gettempdir()

	foundfiles = []
	for file in os.listdir(tempDir):
		if file.endswith(".ma"):
			item = QListWidgetItem(file)
			ui.lvFiles.addItem(item)

def TryToRecover():
	tempDir = tempfile.gettempdir()
	selectedFile = tempDir + "/" + ui.lvFiles.currentItem().text()

	try:
		cmds.file(selectedFile, open = True)
	except:
		cmds.warning("Couldn't open file or no file selected")

#CreateUI()

The name game

There are a gazillion renaming scripts out there… and now there are a gazillion + 1 renaming tools. If you’ve been using Maya for some time I’m going to assume you already have something to scratch whatever renaming itch you might have, but I decided to group the things I find I need the most. Feel free to use or abuse it as always 🙂

Continue reading

A check up script you might find useful

If you’re working with different people, it’s always important to make sure that everyone follows the same guidelines. There has been many a time where I’ve worked with interns or other people who use wildly different settings than I do in Maya. By the time a model was ready for export, it sometimes wasn’t usable at all in Unity. And it wasn’t because that person did something wrong. It just happened because settings between artists weren’t the same. And that caused a lot of headaches further down the line.

Continue reading