2021/04/29

Houdini Workflowについて

いままで何回もHoudini Workflowをつくってきたので、どんなことをやっているか紹介したいと思います。

小規模な会社にいるからとか個人でやってるから、そんなの必要ないと考える人もいるかもしれませんが、そうは思いません。数人の会社で働いたことがありますが、確実にワークフローが少しでもないと良いパフォーマンスを出すことをできません。

大規模な会社には専任のTDがいてパイプラインがしっかりあり、色々便利なこともあります。反面、大きくなりすぎた会社ほど、やる気のない人や老害がたまり自由度がなくなり最新の流れにもついていけなくなったり、ワークフローを作るのに大工事したり、パイプラインにも手をいれなければいけないみたいなことも起こってしまいます。小規模だとパイプラインを作るのは難しいですが、ワークフローは自分たちの好きに作りやすいです。自分たちにあったものを構築できれば、小回りがきいて大きな所に負けないワークフローを構築しアドバンテージにすることも出来ます。

ワークフローは、TDの人やスクリプトをかける人が作るものだと考えるでしょうが、実際に作業するアーティスト主導で構築するべきです。なぜならそのワークフローを使うのは作業者であり、なにが必要なのかを知ってるのは作業者であるアーティストだからです。



パイプライン? ワークフロー?

そもそもパイプラインとワークフローの違いはなんなんでしょうか?

パイプラインは、別部署へのデータを送る時、たとえばアセットデータやアニメーションデータやレンダーイメージのパブリッシュなどです。決められた場所かつ安全な場所にパブリッシュしたり、決まったフォーマットに変換したりします。また、ファイルの命名規則やチェック方法やShotgunとの連携もこちらの役割です。

ワークフローは、アーティストがショット作業をする時に必要なルール・ツールを用意しておくことです。

パイプラインはTDが担当しますが、ワークフローは出来る限りそのツールや流れを熟知した人が作るのに携わるのが良いと思います。そしてFXはPythonは書けて当たり前なので、TDにお前らどうせ自分たちで出来るからとか言われ、他の部署を先にやってからと後回しにされがちです。

2019/02/12

FX的 Height Fieldの使い方

今回は、Height Fieldです。
FXは、Height Fieldの恩恵は、あまりないと思いますが、個人的なFX的使い方を紹介します。

サンプルファイルです。17.0.459で作成。
https://drive.google.com/open?id=1_-5SP8ltkWlC_JtBdGq3u9PpNmvl8A2d

2018/03/06

最近のお気に入り - 1 「右クリック」

大したことじゃないけど、最近のお気に入りを紹介するコーナ。
第一弾は右クリック。



2017/09/13

[Deadline] Add Extra Version

時々、悩んでる人がいたので、Deadlineネタを1つ。

どんなソフトでも、マイナーアップデートは簡単にできますが、メジャーアップデートは、プロジェクトの兼ね合いや自社Plugin/Toolの影響で、そうは容易くできません。アップグレードの金を出すのに渋って更新してないのでなく、ただ単にめんどくさいという理由で更新されてなかったら、担当者のケツを蹴っ飛ばして更新してもらいましょう。

いろんな理由でDeadlineのバージョンが古すぎて、最新のHoudiniのバージョン使用できないという人もいるでしょう。今回は、そんな人向けへの裏ワザを紹介します。
※この記事は、Deadline Client Version: 9.0.6.1の元、作成しています。

2017/06/19

Kill Houdini

今回の話は、Linuxユーザのためだけですので、あしからず。

なにか間違った値を入れてしまったりして、メモリが右肩上がりに上昇し、メモリをフルに使いきり、パソコンが動かなくなるということは、時々あるでしょう。会社のマシンは128GBですが、まれになります。
そんなときは、 CUIモードで対処したり、同僚のマシンから操作してもらったり、泣く泣く電源を落としたりと、みなさんもこんな経験はたくさんあるでしょう。
残念ながら、いろいろセーブしてなくて、「ごめんなさい」を連呼しながらEscを連打しても、ダメなときはダメです。

そうなる前に、問題のプロセスを強制的に終了させましょう。
というわけで、今回はBashを調べてみました。基本Linuxで仕事してますが、Bashやコマンドは避けてきたので、何か間違ってる点や、もっといい方法がありましたら教えてください。


2017/03/29

H16についてのメモ



New Network Editor

さて、賛否両論ありそうなこれ。見た目は可愛くなりましたね。
そして描画速度も速くなりました。Pythonでノードを何千と作ったり、AlembicのHierarchyを保持して展開するときなど、大きな差が出そうです。


あのノードの形、可愛くないから使いたくないとか、デフォルトを変えたいって人はいるでしょう。僕はノードを組む上での自分なりのルールがあるためノードの色が最初から付いているのは非常に不便でデフォルトを変更してます。

そこで、どうやってカスタマイズするかを紹介します。

2016/12/10

Wrangleを使おう 3 - Replace ForLoop

久しぶりのWrangle回です。

個人的にHoudiniにおいて、よく使う必需ノードは、For LoopとAttribute Promoteです。これらがないと仕事ができません。もちろんWrangleも絶対使います。

特にFor LoopはHoudiniを象徴するようなノードだと勝手に思ってます。ある処理を考え、それを他のものにも同様な処理を施す。まさにProceduralに作業する上で必要不可欠なものです。

しかし!ForLoopは処理に時間がかる時が大半です。なぜなら、すべてのノードがマルチスレッド処理されるわけではありませんし、1つ1つのピースやグループを同時にではなく、順番に処理するため遅くなってしまいます。

2016/08/07

Time Dependent Cook : YES? or NO?

お久しぶりです。そこそこ忙しくて、ブログを書くのを怠ってました。
今回の内容はビギナー向けですが、非常に重要な考え方なので紹介しようと思います。Time Dependent Cookについてです。

Time Dependentという言葉は、Houdiniを使ってないと聞き慣れないかもしれませんし、気にしたこともないかもしれません。

サンプルファイル (Fedora21, Houdini15.0.393, linux-x86_64-gcc4.8)
https://drive.google.com/file/d/0BxR_QF5anLH0NkQ0U2t1SDVFRXc/view?usp=sharing

2015/11/07

[RnD] Pyro with Vorticity


Houdini RnD - Pyro with Vorticity from Shohei Okazaki on Vimeo.

レゾをそんなに高くしなくても、手軽にコントロールでき、形を崩しいい感じのShapeを作るを目的にしたRnD

2015/07/16

Volume Displacement


Cloud Noise


シミュレーションをせずにVolumeを何かしら編集するエレメントといったら雲や霧だと思います。


エフェクトの人で雲を作るときに、ネット検索で引っかかり一回は目にしたことであろう、この論文http://magnuswrenninge.com/productionvolumerendering, Resolution Independent Volumes 何やら、難しそうですね。てか4年も前なんですね。

2015/05/03

Dynamically Fractured Object

FXらしく少し見栄えの良いものを紹介します。

破壊です。といっても、激しいやつではありません。

破壊をするときは、Pre-Fractureしてからシミュレーションをかける事が大半だとも思いますが、何かしらのトリガーによって自動的に破壊が起こる仕組みを作ってみます。


2015/03/02

Wrangleを使おう 2.5

一個書き忘れてたことがあったので、さらっと。

数学定数、円周率(π)・自然対数の底(e)・黄金比(φ/τ)とか、時々使うけど漠然としか値を覚えていない奴らがいます。正確な値を知るために毎回、調べるのは億劫です。

例えば、Wrangleで初めに#include <math.h>と書けば、以降このノード内ではM_PIが3.1415926の値を持っていることになります。
#include <math.h>

f@_check = M_PI;

なにが起こっているかというと、$HH/vex/includeにmath.hというファイルがあります。そのファイルの中で、定義されたものを読み込んでいます。この他にもあるので中を見てみてください。

このファイルは自分で作ることもできます。例えば黄金比を呼び出したい場合。
#define PHI 1.61803
これを、HOUDINI_PATHに設定している場所のvex/includeに.h形式で保存するか、HOUDINI_VEX_PATHに登録しているところに保存すれば、これ以降、読み込むことができます。
#include <test.h>
f@_check = PHI;

決められたところに保存しなくても、test.hのところを/home/user/test.hとパスを入れても呼び出すこともできます。

2015/03/01

Wrangleを使おう 2


Wrangleは、アトリビュートを作ったり編集するだけでなく、Pointを作ったりPrimitiveを作ったりもできます。初心者向けのチュートリアルで時々みるPointSopを使って、Pを編集してるやつをWrangleで置き換えてみます。こんなやつです。


2015/02/18

Wrangleを使おう 1


12.5から搭載されたWrangleですが、結構避けてる人が多い印象です。せっかくノードベースでやってるのに、イライラするMayaのExpressionを思い出させられて避けてるのかもしれません。しかしMayaから移行した人にとっては、Expressionと似ているので敷居は高くないはずです。エフェクト屋でPythonとかMelなどのScriptを、全く書けないという人はいないと思うんで、その知識も役立ちます。
 
お勧めする理由は、単純に速いの一言につきます。初心者向けのチュートリアルでよく出てくる、$CR>0.2みたいなExpressionを使うやつが重いです。なぜ遅いのか、ざっくり言うとシングルスレッドだからです。
個人的な意見ですが、チュートリアルでPoint Sopを使ってるのをよく見かけますが、もはや使うことはありません。Attribute Createもほとんど使わないです。理由は遅いからです。VopとWrangleは、ざっくり言うとマルチスレッドで速いからです。

別にVopでいいじゃんと思う人もいるかもしれせんが、Wrangleの方が簡単に済ませられる時もあるので、覚えておいて損はないです。


では、どんだけ違うか検証してみましょう。