スタジオ・ヒエイの徒然ブログ・CG制作のツボ

つれづれなるままにそこはかとなく3Dを紹介するブログ。 Maya、AfterEffectsを使ったCG制作に関するツボなども書き留めることがあります。 つれづれなるままに、日ぐらしPCにむかひて、こころに うつりゆくよしなしごとを、そこはかとなく打ち込めば、あやしうこそものぐるほしけれ

Counter

Maya2013

Mayaプラグイン xyShrinkWrapについて

Mayaプラグイン xyShrinkWrapについて

xyShrinkWrapについて書き留めることにする。
しかし、xyShrinkWrapについて話す前にNEXについて話す必要がある。

 Maya2014から新たNEXというMaya2013以前に使われていた有料のプラグインが追加された。
NEXサイトは以下、
https://draster.com/nex-1.5/

Maya2014に追加されたNEXの機能は市販のNEXよりも強力な機能をもっている。
それはxyShrinkWrapがインタラクティブなかたちで使用できる。
実行後、ヒストリーを削除しなければ、形にフィットした後も、フィットした形をフィットさせたオブジェクトに沿って移動することができる。
この機能は、プラグインのxyShrinkWrapには存在しない。
Maya2014のNEXは非常に高性能であるといえる。

Maya8.5を使っていた頃はNEXを常用していた。理由は以下画像のようなことができなかったからである。
12

Maya2011以降くらいでデフォルトで追加された機能で、Bキーを押すことによって、ソフト変形ができるようになったためNEXのつねる機能は不要になった。
簡単につねった形を作ることができる。
この機能がMaya8.5以前ではなかった。
数年前まではNEXは非常に強力なモデリングツールであったが、現在はMaya2014のデフォルト機能となった。

2つ目の違いは有料のNEXはMaya2014のNEXに比べて非常に重たいという点がある。
Maya2013で有料版NEXを使うと、ショートカットキーの移動、回転、スケールなどのw,e,rボタンを押すと、フリーズすることがよくある。

3つ目の違いは有料版NEXにはxyShrinkWrapが存在しない

このxyShrinkWrapについて今回は語りたい。
このプラグインはMayaのモデラーにとって非常にありがたいツールだと感じている。
xyShrinkWrapは以下のようなコマンドで、テキストエディタを開き、コピーペーストして保存しておくとよい。
.txtを.melに変更すると、Mayaのスクリプトエディタから簡単に呼び出せるので便利だ。

/* This file downloaded from Highend3d.com
''
'' Highend3d.com File Information:
''
'' Script Name: xyShrinkWrap v0.1
'' Author: Imre Tuske
'' Last Updated: May 9, 2002
'' Update/Change this file at:
'' http://www.highend3d.com/maya/mel/?section=modeling#1721
''
'' Please do not alter any information above this line
'' it is generated dynamically by Highend3d.com and will
'' be changed automatically on any updates.
*/

//
// *** xyShrinkWrap.mel ***
//
// Version 0.1 [09-may-2002] -- by Imre Tuske
//
//
// * THIS IS MAILWARE! *
//
// If you use this software regularly and you like it, let me know by dropping me an
// e-mail. This will guarantee that I'll keep on writing another useful pieces of MEL
// code which will be shared with you. Thanks!
//
// [ All Contents (C) by Imre Tuske (tusimi@freemail.hu), Hungary ]
// [ Developments done at Black Hole Ltd. / Animation Department ]
//
//
//
// Description:
//
// This script can be used to 'shrinkwrap' the selected objects and/or components
// (vertices/CVs) to the last selected object. It's based on the original idea of
// Erick Miller (fitMorph.mel). Just liked the cool idea and wrote my own version
// of it ;)
//
//
//
// Installation/Usage:
//
// Make your selection and enter
//
// xyShrinkWrap
//
//
//
// History:
//
// [09-may-2002] 0.1 Initial version.
//
//


proc warn( string $mod, string $msg )
{
warning("xyShrinkWrap::"+$mod+"(): "+$msg);
}


global proc string toshape( string $n )
{
string $s[];

if (objExists($n))
{
$s=`listRelatives -pa -s -ni $n`;
$s=`ls -type controlPoint $n $s[0]`;
}

return($s[0]);
}


proc wrapc( string $c, string $n ) // component (node.attr), wrapper transform
{
float $p[];

$p=`xform -q -ws -t $c`; xform -ws -t $p[0] $p[1] $p[2] $n;
$p=`xform -q -ws -t $n`; xform -ws -t $p[0] $p[1] $p[2] $c;
}


proc wrap( string $ss[], string $ds ) // source transform(s)/shape(s)/component(s), destination geometry shape
{
global string $gMainProgressBar;
string $s, $n, $sh;
int $p;

print($ss);

if (size(`ls -type controlPoint $ds`))
{
$n=`group -w -em -n "n1"`; // create temp ('snapper') null
geometryConstraint $ds $n;

progressBar -e -bp -ii 1 -min 0 -max (size($ss)) -st "Shrinkwrapping..." $gMainProgressBar;

for($s in $ss)
{
if (`progressBar -q -ic $gMainProgressBar`) break;

if (match("[^.]+[.][^.]+[\[].+[\]]",$s)=="") // (check for component format)
{
// object

$sh=$s;

if (size(`ls -tr $s`)) // transform node
{
if (($sh=toshape($s))=="") // find shape node
{
wrapc($s,$n); // no shape: snap transform
$sh="";
}
}

if (($sh!="")&&size(`ls -type controlPoint $sh`)) // geom. shape node: snap all control points
{
$m=`getAttr -s ($sh+".controlPoints")`;
$p=`progressBar -q -pr $gMainProgressBar`;

progressBar -e -min 0 -max $m -st "Wrapping object..." $gMainProgressBar;

for($i=0;$i<$m;$i++)
{
if (`progressBar -q -ic $gMainProgressBar`) break;
progressBar -e -s 1 $gMainProgressBar;

wrapc($sh+".controlPoints["+$i+"]",$n);
}

progressBar -e -min 0 -max (size($ss)) -pr $p -st "Wrapping components..." $gMainProgressBar;
}
}
else
{
// component

if (($s!="")&&objExists($s)) wrapc($s,$n);
}
}

progressBar -e -ep $gMainProgressBar;
delete($n); // delete temp snapper null
}
else warn("wrap",$ds+" doesn't exist or not a surface shape");
}


global proc xyShrinkWrap()
{
string $sl[]=`ls -fl -sl`, $d;
int $i, $m=size($sl);

if ( ($m>1)&&(($d=toshape($sl[$m-1]))!="") )
{
$sl[$m-1]="";
wrap($sl,$d);
}
else warn("xyShrinkWrap","Select some objects; select object to shrinkwrap to last");
}

xyShrinkWrap;


このコマンドはダウンロードした状態では使えなかった。
理由は一番下の行のxyShrinkWrap;が抜けていたからだ
Maya2013で直接コマンドを呼び出して実行する場合、このxyShrinkWrap;が抜けていることだけで使えなくなる。
glabal proc xyShrinkWrap(){
}
グローバルプロシージャの宣言をしているmelコマンドについては実行する際、
最後にglabal procの名称、今回ならxyShrinkWrap;を最終行に追加する必要がある。
その際、忘れてはいけないのが、セミコロン;である。

よくフリーのmelスクリプトが配布されているが、実行すると使えないことがよくある。
その際、global proc(グローバルプロシージャ)があるか確認して、最終行にその名前を付け足すといい。

で、実際にxyShrinkWrapのMaya2011からMaya2013での使い方だが、以下に記載しておくことにする。

1、今回の作例ではZbrushの岩を使うことにする。
1

Mキーを押すと岩の種類が表示される。
2

ドローして岩を出現させよう。
3

次にMayaに.obj形式でexportする。
4


2、MayaにZbrushのオブジェクトを読み込んだ際に非常にポリゴン数が多くなる
これを改善するためにxyShrinkWrapは活躍してくれる。
5

まずcube立方体を作成して分割数を上げる。
6

次にフリーでダウンロードできるxyShrinkWrapを読み込んで、以下の行を追加する。
今回は上に記載したコマンドをそのまま使用すればよい。
7

次に分割した立方体の中にZbrushの岩を入れて、囲ってしまう。
8

次にctrl+Aでコマンドを全選択して実行する。
実行する際のオブジェクトの選択順序は、分割したcube立方体から先に選択、2番目にZbrushの岩を選択する。
9

10

ピッタリとひっついたのが分かる。
Zbrushから出力したハイポリの岩を削除しよう。
11

ロウポリ化することができた。

このxyShrinkWrapはキャラクターなどでも使える非常に重要なツールで役に立つ。
ただ一点残念なのは、Maya2014のxyShrinkWrapのようにインタラクティブ性がない点である。
Maya2011からMaya2013ユーザーの参考のために記載した。

スタジオ ヒエイ作成提供
⇒⇒: http://www.studio-hiei.com
hiei

NVIDIA metal ray Maya2013のスーパー進化

Maya2011とMaya2013のmentalrayの速度が急激に違うことに気づいた。NVIDIA metal rayというのに進化したことが原因らしい。20倍は速くなっています。冗談ではありません。
house_sida_capture_instance_mi_proxy

house_sida02


PCそのものがそれほどスペックがよくなくてもMaya2013でレンダリングすると、不思議と高速化します。
Maya2011でレンダリングがタイムオーバーしていても、Maya2013だと一時間少しでレンダリング完了してしまいます。
あまりのことに今日は唖然としました。

スタジオ ヒエイ提供(Studio Hiei Presents)
⇒⇒ http://www.studio-hiei.com
hiei

Maya2013ファイルをMaya2011で無理やり開く方法(スーパートリック)

Maya2013ファイルをMaya2011で開く方法

テクスチャ、シェーダーを割り当てたMaya2013ファイルをMaya2011で開く方法を紹介します。

この方法はMaya2013subscriptionを買えば、Maya2013、Maya2012、Maya2011、Maya2010すべて使用できるのですが、subscriptionの意味を理解しないで正規の商用版Mayaを買ってしまった人のために書き留めておきます。

1、Maya2013でテクスチャ、シェーダーを割り当てたファイルを.mbから.maの形式に変換します。

2、全てのオブジェクトを結合します。

3、すべてのヒストリーを削除(delete by all history)します。

4、.maの形式で保存します。

5、Maya2011で開きます。Maya2012でも同じです。
オブジェクトが消えてしまったりなどのバグがなくなります。

以下の方法、つまり、開くオプションのバージョン無視にチェックをいれても、シーンデーターが複雑になればバグは起こります。ほぼ99パーセント以下のベターな方法では開きません。
convert_Maya2013_file_to_Maya2011_not

以下、ベターな方法を紹介したyoutube動画参考です。ご確認ください。



これは自分が偶然見つけた方法です。

少しでも役にたったと思ってくださった方、facebookLikeボタンにクリックしてね。
個人的に小技ですが楽しいネタや製作の途中経過などいろいろ紹介していきます。
他のスタジオではたいてい出来上がった作品しか掲載してくれません。
しかしスタジオ ヒエイはかなりオープンに見せてしまうんです。

これはすごいお得なことなんですよ。

以上、スタジオ ヒエイがお送りするスーパートリックでした。ヒエイのサイトにもアクセスしてね。
hiei

Maya2013 商用版 新規スタンドアロン導入の件

少ないけれど整式にお仕事を頂けるようになったので、商用版のMaya2013を買った

これを買った瞬間、hobby(趣味)+学校の課題をクリアーするためだけのCG制作という意識がなくなった。

何といっても、Mayaって値段が高いなーと思う。Lightwave3Dやメタセコイアの5000円とは違う。

もうほとんど、ソフトを買うために仕事をするみたいな感じで、奴隷と同じ感じがする
43万2千円とは何とかならんのかねー・・・と言いたなる。

何故、こんなにAutodesk社は高い値段を提示してくるのかご存知?
答えは、違法にシリアル番号などを使う人が多いからだと、開発者がブログで発言しておられました。
どんどん、違法なシリアルを発行した場合、高くするとのことでした。


話が変わるのですが、日本国内で一番安い3DCGソフト販売業者はどこかご存知?
答えはCGINだと思う。
もっと安いところがあれば是非紹介してほしいです。
コメントなどで教えていただければと思います。

2





スタジオ ヒエイ制作(Studio Hiei Presents)
hiei

Maya2013 MotionCapture Retageting性能向上の件

Maya2013が新しくリニューアルされるみたいです。

Maya2012に比べて格段に比較にならないくらいモーションキャプチャの親和性がとれるようになっています。

HumanIKのリターゲティング時に起こる腕の不可動エラーがなくなっています。

MotionBuilderと同じ性能とはいかないけれど、この進歩の速さはすごいです。

来年度にはMotionBuilderがいらないくらいにHumanIKが進歩しているかもしれませんね。

1


動画はfacebookにアップロード、以下参考のほど。
http://www.facebook.com/photo.php?v=298411056909841&set=vb.100002228478574&type=2&theater

3DはMayaさえあればいいという時代がくることを願ってやまないですね。

以下、Maya2013スキニングのすごい変革です。





スタジオ ヒエイ提供 (Studio Hiei Presents)
hiei
QRコード
QRコード
Recent Comments
  • ライブドアブログ