Houdini:Magma
こんなん作ってました。 ループするように作っているのですが、手法はVDB morph SDF(SOP)を使いました。ボリューム解像度が高いとパラメータのTimestepの値もガッツリ上げる必要があって計算コストも結構上がってしまった。 しか […]
Houdiniノード勉強回。SideFx Labsのツールセットから"Lab Align and Distribute(Beta)"SOP。最近このノードを知りました。機能は、複数のジオメトリを一列に並べてくれるノード。破片やなんかは、Exploded View(SOP)で確認することが多いのですが、場合によってはこちらの方が見やすいのかも。Packedか否かも関係なく並べてくれるのも、楽でいいですね。Labsツールは、更新頻度も高く変更も多いので、ここの情報は下記のバージョンでの話である。----------------------[...]
続きを読む
今日も、Houdiniじゃ!今回は「VOPを用いたポイントの回転方法」を思いつく限り列挙したいと思います。たかが回転!されど回転!ここでは、例として下のようなジオメトリをAttribute VOP(SOP)で回転させてみました。サンプルファイル参照→Rotate_VOP_sample使用したのはAttribute VOP(SOP)、Houdiniのバージョンは14です。Attribute VOPはH13以前はVOP SOPと呼ばれていたノードです。tabメニューから作成する場合は、point vop。その1:Rotateノード[...]
続きを読むHoudini回。六角形の作り方、いろいろ。Divide(SOP)のComute Dualを使う方法細かく見てみます。まずグリッド平面に対して、”Compute Dual”設定を有効にしたDivide(SOP)をコネクトすると、こうなります。六角形は出来たが、斜めっているので、Transform(SOP)のShearを使ってまっすぐにします。ちょっと縦に長い気がするので、Transform(SOP)でちょっと縦につぶします。最後に、四角い範囲だけ残せば完成。このサンプルファイルはこちら球体に対してDivid[...]
続きを読む
Houdini回です。今回はカメラとスケールについて。前提として、Maya→Houdiniにデータを持ってくると、Unitの単位の違いからスケールをかけることになります。Mayaは1unitが1cm、Houdiniは1unitが1mなので、実寸で作成されたモデルの場合、Houdini上で1/100にします。私は安直にNullを使ってスケールをかけることが多いです。この時、カメラにもスケールがかかるとレンダリングの絵に影響がでて困る。具体的にはVolumeのDensityへの影響がでて困る。こんな感じに。これが困る(。-`ω´-)ンーかといってスケ[...]
続きを読む
Houdini回。Fog Rayを作る方法。Fog RayとかGod Rayとかいろいろ呼び名はあるけれど、ここではFog Rayと呼ぶことにします。こういう奴です。以下、作り方をstep by stepで!1:スポットライトを作成する光源ですね。スポットライトじゃなくても、エリアライトとかでも大丈夫。2:Atomosphere(obj)を作成するレンダリング時に霧を作成するヤツです。3:Shopで"Lig Fog"を作成するフォグシェーダー。4:Atomosphere(obj)に"Lit Fog"を適応する。[...]
続きを読む今回はほんに些細なTipsです。カメラのアイコンサイズの変え方です。カメラのShapeノードのアトリビュートにある、"Local Scale"というパラメータでアイコンのサイズを変更することができます。これだけ。このLocatorScaleはカメラに限ったものではなく、ライトやnullなど大きさを持たないものにあるパラメータのようです。実寸でモデルを作成した場合、アイコンが相対的に小さくなるので、そんな時はこのパラメータでアイコンを大きくすると良いですよ。(Maxに比べるとMayaはアイコンサイズの変更が少しアクセスしにくい感があります)ここから[...]
続きを読む
ブログでプログラムのコードを綺麗に表示する方法を覚えたので、今回はそっち系です。再帰関数を使用して、複雑な親子階層からオブジェクトのみ取得するMayaのスクリプトを書いてみました。親を選択してこのスクリプトを実行すると、親以下すべての階層を検索してMeshのリストを作成します。ちなみにpymelです。#再帰関数使ってMeshのみを取得import pymel.core as pm#再帰関数def getMeshList(Node, MeshList): #選択したノードの子供をリストで返す children = Node.ge[...]
続きを読む
今回は、マテリアルの基本「環境マップの張り方」です。サンプルとして、以前mia_materialのところで使ったシーンを使いました。まずMentalrayで環境マップを使用する時は、環境マップをShadingEngineのEnvironmentShaderに繋ぐ、↓のようなコネクトになります。時々、マテリアルのReflectionカラーに環境マップを繋いであるデータを見かけたりしますが、ShadingEngineのEnvironmenShaderに繋ぐのが正解。ShadingEngineについてはAREA Japanの説明が分かりやすいのでここでは割愛し[...]
続きを読む
pymelでは、オペレータを使ってもアトリビュートがコネクトできるらしい。忘れないうちに書いておこう。簡単な例として、CubeとSphereを作成し、それぞれのTranslateをコネクトするスクリプト。#モジュールの読み込みimport pymel.core as pm</pre>#新規でCubeとSphereを作成cb = pm.polyCube(name='testCube')sh = pm.polySphere(name='testSphere')# connect#CubeのTranslateをSphereのTransl[...]
続きを読むこんなん作ってました。 ループするように作っているのですが、手法はVDB morph SDF(SOP)を使いました。ボリューム解像度が高いとパラメータのTimestepの値もガッツリ上げる必要があって計算コストも結構上がってしまった。 しか […]
