Cinema4Dの場合、スムーズタグでスムージング角度を調整できますが、Houdiniの場合はnormalノードってのを使います。すぐ忘れるのでメモ。
↑の画像をそのままレンダリングしたのが↓です
box_object1をダブルクリックし、その中に入ります。右下のネットワークビューでNormalノードを追加します。
そして2つのノードを接続し、NormalノードのDisplay/Render flagをONにします耳みたいなのが青くなります。スムージング角度はnormalノードを選択し、その属性ビューでCusp Angleってので調整です。
続く
そういうわけで、Houdini15がリリースされたのですが、猛烈にトラブってました。
まず自分が購入したHoudini IndieのライセンスはVer14でこれがVer15で使えるのか謎だったんですが、多分出来るんだろうなと思ってたんですが、よくわからないままHoudini15を体験版としてインストールしたら、Houdini Indieとして起動しなくなってしまいました。つまりNon Commercial Editionで起動してしまいました。そんで、コレをLimited Commercial Edition(Houdini Indie)で起動できないのでした。
License Administrator とライセンスのファイルが複数のバージョンであっても共有されているようで、15がおかしくなると14も道連れでおかしくなってしまいました。
そしてライセンスは15でも使える事がわかりました。でも何度やり直してもどうしてもIndieとして起動できませんでした。
Non Commercial Editionのライセンスを削除するためにライセンスファイルを削除して、Indieのライセンスだけをインストールすればそれを元に起動するはずなのにしない・・・
しかし最終的にはHoudini Indie 15として起動しました。しかしなぜ上手く行ったのかが全くわかりません。突然上手く起動できた感じです。一体どうなってんだよ(泣)9/30の記事でList Users がどうのこうのと書きましたが、そこがThis License is not in useと表示されるんですね。使ってくれよ(泣)こんなことで何時間も使ってしまうとは・・・結局何が原因だったのか全くわかりません。
そういうわけで、喜んだのも束の間、冷静になってよく観察してみると、Houdiniでのシミュレーション結果と、それをHDAにしてCinema4Dで読み込んだ場合とでは結果が全く異なるという驚愕の事実が判明しました。なんかイヤな予感がしてたわけですが・・・
↓こういうのがいいんですが・・・
だがCinema4Dに読み込むと
あああ、全然違うじゃねーか!何処かで間違えたかな???1フレーム分ずれるとかそういう次元じゃないし??
だが、確かめてみたけどやっぱこうなる。同じPCで作業してて、同じHDAを読み込んでるんだよ?
そして、もう一つ恐ろしい事があって、それはサブフレームモーションブラーを使った時に起こります。
同じフレームでサブフレームモーションブラーを使うと
うわぁぁぁぁ・・・
続く
まず、HoudiniEngineが正常に使えるようになっている状態では下の図のようになってます。
一般設定ウインドウ内左のリストからHoudiniEngineという項目を開くと、バージョンとかライセンスタイプとかいう項目が表示されますが最初は不明とかになってたと思います。そして、「Houdiniインストーラーを取得」というボタンを押すと、Houdiniのインストーラーのダウンロードが始まります。
この時ダウンロードされるファイルというのはCinema4Dのバージョンによって指定されてる(Cinema4Dのそのバージョンがリリースされるためにコンパイルされた時点のHoudiniのバージョンが指定されているようだ)らしいです。必ずしも最新版とは限らないようです。そして厄介なのが既にHoudiniをインストールしている場合です。
既に何らかの種類のHoudiniをインストールしている場合でも、Cinema4D側でそれをうまく認識してくれないので困ります。だからHoudiniを既にインストールしていてもCinema4Dで認識させるために改めてHoudiniをインストールする必要がありました。ここのところは本当によくわかんねえです。
Houdiniは全部入りのHoudiniFXとか全部入っていないHoudiniとか商用制限版のHoudini Indie,非商用体験版?のHoudiniApprentice,他のマシンにインストールするためのHoudiniEngine,HoudiniEngine Indie等がありますが、インストーラーは1種類だけです。そして、ユーザーがどのHoudiniを使うことをSide Effect Software社から認められているのかを管理しているのがHoudini Licese Administratorってソフトです。
上の画像ではHoudini-Indieと非商用のRenderライセンスが入っているとなっていますが、先にHoudini Apprenticeとしてインストールする場合がほとんどと思います。そして、ApprenticeではHDAが非商用のhdancなのでCinema4Dには読み込めません。従って限定商用版のHoudiniIndieを199ドルで購入(期限は1年で切れる)し、ライセンス(購入時にメールで教えられるパスワードを使ってライセンスを追加します)を追加すると非商用のHoudiniFX(Apprenticeとして使っててもHoudiniFXとか表示される)と購入したHoudini Indieがならんで表示されることとなります。そしてそのままではまだCinema4DではHoudini Indieで作ったhdalcはCinema4D側で読み込めないかもしれません。その場合「ライセンスがどうのこうの」って警告が出ます。
これは複数のライセンスが入っている場合、金を払って購入したHoudini Indieが使われていないということが原因らしいです。
上の画面は、いらないものを消したあとなのですっきりしてますが。Houdini-Indieを右クリックしてList Usersってのを実行すると、Houdini License Administrator Messageってウィンドウが開きます、そして、そのアカウントを実際に使用しているのかが分かります。上の画像ではPC-8というマシンでtakahiroさんが使っているとなってます。これでOKです。「このライセンスは誰も使ってないよ」とかいうのが表示される状態だとダメってことです。(実際そうなってました)
この状態から抜け出すためにはライセンスファイルをどうにかする必要がある感じで、Windows版の場合、ライセンスを格納したテキストファイルが存在します。
上の図の場所にライセンスキーを格納したファイルが有ります。
これをテキストエディタで開くと、
上の図のような感じです。Houdini関連のファイルであることが分かります。
これの中身をいじればいいんじゃろと思ったんですが、使用中なので変更できませんみたいなことを言ってくるので、バックアップを取ったうえで削除しました。
そしてHoudini License Administratorでライセンスを追加し直すか、Side Effect Software社のサイトでライセンスを追加しなおせばOKだったかな。
同様の方法で、最初間違えて買ったHoudini Engine IndieはMacの方に移しました。これでMac上のCinema4Dでもhdaファイルが読み込めるわけなので無駄ではなかったです。
上記の作業の手順とかは下のリンク先にありました。Mac版の情報もあります。
↓
http://www.sidefx.jp/index.php?option=com_content&view=article&id=82
http://indyzone.jp/catalog/products/houdini/apprentice/faq.html#invalid
ここまでやれば流石にCinema4D側でも読み込めるようになると思われます。
出来ないと思っていたんですが、とりあえず出来ました!!マジで!
懲りずにHDAを作ってCinema4Dに読み込んだりHoudiniに読み込みなおしたりしていたんですが、その過程で重要な点に気がついたのでメモ。
それはシミュレーションした結果のメッシュを見える状態にしてHDAを保存しておかないとダメだっていうことでした。
具体的には、Houdini上で、シミュレーション結果を表示するためのノード(Render Node)が表示されていないのを表示する(右端をクリックして青くする)ようにして画面上でポリゴンのメッシュが見えればOK。その状態でSave Assetです。
わーいよかったねー。但しCinema4D上で結構重いです。どっちにしろ重いんだけど。
続く
前回記事のデータをTeamRenderで分散レンダリングしようとしたところ、他のマシンでレンダリングした部分にFluidのシミュレーション結果(XRefで読み込んだ連番objファイル)が全く反映されないことがわかりました。理由はよくわかりません。プロジェクト保存も試したんだけど?
XRefで参照するんじゃなくて、連番ファイルを全部読み込んでそのファイルの番号に従って対応するフレームで「エディタでの表示」と「レンダリングでの表示」を切りかえるしかないんじゃないかと思い、Pythonスクリプトを書こうともがいていましたが、既にXPressoで実現されていました。(つまりXXXX_065.objというファイルなら65フレーム目だけ表示・レンダリングされ、他のフレームでは表示されずレンダリングもされない)
ブログでまとめられていました。
↓こちら
そして、開始フレームを任意のフレームにオフセットするために少し改造しました。いきなり始まると困る場合もあると思うので・・・
このXPressoは読み込んだファイルのファイル名の数字とフレーム番号を比較して、同じ時だけエディタで表示・レンダリングで表示ということをしているので、フレーム数からずらしたいフレーム数分を引いてやるとその分表示されるのが遅れるというものです。
それにしてもHoudiniEngineで直接読み込む事が出来ればこのような苦労はしなくて済むのになぁ。
そういうわけで、流体シミュレーションってのをやってみました。
Houdiniで液体の中に球を落として様子を見るチュートリアル↓
https://www.sidefx.com/index.php?option=com_content&task=view&id=3038&Itemid=407
があって、それの結果をCinema4DにHDAとして持って行けないかなと思っていたんですが、どうも現時点での自分の能力では出来ないぽいので、obj形式の連番ファイルで書き出すという方法でやってみました(Houdiniからlightwaveへ持って行っている人のホームページを見つけることが出来たので)。
ROP Output Driverってノードを呼び出して、surface_cacheに連結して書き出すファイルのパスをどうのこうのッて感じです。
Valid Frame RangeをRender Frame Rangeにして、書き出すフレームを設定して、ファイルの保存のパスを指定し、「Render」ボタンを押します。この方法だと、プルンプルンと震える流体の部分だけしか書き出せないことに後で気づいたので、球体も同様に別途書き出しました。
連番のobjファイルをCinema4Dでどうやってアニメーションさせるのかという問題は、
↓ここに載ってました。
http://www.tmsmedia.co.jp/phpbb/viewtopic.php?f=6&t=316
ところが読み込むと流体と球の位置もスケールも一致しないので、合わせるのに苦労しました。XRefの座標タブのスケールと位置で調整です。
objの連番で書き出す方法ならBlenderで出来るのでHDAで出来たらよかったんだけどなー。ただし、流体のシミュレーション速度自体はHoudiniの方が高速だと思いました。
初期設定だと流体のシミュレーションの粒度?が粗いようで、水のつぶがおおきい?粘度が高い?スケールの問題?水じゃなくてもっとトロンとした液体のような感じなのでもっと水っぽくしたいです。
そういうわけで、Houdiniを地道に勉強しているわけですが初めて自分で作ったHDAをCinema4DのR17のデモ版に読み込んで見ました。そのHDA(houdini Digital Asset)というのは、
https://www.sidefx.com/index.php?option=com_content&task=view&id=3054&Itemid=403
(↑画面内のccってのを押すと日本語の字幕が表示出来ます)
のチュートリアル動画の「オブジェクトの表面上にランダムに別のオブジェクトを配置するアセット」です。Mographでも出来るんだろうけど(笑)
Pointsってのが配置されるオブジェクトの数で、ColorはCinema4Dでは無視されました。Scaleは配置される球体の大きさです。
Sub-Network Input#1ってところにオブジェクト(球体)を配置したいオブジェクトをドラッグ&ドロップしてあげますここでは正多面体を指定してます。木にミカンがなっているイメージです。
パラメータを自由に変更できます(笑)
下の画面の右下の「ネットワークビュー」って場所の中にXpressoのノードみたいなのがあって、要するにHoudiniのデータは全部がXpressoみたいなので構成されているんですね。格好いいのぅ。
下の図では同じHDAをトーラスに適用してます。
Houdini側で編集可能なパラメーターを用意してあげて、値の取り得る範囲も設定してあげます。ユーザーデータを作って設定するのと似てます。
ミカンの色はランダムに緑からオレンジ色に変化させるべくバリエーションシェーダーを使ってみました。
このバリエーションシェーダーは設定がややこしいです。とりあえず色を変化させることだけに集中しました。
とりあえず上の画像のとおりに設定すればOKです。
オブジェクトバリエーション:オブジェクト
確率:100%
グラデーション:好きな色を設定
グラデーションの合成:100%
グラデーションモード:置き換え
まとめると多分下の図のような感じになります。Houdini EngineはCinema4D等のホストアプリケーションをロケット本体とすると補助ブースターエンジンようなもので、これ自体は燃料を作る能力はないということで(ここが自分が誤解していた部分)、燃料となるotl,hda,hdalcなどのデジタルアセットは Houdini,HoudiniFX,Houdini Indieでしか作ることが出来ないということです。無料体験版であるところのHodini Apprenticeが作るhdancは燃料の種類が違うってことで受け付けないんですね。
Houdini Engine プラグインはSideEffectSoftware社が提供する場合もありますし、そうじゃない場合もあります。Cinema4Dの場合はMaxonが作って提供しているようです。このプラグインはHoudiniEngineとの橋渡しだけをしてるんでしょう。
だから自分が間違えて最初に買ったHoudini Engine Indieは他のマシンに入れれば、hdaを使うだけなら出来るということですね。トホホ。