Skip to content

Instantly share code, notes, and snippets.

@deathponta
deathponta / AddController.mel
Last active May 13, 2018 10:15
ボックスコントローラーを作成し選択ノードに位置・回転を合わせる
/*
■ 機能
・ボックスリグを追加する。
・ボックスリグは2重構造になっており、制御するコントローラのトランスフォームは初期状態で移動回転Zeroとなる。
・ボックスリグの位置・回転は、選択しているオブジェクトに合わせる。
・複数選択で作成できる。
・Pivotがズレている場合の対応はしていません。
*/
@deathponta
deathponta / CopyAE.mel
Created May 25, 2018 04:11
現在しているオブジェクトのアトリビュートエディタのコピーをちょっと楽にするスクリプト
/*
現在しているオブジェクトのアトリビュートエディタのコピーをちょっと楽にするスクリプト
*/
// アトリビュートエディタ(AE)を表示
ShowAttributeEditorOrChannelBox;
// AEをピーコ
copyAEWindow;
@deathponta
deathponta / align.mel
Last active June 7, 2018 03:39
1番目に選択したオブジェクトの位置・回転を2番めに選択したオブジェクトに合わせる
/*
最後に選択したオブジェクトに位置・回転合わせを行う
複数オブジェクト対応
*/
proc ObjectAligner(){
ObjectAligner_GUI();
}
@deathponta
deathponta / SelectStaticKey.mel
Last active June 18, 2018 10:56
選択したキーの内、変化の無いキーだけを選択維持する
/*
選択したキーの内、変化の無いキーだけを選択維持する
シーン内のアニメーションカーブを全選択
select `ls -typ animCurve`;
size `ls -sl`;
*/
proc SelectStaticKey_Exec(){
@deathponta
deathponta / CreateJointSetFromBindSkin.mel
Created July 8, 2018 07:14
スキニングされたメッシュ(transform)を選択して実行すると、バインドジョイントの選択セットを作成する
// スキニングされたメッシュ(transform)を選択して実行すると、バインドジョイントの選択セットを作成する
proc CreateJointSetFromBindSkin(){
string $shape[] = `listRelatives -s`; // shape 取得
string $skinC[] = `listConnections -type skinCluster $shape[0]`; // skinCluster 取得
string $bindJnts[] = `listConnections -type joint $skinC[0]`; // joint 取得
sets -n "Set_bindJnts" $bindJnts; // セット作成
}
CreateJointSetFromBindSkin();
@deathponta
deathponta / SelectAnimatedTransformNode.mel
Last active August 22, 2018 06:28
シーン内のアニメーションしているコントローラーなどをすべて選択します。
/*
シーン内のアニメーションしているコントローラーなどをすべて選択します。
*/
// グローバル変数
string $animatedTransforms[];
proc SelectAnimatedTransformNode(){
string $window = "SelectAnimatedTransformNode";
@deathponta
deathponta / ReplaceShapeNode.mel
Created September 9, 2018 14:28
シェイプノードを置き換える
/*
1番目にに選択したオブジェクトのシェイプノードを、
2番目以降に選択したオブジェクトのシェイプノードに置き換える。
■ 用途
・リグの形状を途中で変更したいが、既存のトランスフォーム消したくない
・アニメーションを崩さずシェイプノードだけ差し替えたい
・現在のトランスフォームを保持したまま、モデルデータを差し替えたい
*/
@deathponta
deathponta / CopyAbsolutePath.cs
Created September 26, 2018 11:03
【Unity】右クリックしたオブジェクトのフルパスをクリップボードにコピーする
using UnityEngine;
using UnityEditor;
public class CopyAbsolutePath : MonoBehaviour {
[MenuItem("Assets/絶対パスをクリップボードにコピー", false)]
static void Execute()
{
// get select GO full path
int instanceID = Selection.activeInstanceID;
@deathponta
deathponta / RecursiveProcess.mel
Created October 6, 2018 06:34
再帰処理テンプレ
/*
再帰処理テンプレ
指定されたフォルダ以下のmltファイルをすべてリストします。
mlt 部分を、 ma , mb に書き換えることで通常のMayaでも利用可
*/
proc RecursiveProcess(){
string $window = "RecursiveProcess";
if( window( "-exists" , $window ) ){
@deathponta
deathponta / mbLocalize.cs
Last active October 24, 2018 14:47
端末言語によって日本語・英語を切り替える
/*
端末言語によって日本語・英語を切り替える
■  使い方
Image または Text コンポーネントが割あたっているゲームオブジェクトにD&Dして、
日本語&英語 テキスト・画像 を割り当てればOKです。
動的に変更されているテキストに関しては、別途処理が必要ですが、基本的にこのクラス内と同じ処理を行えばOKです。
*/