CG・映像デザイナー技術ブログ

【Maya】ブレンドシェイプを反転コピーする方法

基本はラップフォーマーを使う方法ですが

ただ毎回複製して、反転して、ブレンドシェイプして..というのは面倒なのでabsymmeshを使います。

この記事の著者
CGブロガー すいみん

CGブロガー

すいみん

Suimin

プロフィール

某美大の油絵科を卒業後、大手CG映像プロダクションに入社。
その後ゲーム業界に転職。
現在は技術系のCGデザイナーをしています。 書籍:Unity デザイナーズ・バイブル
プロフィール詳細はこちら

通常のブレンドシェイプを反転コピーする方法

duplicating the base, scale it -1 in X

apply the blendshape

apply a wrap deformer from the base mesh to the new mesh

turn on the blendshape

set the new mesh scale X to 1 again

スクリプト化したもの(ターゲット選択して、ベース選択してMirrorPolyShape;)

global proc MirrorPolyShape()
{
string $sel[] = `ls -sl`;
string $base = $sel[1];
string $shape = $sel[0];
string $NN = `substitute "L_" $shape "R_"`;
string $nShape[] = `duplicate -name $NN $base`;
string $temp[] = `duplicate $base`;
string $blendName[] = `blendShape -name "tmpBlend" $shape $temp[0]`;
setAttr -l 0 ($temp[0] + ".scaleX");
setAttr ($temp[0] + ".scaleX") (-1);
string $grp = `group $temp[0] $nShape[0]`;
setAttr ($grp + ".s") 50 50 50;
select -r $nShape[0] $temp[0];
string $wrapName[] = `doWrapArgList "2" { "1","0","1" }`;
setAttr ($blendName[0] + "." + $shape) 1;
DeleteHistory;
setAttr ($grp + ".s") 1 1 1;
parent -w $nShape;
delete $grp;
}

absymmeshの導入方法

  • 下記からスクリプトをダウンロード、scriptフォルダに格納

  • MAYAを起動してabSymMesh;とMELを入力。ウインドウを起動します

absymmeshの使い方

  • ベースオブジェクト、ターゲット、ターゲットのコピーを用意

  • ベースオブジェクトをSelect Base Geometryして登録して、ターゲットのコピーを選択してFlip Selectedで頂点番号をたまったまま反転コピーされます。

うまくいかないときはCheck Symmetyして、ベースオブジェクトを左右対称にしてやります。

以上、すいみん(@cg_method)でした!

Mayaに関する参考記事・ツール・書籍のまとめ

Mayaに関する記事を下記にまとめました。



maya-summary-article


作業効率化!Mayaに関する作り方まとめ

Mayaのソフトウェア購入

Mayaの参考書籍

assistant すいみん

基本のおさらい!

assistant すいみん

キャラモデリングする時に読んでおきたい本です!

assistant すいみん

北田さんの知見は本当に貴重なので背景モデラー問わず必須の書籍です!

assistant すいみん

リガーを目指すと中堅の人は絶対読んでおきましょう。セットアップの話は難しいのですが、漫画になっているのでわかりやすいです。

assistant すいみん

プロのアニメーターってどんな動きを作って何を考えているのか?参考になる書籍です。