ブレンドシェイプは、同じトポロジーを持つジオメトリ間でモーフィングまたは ブレンド をすることができます。 ブレンドシェイプは、顔の表情や筋肉の膨らみのようなキャラクタ変形の作成とアニメーションをする際によく使用します。

リグをKineFXに取り込むと、そのリグの既存のブレンドシェイプ変形データは 維持 されます。

他にも、ブレンドシェイプアニメーションとスケルタル変形を組み合わせた時、通常ではブレンドシェイプはスケルタル変形の に適用されます。

リグのブレンドシェイプを表示、調整、追加、抽出するには、以下のSOPノードを使用します:

Notes

  • KineFXのエクスポート系ノードは、すべてのブレンドシェイプデータを維持します。

  • Character Blend Shapes SOPは、ブレンドシェイプが適用された後に1番目の入力からそのブレンドシェイプを削除します。そのため、そのノードの出力ではなくて 入力 をエクスポートしてください。

  • ブレンドシェイプが追加された後にそのブレンドシェイプの名前を変更する必要がある場合、 Name SOPノードを使用して、その blendshape_name Primitiveアトリビュートの名前を変更してください。

How to

キャラクタメッシュの個々のブレンドシェイプを表示する

例: 個々のブレンドシェイプを表示する単純なネットワーク
  1. Character Blend Shapes Extract SOPノードを作成します。

  2. キャラクタのインポートノードのRest Geometry 出力 (通常は1番目の出力)を、その Character Blend Shapes Extract SOP ノードの 入力 に接続します。

  3. その Character Blend Shapes Extract SOP ノードを選択して、Displayフラグを有効にしてから、 パラメータエディタ を開きます。

  4. パラメータエディタ で、Blend Shapesパラメータのドロップダウンリストから、表示したいブレンドシェイプの名前を選択します。

これで、キャラクタのメッシュに対して Blend Shapes パラメータで選択した個々のブレンドシェイプターゲットがビューポートに表示できているはずです。

例: Character Blend Shape Extract SOPを使って個々のブレンドシェイプを表示

1つ以上の新しいブレンドシェイプをキャラクタメッシュに追加する

例: 新しいブレンドシェイプをキャラクタメッシュに追加するネットワーク
  1. ブレンドシェイプを作成またはインポートします:

    • Houdiniで新しくブレンドシェイプを作成したい場合、 Sculpt SOP Edit SOPなどのジオメトリ編集SOPを追加して、その入力をキャラクタのインポートノードのRest Geometry 出力 (通常では1番目の出力)に接続します。新しいブレンドシェイプを複数作成したい場合、ジオメトリ編集ノードを複数追加します。

      • そのジオメトリ編集ノードを使用して、キャラクタのメッシュからブレンドシェイプを作成します。

      • Merge Packed SOPノードを追加して、ジオメトリ編集ノード(s)の出力をその Merge Packed SOP に接続します。

    • ディスク上のファイル内の外部ブレンドシェイプを使用したい場合、 File Merge SOPノードを追加します。

      • File Merge SOPFileマルチパラメータを使用して、キャラクタのメッシュに追加したいブレンドシェイプが含まれている外部ジオメトリファイルを読み込みます。複数の外部ファイルを取り込みたい場合、複数の File マルチパラメータを使用します。

  2. ブレンドシェイプに名前を付けます。

    • Merge Packed SOP を使用した場合、 Name パラメータフィールドでブレンドシェイプの名前を指定します。

    • File Merge SOP を使用した場合、 Attributes ▸ File Name Attribute を有効にして、そのファイル名からブレンドシェイプの名前を決めます。

  3. Character Blend Shapes Add SOPノードを追加します。

  4. Merge Packed SOP または File Merge SOP の出力をその Character Blend Shapes Add SOP2番目の入力 に接続し、キャラクタのインポートノードのRest Geometry 出力 (通常では1番目の出力)をその Character Blend Shapes Add SOP1番目の入力 に接続します。

  5. その Character Blend Shapes Add SOP のパラメータエディタで、Remove Unchanged Pointsを有効にして、ブレンドシェイプから未変形のポイントを除去し、次に、Skin Nameパラメータフィールドを空っぽのままにして、1番目の入力のキャラクタメッシュをブレンドシェイプのターゲットスキンとして使用します。

  6. Character Blend Shapes SOPを追加して、以下の操作を行ないします:

    • キャラクタインポートノードの2番目の出力と3番目の出力を、それぞれ Character Blend Shapes SOP の2番目の入力と3番目の入力に接続します。

    • Character Blend Shapes Add SOP の出力を Character Blend Shapes SOP1番目の入力 に接続します。

  7. Joint Deform SOPを追加し、 Character Blend Shapes SOP のすべての出力をJoint Deform SOPのすべての入力に接続します(1番目の出力を1番目の入力に、2番目の出力を2番目の入力に、3番目の出力を3番目の入力に接続します)。

キャラクタメッシュ上の既存のブレンドシェイプを編集する

例: 既存のブレンドシェイプネットワークの編集
  1. Character Blend Shapes Extract SOPを追加して、その入力をキャラクタのインポートノードのRest Geometry 出力 (通常では1番目の出力)に接続します。

  2. その Character Blend Shapes Extract SOP のパラメータエディタで、 Blend Shape パラメータのドロップダウンリストから編集したいブレンドシェイプの名前を選択します。

  3. Sculpt SOP Edit SOPなどのジオメトリ編集SOPを追加して、その入力を Character Blend Shapes Extract SOP出力 (通常では1番目の出力)に接続します。

  4. 追加したジオメトリ編集SOPを使用して、抽出したブレンドシェイプのトポロジーを変更します。

  5. Character Blend Shapes Add SOPを追加します。

  6. 追加したジオメトリ編集SOPの出力を Character Blend Shapes Add SOP2番目の入力 に接続して、キャラクタのインポートノードのRest Geometry 出力 (通常では1番目の出力)を Character Blend Shapes Add SOP1番目の入力 に接続します。

  7. Character Blend Shapes Add SOP のパラメータエディタで、以下の操作を行ないます:

    • Remove Unchanged Pointsを有効にして、ブレンドシェイプから未変形のポイントを除去します。

    • Skin Nameパラメータフィールドを空っぽのままにして、1番目の入力のキャラクタメッシュをブレンドシェイプのターゲットスキンとして使用します。

    • Unpacked Shape を有効にして、そのドロップダウンリストからキャラクタメッシュに追加したいシェイプの名前を選択します。

  8. Character Blend Shapes SOPを追加して、以下の操作を行ないます:

    • キャラクタインポートノードの2番目の出力と3番目の出力を、それぞれ Character Blend Shapes SOP の2番目の入力と3番目の入力に接続します。

    • Character Blend Shapes Add SOP の出力を Character Blend Shapes SOP1番目の入力 に接続します。

  9. Joint Deform SOPを追加し、 Character Blend Shapes SOP のすべての出力をJoint Deform SOPのすべての入力に接続します(1番目の出力を1番目の入力に、2番目の出力を2番目の入力に、3番目の出力を3番目の入力に接続します)。

キャラクタメッシュのブレンドシェイプのブレンドウェイト値を調整したりキーを打つ

例: 新しいブレンドシェイプをキャラクタメッシュに追加するネットワーク + Attribute Create SOP + Character Blend Shapes Channels SOP
例: 既存のブレンドシェイプを編集するネットワーク + Character Blend Shapes Channels SOP

新しいブレンドシェイプに関しては、以下の操作を行ないます:

  1. Attribute Create SOPを追加します。

  2. その Attribute Create SOP の入力をキャラクタのインポートノードの 3番目の出力 (Animated Pose)に接続します。

  3. 新しいブレンドシェイプを表現してそのウェイトにアクセスできるようにDetailアトリビュートを作成します。

    • 新しく Number of Attributes マルチパラメータを作成します。

    • Name フィールドに新しいブレンドシェイプの名前を入力します。

    • ClassDetail に設定します。

新しいブレンドシェイプと既にキャラクタメッシュの一部になっているブレンドシェイプに関しては、以下の操作を行ないます:

  1. Character Blend Shapes Channels SOPを追加します。

  2. 新しいブレンドシェイプで、 Attribute Create SOP を使用してDetailアトリビュートを作成したばかりの場合、その Attribute Create SOP の出力を Character Blend Shapes Channels SOP1番目の入力 に接続し、その Character Blend Shapes Channels SOP出力 Character Blend Shapes SOP3番目の入力 (Animated Pose)に接続します。

  3. ブレンドシェイプが既にキャラクタメッシュの一部になっている場合、KineFXキャラクタインポートノードの 3番目の出力 (Animated Pose)をその Character Blend Shapes Channels SOP1番目の入力 に接続し、その Character Blend Shapes Channels SOP出力Character Blend Shapes SOP3番目の入力 (Animated Pose)に接続します。

  4. その Character Blend Shapes Channels SOP のパラメータエディタで、以下の操作を行ないます:

    • ウェイト値を調整したりキーを打ちたいブレンドシェイプ毎に新しく Blends マルチパラメータを追加します。

    • Blends マルチパラメータで、そのウェイト値を調整したりキーを打ちたいブレンドシェイプの名前をフィールドに入力してからEnterを押します。

    例: ブレンドシェイプのウェイトスライダ

    Tip

    Character Blend Shape Extract SOP を使用しない別の方法として、 Geometry Spreadsheet からキャラクタのすべてのブレンドシェイプの名前を確認することができます。

    • ネットワークエディタ 内で、 Attribute Expression SOP または Character Blend Shapes SOP を選択します。

    • Geometry Spreadsheet のツールバーのドロップダウンメニュー(適用可能であれば)から Animated Pose を選択してから、 Detail アトリビュートアイコンを有効にします。

    例: Geometry Spreadsheet内のブレンドシェイプ名
  5. Blends マルチパラメータで、スライダの隣にある数値フィールドを調整またはキーを打って、好きなように変形効果またはアニメーション変形を適用します。

    例: ブレンドシェイプのウェイト値を調整

キャラクタブレンドシェイプに中間シェイプを追加する

例: アンパックシェイプを中間シェイプとしてブレンドシェイプに追加するネットワーク
例: パックシェイプを中間シェイプとしてブレンドシェイプに追加するネットワーク

中間の ターゲットシェイプをキャラクタブレンドシェイプセットアップに取り入れることで、ヒーローシェイプがメインターゲットシェイプに変形するまでの途中でその中間ターゲットシェイプに遷移するようにできます。 例えば、口元の笑顔あり-笑顔なしのブレンドシェイプセットアップの中間に唇をセットアップすることで、キャラクタの唇と歯のジオメトリの相互貫通を回避することができます。

キャラクタに中間シェイプを追加する方法は、それらのシェイプが パックジオメトリ なのか アンパックジオメトリ なのかで異なります。

アンパック中間シェイプの場合、以下の操作をします:

例: ソースシェイプ、ヒーローターゲットシェイプ、中間ターゲットシェイプ
  1. Character Blend Shapes Add SOPを追加し、以下の操作をします:

    • ソースシェイプのジオメトリノードの 出力Character Blend Shapes Add SOP1番目の入力 (input 1)に接続します。これは、ブレンドシェイプの適用先にしたいシェイプで、このブレンドシェイプのウェイトを調整する時、このシェイプのブレンドウェイト値は 0 に相当します。

    • ヒーローターゲットシェイプのジオメトリノードの 出力Character Blend Shapes Add SOP2番目の入力 (input 2)に接続します。このブレンドシェイプのウェイトを調整する時、このシェイプのブレンドウェイト値は 1 に相当します。

    • Character Blend Shapes Add SOP のパラメータエディタで、 Unpacked Shape トグルをオンにして、そのフィールドにヒーローターゲットシェイプの名前(nameアトリビュート)を入力してから、Enterを押します。

  2. もう1つ Character Blend Shapes Add SOP を追加し、以下の操作をします:

    • 1つ目の Character Blend Shapes Add SOP出力 をその新しい Character Blend Shapes Add SOP1番目の入力 (input 1)に接続します。

    • 中間ターゲットシェイプのジオメトリノードの 出力 をその新しい Character Blend Shapes Add SOP2番目の入力 (input 2)に接続します。このブレンドシェイプのウェイトを調整する時、このシェイプのブレンドウェイト値は Character Blend Shapes Add SOPWeight Attribute で指定されたウェイト値に相当します。

    • Character Blend Shapes Add SOP のパラメータエディタで、以下の操作をします:

      • Unpacked Shape トグルをオンにしてから、そのフィールドに中間ターゲットシェイプの名前(nameアトリビュート)を入力します。

      • Add as In-Between Shapes トグルをオンにしてから、そのフィールドにヒーローターゲットシェイプの名前(nameアトリビュート)を入力します。

      • 中間ターゲットシェイプの Weight Attribute を選択します。このアトリビュートは、ソースシェイプから中間ターゲットシェイプにモーフィングを試みる0から1のブレンドウェイト範囲の 領域 を決めます。

  3. Character Blend Shape Channels SOPを追加して、ネットワーク内の最後の Character Blend Shapes Add SOP出力Character Blend Shape Channels SOP両方の入力 に接続します。

  4. そのCharacter Blend Shape Channels SOPのパラメータエディタで、 Blends マルチパラメータを追加し、そのフィールド内にヒーローターゲットシェイプの名前を入力してEnterを押します。

  5. Character Blend Shapes SOPを追加して、以下の操作をします:

    • Character Blend Shape Channels SOP出力Character Blend Shapes SOP3番目の入力 (input 3)に接続します。

    • ネットワーク内の最後の Character Blend Shapes Add SOP出力 をその新しい Character Blend Shapes SOP1番目の入力 (input 1)に接続します。

  6. その Character Blend Shapes SOP のDisplayフラグをオンにして、その Character Blend Shape Channels SOP を選択してから、 Blends マルチパラメータを調整してキーを打って、ブレンドシェイプのウェイトを変更/アニメーションさせます。

例: アンパック中間シェイプを使ったブレンドシェイプのウェイト調整

パック中間シェイプの場合、以下の操作をします:

例: ソースシェイプ、ヒーローターゲットシェイプ、中間ターゲットシェイプ
  1. パック中間ターゲットシェイプ毎に Attribute Create SOPを追加して、その各ジオメトリノードの 出力 をそれぞれの Attribute Create SOP入力 に接続します。

  2. Attribute Create SOP のパラメータエディタで、以下の操作をします:

    • Number Of Attributes マルチパラメータを1つ追加し、 Name パラメータにnameと入力し、 Class パラメータを PrimitiveType パラメータを String に設定し、 String フィールドにパックプリミティブの名前を入力します。

    • Number Of Attributes マルチパラメータを1つ追加し、 Name パラメータにweightと入力し、 Class パラメータを PrimitiveType パラメータを Float に設定し、use the Value フィールドを使用して、各パック中間ターゲットシェイプのウェイト値を定義します。このアトリビュートは、ソースシェイプから中間ターゲットシェイプにモーフィングを試みる0から1のブレンドウェイト範囲の 領域 を決めます。

    • パック中間ターゲットシェイプが複数ある場合、 Merge Packed SOPを追加して、すべての Attribute Create SOP の出力をそのMerge Packed SOPの入力に接続します。

  3. Character Blend Shapes Add SOPを追加して、以下の操作をします:

    • ソースシェイプのジオメトリノードの 出力Character Blend Shapes Add SOP1番目の入力 (input 1)に接続します。これは、ブレンドシェイプの適用先にしたいシェイプで、このブレンドシェイプのウェイトを調整する時、このシェイプのブレンドウェイト値は 0 に相当します。

    • ヒーローターゲットシェイプのジオメトリノードの 出力Character Blend Shapes Add SOP2番目の入力 (input 2)に接続します。このブレンドシェイプのウェイトを調整する時、このシェイプのブレンドウェイト値は 1 に相当します。

    • Character Blend Shapes Add SOP のパラメータエディタで、 Unpacked Shape トグルをオンにして、そのフィールドにヒーローターゲットシェイプの名前(nameアトリビュート)を入力してから、Enterを押します。

  4. もう1つ Character Blend Shapes Add SOP を追加し、以下の操作をします:

    • 1つ目の Character Blend Shapes Add SOP出力 をその新しい Character Blend Shapes Add SOP1番目の入力 (input 1)に接続します。

    • 中間ターゲットシェイプのジオメトリノードの 出力 をその新しい Character Blend Shapes Add SOP2番目の入力 (input 2)に接続します。このブレンドシェイプのウェイトを調整する時、このシェイプのブレンドウェイト値は Character Blend Shapes Add SOPWeight Attribute で指定されたウェイト値に相当します。

    • Character Blend Shapes Add SOP のパラメータエディタで、以下の操作をします:

      • Unpacked Shape トグルをオフにします。

      • Add as In-Between Shapes トグルをオンにしてから、そのフィールドにヒーローターゲットシェイプの名前(nameアトリビュート)を入力します。

      • 中間ターゲットシェイプの Weight Attribute を選択します。このアトリビュートは、ソースシェイプから中間ターゲットシェイプにモーフィングを試みる0から1のブレンドウェイト範囲の 領域 を決めます。

  5. Character Blend Shape Channels SOPを追加して、以下の操作をします:

    • ネットワーク内の最後の Character Blend Shapes Add SOP出力Character Blend Shape Channels SOP1番目の入力 (input 1)に接続します。

    • (1個の中間ターゲットシェイプの場合) Attribute Create SOP 、(複数の中間ターゲットシェイプの場合) Merge Packed SOP出力Character Blend Shape Channels SOP2番目の入力 (input 2)に接続します。

  6. そのCharacter Blend Shape Channels SOPのパラメータエディタで、 Blends マルチパラメータを追加し、そのフィールド内にヒーローターゲットシェイプの名前を入力してEnterを押します。

  7. Character Blend Shapes SOPを追加して、以下の操作をします:

    • Character Blend Shape Channels SOP出力Character Blend Shapes SOP3番目の入力 (input 3)に接続します。

    • ネットワーク内の最後の Character Blend Shapes Add SOP出力 をその新しい Character Blend Shapes SOP1番目の入力 (input 1)に接続します。

  8. その Character Blend Shapes SOP のDisplayフラグをオンにして、その Character Blend Shape Channels SOP を選択してから、 Blends マルチパラメータを調整してキーを打って、ブレンドシェイプのウェイトを変更/アニメーションさせます。

例: 複数のパック中間シェイプを使ったブレンドシェイプのウェイト調整
See also

KineFX

プロシージャルリギング

互換性

アニメーションのリターゲット

ペイン