数学回です。今回から、数回に分けて「内積」について書こうと思います。が、その前に!= 注意 =この記事には三角関数やら数式やらが頻出します。 「三角関数は医者に止められてる」、というような方は読むのをお控えください。また、一連の記事は、「内積がなんとなく分かった気になれて、3DCGで応用できそう」くらいを想定しています。 数学として内積について深く掘り下げたものではありません。玄人はサポート対象外です。また、間違い等を見つけましたら、こっそりお知らせください。 おおっぴらに間違いを指摘されると、恥ずかしさで管理人が泣きます。[...]
read more
その1へ その2へ その3へ その4へ その5へ 補足へ前回からの続きで、mia_material_x_passesのパラメータを調べていきます。自信のないところは自信なさげに書いていますwMayaは2012の英語版を使用しています。最新のバージョンとは異なる可能性がありますのであしからず。 Refraction(屈折)Index of Refraction(屈折率)しばしば、IORと略される。大気が1.0。水が1.33。主な屈折率は、IORの値の部分にマウスを乗せとくと出るヘルプで確認可。Color(カラー)屈折カラー。半[...]
read more
Houdiniネタ。Pyro Solver(SOP)などの、中にいっぱいノードが入ってる系のノードで、パラメータが内部のどのノード由来かを知りたい場合があります。それを簡単に調べる方法。パラメータの右クリックメニューで、すると次のようなウィンドウが開きます。左上のViewのところを、DependentsかReferenceに切り替えることで、外に出してるパラメータか内部で参照してるパラメータかを切り替えることができます。リストから飛びたいパスを選択し、右下の矢印ボタンを押すと、その階層までネットワークがジャンプします。逆からも辿れます。[...]
read more
再びオクルージョンネタと言うことで、今度は『mib_fg_occlusion』ノードについて調べてみました。以前に書いた、『mib_amb_occlusion』同様、オクルージョン系のノードです。Mentalrayはオクルージョンひとつとってもいろんな方法があるので、混乱しどころだったりするのではないでしょうか。使う側からしたら、「これ使っとけばいいよ」みたいな最強のを一個だけ用意してくれればいいのにって思ったりもします。『mib_fg_occlusion』、名前に”fg”と付くとおり、FinalGatherを使ったOcclusionです。FinalGather[...]
read more
Houdiniノード勉強回。今回はVOPのfor Loop系。vopでのfor loop処理がHoudini15から新しくなって、分からなくて困ったのです。「なんじゃこりゃ」、「どうやって使うんじゃ」と思って調べたやつ。・・・・・・前回同様、VimeoのMaster Class見ながら勉強したんですけどねwVOP内でLoop処理は、Block Begin系ノードとBlock End系ノードをペアで使用することで実現するようです。Loopの種類に応じて、使用するノードや組み合わせが微妙に違います。VOP Network内でtabメニュー[...]
read more
点Aと点Bをm:nに内分する点Pを表す位置ベクトルは、適当な基準点をOとして次の式で求められる。順に考えていく。これは納得できる。比は左右を同じ数で割っても、その比自体は変わらないのでと変形して使ってもOK。これは、ABの長さを1としたとき、APの長さが(m+n)/nとなる事を意味する。ベクトルAPとベクトルABは方向が等しいので定数倍であらわすことができる。この定数が、上記の比である。となる。このことから。この式をどんどん変形してゆく。長さの比が分か[...]
read more
toxikノード解説回です。今回は"Merge Streams"と"Extract Streams"の2つです。セットで使うことが多いと思うのであわせて解説です。Streamsとは、処理ラインとでもいいましょうか。複数の素材で、まとめて同じ処理をしたい場合、"Merge Streamsノード"を使うことで一旦ひとまとめにすることができます。処理後に再び素材をバラバラに分けるとき、"Extract Streamsノード"を使います。どんな時にこのノードを使うかと言うと、たとえば立体視の映像で右目用と左目用の画像をカラコレする際に、一旦"Merge Stream[...]
read more
はい、Houdini回。今回は地味に大事なPyroのContainerを回転させる方法です!ここで言う、Containerとは下図の四角い枠のことです。以下、手順です。(初めにShelfから標準的なPyroの煙を作成してあるとします)①:Positionノードを作成するPositionノードを作成し、Smoke Objectノード(Pyroと表記されたのード)の下に入れときます。このPositionノードは、オブジェクト(ここではSmoke Objectノード)が使用できる位置情報を作成することができます。[...]
read more
その1へ その2へ その3へ その4へ その5へ 補足へ今回は、Mia_materialについての補足です。Mia_materialの特徴の一つに、エネルギー保存の法則があります。(ここではMentalrayについて述べますが、Vrayでも応用がきくと思います)エネルギー保存とかいうと、難しく聞こえますがバッサリ切って捨てると、”受けた光(エネルギー)より強くは光らない”ということです。式で書くと Diffuse(拡散) + Reflection(反射) + Refraction(透過・屈折) <=?1 (100%)そもそもDiffuse=1(1[...]
read more
Houdini回。作業してて、「へ~」となったので。マテリアルの割り当ては、Material(SOP)を使わずにAttribute Create(SOP)とか使っても出来のか!そもそもMaterial(SOP)を使って、マテリアルを割り当てるとプリミティブにshop_materialpathなるアトリビュートが作成され、それにマテリアルのパスが文字列として記述されます。マニュアルを見ると、shop_materialpathというプリミティブアトリビュートは、「レンダリング時のサーフェスのシェーディングに使用するマテリアルのパスで、プリミティブ上に存在する[...]
read more