Houdini回。Houdiniにはopから始まるエクスプレッションがたくさんあります。個人的に紛らわしいと思ってるのはopinput~とか、それに類するやつらです。opinputとかopinputpathとか。さらにはop:`opinputpath(".",0)`とか合わせ技っぽいのまで。似たような名前と機能で、モヤモヤしてたのでスッキリさせようと思って取り上げました。opinputpath指定したノードの入力に接続されたノードのフルパスを取得できる。opinputpath("参照ノードのパス", &[...]
read more
Houdini回!VOP内でGroup化の方法を覚えたのでメモ代わりに。簡単なGroup化はwrangleで行う事が多いのだけれど、時々VOPでGroupを作りたいって時があったのです。Set Attribute(VOP)を使うと、Groupへのセットも出来るっぽいです。Set Attribute(VOP)のAttribute Classってとこに"Point Group"と"Primitive Group"ってのがあって、それ使うとPoint or PrimitiveのGroup作ったり格納したりできるそうな。ためしに、ノイズを閾値にしてPointのグルー[...]
read more
Houdiniで迷路生成。(Houdini:迷路ジェネレータ02へ)調べたところ、迷路生成の手法はいろいろあるらしいことが分かりました。ここではおおよそ次のような手順で作成しました。穴掘り方と言うらしいです。 図のようなグリッドで考える。まず、任意の点をマスをスタート地点とする。 上下左右のマスをランダムに選び、そこが通路でなければ通路にして、そのマスに移動する。 移動した先のマスで、「2」を繰り返す。 四方に通路を作成出来るマスがない場合、一つ前のマスに戻る。 戻った先でも、通路作成可能なマスが無ければさらにもう一つマスを戻る。通路作成可[...]
read more
アンビエントオクルージョン(以下AO)の効果を出すことができる、Mentalrayのテクスチャノード。使用頻度は高い。テクスチャノードなので、マテリアル等に繋いで使う。下の例は、シンプルにsurfaceShaderのoutColorにつないだものです。上記マテリアルをモデルにアサインしてレンダリングすると↓アトリビュートはすべてデフォルトです。アトリビュートを見ていきます Sample値が小さいとノイズっぽい。大きいとキレイだがレンダリング時間増Bright & Dark明部と暗部の[...]
read more
BackBurner使ってて、こんな↓表示になった場合に治るかもしれない対処法。INF @ # $ message missing: 1047 $ # @INF @ # $ message missing: 1050 $ # @INF @ # $ message missing: 1205 $ # @INF @ # $ message missing: 1135 $ # @上位バージョンをインストールし、その後下位バージョンをインストールし直した場合、このようなエラーが出るように思います。対処として、以下のパスにある"backburner"フォル[...]
read more
Twitterで流れてたgifが面白かったので、Houdiniでマネして作ってみた。2つの形状をブレンドして、変形の際にJiggleを適応したもの。Jiggleについてはこっちの記事でサンプルファイルをアップしています。反省点としては、作り方とネットワークが力技だったなぁ、と。形状大きさ間隔速度に依存しないスマートな作り方ができたはずだ、と。いずれリベンジを、と。[...]
read more
今回はプログラム系、特にユーザーインターフェース周りのお話です。 ここでは、Python & QtDesigner & Pysideを使った作例をば。最近の3DCG系ソフトはだいたいPythonをサポートしているので、多少の違いはあれど、どのソフトでも応用がきくのではなかろうかと思いまして書きました。ただしあくまでCG屋が書くプログラムなので、そこのところあしからず。いくつかある作例の中の一つとして捉えていただければ。流れは下のようになります。①:Qt DesignerでUI作成↓②:PySideに変換↓③:コードを好きにいじる[...]
read more
たまにはMaya以外のことも書こうと思いまして。なので今回はAfterEffects(以下AE)のちょっとしたTipsです。AEの「フォルダの監視」機能を使って、複数のプロジェクトを順次レンダリングする方法を。「レンダリングしたいシーンファイルいくつもあるなぁ。帰りにまとめてレンダリングしたいな~」、なんて時に使ってます。BackBurner等のレンダリング管理ツールを使うという方法もあるかと思いますが、今回は標準機能のみで出来る方法ということで、こちら。① レンダリングキューを作成当たり前ですが、レンダーキューがないとレンダリングできません。② ファイルを[...]
read more
Houdiniノード勉強回。今回はVOPのif block。"Block Begin If"と"Block End"ノードで構成される条件分岐のためのノード。「なんじゃこりゃ」、「どうやって使うんじゃ」と思って調べたやつ。・・・VimeoのMaster Class見ながら勉強したんですけどねw作り方はVOPネットワーク内でtabメニューから"if block"使い方。こんな感じ"Block Begin if"に条件の判定結果とFlaseの時の値、"Block End"に条件がTureの時の値を繋いで使う。"Block Be[...]
read more
最近MotionBuilderのスクリプトを書くのですが、日本語の資料も少なく調べるのに手間取ったので、備忘録もかねてメモの一部公開します。確認環境はMotionBuilder2013です。MotionBuilderでPythonを書き始める際のとっかかりになれば幸いです。名前からオブジェクトを取得for i in FBSystem().Scene.Components: oObj = FBFindModelByName("Cube") print oObj.Name選択をクリア[...]
read more