Photoshop ニューラルフィルター

Photoshop(v23)のニューラルフィルターが凄い。
今回簡単なテストを行ってみた。

1.OpenStreetMapで新宿の1ブロックをosmマップとして出力

2.osmマップをHoudiniに読み込んで建物を生成(Labs OSM ImportとLabs OSM Buildingsノードを使用)

3.AOモードでMantraでレンダリング(深度情報なし)

4.Photoshopに読み込みニューラルフィルターを適用(風景ミキサー1回、深度ぼかし1回)

5.完成

今回、Houdiniからレンダリングした画像は深度情報がない画像だったが
PhotoshopのニューラルフィルタのAIが深度情報を自動生成し、
ニューラルフィルターのぼかし、かすみ、ノイズなどをポスト処理として追加することができた。
ニューラルフィルタはレイヤー情報として保存される。

元画像をどのように作ればベストなのかがわからなかっため、
今回はAO(アンビエントオクルージョン)で出してみた。
今後、ユーザー側でもある程度ニューラルフィルタのコントロールができるようになれば
静止画ではかなり使っていける機能になりそうだ。

Houdini Vellum + VEX

引続きHoudini VellumのR&D。

今回はVellumシミュレーションにコンストレイントによる回転アニメーションを加えてみた。
コンストレイントには通常のキーフレームが入るので、ドラゴンに対するコンストレイントを
通した手打ちの動きをVellumシミュレーションに反映させることが出来る。

槍の動きはVEXで全て制御し、ドラゴンの動きに合わせてタイミング調整した。
VEX制御だと動きの調整が簡単になるため、素早いトライ&エラーが可能になる。

Houdini Vellum 簡易版FEM

簡易版FEMとしてVellumを使ったサンプルを作ってみた。
このやり方はFEMと比較すると処理が早いため、1台のPCでも処理が十分回る。

今回はTet Conformノードを使ってドラゴンを四面体で構成しておき
それにVellumコンストレイント(Tetrahedral Stretch)を適用した。

さらに胴体部分に対してNULLに対するコンストレイントを作り、NULLを動かすことで
Vellum Solverでボディ全体の振動を発生させた。

以下はコンストレイントの強さによるボディ振動の違い。

Vellumにはいろいろな可能性がありそうだ。

Houdini Vellum 翼

HoudiniのVellum使って翼のアニメーションを作ってみた。

まずはAttributePaintでマスクを作成。赤はVellumで揺らすポイント、紫はベースメッシュに固定させるポイント。翼の骨付近のポイントはVellumで揺らさずにベースメッシュに追従するようにするため紫になっている。

次にGroupノードのバウンディングボックスを使って翼をグループ化。
これはこの後のBendデフォーマーのため。

Bendで翼のアニメーションづけ。sin関数を使って動かし、翼の可動領域はfit関数で調整。

60*fit(sin(15*@Frame),-1,1,-2,0.5)

その後、Vellum ConstraintsのプリセットClothとPin To Targetを使って
Vellumシミュレーションを行って翼の二次的な揺れアニメーションを設定。
以下はPin To Targetの設定項目。(Clothの方はデフォルトのまま)

実行結果。いい感じにシワができた。

最初Pin To TargetのTarget(ターゲット)って何?と思ったが、
VellumSolverのadvacedタブ内で設定してあった。
First Input、つまりVellumに刺す前の状態のメッシュということ。
(今回はBendでアニメーションした状態のメッシュ)

今回のモデルはフリーモデルを使用。

 

Houdini 薔薇

Houdiniで薔薇をモデリングしてみた。
ベースは以前作ったものがあったので、今回はそれを改良した。
以下はMantraでのレンダリング。SSS(サブサーフェイススキャッタリング)使用。

今回は最初に螺旋カーブを回転しながら複数コピーし、
その後はVEXを使って徐々に花びらの形に近づけていった。
花びらのカール具合はパラメーターから簡単にコントロールできるようにした。
また、枝分かれする葉の部分にはL-systemを使用した(すっかり忘れていたため自分の本で勉強)






 

真夏

猛暑日が続く。

エルはエアコンの風が苦手なので
風が当たらない巣の穴の中に退避していることが多い。
たまに穴から顔を出してこっちを見ている。

部屋の隅

なぜ猫は隅っこが好きなのか。
最近のエルはベッドの隅でまったりしていることが多い。
このタイミングでいつも爪を切る。

Houdini RBD その2

HoudiniのRBDを使って地面の崩落シミュレーションを作ってみた。

Houdini RBD 2 from Shuichi Sakuma on Vimeo.

今回は粉砕処理をカメラ基準にして行った。
具体的には以下のように各リジッドボディのカメラ方向基準で前部分30%くらいを再分割した。
最初はForEachブロックでリジッドボディごとにループを回して割っていたが
スピードが遅いためVEXでやる方法に切り替えた。

拙書「Houidni SOP&VEX編」にも書いたが(p474,p505)、detailモードでVEXを実行し
(1回だけの実行)その中でfindattribval系関数を使うことで、ForEachブロックの使用を
多くの場合回避することができる。このやり方のメリットは処理スピード。

 

以下はPyroのボクセルサイズによる煙の出方についてのテスト。
5cm(0.05)のサイズだと煙のディテールを失わずにシミュレーションできるが
今回はシーンサイズが大きいため、メモリを限界まで使うことになった。

Houdini RBD その1

RBDシミュレーションその1。

18.0からRBD Connected Faces、 RBD Disconnected Facesノードが
追加されたので、破片の割れ目検知が簡単にできるようになった。
(以前は自前のVEXでintersect関数でレイを打って破片の隙間判定を行っていた)
これにより、破片の割れ目からパーティクルや煙を出すためのノードネットワークが
かなりシンプルになった。

Houdini カスタムワイヤーデフォーマー

Houdiniで自前のワイヤーデフォーマーを実装してみた。
最初PointDeformでやっていたが、レスト状態が直線のカーブではうまくいかなかったため、
対応可能な自前のデフォーマーをVEXで実装した。

サンプルとして以前Houdiniでモデリングしたラピュタのロボットに対して
花を咲かせるエフェクトを作成してみた。

Houdiniでポリゴンモデリング