備忘録をかねて。pythonはモジュロ演算子(%)を使って文字列へのフォーマット操作ができます。型変換だけならstr()等でキャストでもいいのですが、桁揃えとかもやってくれるので極力こっちを使うようにしています。でも、すぐ忘れます。使い方はシンプルi=123print "Hellow World %d" % i#結果#Hellow World 123上の例では、%dの部分が123で置き換えられています。ここで使っている%dは「整数値と入れ替えますよ」の意味。複数を置換する場合は、下のように書きます。[...]
read more
Houdini Advent Calendar2016 15日目に参加しました。Houdiniノード勉強回。テーマはL-System。反復処理されるルールによって、枝分かれする現象を表現できるヤツ。使えそうに見えて使いどころが難しい、そんな機能かと。基本的にL-system(SOP)ノードだけで、作ることができます。まずは概要から。L-Systemの作成には大きく3つの工程があると、私は思っています。1:どのようなルールで作るか(パターン)2:どのような数値を設定するか(長さ、角度、減衰、増幅など)3:それを何回繰り返すか1:[...]
read more今回はほんに些細なTipsです。カメラのアイコンサイズの変え方です。カメラのShapeノードのアトリビュートにある、"Local Scale"というパラメータでアイコンのサイズを変更することができます。これだけ。このLocatorScaleはカメラに限ったものではなく、ライトやnullなど大きさを持たないものにあるパラメータのようです。実寸でモデルを作成した場合、アイコンが相対的に小さくなるので、そんな時はこのパラメータでアイコンを大きくすると良いですよ。(Maxに比べるとMayaはアイコンサイズの変更が少しアクセスしにくい感があります)ここから[...]
read more
※ 注意 ※この記事のリグは失敗例です。記事のとおり作ると、記事の通り失敗します。それでもよいという天の邪鬼な方に向けておくる、"Mayaで作る車輪リグ考察(失敗編)最終目標はこういうヤツ↓簡単そうに見えて、意外と奥が深いのでは、と思いまして。作りたいのは、"進んだ分だけ正確に車輪が回るリグ"。”正確さ”が欲しいので、Expressionを使って計算させたいと思います。下絵のように、車輪の移動距離と円弧の部分が一致するような回転角を求めることができれば問題は解決するように思います。(下絵の赤い円周と青い距離の部分)では移動した[...]
read more
Houdini回。VEXです。今回は、評価ポイントからN番目に近いポイントを取得する方法です。評価ポイントから2番目に近いポイントや、5番目に近いポイントを取得するってことです。以前、Noiseについて調べた時の副産物だったりします。N番目の前に、もっとも近いポイントの探し方から。これはnearpoint(VEX)を使うことでわかる。もっとも近いポイントの番号を教えてくれます。下のは、それを使ってWorleyノイズを作ってるとこ。ではN番目に近いポイントを取得するにはどうすればよいのか。PointCloudOpen(VEX)とPoint Cl[...]
read more
今回は、『mentalrayVertexColors』ノードについてやってみようと思います。このノードは、ひとことで言うと、mentalrayで頂点カラーをレンダリングできるようにするノードです。コネクトや作業手順等々、いろいろ面倒なノードのひとつだと思います。アトリビュートも"cpvSets"ひとつしかないので、Mentalrayで頂点カラーをレンダリングするまでの手順をやっていこうと思います。(ちなみにSoftWareレンダーの方は知りません)Mayaは2012の英語版を使用しています(日本語ユーザーの方ごめんなさい)↓のような平[...]
read more
Houdini勉強回。最近知った関数。makebasis()以下、マニュアルのURLhttps://www.sidefx.com/docs/houdini/vex/functions/makebasis.htmlマニュアル曰く、"指定したzaxisベクトルから正規直交基底を作成して、xaxisとyaxisの基底ベクトルを構成"、するらしい。なんのこっちゃ。その機能を意訳すると、あるベクトルに直行するベクトルを2つ作ってくれる関数。例えば、{1,0,0}に対してmakebasis関数を使うと、{0,1,0}, {0,0,1}の2つのベクトル[...]
read more
Pythonには”リスト内包表記”なるものがあるそうな。初めて目にした時は、「なんじゃこのケッタイな書き方は!」と思ったものです。リスト内包表記をザックリ説明すると、『for分とかif分とか使って複数行必要だった処理が一行ですむよ。しかも処理が早いよ。でもちょっと読みづらいよ』っていう書き方でしょうか。ものの本によると、”リスト内包表記とは、あるリストを元にして別のリストを作るための記法のことです”、だそうです。ちょっとMayaのpyemlで普通の書き方と、それを内包表記で書いた例を作ってみました。選択したオブジェクトのうち、Meshのみをリストで返[...]
read moreここのところノードの話ばかりだったので、今日はScriptの話にしてみました。次のようなスクリプトを作ってみました。以前、Twitterでちょこっとツイートしたのですが、下の絵のように、2Dドット絵から3Dのドット風絵に変換するスクリプトです。(あくまで、ドットをCubeに置き換えるだけで、凸凹させるのはできません。あしからず)試しにレンダリングすると・・・もっとつくってみた。調子に乗って、さらに作ってみた。ピクセルってたら彼かな、と。えーと、スクリプトね。画像を制御するモジュールとしてPIL(Python Imagein[...]
read more