EssentialsExampleFile.zip
(12.8MB)

Muscles Masterclass
Essentials

こちらは、初心者とベテラン両方の Houdini ユーザを対象とする、Houdini 20.5 Muscles を総合的に学べるマスタークラスです。このマスタークラスでは、筋肉とボーンのためのジオメトリ準備、 Houdini の全ての Muscles 系ノードの詳細な解説に加え、より高度で専門的な内容も解説しています。その際、注意すべきよくあるリスクや問題とその解決方法も紹介し、セットアップを簡素化して紛らわしさを減らすコツも伝授していきます。ビデオ学習の際にご利用いただけるサンプルファイルも用意されています。

Introduction

1. Houdini Muscles の紹介

講師の Liesbeth LevickJohn Mariella から、このマスタークラスについて簡単に紹介した後、Houdini Muscle システムの概要をお見せします。その際、このシステムがなぜ今のような形に作られたか説明し、デフォルトの Vellum ノードを使う場合と比較しながら、Muscle System の利点がわかる簡単なサンプルをお見せして、最後に筋肉用の各種の拘束の概要もお話しします。

Basic Pass

2. 基本の Muscles パス

このビデオでは、カピバラのテストジオメトリを使って、簡単な筋肉セットアップの作成手順を一通り紹介していきます。筋肉シミュレーションを動かす上で必要な最小限のノードについて学び、それらが必要となる理由も理解しましょう。シミュレーションの結果を効率的に書き出すためのコツも紹介します。

Geometry Setup

3. 筋肉シミュレーションのためのジオメトリ準備

筋肉やボーンのジオメトリに適切な準備を施し Houdini の Muscles ワークフローで使えるようにしていきます。初心者向けに、ジオメトリの読み込みとアンパック、スケーリングの方法を紹介した後、筋肉に固有の手順に進み、T ポーズアトリビュートの設定、Muscle Preroll ノードの使用、既存の Name アトリビュートまたは Muscles ID ノードによる筋肉の ID 作成、ボーンの命名について見ていきます。ボーンのジオメトリに求められる条件に関するコツも紹介し、最後に静止状態の筋肉の相貫チェックのためのカスタムセットアップをお見せします。


4. 筋肉のソリッド化

メッシュを四面体化する意味と筋肉をソリッド化すべき理由、Muscle Solidify ノードを使ったその手順について解説します。Muscle Solidify ノードの全てのパラメータを順に見ていき、四面体の設定サイズが小さすぎるセッションでフリーズを回避するためのコツも幾つか紹介します。また、Remesh ノードを最初に使うことで制御性を高めるオプションの方法をお見せし、最後に File Cache ノードで静止状態のジオメトリのキャッシュを書き出し、より手早くシーンを評価する方法も紹介します。


5. 筋繊維のグルーム

Fiber Groom ノードを使って1つひとつの筋肉の収縮方向を指定する方法を紹介します。ビューポートステートでデフォルトの筋線維方向を見る方法、必要に応じてブラシでそれを微調整する方法、筋肉ごとにストロークを重ねて欲しい結果を得る方法を身につけましょう。さらに、幾つかの設定について解説し、一部の設定の使用は避ける方がよい理由についても触れていきます。


シミュレーション・プロパティ

6. Muscles シミュレーションのプロパティ: 概要

Muscle Properties ノードで設定される筋肉および腱の物理特性と、Muscle Constraint Properties Vellum ノードで設定される筋肉と筋肉、および筋肉と骨の相対的特性とを比較し、その違いについて理解を深めましょう。また、筋腹と腱とで筋肉の物理特性がどのように変化するかや、腱と筋肉両端との違い、Muscle to Bone 拘束および Muscle to Muscle 拘束が必要である理由、さらに筋肉両端と、Muscle to Bone 拘束との違いについても解説していきます。



7. Muscles シミュレーションのプロパティ: インターフェイス

このビデオでは、Muscles シミュレーションのプロパティに関する2つのノード、Muscle Properties と Muscle Constraint Properties Vellum について解説し、初心者とベテランのどちらもが犯しがちなミスを避ける方法も紹介します。複数のパラメータタブのスタック状の挙動、Absolute (絶対) と Relative (相対) のパラメータの違い、設定を全ての筋肉または一部の筋肉にアサインする方法を解説します。特にタブ数が多い場合にビューポートステートを使うことでノード操作を大幅に容易にする方法もお見せします。最後に、Muscle Constraint Properties ノードでグループやワイルドカードを使うことのリスク、ひいては、いずれのノードにおいてもそれらの使用を推奨しないということにも触れていきます。


8. Muscle Properties ノード

Muscle Properties ノード内の全てのパラメータを順に解説していきます。このノードでは、筋肉の質量、硬さ、減衰などのほか、筋肉が動いた時の収縮の 強度を含む、筋肉と腱の物理シミュレーション用プロパティを設定できます。また、Muscle Properties ノードを使うと、その筋肉の腱の領域をプロシージャルに設定できるだけでなく、それらの腱に対して個別の質量値と硬さ値を指定できます。他にも、Muscle Properties ノードの前に Muscle Paint ノードを配置すべきでない理由についても解説します。


9. 筋肉拘束のプロパティ - 筋肉の両端

Muscle Constraint Properties Vellum ノードに関する全4本のビデオの1本目です。このノードを使うと、シミュレーション時の筋肉の相対的特性、つまり、筋肉と筋肉および筋肉と骨の間で起こる相互作用を設定できます。最初に Muscle Constraint Properties Vellum ノードの様々なビジュアライザを概観し、次に、このノードの Muscle Ends タブ内の全てのパラメータの他、Muscle Solver を使った Muscle Ends 拘束のプレビュー方法も見ていきます。Muscle Solver から Muscle Ends の一部の設定を調整する方法も紹介します。


 

10. 筋肉拘束のプロパティ - Muscle to Muscle

シミュレーション時の筋肉の相対的特性を設定する Muscle Constraint Properties Vellum ノードに関する全4本のビデオの2本目です。ここでは、このノードの Muscle to Muscle タブ内の全てのパラメータについて解説し、Muscle to Muscle 拘束の際に、一方の筋肉の内部ポイントがどのようにもう一方の筋肉のサーフェスに繋がっているかといった、すぐには目に留まりづらい細かい点も幾つか説明していきます。Attachment Candidates のロジックと、そのデータの格納方法についても見ていきます。


11. 筋肉拘束のプロパティ - Muscle to Bone

シミュレーション時の筋肉の相対的特性を設定する Muscle Constraint Properties Vellum ノードに関する全4本のビデオの3本目です。このビデオでは、このノードの Muscle to Bone タブを取り上げ、その全てのパラメータについて解説しています。また、Muscle Paint ノードを使った Muscle to Bone Mask の調整方法や、Muscle Solver を使った Muscle to Bone 拘束のプレビュー、 Muscle Solver 上の Muscle to Bone 拘束を切ることによる Muscle Properties 設定のトラブルシューティングの方法も見ていきます。


12. 筋肉拘束のプロパティ - Collisions & Velocity Blend

シミュレーション時の筋肉の相対的特性を設定する Muscle Constraint Properties Vellum ノードに関する全4回のビデオの最後の回です。ここでは、このノードの Collision Radius および Velocity Blend の設定方法、無効化されている衝突の表示や Velocity Blending の有効化の際に使う、Muscle Solver ノードの関連設定を紹介していきます。どのような時になぜ Velocity Blend を使うのかと、Velocity Blend 以外のソリューションで、筋肉をアニメーションに追従しやすくする方法も解説します。


13. 筋肉のペイント

このビデオでは、ネットワーク内における Muscle Paint ノードの適切な配置の重要性、ペイント時のアトリビュート入力値の扱われ方、Visibility ノードを使って隔離した筋肉のみをペイントする際のコツの他、Exploded View ノードを使ってペイント作業を容易にする方法も紹介します。このノードを使うことのリスクも何点か挙げ、シミュレーション全体の設定の最終調整が終わるまでこのノードの使用を控える、ペイント済みの Tendon Mask からプロシージャルに Muscle Ends Mask を作るといった、リスク回避の方法も伝授します。最後に、ポイント数が変わり、ストロークのリキャッシュ処理がうまくいかなかった場合に、ペイント済みのアトリビュートを転送する方法も紹介します。


Mirroring

14. 筋肉のミラー化

ここでは Muscle Mirror ノードの使い方について、ミラー化する筋肉の指定方法から、拘束のミラー化が適切にできているかどうかの確認と、適切にできていない場合の修正方法に至るまで、順に解説していきます。また、Attachment Candidates から除外する複数の筋肉の指定方法を紹介、ネットワーク内における Muscle Mirror ノードの配置についてのアドバイスもしていきます。

Muscle Activation

15. 筋肉緊張ライン

筋肉緊張 (muscle tension) ラインを作って筋肉をアクティベートする方法を学びましょう。このビデオでは、緊張ラインによる筋肉のアクティベートの方法と、それを考慮しながら緊張ラインを適切な位置に配置する方法を説明しています。さらに、ビューポートステートを使った緊張ラインの作成方法、緊張ラインの命名のコツ、ラインを順に表示してどれを編集するか選ぶ方法、複数の Tension Line ノードをマージする方法、定義済みの緊張ラインを使う方法、Tension Line ノードで作成されるアトリビュートの種類を紹介します。作成しようとしているノードが表示されないといった、よくあるトラブルの対処方法や、緊張ラインが誤ったボーンにスナップされてしまうことへの注意と、そうなった場合の修正方法も見ていきます。

16. 筋肉の屈曲

このビデオでは、ボーンの開始位置に合わせて適切な位置に筋肉を配置する、手動でキーを打って筋肉のアクティベーションを設定する、緊張ラインの長さの変化に基づいて筋肉をプロシージャルにアクティベートするといった、Muscle Flex ノードの全ての用法を紹介していきます。プロシージャルなアクティベーションの解説では、ビューポートステートを使って緊張ラインを1つまたは複数の筋肉にリンクさせる方法、アクティベーション率を設定して緊張ラインの伸び縮みに応じて筋肉をアクティベートさせる方法、Activation Ratio 値がどのようにアクティベーションの度合いを決定しているか、Attribute Adjust Float ノードを使って静止時の緊張ラインの長さを変える方法を学ぶことができます。

Simulation

17. Muscle Solver Vellum - パラメータの概要

このビデオでは、Muscle Solver Vellum の全てのパラメータについて詳しく解説していきます。全体のフレーム範囲からシミュレーションの開始フレームを自動的に設定する方法、アクティベーション用アトリビュートの仕組み、Muscle Solver Vellum ノードのオプションである 3番目の入力の使用方法も説明します。

18. Muscle Solver Vellum - シミュレーションの実行

このビデオでは、複数のシミュレーションを繰り返すことで、使用中の筋肉に合わせて設定の精度を上げる方法を紹介します。これには、数個の筋肉を隔離して一般設定の無駄をなくす方法、物理特性を洗練させてから相対的な拘束プロパティをよりよいものにしていく方法、Muscle Glue 拘束の使用方法が含まれます。また、バージョン間でのシミュレーション設定の変更を管理する際のコツも共有し、もう一歩踏み込んだ手法に関するリファレンスについても こちら で触れています。

19. 筋肉のポスト処理

シミュレーションが完成したら、シミュレートした筋肉をレンダリングや Tissue シミュレーションに向けて準備していきます。これには、四面体メッシュからポリゴンへの再変換、Delta Mush の追加による特定の筋肉の平滑化、Surface Deform ノードを使って、シミュレーションをつけた筋肉でレンダリング可能な筋肉を変形させる工程が含まれます。