シーン内で複数のテクスチャノードに同じイメージファイルを使用している場合に、
そのイメージを一括で置き換えるMEL。
サムネイルもどきも表示するようになっているが、表示サイズに合わせた画像の拡縮の
方法がわからず、あまりうまく動いていない。
普通に使用出来るが不便な点も多い、というレベルのMEL。
今後もバージョンアップが必要。
「TexReplace_v10.mel」をダウンロード
2008年2月18日月曜日
[MEL]テクスチャーを一括で貼り替える
2008年2月13日水曜日
HotKeyの設定
自分で設定したホットキーを忘れない為のメモ。
[!] ・・・ HyperGraph Window
["] ・・・ HyperShade Window
[#] ・・・ OutLiner Window
[$] ・・・ Tool Settings Window
[^] ・・・ DistanceTool
[\] ・・・ IsolateSelection(MEL)
[home] ・・・ DeleteEdge
2008年2月12日火曜日
[MEL]画角(Angle of View)を調べる
カメラシェイプのアトリビュートにある[Angle of View]は、焦点距離(Focal Length)から
計算で出しているようで、カメラのアトリビュートの値として存在しない。
以下のMELをカメラ(のトランスフォームノード)を選択した状態で実行すると、
そのカメラの[Angle of View]を変数$AoVに取得できる。
// 使用する変数の宣言
string $camS[];
string $camT[];
float $fl;
float $AoR;
float $AoV;
// トランスフォームとシェイプノード名を取得
$camT = `ls -sl`;
$camS = `listRelatives -s $camT`;
// シェイプノードから焦点距離を取得
$fl = `getAttr ($camS[0] + ".focalLength")`;
// 焦点距離から画角を計算。その後ラジアンを度数に変換
// 【35.999999は謎の数値。本当はレンズスケールの筈だが・・】
$AoR = atan(35.999999 / ($fl * 2)) * 2;
$AoV = `rad_to_deg $AoR`;
// 結果表示
print "-----------------------\n";
print $camT;
print "Angle of View ";
print ($AoV + "\n");
print "-----------------------\n";
2008年2月11日月曜日
[MEL] 最適なレンダリング精度を自動設定
メンタルレイのファイナルギャザーを使用する際に、
カメラの設定と、対象となるオブジェクト(注視点)の座標から
最適なファイナルギャザーの計算範囲を測定・設定してくれるMEL。
レイの精度を落とした状態でも画像クオリティが下がらないので、レンダリングの
スピードアップに効果があると思う。
もともとの仕組みの詳細はこちら
UIのないシンプルな構造にしたことにより、プリレンダーMELとして設定すれば
ファイナルギャザーを使用したアニメーションのレンダリング時間が高速化されるかもと期待。
【使用方法】
1.レンダリングにファイナルギャザーを使う設定にする。方法はこちら
2.[RenderSettings]→[Final Gathering]→[Accuracy]を通常の1/4~1/2に設定する
3.[RenderSettings]→[Final Gathering]→[Final Gathering Options] にある、
[Use Radius Control] にチェックを入れる
4.主に映したいモデルを1つ選択する(出来れば注視点専用のLocatorを用意してそれを選択)
5.[MRQC_v10.mel] を実行
6.レンダリングを始める
7.レンダリングの精度が低く感じたら、[Accuracy]を少しずつ上げて調整
【注意点】
・レンダリングできるカメラはフレーム毎に1つだけ。複数のrenderable cameraがあると誤作動する
・注視点に選べるオブジェクトも1つだけ。専用locatorを作ってcam_instとリンクを推奨
・広域のレンダリングでは効果薄いかも
「MRQC_v10.mel」をダウンロード
負荷をかけずにファイナルギャザーの精度を上げる
ファイナルギャザーで影が斑状になるなどのノイズが発生するのは、
レンダリングの際の精度が足りない為。
通常はレイの精度を数倍にして対応するが、
([Rnder Setting]→[mental ray]タブ→[Final Gathering]→[Accuracy]の値)
レンダリング負荷が増大する。
負荷を上げずに精度を上げるには、
・[Rnder Setting]→[mental ray]タブ→[Final GatheringOptions] の、
[Use Radius Quality Control]にチェックを入れ、[Max Radius][Min Radius]を設定する。
・[Max Radius][Min Radius]の値は、レンダリングする主な対象を中心にレンダリング範囲を
上面から測定し、その距離の1/10を[Max Radius]、1/100を[Min Radius]とする。
これは、全体の精度はそのままでレンダリングの際の計算範囲を制限する事により、
結果的に精度を上げる、という方法。レンダリングの負荷は全く増えない。
2008年2月10日日曜日
[MEL]オブジェクトを放射線状に配置する②
メンテナンスでブログの更新が出来ない間に完成したMEL。
前回作成した [Put Around Tool] の大幅な機能向上版。
ウインドウ内のレイアウトも一通り整理でき、これでやっと1つの
ツールとして完成したような感じ。
[Put Around Tool] は、選択したオブジェクトを放射線状(円状)に複製・配置するツール。
ウインドウで出来る設定の詳細は以下。
[Center of Circle] ・・・ 配置の中心を ローカル / グローバル から選択
[Number of OBJ] ・・・ 配置するオブジェクトの個数
[Angle of putting] ・・・ 扇状に配置したい場合に、その角度を入力
[Make Parent] ・・・ 出来たオブジェクト群を親子化する
[Start Put Around] ・・・ 複製・配置を開始する
[Close] ・・・ ウインドウを閉じる
「PutAround_v20.mel」をダウンロード
2008年2月7日木曜日
[MEL]オブジェクトを放射線状に配置する
初の自作MEL。
オブジェクトを選択した後にウインドウで各種設定を行い、実行すると
シーンの原点を中心に任意の数の複製したオブジェクトを放射線状に配置する。
・ウインドウ内の項目について
[Axis] ・・・配置の中心にする軸の向き。XYZから
[Number of OBJ] ・・・配置するオブジェクトの個数
[Put angle] ・・・扇形に配置したい場合、その角度を設定
[Start Put Around] ・・・実行
実行すると、ワールドの原点を中心にXZ平面上に配置される。
このMELによって、歯車の作成が楽になるはず。
レイアウト関係はあんまり良くわからないので、今後の課題。
「PutAround_v10.mel」をダウンロード
追記:大幅にパワーアップした「Ver2」が作成済み。こちらから
2008年2月5日火曜日
UV編集に数値入力を用いる方法
[UV Texture Editor]上でUVを編集する際、厳密な数値で移動・拡縮・回転を行いたい場合。
1. [UV Texture Editer]上で、移動・拡縮・回転のいづれかのツールを選択。
2. [UV Texture Editor] の左上端にある[0/○]みたいなアイコンをクリック。
(アイコンにカーソルを合わせると[Toggles the mode of the UV entry fields bitween absolute
UV position and relative transformation tool values] と表示される)
3.移動・拡縮の場合は先ほどのアイコンのすぐ近くに2つある数値入力枠にそれぞれX、Yの数値を入力する
4.回転の場合は片方の数値入力枠が非アクティブになるので、残った枠に回転角を入力する
2008年2月4日月曜日
コンポーネントをエッジに沿って移動させる
1.Tool Settingsから
[Move Tool]の[Tool Settings]を開く
ウインドウ内の[Set to Edge]ボタンを左クリック。
その後、沿わせたいエッジを左クリック。
2.ホットメニューから
キーボードの[w](Move Toolのホットキー)を押しながらマウスの左クリック。
ホットメニューから順に[Aline Along]→[Aline Axis with Edge]
その後、沿わせたいエッジを左クリック。
同様の方法で最後の沿わせるコンポーネントを変えることで、フェイスなどに沿わせる事も可能。
ワイヤーフレーム表示時に、背面を非表示にする
ワイヤーフレーム表示の際に、背面を表示しないようにする方法。
ただし、パネルやカメラ単位ではなく、モデル単位での設定となる。
1.背面を非表示にしたいモデルを選択
2.[Display]→[Polygons]→[Backface Culling]
同操作をもう一度行うと再表示。
使えるのはポリゴンモデルのみ。
通常と逆方向からのOrthographic Viewを表示する
Orthographic Viewの表示項目は通常、
・Front ・Side(Right) ・Top
の3項目しかないので、Back、Bottom、Leftからの表示は出来ないが、
以下の方法で可能になる。
persp view に切り替え(必要に応じて新規ビューを作成して)、
パネルのメニューから、 [View]→[Predefined Bookmarks]→[任意のビュー] を選択。
Front ⇔ Back
Top ⇔ Bottom
Side ( Rigth Side ) ⇔ Left Side
2008年2月3日日曜日
手軽なグローバルイルミネーション設定(IBLあり)
ファイナルギャザーを用いた、グローバルイルミネーションぽいイメージの作成手順。
厳密な光源計算などは全く行っていないので、最終イメージの叩き台程度。
イメージベースドライティング(IBL)を使用。IBLを使用したくない場合はこちら
IDLにはHDRI(ハイダイナミックレンジイメージ)画像が必要になる。
下のリンクサイトで入手可能。
1.レンダー設定
1.[Render Settings] ウィンドウを開く
2.[Render Using:]をプルダウンメニューから[mental ray]に変える
※もしプルダウンメニューに[mental ray]がない場合はこちら
3.[Common] タブ内の[Render Options] にある[Enable Default Light] のチェックを外す
4.タブを [mental ray] に切り替える
5.[Quality Presets]をプルダウンメニューから[PreviewFinalGather]に変える
6.[Final Gatherring]の項目をクリックして開く
7.[Accuracy]を300にする
2.イメージベースドライティングの設定
1.[Environment] の項目をクリックして開く
2.[Image Based Lighting] の [Create]をクリック。
3.開いた[Attribute Editor]内の[Image Based Lighting Attributes]にある、
[Image Name] か、その横の参照ボタンから、任意のHDRIを選択する
3.明るさの調整
IBLの明るさ等の調整を行いたい場合は、以下の通り。
1.[Hypergraph]ウィンドウなどから、[mentalrayIbl1]を右クリック、
最上段を選択しアトリビュートを開く
2.[Color Gain]で光の強さ、[Color Offset]でアンビエントの明るさを調整する
HDRI画像が入手できるサイト
http://www.cr-market.com/03000hdri_panorama/
http://hdri.wordpress.com/
http://www.hdrimaps.com/downloads.html
http://www.evermotion.org/index.php?unfold_exclusive=84&unfold=exclusive
http://gl.ict.usc.edu/Data/HighResProbes/
http://www.debevec.org/Research/HDR/
http://www.debevec.org/Probes/
http://www.anyhere.com/gward/hdrenc/pages/originals.html
http://www.cis.rit.edu/mcsl/icam/hdr/rit_hdr/
http://www.hdrmill.com/Freebies.htm
http://pbacademy.com.sapo.pt/downloads/Probes/index.htm
2008年2月2日土曜日
mental rayが選択項目から消えてしまった
Mayaのmental rayはプラグイン扱いだが、稀に読み込み設定が勝手にOFFに
なってしまい、[Render Settings]ウィンドウからmental rayの項目が消えてしまう。
その場合、以下の手順でmental rayを認識させる。
1.[Window]→[Settings/Preferences]→[Plug-in Manager] をクリック、ウィンドウを開く
2.[Mayatomr.mll] の [Loaded] と [Auto load] にチェックを入れる
3.ウィンドウ下段の[Close]をクリックしてウィンドウを閉じる
手軽なグローバルイルミネーション設定(IBLなし)
ファイナルギャザーを用いた、グローバルイルミネーションぽいイメージの作成手順。
厳密な光源計算などは全く行っていないので、最終イメージの叩き台程度。
イメージベースドライティングは使用しない。IBL使用の場合はこちら
1.レンダー設定
1.[Display Render Setting Window]を開く
2.[Render Using:]をプルダウンメニューから[mental ray]に変える
※もしプルダウンメニューに[mental ray]がない場合はこちら
3.[Common] タブ内の[Render Options] にある[Enable Default Light] のチェックを外す
4.タブを [mental ray] に切り替える
5.[Quality Presets]をプルダウンメニューから[PreviewFinalGather]に変える
6.[Final Gatherring]の項目をクリックして開く
7.[Accuracy]を300にする
8.ウィンドウ最下部の[Close]を押して、設定終了
2.環境光設定
グローバルイルミネーション効果があるので、カメラのBGカラーを変えると環境光として反映される
1.レンダリングしたいカメラのアトリビュートを開く。使用中のビューポート上部メニューの、
[View]→[Camera Attribute Editor] (他にも方法多数)
2.[Environment]の項目をクリックして開く
3.[Background Color]のスライダを調整して明るさを変える。色部分を直接クリックで色変更も可能。
4.設定後、最下部の[Close]でウインドウを閉じる
以上の後、レンダリングする
レイヤーにオブジェクトを追加・削除する
ビューポートへの描画をコントロールするディスプレイレイヤー、
レンダリングの対象や設定をコントロールするレンダーレイヤーに
オブジェクトを追加・削除する方法。 どちらのレイヤーも同じ操作を行う。
2.のレイヤーの追加は、事前にレイヤーがある場合は飛ばしてもよい。
1.操作したいレイヤーをラジオボタンで選択。
2.[Layers]→[Create Empty Layer] で新規の空レイヤーを作成する
3.【追加】
追加させたいオブジェクトを選択後、追加したいレイヤー名の上で右クリック。
[Add Selected Objects]
【削除】
削除させたいオブジェクトを選択後、削除したいレイヤー上で右クリック。
[Remove Selected Objects]
平行投影のカメラを作成する
1.[Create]→[Cameras]→[Camera]の設定(右の箱)をクリック。
2.最下段[Orthograhic Views]の[Orthographic]のチェックを外す。
[MEL]選択したコンポーネントのみ表示する
通常操作ならば、表示したいコンポーネントを選択後、パネルのメニューから
[Show]→[Isolate Select]→[Veiw Selected]
同様の操作をもう一度行うと全表示になる。
以下はこの操作をMELにしたもの。
ホットキーやシェルフに割り当てるとかなり便利。
{
string $selectObj[] = `ls -sl`;
string $getPanelName = `getPanel -withFocus`;
int $i = `isolateSelect -q -state $getPanelName`;
select -r $selectObj;
select -cl;
switch($i)
{
case 0:
select -r $selectObj;
enableIsolateSelect $getPanelName 1;
break;
case 1:
select -r $selectObj;
enableIsolateSelect $getPanelName 0;
break;
default :
break;
}
}
グリッドの設定
1.あらかじめ、シーン内の長さの単位を設定する。設定方法は別記。
シーン内の長さの単位を設定する
2.[Display]→[Grid]の設定を開く(「Grid ロ」のロをクリック)
3.[Size]の欄で以下の設定ができる
[Length and width] ・・・グリッドの広さ。1unitsの長さは、長さの設定の1単位(cmとかmとか)
[Grid lines every] ・・・何unit毎に分割線を入れるかの設定
[Subdivisions] ・・・[Grid lines every]で設定したグリッドの中を更に何分割するかの設定
Colorの設定で各分割線の色を変更できる。
また、グリッドは原点を中心に、XYの+-方向に対して作られるので、感覚的には倍の広さになる。
シーン内の長さの単位を設定する
1.[Window][Setting/Preferences][Preferences]でPreferrencesウィンドウを開く。
2.ウィンドウ左の[Categories]から[Settings]を選択。
3.[Working Units]内の[Linear]をプルダウンメニューから選ぶ。デフォルトは[centimeter]
ピボットの位置をモデルの中心に合わせる
ステータスラインが(左上部のプルダウンメニュー)「Polygons」の状態で、
[Bonus Tools]→[Move Object Pivot To Component Centre]
選択したバーテックス間の距離を表示する
ステータスラインが(左上部のプルダウンメニュー)「Polygons」の状態で、
[Bonus Tools]→[Toggle Vertex Distance HUD]
シーン内のいろいろな情報を表示する
1.パネルのメニューから [Show]→[HUD] で表示。
2.表示内容をカスタムしたい場合は [Display]→[Heads Up Display]の中のチェックを付け外しする。
操作時にウィンドウ中央に出るメッセージを出ないようにする
1.「Preferences」ウインドウを開く [Window]→[Setting/Preferences]→[Preferences]
2.「Help」カテゴリーを開き、[Tool messages]の[Enable]のチェックを外す。
プリミティブ作成時の挙動をMaya7.0以下と同様にする
[Create]→[Polygon Primitves]、[Create]→[NURBS Primitves]の、
それぞれのメニュー内(下から2番目)にある、「Interactive Creation」のチェックを外す。
GUIの日本語←→英語を変更する
1.[コンピュータ]を右クリックし、[プロパティ]を開く
2.ウィンドウ左側タスクの「システムの詳細設定」を選択。
システムのプロパティウィンドウを開く。
3.詳細設定タブをクリックし、環境変数ボタンをクリック。
4. 「システム環境変数」の新規ボタンをクリックして新しいシステム変数ウィンドウを開き、
以下の通りに入力。
変数名の欄「 MAYA_UI_LANGUAGE」
変数値の欄: 英語 UI 「en」、 日本語 UI 「ja」
5.上記の記入が終わったら「OK」ボタンをクリックし、
「新しいシステム変数ウィンドウ」を閉じ、 「変数」ウィンドウでも「OK」ボタンをクリックし、
設定を有効にする。
VISTAでBonusToolsが起動しない
XPとVISTAではユーザー設定の構造が違うため、パスが正しくインストールされず、
MayaがBonusToolを読み込まない。
VISTAが初期状態の場合、以下の手順で正しくインストールできる。
※Maya8.5/2008で確認。おそらく2009でも同現象があると思われる
1・Administratorアカウントを有効にする
Windows Vista では、既定で Administrator アカウントが無効になっている。
Administrator を有効にするには、以下の操作を行う必要がある。
1. [スタート]→[すべてのプログラム]→[アクセサリ]を開く
2. メニューの中から[コマンドプロンプト]を右クリックし、[管理者として実行]を選択する
3. コマンドプロンプトで以下のコマンドを入力し、[Enter]キーを押す
net user administrator /active:yes
2・Administratorアカウントにパスワードを設定する
後述のコマンドプロンプト操作の為に必須。
1.[スタート]→[コントロールパネル]→[ユーザーと家族のための安全設定]を開く
2.[ユーザーアカウント]→[Administrator]→[パスワードの変更]を選択する
3.パスワードを設定後、[パスワードの変更]をクリックして決定
3・Administrator権限を用いてコマンドを実行する
次の操作により、真のアドミニ権限でコマンドを実行できるようにする
1. [スタート]→[すべてのプログラム]→[アクセサリ]を開く
2. メニューの中から[コマンドプロンプト]を右クリックし、[管理者として実行]を選択する
3.コマンドプロンプトで以下のコマンドを入力し、[Enter]キーを押す
runas /user:administrator cmd
4.アドミニ用のコマンドプロンプトのウインドが別に開けば成功
4・コマンドからインストーラを実行
3で開いたコマンドプロンプトのウィンドウで、インストーラを実行する。
インストーラの絶対パスを入力すると実行できる。(下はその例)
C:\installer\Maya8.5\MayaBonusTools85_win32.msi
インストールが完了後、Mayaを起動すればOK。