2013年5月10日金曜日

nuke python Readノードを順番に並べる



startFrame = 1
for n in nuke.selectedNodes():
    n['frame_mode'].setValue('start_at')
    n['frame'].setValue(str(startFrame))
    n['before'].setValue('black')
    n['after'].setValue('black')
    startFrame += n['last'].getValue()-n['first'].getValue()+1



Copyノードを作り、コンスタントノードと選択ノードをインプットA、Bにさす。
fromScriptって値の設定の仕方が便利。
ノードをスクリプトエディタにコピペ した書き方で書ける。

for n in nuke.selectedNodes():
    Const = nuke.createNode( "Constant" )
    Const["format"].setValue("1280-720")
    Const["color"].setValue([0,0,0,1])
    Const["channels"].setValue("rgba")
    Cp = nuke.nodes.Copy()
    Cp.setInput(1, Const)
    Cp.setInput(2, n)
    Cp['from0'].fromScript('rgba.alpha')
    Cp['to0'].fromScript('rgba.alpha')

2013年4月9日火曜日

Nuke python


選択したリードノードの設定を変えるスクリプト。

for n in nuke.selectedNodes():
    n['auto_alpha'].setValue(1.0)
    n['last'].setValue(2000)
    n['frame_mode'].setValue('start_at')
    n['frame'].setValue('1')
    n['after'].setValue('loop')


textノードの設定を変更
for n in nuke.selectedNodes():
    n['translate'].setValue([0.0, 100.0])
    n['yjustify'].setValue("top")

2013年3月4日月曜日

Houdiniの強み

この間のpumpkinv003をマイナーアップデートし、ブレイクダウンを追加しました。
ここまでの流れをもう少し解説ついでに、Houdiniの強みも紹介できたらと思います。

pumpkin_teaser_v003 from sugiggy on Vimeo.

ここまで作るにあたって、まずはこの↓ v001の仕組みを考えました。
 
pumpkin_teaser_v001 from sugiggy on Vimeo.
つまらない結果ですが、この仕組みも他のソフトだと中々面倒だと思います。
2つのダイナミクスが必要で、モーフィングするモデルと顔があるモデルは
同じ様に見える別のモデルで別のシミュレーションになります。
顔があるモデルを球から破綻なくカボチャに変形は厳しいので。
と、それなりにややこしいノード構成なのですが、
この↓v002 に進むにあたって、Houdiniの強力なSopsが活きてきます。

pumpkin_teaser_v002 from sugiggy on Vimeo.
一番使われる機能として、Copy sopがあります。Copy sopでどんなに複雑に組んだ
構成でもプロシージャルに複製でき、それを使用しv002が出来きあがりました。
単なる複製だけでなくアニメーションをずらしたり、ベースの仕組みの値の変更もでき、
色々なバリエーションを持たせて複製が可能です。

大きさや形状、顔の種類などの変更を加えたのが一番上のムービーのv003になります。
(ICEにも似たような機能はありそうですが、どうなんでしょう?結果を見る限り出来そうな気がします。)
それ以外のソフトは大体機能自体なかったり、使用範囲が限定的だったりで
こった仕組みを複製が難しいという壁にぶつかってしまいますね。
今回これを作るにあたってはスクリプトは一行も書いておらず、ノードを繋ぐだけで完成しています。
これもHoudiniの強みではないかと思います。ロジックさえ考えついてしまえば、
ノードを組めば出来るので、他のソフトではスクリプト処理で遅い!とか
プラグイン書かないと出来ない!などと悩まされる事とはほぼ無縁です。
言語だと習得し、かつ一字一句間違えられない煩わしさなどもありますね。^ ^;

Houdiniを初めて触った時に一番驚いたのもCopy sopでした。
では、続きはまた。

2013年2月24日日曜日

pumpking teaser v003


pumpkin_teaser_v003 from sugiggy on Vimeo.

Houdini personal challenge.
個人的にHoudiniのポテンシャルをどこまで使えるのかチャレンジしています。
とりあえず、Dopsの柔軟性は素晴らしすぎます。
Sopsを使ってのInitial velocityの与えやすさはもちろんの事、別グループにダイナミクスの結果を流す事も出来ます。
上のムービーでは、玉からカボチャに変わるまでモデルと、ブーリアンで顔のパーツがあるモデルは別で
同じシミュレーションを流し切り替えています。その後、
顔のパーツが外れて、後ろにそりかえる(?)2度目のダイナミクス。
それぞれ、タイミングをずらすためのアトリビュートを持たせています。

Houdiniでは、ジオメトリに持たせたアトリビュートをShaderで使用でき、
モーフォィングの変化率をアトリビュートグリーンからカボチャ色に変わる値として使用しました。
さらにどんなアトリビュートでもMantra(レンダラー)でAOVとして持たせる事もできます。

今回GIを使用していないので、コンポジットで馴染みをトライしてみました。
基本的なAOV以外に、Yポジションデータ、カボチャの中と外、シェーダーのブレンド等も出しています。
今後の課題はカメラ空間でのVelocityをReelSmart用に書き出すシェーダーを作りたい。
文章だけだとアレなので、もうちょっとちゃんとしたブレイクダウンも作る予定です。

2013年1月9日水曜日

明けまして2013

明けましておめでとうございます!遅いですが。。
いやー 1年ってはやいですね。2013年もあっという間に終わってしまうんだろなー
なんて話を友人達と年末しておりました。
毎年、何となくその年の目標を立てているんですが、2012年は思った以上に達成できた事
とそうでも無い事があり、感覚的には80%くらい達成という感じでした。

さて、今年は
1.Houdiniをふんだんに使った作品(?)を作る。(主にDOPs)
2.英語力を伸ばす。(例年通り)
3.プライベートを充実させる。
4.タイムラプス第2弾

なんて感じでいこうかと。
辞めたい事をあげると、テレビ、無駄なネットの時間、夜更かし。
大分子供っぽいですが、どうもツイツイ流されて無駄に時間が流れてしまうのを辞めたい。
人生は短し。

A HAPPY NEW YEAR 2013 from sugiggy on Vimeo.

毎年、エンジンがかかるのが遅いのでいつも4月くらいに「もう4月!?」的な感じで
アレこれスタートすることが多いのですが、今年はもう色々動き出そうと思います。
てな思いもあって、上のムービーを実験がてら作ってみました。
HoudiniのDOPsのWire solverを使ってます。2,3時間でつくったので手抜きですが、
プロシージャルな仕組みなので、文字も好きな文字やオブジェクトに変えられる感じに
なっております。
やはりHoudini最高です。

目標1の作品のアイディアのテストで↓こんなのも作ったんですが、

pumpkin_teaser_v002 from sugiggy on Vimeo.

上のWire solverなんかも合わせて、Pyroもガッツり使って作品に出来たらと思います。

ではでは、今年もよろしくお願いいたします!! まずは、呑み行きましょう!!


2012年12月20日木曜日

SeExprMesh

またまた、同僚の泰君がMayaのプラグインをオープンソースでリリースしましたよ!
どんな事が出来るか簡単に言うと、エクスプレッションでジオメトリをあれこれ出来ちゃいます。
まるでHoudiniのVOP SOPやMaxのプラグインGenomの様に!
http://www.thinkboxsoftware.com/genome/

詳細はこちら↓
http://blog.taikomatsu.com/tools/seexprmesh/
http://blog.taikomatsu.com/2012/12/16/seexprmesh-v05/



いや~凄いですねー 若くしてこの技術。自分も頑張らねばーと思うわけです。
いい刺激をもらっています。

2012年11月19日月曜日

maxscriptいくつか

お久しぶりです。
えー、、SNSをやり出してからというものBlogの更新頻度は大分落ちますね。
まあ、以前からそんなに更新頻度の高いブログではなかったですが、、、

Scriptのすすめも前回が2月!? 今チェックしたらちょっとビックりしました。
月日が流れるのは速いです。
ここ最近まで仕事もプライベートもドタバタしていたのが、少し落ち着いた(?)様な
気がしてきて、このブログを色々チェックしたらリンク切れやら色々あったのと
同時に、個人的に作ったスクリプトのツールがただウチのハードディスクで眠っているだけ
というのも勿体無いなと思いまして、ツールをいくつか公開です。

■sKeyShifter
http://sugi-iggy.blogspot.jp/2012/11/skeyshifter36.html

■sPathScatter
http://sugi-iggy.blogspot.jp/2012/11/spathscatter.html

■sPixelBoxer
http://sugi-iggy.blogspot.jp/2012/11/spixelboxer15.html

■sRandomSelector
http://sugi-iggy.blogspot.jp/2012/11/srandomselector20.html

■sBitmapPlaners
http://sugi-iggy.blogspot.jp/2012/11/sbitmapplaners.html

それぞれページを設けてはいるのですが、説明不足かもしれません。
こちらに昔作ったムービーがあるのでそこで使い方を紹介してあるものもあります。




sPathScatter

■概要

オブジェクトをパス上にスキャッタ(配置)するスクリプト。

Edit!ボタンはスキャッタされたオブジェクトを選択した状態で実行すると
パラメーターを編集できます。