前回に引き続き、「内積」についてです。内積を上手に使うと、角度を知ることができます。今回は、その辺りに焦点を絞って書いてみたいと思います。また、3DCGでは、角度を知るために内積が沢山使われています。後半でその辺りの簡単な活用例をいくつか取り上げたいと思います。が、その前に!ここで内積についての情報を少々。内積のことをスカラー積とも呼びます。これは内積の計算結果がスカラー値になるからだと思われます。スカラー値ってのは普通の数のことです。ベクトルが複数の値で構成され、向きや速度、大きさといったものを同時に表すのにたいして、単に大きさや量[...]
read more
Houdini Advent Calendar2016 15日目に参加しました。Houdiniノード勉強回。テーマはL-System。反復処理されるルールによって、枝分かれする現象を表現できるヤツ。使えそうに見えて使いどころが難しい、そんな機能かと。基本的にL-system(SOP)ノードだけで、作ることができます。まずは概要から。L-Systemの作成には大きく3つの工程があると、私は思っています。1:どのようなルールで作るか(パターン)2:どのような数値を設定するか(長さ、角度、減衰、増幅など)3:それを何回繰り返すか1:[...]
read more
夜な夜なこんなのを作ってました。作業画面はこんな感じです。元ネタはこちら。サクッと作れて面白かったです。以下余談。最近、レンダリングにはKarmaのXPUレンダリングを使っているのですが、非常に早くていいですね。このくらいなら、Full HDサイズでも1枚30秒くらいで終わるので、おうちマシン使っても計240フレームが2時間くらいで吐き出されます。Mantraなら1枚3~5分くらい、Redshiftでも1枚1~2分くらいかかっていたイメージなので、ずいぶん早くなったなと。この手のテクノロジー進化は、時間節約になるので非常に有難いですね。[...]
read more
以前教えていただいたのに、毎回忘れて調べるのでここに書く。Orientをrotateに変換するVOPの場合orient(bind)を Rotate by Quaternionのquaternionに繋ぎ、qrotateのvecに何かしらのVectorデータを繋ぐ。qrotateにつなぐvectorは、上例の場合vec(0,1,0)としているが、例えば@Nにすれば結構、各ポイントでコントロール可。Wrangleの場合@N = qrotate(@orient, {0,1,0});2022/02/18追記これの活用例。サンプルファイ[...]
read more
Houdini備忘録の回。Houdiniの重いシーンで、「ちょっと今はCook(計算)しないで」って時があります。そんなとき、右下にある、Auto UpdateをManualに変更すると手動更新しない限りCookしないっぽい。"Manual"の場合、更新ボタンを押さない限りシーンはCookされない。ちなみに他のモードはこんな感じ。Auto Update・・・デフォルト。自動でシーンを更新On Mouse Up・・・マウスを放したら更新。スライダぐりぐり変更する時ようかなManual・・・手動Cookモー[...]
read more
Houdini Tips回。煙作成時「Gas Resize Fluid Dynamic(DOP)」を使用した際、シミュレーション開始時に計算領域と発生源が重なっていないと上手くシミュレーション出来ない場合があります。今回はその回避法です。何を解決したいのか次のようなシミュレーションがあるとします。(gifアニメの枚数節約のため、ここではFPSを10で作ってます)シェルフで作った普通の煙ですが、発生源は原点より上の方(離れた場所)にあります。この発生源を、最初消しておいて何フレームか経ってから出現させるとこうなります。煙が一切発生し[...]
read more
なんとなく、以前作った水のヤツに水車を追加してみました。シンプルな構成なはずが、ちょいちょい色んなところに引っかかってしまったので、メモがてら書いてきます。作業画面はこんな感じ。レンダラはRedshiftを使っているので、View用のマテリアルとRender用のマテリアルとを切り替えて使ってます。DOPネットワーク内はこんな感じ。コリジョンと水車と水。Feedback ScaleDOPネットワーク内で、Flipが他のシミュレーションに影響を及ぼすためには、Flip Solver(DOP)のパラメータ"Feedback Scale"の数値を設定する必要がありま[...]
read more
toxikノード解説回です。今回はSwitcherです。名前の通り、切り替えるノードです。何を切り替えるのかというと、表示を、です。このSwitcherノード、入力が二つあります。PrimaryとSecondaryです。PrimaryにはImageが一つだけ、Secondaryにはいっぱいコネクトできます。これらのうち、Primaryに接続された方が表示されます。Switcherノードが持つパラメータはSelected Imageだけ。コレを切り替えることで、表示する画像を切り替えます。実際にやってみると、PrimaryとSecondaryの[...]
read more
Houdini勉強回。Python SOPに実行ボタンをつける。例として、ボタンを押すと`hogehoge`とメッセージウィンドウを表示するPython SOPを作ります。1:Python SOPを作る & Python Codeを記述するPython(SOP)を作成します。ここでは、簡単なメッセージを表示するPython関数にしました。def message(): hou.ui.displayMessage("hogehoge")2:ボタンを作るボタンを作ります。Edit Parameter[...]
read more