background preloader

Hakai

Facebook Twitter

材質ベースの破壊入門 はじめよう. これは、 ガイド付き チュートリアルです。 要するに、たくさんの面倒なボタンのクリックが自動化されているので、プロパティの設定に集中して値の違いを確認できるようになっています。 Note このチュートリアルはHoudini内部からしか実行できません。 ヘルプドキュメントからサンプルファイルをロードするのと同様に、実行中のHoudiniセッションからこのページを表示する必要があります。 チュートリアルを開始するために、以下の Load ボタンをクリックして、必要なHoudiniデジタルアセットをシーン内に読み込んでください。 このチュートリアルが終わったら、復習するのも良いでしょうし、このページのテキストだけを見てゼロからあなた自身でネットワークを構築してみるのも良いでしょう。 このチュートリアルが終わると、上図のアニメーションGIFのようなシミュレーションが得られるはずです。 パラメータ値のマイナーチェンジが原因でシミュレーションが大きく変わる可能性があります。 Tip 作業中はシーンファイルをこまめに保存することを忘れないでください。 Houdiniパラメータインターフェース内の 太字 の値はデフォルト値ではありません。

材質ベースの破壊入門 チュートリアル. 拘束が持っているImpact値(衝撃値)を確認する必要があります。 これらの値が何であるか知ることができれば、次にどこに Breaking Thresholds を設定するべきか決めることができます。 RBD Bullet Solverの Visualize タブに進みます。 シミュレーションのフレーム40あたりに進みます。 RBD Bullet Solver が選択されている状態でビューポート内でEnterを押すと、その RBD Bullet Solverのビジュアライゼーションモードに入ることができます。 では、ビューポート内で5キーを押しましょう。 では、ビューポート内で2キーを押しましょう。 1 - Geometry (high-res) View 2 - Constraint View 3 - Proxy Geometry 木材のピースを支えている拘束のImpact値を確認することができるようになりました。 Impact Threshold を10000に設定することから始めましょう。 このチュートリアルに関しては、 Impact Threshold を45000あたりに設定します。 Houdini 写経 01 RBD_ClueConstraint - Reincarnation+#Tech. Houdini ビジュアルエフェクトの教科書の内容を写経しながら Houdini のノードの挙動などを調べていきます。 基本的な手順は本に書いてあるので省いてます。 自分が気になった所をメモ。 完成図はこんな感じで、地面に落下すると割れるようにします。 モデルを割る まず、シミュレーションをする前に モデルを voronoifracture を使用して割ります。 ネットワークはこんな感じ。 基本本の通りに組んであります。 メッシュからヴォロノイ用のポイントを作り(scatter)、出力する...と言う流れ。 なんで最後 Null に刺してるんだろう? これ以外のモデルをなにかしているもの(出力したりなにかしたりする場合の最後のノード) は最後が Null。

調べたらありました。 別のオブジェクト内で別のノードのアウトプットを使いたい時など Null で出力させたい部分を指定しておいて、 ObjectMerge で Null を指定させるような使い方をするようです。 シミュレーションをする まず、衝突用の地面を作成します。 RBD Glued Objects をクリックします。 実行すると、Geometry オブジェクトノード内の Null 以下に こんな感じで自動でノードが追加されます。 RestPositionSOP とは、デフォルトの位置を記録したもの。 AutoDopNetwork そして、シミュレーションの本体になっているのが AutoDopNetwork オブジェクト。 中身はこんな感じ。 大きく分けると、左側がシミュレーションをしている構造で 右側の Glue というのが、地面に衝突してもモデルを全部割らずに接着したままにしてくれる GlueConstraint の設定部分になります。 RigidBody シミュレーション RPDPackedObject まず、RigidBody でシミュレーションするモデルは RPDPackedObject で取得する。

アトリビュートを確認してみると「SOP Path」が、↑ で指定した DOPImport ノードになっています。 SOP ジオメトリから DOP 用のオブジェクトを生成しているノードが RBDPackedObject。 Solver 次がソルバ。 参考. Houdiniの破壊を考える RBD Deform Pieces編 - すあまの備忘録. Houdini 18からRBD Deform Piecesノードが付きました! 名前を見ただけでわくわくするノードです。 Houdini RBD Deform Pieces が、Sample Sceneを開くと…とりあえずRBD Solverに仕組みが入ってるっぽい さらにRBD Solver(SOP)を開くと さらにその中のDOP こんな取り合えずややこしいノードは使いたくないですし、どういうデータを出せば自分で作っているRBDに組み込めるか知りたいわけです。 足りない部分もあるかもしれないけどゼロから組む場合の足掛かりにはなるはずなので調べてみた。 処理的に合っているかわからないところが多いので、ご利用は計画的に! Hip fileはこちら(Houdini 18.0.348) ネットワーク全体 だいぶシンプルになりました? Constraint Geometry作成 Connect Adjacent PiecesでConstraint Geometryを作成しています。 この際に、Connection TypeがAdjacent Pieces from Pointsでないとぐちゃっとなってしまいうまく動きませんでした。

Pieceの中心点でコンストレインを作るのでDeformにはよくないんだと思います。 Constraint Attributes作成 RBD Constraint Propertiesで作成。 Glueののち、Softコンストレインに移行し、Softコンストレイン部分がDeformするイメージです。 SampleはSoft ConstraintのPlasticityも使っていましたが、今回はシンプルにするために使用していません。 DOP Networkを作成 よくありがちなRBDのDOP Networkです。 現状わかっている注意点があり Constraint Networkノードの設定を変えるSOP SolverのData Nameを変更するRigid Body Solverを使用したほうが楽 最初に、Constraint NetwiorkノードのAttach Internal Constraints to Objectにチェックを入れます。 この状態のConstraint Networkの第三入力にSOP Solverを繋いでもコンストレインを切ることができないため、 SOP上の処理. Houdiniの破壊を考える Constraint編 - すあまの備忘録. よくConstraintを忘れるのでメモがてら Glue, Soft, Hardと基本の3つと、Pinとかいろいろほかにもあります。 とりあえず破壊でよく使う基本3つ Houdini 17くらいまではSoftがなく、ConstraintもPrimitive Wrangleで設定してた気がする。

テストシーン hip fileはこちら(Houdini 18.0.287) Constraint Geometryの作成 もっとも単純なConnect Adjacent Piecesを使用する。 使用する際、最低限設定する必要があることは以下2つ Connection Type 以下画像を参考に、ラインを生成する場所 Length Attribute これがないとSoft, Hardコンストレインが正常に動作しない Search Radius, Max Search Points, Max Connectionsは適宜設定 その他、Find Boundary Connectionsにチェックをいれ、 Cluster Attributeにアトリビュートを入れると指定したアトリビュートが異なるピース間でConstraint Geometryを作成できます。 窓ガラスと窓枠の間にConstraint Geometryを作成する際などに使えます。 他にもHoudini17.5から nameなどの条件でConstraint Geometryを作成する RBD Constraints From Rules 自分でラインを作成してから使用する2つがある。 RBD Constraints From Curves RBD Constraints From Lines Constraint Attributesの作成 今は、RBD Constraint Propertiesで簡単にアトリビュートを設定できる。

まず最初にConstraint Typeで使用したいコンストレインの種類を選択する Constraint NameはDOP内での指定に必要なので基本的には変更しない。 その他、よく使うもののみ説明 Glueの場合 Houdini Glue Test Switch Constraint Type When Brokenにチェックをいれると Glue Constraintが一定以上の強さで分離した箇所からSoft Constraintに移行する。 Houdini:RBD Constraints From Lines(SOP)No More Retake. Houdiniノード勉強回。 今回取り上げるのは、RBD Constraints From Lines(SOP)。 個人的に、いつも使い方を忘れてしまうノードの一つだったりします。 ノードで名前の通りRBDシミュレーション用のコンストレイントを作成するノード。

マニュアル曰く(意訳)、 ビューポート上でラインを引くことで、破片に対してコンストレイントを作成することができるノード。 上例では、簡単に板を2枚縦に並べたものを、RBD Material Fracture(SOP)で割ったものを使ってます。 ラインの引き方は、 1:RBD Constraint from Line(SOP)を選択、 2:Handleモードに切り替え、 3:ビューポート上でShiftキーを押しながらドラッグ これでラインが引けます。 主なパラメータの解説です。 ・Connection Type Surface Point:描いたラインでコンストレイント用のラインを引きます。 Hinges:ヒンジ。 Center of Mass:ピースの重心を繋いだラインを作成。 ・Group Name 作成したコンストレイント用ラインをグループにまとめる際に付ける名前。 ※このノードで作成されるのはコンストレイント用のラインだったり、ポイントだったり(Constraint Geometry)なので、これに対してコンストレイントの設定を別途与えてあげる必要がある・・・たぶん。 以上、コンストレイント系はもうちょっと続けます。 Sample File・・・ 171_RBDConstraintLine_Sample.hip Houdini18.0.416.

Houdini17 「RBD Material Fracture」の基本パラメーター. すっかり書いた気になっていたこの重要なノードに関してご紹介いたします。 RBD Fractureは複数の入力と複数の出力を持つノードです。 このノードには3つのプリセット「Concrete」、「Wood」、「Glass」が用意されています。 「Concrete」に設定した場合、単なるVoronoi Fractureで破片を作成するだけではなく内側のパターンもコンクリートのような形状となります。 Concreteに設定した場合の、タブの設定をみていきます。 ここで追加されているのはrecursive(再帰的) Fractureであり、これを追加することで再帰的に破片を追加していくことができます。 さらにFractureを追加すると、1つ目のFractureから2つ目のFractureが作成され、さらに追加するとそこから3つ目のFractureが作成されていきます。 デフォルトでは、2回分のFractureが設定され、Enable Fractureを有効にしていることで、その両方が実行されています。 Fracture Levelのプラス(+)マークを押すことで更にFracture回数を増やしていくことが可能です。

各Fracture Levelでの分割数は、Scatter Pointで変更することができます。 これにより例えば1つ目のFractureは大きなピースとして分割され、さらにその次のピースで細かくしていくことができます。 通常、粉砕が行われるとまずは大きい破片に分割され、さらにその大きな破片が衝突して細かく破壊されるといったように再帰的に細かくなっていくかと思います。 今回のバージョンでは、その現象をコントロールしやすくするために、コンストレインネットワークがすぐに取り出せるようになっています。 出力のピンクのOutputを表示すると、コンストレインネットワークを表示することができます。 下記のようにコンストレインの各レベルをそれぞ表示したり、使用することも可能です。 コンクリートには、Chippingという機能も用意されています。 これを有効にすると破片の端が割れるようになります。 そして、Detailタブが所謂ボロノイの直線的な粉砕をコンクリートらしくゆがめるノイズを追加することができる部分です。 次にWoodプリセットに移ります。 オフにするとクラスタリングが解除されます。 Shaping RBD Material Fracture. RBD Material Fracture. RBD Tools Update | H17 Masterclass. Fracturing Geometry by Material Types with RBD Tools in Houdini. 【初心者向けHoudiniトライアル006】Houdiniでガラスっぽく分割してみよう. 使用するHoudiniバージョン Houdini 18.0.460 今回からのシリーズは、RBD Material Fracture SOPsを使用し、窓が割れるシミュレーションを作成してみます。 今回はまず窓をガラスっぽく分割してみます。 窓を作成する CreateシェルフでBoxをクリックします。 窓を割る 早速この窓を割ってみましょう! アトリビュート アトリビュート とは、Vertes、Point、Primitive、オブジェクト上に記録される名前を付けた値のことです。 それでは現在のアトリビュートを確認してみましょう。

ビューポートの左上にあるボタンをクリックし、ドロップダウンリストからSplit Pane Top/Borromを選択します。 また、各ピースの角も切り取られ破片が作成されたこともわかります。 【初心者向けHoudiniトライアル007】Houdiniでガラスを粉々にしてみようへ続く. 【初心者向けHoudiniトライアル008】ガラスの破片の情報を修正する. このチュートリアルは、「【初心者向けHoudiniトライアル007】Houdiniでガラスを粉々にしてみよう」の続きです。 使用するHoudiniバージョン Houdini 18.0.460 外的要因が衝突する場所を調整しておく Sphereは設定したVelocityによりガラスの板に衝突します。 そこで初期位置を修正し、ガラスのインパクトポイント(蜘蛛の巣の中心)にSphereが衝突するようにしましょう。 Sphereの初期位置 衝突位置 ガラスに破片を追加する ガラスに分割が少ない場合は、RBD Material FractureのCracksタブで調整します。 破片に設定を追加する 前回の設定のままシミュレーションを再生すると、砕けた破片すべてがシミュレーションしていることがわかります。 しかし基本窓ガラスは枠にはまっており、衝突した場所(インパクトポイント)から離れた個所まで粉々にするにはかなりの力がかかる必要があるはずです。 ジオメトリがdop内で他のオブジェクトからの影響かうけるかどうかはactiveというアトリビュートによって決定します。 RBD Bullet Solver内に入り、Geometry Spreadsheetを確認します。 Rbd_object > Geometryを選択すると各パックプリミティブのアトリビュートを確認することができます。 これによりすべてのパックプリミティブが他のオブジェクトの影響を受けるようになっています。

このようにRigid bodyに必要な設定をあらかじめ設定する方法として前回も使用したRBD Configure ノードがあります。 まず、activeアトリビュートを0に設定したいパックプリミティブをGroupに登録します。 Assembleとgroupromoteの間にgroupノードを追加します。 Groupノードのプロパティにて、Group Nameをtopにします。 下記のようにインパクトポイントより上にある破片をランダムに選択します。 選択後、Enterキーを押すことで選択したパックプリミティブがBase Groupに登録されます。 このtopグループを使用して、RBD Configureを設定します。 RBD Bullet Solverの直前にRBD Configure を追加します。

Activeアトリビュートによる結果を確認してみましょう。 【初心者向けHoudiniトライアル009】コンストレインネットワークを調整する. このチュートリアルは、「【初心者向けHoudiniトライアル008】ガラスの破片の情報を修正する」の続きです。 使用するHoudiniバージョン Houdini 18.0.460 コンストレインネットワークを調整 コンストレインネットワークでは、シミュレーションオブジェクトの拘束を行います。 コンストレインネットワークがないと破片がどうなるのか確認してみましょう。 ネットワークエディタでyキーを押すと鋏のアイコンに代わります。 アニメーションを再生します。 破片同士をつなぐコンストレインが削除されたので、1フレーム目から破片が崩れていきます。 再度コンストレインネットワークの入出力をつなぎます。 DOPで破片同士を拘束するためには、SOP にて定義を行う必要があります。 RBD Material FractureにてGuide GeometryをConstraint Networkに設定します。 Wキーを押してワイヤーフレーム表示に切り替えることが可能です。 赤いワイヤーにて粉砕された破片の内部コンストレインネットワークを表示されます。 ジオメトリの各ポイントは、コンストレインのアンカーを意味し、それはnameとP(位置)のアトリビュートに準じています。 Constrainsタブを開きます。 Glue Constraie NameにてGlueという文字列が入力されています。 Radial Strengthは、放射状の亀裂間の接着ボンドの強度、Concentric Strengthは同心円状の亀裂間の接着ボンドの強度、Chipping Strengthは角の切れ端の接着ボンドの強度となります。

各値を下記のように設定します。 この状態でNullを選択し、Geometry Spreadsheetを確認します。 表示する対象をPrimitivesに設定すると、作成されたコンストレインジオメトリのプリミティブアトリビュートが表示されます。 Constraint nameアトリビュートが作成され、その値にGlueという文字列が設定さていることがわかります。 次にRBD Bullet Solverのコンストレインネットワーク出力をNullに接続し、ビューポートで確認します。 1フレームではガラスの破片全体を繋ぐようにコンストレインジオメトリが張り巡らされています。 そして、その処理を行う条件を細かく指定することができます。 Houdiniの破壊を考える Debris Source編 - すあまの備忘録. お手軽に物量増えたっぽく見えるためのDebris Source活用編 実際に使っても問題は割と起こらないとは思う。 Houdini Debris Sourece 赤がメインのRBDで、緑がDebris Sourceでの追加分 hip fileはこちら(Houdini 18.0.348) ベースのRBDシム PackedされたピースにIDを作成 今回は別に使用しませんでしたが、元ピースのIDを判別する用にIDを作成 EnumerateでIDを作成するのがわかりやすくておすすめTransform Piecesでハイポリメッシュに動きを転送します。 Debris Sourceを使う Debris Sourceを作成し、設定します。 必要なアトリビュートを作る N, pscale, idを作成します。

Pscaleは、0-1のランダムで作成後、Attribute Remapで以下のように分布を変えつつ最大最小を調整します。 元から継承しているvもpscaleによってMultiplyします。 小さいほうがj速く飛ぶ設定です。 最後に各ポイントに対してidを作成します。 DebrisのモデルをCopyする 今回は軽くBOXで。 その後、被らないようなnameを作成します。 今回は、Prefix_発生元のid_自分自身のid_フレーム数になっています。 Assembleでvを継承します。 Debrisをシムする 第一入力からCopyしたメッシュを毎フレーム読み込みます。 Creation Frameを$Fにすると毎フレームエミットさせることができます。 Inherit Velocity from Point Velocityにもチェックをいれ、初速をSOPから読み込みます。 1回目のRBDシムをコリジョンさせます。 最後の処理をして完成. Destruction Simulation: Tips and Tricks. For example, let’s consider a geometry simulation that has 15,000 polygons. After upressing, the same geometry simulation is about 1,200,000 polygons. After applying all these elements to destruction and spending some time on every one of them, the final image should look just as you planned! The entire process can be divided into smaller steps and you can move from one step to the next once you’re happy with your results.

This approach is thorough and guarantees quality work throughout one’s entire project. Time Costs The entire process can take anywhere from days to weeks, depending on the complexity of the scene and the amount of elements that need to be prepared. Over the course of the production, simulating smoke is definitely the most time consuming aspect of the project. Time efficiency is a very important skill to develop especially in terms of production. So, this is the way that I approach my Houdini destruction-simulation works! すあまの備忘録. (23) Building explosion. Houdiniレシピ:徐々に壊れる. Houdini17 Bullet Soft Constrainを使用する. Houdini17にてBulletのSoft Constrainを完全利用できるようになりました。 このSoft Constrainを実際に使ってみたいと思います。 こちらも新しく追加したRBD Material Fractureを使用し、ジオメトリを壊します。

タブを確認すると、Constrainsタブがあり、デフォルトでApply Constrain Propertiesが有効になっていることがわかります。 ちなみにRBD Material Fractureには2つのアウトプットがあります。 一番左はRenderingに使用されるジオメトリで、Interior Detailなどを追加していればその状態を出力します。 真ん中の出力はConstrainsのデータが出力されます。 一番左はProxy Outputです。 計算はこの3つ目のプロキシを使用して行っています。 ジオメトリはそのまま壊れます。 マニュアルを確認すると・・ Spring Constrainと同様に、Soft Constrainはアンカー間の距離に比例する力だが、2つのコンストレインの種類の間には動作にいくつかの違いがあるSoft Constrainは、はるかに安定しており、コンストレイン条件が煩雑な状況(例えば、非常に堅いばねまたは小さな質量の物体)でシミュレーションが爆発してしまうことがない。 ただし、Bullet Solverでしか動作しないため注意が必要です。

それではSoft Constrainを追加していきます。 RBD Material FractureのプロパティでConstrainsタブを開きます。 この中に「Switch to Soft Constraint when Broken」を有効にします。 Dop Netに入ります。 ここに、Bullet Soft Constrain Relationshipを作成します。 この状態で再生すると、下記のようにSoft Constrainによりジオメトリがつながっていることがわかります。 Bullet Soft Constrainのプロパティを確認すると、Data Nameに「Soft」と記述があります。 パラメーターを調整し、結果を変更します。 最後にTransform Pieceを追加し、計算したProxyとレンダリングするジオメトリを置き換えます。 RBD Geometry Activation in Houdini. RBD Tools Update | H17 Masterclass. RBD Tools Update | H17 Masterclass. Houdini17 Bullet Soft Constrainを使用する.

Applied Houdini - Rigids II - Structure Destruction Preview. RBD Tools Update | H17 Masterclass. Shaping RBD Material Fracture.