Pythonには”リスト内包表記”なるものがあるそうな。初めて目にした時は、「なんじゃこのケッタイな書き方は!」と思ったものです。リスト内包表記をザックリ説明すると、『for分とかif分とか使って複数行必要だった処理が一行ですむよ。しかも処理が早いよ。でもちょっと読みづらいよ』っていう書き方でしょうか。ものの本によると、”リスト内包表記とは、あるリストを元にして別のリストを作るための記法のことです”、だそうです。ちょっとMayaのpyemlで普通の書き方と、それを内包表記で書いた例を作ってみました。選択したオブジェクトのうち、Meshのみをリストで返[...]
read more
Houdini回です。以前、煙でパーティクルを動かすってのをやりましたが、今回はそれの別解です。前の記事の時は、POP Advect by Volumeノードを使ってパーティクルを動かしました。同様の事を、VDB使って出来るっぽいです。VDB Advect Points(SOP)というノードがあって、これを使うとVDBでポイントを動かすことが出来るようです。キーワードはSOPとVDBです。VDB Advect Pointsつかってポイントを動かす部分のネットワークはこんな感じになりました。fieldをVDBに変換したら、Velフィールドがxy[...]
read more
うっす、Houdini回ッス。今回は、「続・影だけレンダリングする方法」っす。以前、影だけレンダリングする用のマテリアルを取り上げましたが、今回はその関連で、”特定のオブジェクトの影だけをレンダリングする方法”、です。上のようなシーンで影だけレンダリングするとこうなります。(地面にshadowmatteマテリアルを適応、キャラをPhantom)キャラの影だけ欲しいのですが、キャラの影以外にも地形のSelf Shadowが含まれてしまっています。この場合は、次のようにすると良いと思います。ライトのShadowの設定項目にある"Shadow Mask"を次のよう[...]
read more
Houly Daily Challenge Week2の感想戦。Day5 WAVE前日に発症した「何も思いつかない病」が尾を引いている感がありました。もっと抽象的なイメージにしたかったのですが、やってみると上手くまとまらず、こういった構図になりました。この日になるともう、若干いじけてDaily Winnerとか諦めてた気がします。Day6 SWINGニュートンのゆりかご。Daily Winnerで2位が取れたヤツです。ニュートンのゆりかご自体は、結構簡単に作れたのですが、イマイチ華がなかったので、球体の中にGrainを入れたのです。D[...]
read more
※音出ます↓Houdini18.5のPyroをいろいろ試してた時に作った爆発。Twitterには上げたのですが、せっかくだから記事にもとおもいまして。これレンダリングはOpenGLでおこなったのですが、PyroBakeVolumeノードのおかげで、OpenGLでも結構いい感じになりますね。特に凝ったことはしてなくて、標準のをそのままです。[...]
read more
Houdini Tips回。煙作成時「Gas Resize Fluid Dynamic(DOP)」を使用した際、シミュレーション開始時に計算領域と発生源が重なっていないと上手くシミュレーション出来ない場合があります。今回はその回避法です。何を解決したいのか次のようなシミュレーションがあるとします。(gifアニメの枚数節約のため、ここではFPSを10で作ってます)シェルフで作った普通の煙ですが、発生源は原点より上の方(離れた場所)にあります。この発生源を、最初消しておいて何フレームか経ってから出現させるとこうなります。煙が一切発生し[...]
read more
前回、Attribute Wrangle(SOP)でPointを追加する方法をやりましたが、今回はその亜種です。唐突ですが、トロコイドというものをご存知でしょうか?サイクロイドともいうそうですが、Wiki曰く、「円を、ある曲線(円や直線はその特殊な場合)にそってすべらないように転がしたとき、その円の内部または外部の定点が描く曲線」だそうです。言葉だとよくわからないですねwこういうヤツです。円の半径を変えていくと、いろんな模様が出来ます。こういう曲線を描く、スピログラフという定規があるらしいですね。Wikiに数式が載ってるのでHoudini[...]
read more
前回に引き続き、『mib_amb_occlusion』のパラメータについてです。残りは"id_inclexcl"と"id_nonself"。どちらもIDによって、オクルージョン効果を管理するパラメータです。オブジェクトに”miLabel”というアトリビュートを追加することで、使うことができます。(いちいちアトリビュートを作らなきゃいけないのが面倒だけど。Mayaはこういうのほんと多い。中にはマニュアルに記載されていないのとかもあったりして・・・ブツブツ)では、引き続きパラメータを見ていきます。id_inclexclIDと一致するmiLabelアトリビ[...]
read more
今回は、簡単な破壊エフェクトについて手順も踏まえて書いてみようと思います。最終的にこういうのを作ります。出来るヒトは見なくてよろしwここでは事前にジオメトリを破片に分割して、それをシミュレーションするという手順で進めたいと思います。ざっくり書くと、1:ボロノイ分割での破片の作成2:RBD Fractureでシミュレーションです。 1:破片の作成まず、破壊したいオブジェクトを細かい破片に分割します。ここではboxを破片に分割しています。(Houdiniに限らず)破片の分割には、ボロノイという分割方法を使うのが一般[...]
read more
Houly Daily Challenge Week4の感想戦。こうやってまとめていくと、結構ありますね。Day19 PEAK直前の仕事でTerrainを使っていたので、せっかくだ からTerrainで作ってみました。ちょうどいいHDRIがなく、晴天ながらも氷山の冷たい感じが表現できず悶々としてた気がします。Day20 SPACEこれ、なかなか難しかった。こう絵としてそれっぽく見せるのが難しく、結果こんな感じになってしまった。COPとかふんだんに使ったんだった。Day21 URBANこれは技術的に、まったく経験のない分野でし[...]
read more