ON-BLOG

CGのこと、あれこれ書いてます。

MEL Basic

XSIユーザーから観たMELスクリプトについて 其の二十一

ではここからはサイトに書いてある、 コマンドをしてみます。 以下MELコマンドの説明。 currentUnit -q -linear 長さの確認です。 センチとかミリとかですね。 SIではこの単位がSoftimage単位? って言われ、定義は各々がすることになっていますね。 一応デ…

XSIユーザーから観たMELスクリプトについて 其の二十

次にパーティクルのゴール パーティクルによくあるやつです。 ではコード↓ global proc makeString1() { string $text[] = `textCurves -f "Times-Roman" -t "Maya"`; string $chars[] = `listRelatives $text[0]`; string $psurf[]; int $i = 0; for($curv …

XSIユーザーから観たMELスクリプトについて 其の一九

では次コンストレイン。 リジッドボディ側のコンストですね。 global proc makeFuriko1() { int $i; string $sname[]; string $gname[] = `gravity -pos 0 0 0 -magnitude 9.8`; for($i = 0 ; $i < 3 ; $i++) { $sname = `sphere`; float $x = 2.03 * $i; mo…

XSIユーザーから観たMELスクリプトについて 其の一八

次はソフトボディ 今回はグリッドに足して色々仕掛けてます。 global proc makeFlag1() { string $pname[] = `nurbsPlane -width 12.0 -lengthRatio 0.5 -patchesU 12 -patchesV 12`; rotate 0 90 0; string $soname[] = `soft -goal 0.5 $pname[0]`; setAtt…

XSIユーザーから観たMELスクリプトについて 其の一七

ではでは続いてリジッドボディ これもMELから操作が簡単にできます。 コード global proc makeRigid1() { string $sname[] = `sphere`; string $pname[] = `nurbsPlane`; scale 10 30 20; rotate 0 0 115; move -r 3 -8 0; string $rname = `rigidBody -acti…

XSIユーザーから観たMELスクリプトについて 其の十六

パーティクル続き 次はフィールドの説明。 SIでいうフォースに当たるもの。 種類もだいたい一緒だが、聞きなれないものありますね。 その辺りはまた使うときに、 でコード。 global proc makeField1() { particle -p 0 5 0; string $ename[] = `emitter -typ…

XSIユーザーから観たMELスクリプトについて 其の十五

さてさて パーティクルの次サンプル。 エミッターからの距離によってパーティクル色が変わるというもの。 エクスプレッションを使って表現する。 global proc dynExpression1() { particle -p 0 0 0; string $ename[] = `emitter -type "direction" -dx 0.0 …

XSIユーザーから観たMELスクリプトについて 其の十四

続いてはパーティクル。 Melでパーティクルを制御するんですね。 あ、SI版は無しで。やりかた全くわかんないんです。 また探ってみます。 ではコード global proc makeParticle3(int $num, float $XR , float $YR , float $ZR ,int $type) { int $i; float $…

XSIユーザーから観たMELスクリプトについて 其の十三

エクスプレッションの続き次の例。 岩の作成 global proc makeRock1() { float $val =rand(0.5,2.0); string $poly[] = `polySphere -r $val`; float $x = rand( 0.8 , 1.5 ); float $y = rand( 0.8 , 1.5 ); float $z = rand( 0.8 , 1.5 ); scale $x $y $z;…

XSIユーザーから観たMELスクリプトについて 其の十二

では次エクスプレッション。 MAYAのエクスプレッションは素晴らしい! と幾度も聞いた事があります。ではそんなエクスプレッションを見ていきます。今回はコーンをSinで遊んだものですね。 下記の事例はよく使うので、覚える必要がありますね。 makeExpressi…

XSIユーザーから観たMELスクリプトについて 其の十一

つづいてイベントスクリプトについてSIでいう、イベントスクリプトは「scriptJob」というもので 管理されている。流れ的には 「scriptJob 【-ここにイベント指定文】【イベントとなる対象の値】【処理内容】」 となる。なので、例で解くと↓ scriptJob -attri…

XSIユーザーから観たMELスクリプトについて 其の十

ではWindow系の最後 Formとタブですね。ではさっそくコード string $windowName = `window -title "レイアウト 5"`; string $form = `formLayout`; string $closeButton = `button -label "閉じる" -command ("deleteUI " + $windowName)`; formLayout -edit…

XSIユーザーから観たMELスクリプトについて 其の九

ではwindow関係の最後にレイアウト関係を。とりあえずMELの説明。 まずは行、列の扱い方。 window -title "レイアウト 1"; columnLayout; button -label "A"; rowLayout -numberOfColumns 2 -columnWidth2 20 20; button -label "B"; button -label "C"; set…

XSIユーザーから観たMELスクリプトについて 其の八

続き次はラジオボタン MELではこんな感じで扱うみたいです。 global proc makePrimitive1() { global string $radioCollection1; string $selected; $selected =`radioCollection -q -select $radioCollection1`; if($selected == "radioButton1") { sphere;…

XSIユーザーから観たMELスクリプトについて 其の七

次はチェックボックスについて。 MELではこのようにしてチェックボックスを使います。 global proc makeSphere() { global string $checkBox1; global string $checkBox2; global string $checkBox3; float $val = 1.0; float $x = 1.0; float $y = 1.0; flo…

XSIユーザーから観たMELスクリプトについて 其の六

ではWindowのスライダー版 こんな感じ。 global proc makeSphere() { float $val; $val = `floatSliderGrp -q -value radiusSlider`; sphere; scale $val $val $val; } window -title "スライダ 1"; columnLayout; text -label "球体の作成"; floatSliderGrp…

XSIユーザーから観たMELスクリプトについて 其の五

ではここでイメージを変えて、「Window作成」にいこう。 ※XSIでいうPPGこのMELウィンドウ相当良い感じでした。 ではまずは超かんたんなコード window -title "ウィンドウ 3"; columnLayout; button -label "球体" -command "sphere"; button -label "コーン"…

XSIユーザーから観たMELスクリプトについて 其の四

では次。 キーフレームについて。 これは私には重要な所ですね。 MAYAでキーフレームは setKeyframe -at "ry" $name[0]; こんな感じでキー設定します。「-at」で以下のアトリビュートにキーを打つって感じらしいです。 コードにすると、 global proc circleA…

XSIユーザーから観たMELスクリプトについて 其の三

続き 次は「アトリビュート」について。 SIではプロパティでしょうか?※パラメーター?SIでは、 null.kine.local「.posx」 括弧の部分ですかね。 SIなら上記のやり方やいろんなやり方がありますが、 MAYAではどうでしょうか? string $sname[] = `sphere`; f…

XSIユーザーから観たMELスクリプトについて 其の二

では次。 球を円状に配置するスクリプト。 MELはこんな感じでした。 global proc circlesphere2(float $rad,float $pai,int $num) { int $i; float $r = 0.0; float $add = 360.0 / $num; for($i = 0; $i < $num ; $i ++) { sphere; scale $pai $pai $pai; m…

XSIユーザーから観たMELスクリプトについて 其の一

とうとう来ました。そう、MAYAです。 もう進むしかないんです。ということで、タイトルにある通りMELについて書いて行きたいと思います。っていっても、基本的にここのコードを目で見て書いてるだけなんですが、、、あ、SIのコードも比較で書いていきます。 …