ブレンドシェイプは、同じトポロジーを持つジオメトリ間でモーフィングまたは ブレンド をすることができます。 ブレンドシェイプは、顔の表情や筋肉の膨らみのようなキャラクタ変形の作成とアニメーションをする際によく使用します。
リグをKineFXに取り込むと、そのリグの既存のブレンドシェイプ変形データは 維持 されます。
他にも、ブレンドシェイプアニメーションとスケルタル変形を組み合わせた時、通常ではブレンドシェイプはスケルタル変形の 前 に適用されます。
リグのブレンドシェイプを表示、調整、追加、抽出するには、以下のSOPノードを使用します:
-
Character Blend Shapes SOPノードは、ビューポートでブレンドシェイプを表示することができます。これは、 Joint Deform SOP がビューポートでキャラクタのスケルタル変形を表示する方法と同様です。
-
Character Blend Shapes Add SOPノードは、キャラクタに1つ以上の新しいブレンドシェイプを追加することができます。
-
Merge Packed SOPノードは、個々の、または、複数の名前付きパックプリミティブのブレンドシェイプを Character Blend Shapes Add SOP ノードに入れ込むことができます。
-
File Merge SOPノードは、ブレンドシェイプを含んだ単一ファイルまたは一連のファイルを Character Blend Shapes Add SOP ノードに入れ込むことができます。
-
Character Blend Shapes Extract SOPノードは、キャラクタメッシュから個々のブレンドシェイプ(例えば、 Character Blend Shapes Add SOP で追加されたブレンドシェイプ)を表示または抽出することができます。
-
キャラクタのブレンドシェイプのブレンドウェイト値は、アニメーションスケルトン上のDetailアトリビュートによって駆動されます。ブレンドシェイプが新しいと、そこにはまだそのDetailアトリビュートがありません。 Attribute Create SOPノードを使用することで、ブレンドシェイプに対してそのDetailアトリビュートを作成することができます。
-
ブレンドシェイプのウェイトを調整またはアニメーションさせるには、Character Blend Shapes Channels SOPノードを使用して、そのDetailアトリビュートの値を制御してブレンドシェイプのウェイトをアニメーションさせることができます。
-
Joint Deform SOPノードは、 Character Blend Shapes SOPノードの出力にキャラクタのスケルタル変形を追加することができます。
Notes
-
KineFXのエクスポート系ノードは、すべてのブレンドシェイプデータを維持します。
-
Character Blend Shapes SOPは、ブレンドシェイプが適用された後に1番目の入力からそのブレンドシェイプを削除します。そのため、そのノードの出力ではなくて 入力 をエクスポートしてください。
-
ブレンドシェイプが追加された後にそのブレンドシェイプの名前を変更する必要がある場合、 Name SOPノードを使用して、その blendshape_name Primitiveアトリビュートの名前を変更してください。
How to ¶
キャラクタメッシュの個々のブレンドシェイプを表示する ¶
-
Character Blend Shapes Extract SOPノードを作成します。
-
キャラクタのインポートノードのRest Geometry 出力 (通常は1番目の出力)を、その Character Blend Shapes Extract SOP ノードの 入力 に接続します。
-
その Character Blend Shapes Extract SOP ノードを選択して、Displayフラグを有効にしてから、 パラメータエディタ を開きます。
-
パラメータエディタ で、Blend Shapesパラメータのドロップダウンリストから、表示したいブレンドシェイプの名前を選択します。
これで、キャラクタのメッシュに対して Blend Shapes パラメータで選択した個々のブレンドシェイプターゲットがビューポートに表示できているはずです。
1つ以上の新しいブレンドシェイプをキャラクタメッシュに追加する ¶
-
ブレンドシェイプを作成またはインポートします:
-
Houdiniで新しくブレンドシェイプを作成したい場合、 Sculpt SOPや Edit SOPなどのジオメトリ編集SOPを追加して、その入力をキャラクタのインポートノードのRest Geometry 出力 (通常では1番目の出力)に接続します。新しいブレンドシェイプを複数作成したい場合、ジオメトリ編集ノードを複数追加します。
-
そのジオメトリ編集ノードを使用して、キャラクタのメッシュからブレンドシェイプを作成します。
-
Merge Packed SOPノードを追加して、ジオメトリ編集ノード(s)の出力をその Merge Packed SOP に接続します。
-
-
ディスク上のファイル内の外部ブレンドシェイプを使用したい場合、 File Merge SOPノードを追加します。
-
File Merge SOP のFileマルチパラメータを使用して、キャラクタのメッシュに追加したいブレンドシェイプが含まれている外部ジオメトリファイルを読み込みます。複数の外部ファイルを取り込みたい場合、複数の File マルチパラメータを使用します。
-
-
-
ブレンドシェイプに名前を付けます。
-
Merge Packed SOP を使用した場合、 Name パラメータフィールドでブレンドシェイプの名前を指定します。
-
File Merge SOP を使用した場合、 Attributes ▸ File Name Attribute を有効にして、そのファイル名からブレンドシェイプの名前を決めます。
-
-
Character Blend Shapes Add SOPノードを追加します。
-
Merge Packed SOP または File Merge SOP の出力をその Character Blend Shapes Add SOP の 2番目の入力 に接続し、キャラクタのインポートノードのRest Geometry 出力 (通常では1番目の出力)をその Character Blend Shapes Add SOP の 1番目の入力 に接続します。
-
その Character Blend Shapes Add SOP のパラメータエディタで、Remove Unchanged Pointsを有効にして、ブレンドシェイプから未変形のポイントを除去し、次に、Skin Nameパラメータフィールドを空っぽのままにして、1番目の入力のキャラクタメッシュをブレンドシェイプのターゲットスキンとして使用します。
-
Character Blend Shapes SOPを追加して、以下の操作を行ないします:
-
キャラクタインポートノードの2番目の出力と3番目の出力を、それぞれ Character Blend Shapes SOP の2番目の入力と3番目の入力に接続します。
-
Character Blend Shapes Add SOP の出力を Character Blend Shapes SOP の 1番目の入力 に接続します。
-
-
Joint Deform SOPを追加し、 Character Blend Shapes SOP のすべての出力をJoint Deform SOPのすべての入力に接続します(1番目の出力を1番目の入力に、2番目の出力を2番目の入力に、3番目の出力を3番目の入力に接続します)。
キャラクタメッシュ上の既存のブレンドシェイプを編集する ¶
-
Character Blend Shapes Extract SOPを追加して、その入力をキャラクタのインポートノードのRest Geometry 出力 (通常では1番目の出力)に接続します。
-
その Character Blend Shapes Extract SOP のパラメータエディタで、 Blend Shape パラメータのドロップダウンリストから編集したいブレンドシェイプの名前を選択します。
-
Sculpt SOPや Edit SOPなどのジオメトリ編集SOPを追加して、その入力を Character Blend Shapes Extract SOP の 出力 (通常では1番目の出力)に接続します。
-
追加したジオメトリ編集SOPを使用して、抽出したブレンドシェイプのトポロジーを変更します。
-
追加したジオメトリ編集SOPの出力を Character Blend Shapes Add SOP の 2番目の入力 に接続して、キャラクタのインポートノードのRest Geometry 出力 (通常では1番目の出力)を Character Blend Shapes Add SOP の 1番目の入力 に接続します。
-
Character Blend Shapes Add SOP のパラメータエディタで、以下の操作を行ないます:
-
Remove Unchanged Pointsを有効にして、ブレンドシェイプから未変形のポイントを除去します。
-
Skin Nameパラメータフィールドを空っぽのままにして、1番目の入力のキャラクタメッシュをブレンドシェイプのターゲットスキンとして使用します。
-
Unpacked Shape を有効にして、そのドロップダウンリストからキャラクタメッシュに追加したいシェイプの名前を選択します。
-
-
Character Blend Shapes SOPを追加して、以下の操作を行ないます:
-
キャラクタインポートノードの2番目の出力と3番目の出力を、それぞれ Character Blend Shapes SOP の2番目の入力と3番目の入力に接続します。
-
Character Blend Shapes Add SOP の出力を Character Blend Shapes SOP の 1番目の入力 に接続します。
-
-
Joint Deform SOPを追加し、 Character Blend Shapes SOP のすべての出力をJoint Deform SOPのすべての入力に接続します(1番目の出力を1番目の入力に、2番目の出力を2番目の入力に、3番目の出力を3番目の入力に接続します)。
キャラクタメッシュのブレンドシェイプのブレンドウェイト値を調整したりキーを打つ ¶
新しいブレンドシェイプに関しては、以下の操作を行ないます:
-
Attribute Create SOPを追加します。
-
その Attribute Create SOP の入力をキャラクタのインポートノードの 3番目の出力 (Animated Pose)に接続します。
-
新しいブレンドシェイプを表現してそのウェイトにアクセスできるようにDetailアトリビュートを作成します。
-
新しく Number of Attributes マルチパラメータを作成します。
-
Name フィールドに新しいブレンドシェイプの名前を入力します。
-
Class を Detail に設定します。
-
新しいブレンドシェイプと既にキャラクタメッシュの一部になっているブレンドシェイプに関しては、以下の操作を行ないます:
-
新しいブレンドシェイプで、 Attribute Create SOP を使用してDetailアトリビュートを作成したばかりの場合、その Attribute Create SOP の出力を Character Blend Shapes Channels SOP の 1番目の入力 に接続し、その Character Blend Shapes Channels SOP の 出力 を Character Blend Shapes SOPの 3番目の入力 (Animated Pose)に接続します。
-
ブレンドシェイプが既にキャラクタメッシュの一部になっている場合、KineFXキャラクタインポートノードの 3番目の出力 (Animated Pose)をその Character Blend Shapes Channels SOP の 1番目の入力 に接続し、その Character Blend Shapes Channels SOP の 出力 を Character Blend Shapes SOP の 3番目の入力 (Animated Pose)に接続します。
-
その 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 アトリビュートアイコンを有効にします。
-
-
各 Blends マルチパラメータで、スライダの隣にある数値フィールドを調整またはキーを打って、好きなように変形効果またはアニメーション変形を適用します。
キャラクタブレンドシェイプに中間シェイプを追加する ¶
中間の ターゲットシェイプをキャラクタブレンドシェイプセットアップに取り入れることで、ヒーローシェイプがメインターゲットシェイプに変形するまでの途中でその中間ターゲットシェイプに遷移するようにできます。 例えば、口元の笑顔あり-笑顔なしのブレンドシェイプセットアップの中間に唇をセットアップすることで、キャラクタの唇と歯のジオメトリの相互貫通を回避することができます。
キャラクタに中間シェイプを追加する方法は、それらのシェイプが パックジオメトリ なのか アンパックジオメトリ なのかで異なります。
アンパック中間シェイプの場合、以下の操作をします:
-
Character Blend Shapes Add SOPを追加し、以下の操作をします:
-
ソースシェイプのジオメトリノードの 出力 を Character Blend Shapes Add SOP の 1番目の入力 (input 1)に接続します。これは、ブレンドシェイプの適用先にしたいシェイプで、このブレンドシェイプのウェイトを調整する時、このシェイプのブレンドウェイト値は 0 に相当します。
-
ヒーローターゲットシェイプのジオメトリノードの 出力 を Character Blend Shapes Add SOP の 2番目の入力 (input 2)に接続します。このブレンドシェイプのウェイトを調整する時、このシェイプのブレンドウェイト値は 1 に相当します。
-
Character Blend Shapes Add SOP のパラメータエディタで、 Unpacked Shape トグルをオンにして、そのフィールドにヒーローターゲットシェイプの名前(
name
アトリビュート)を入力してから、Enterを押します。
-
-
もう1つ Character Blend Shapes Add SOP を追加し、以下の操作をします:
-
1つ目の Character Blend Shapes Add SOP の 出力 をその新しい Character Blend Shapes Add SOP の 1番目の入力 (input 1)に接続します。
-
中間ターゲットシェイプのジオメトリノードの 出力 をその新しい Character Blend Shapes Add SOP の 2番目の入力 (input 2)に接続します。このブレンドシェイプのウェイトを調整する時、このシェイプのブレンドウェイト値は Character Blend Shapes Add SOP の Weight Attribute で指定されたウェイト値に相当します。
-
Character Blend Shapes Add SOP のパラメータエディタで、以下の操作をします:
-
Unpacked Shape トグルをオンにしてから、そのフィールドに中間ターゲットシェイプの名前(
name
アトリビュート)を入力します。 -
Add as In-Between Shapes トグルをオンにしてから、そのフィールドにヒーローターゲットシェイプの名前(
name
アトリビュート)を入力します。 -
中間ターゲットシェイプの Weight Attribute を選択します。このアトリビュートは、ソースシェイプから中間ターゲットシェイプにモーフィングを試みる0から1のブレンドウェイト範囲の 領域 を決めます。
-
-
-
Character Blend Shape Channels SOPを追加して、ネットワーク内の最後の Character Blend Shapes Add SOP の 出力 を Character Blend Shape Channels SOP の 両方の入力 に接続します。
-
そのCharacter Blend Shape Channels SOPのパラメータエディタで、 Blends マルチパラメータを追加し、そのフィールド内にヒーローターゲットシェイプの名前を入力してEnterを押します。
-
Character Blend Shapes SOPを追加して、以下の操作をします:
-
Character Blend Shape Channels SOP の 出力 を Character Blend Shapes SOP の 3番目の入力 (input 3)に接続します。
-
ネットワーク内の最後の Character Blend Shapes Add SOP の 出力 をその新しい Character Blend Shapes SOP の 1番目の入力 (input 1)に接続します。
-
-
その Character Blend Shapes SOP のDisplayフラグをオンにして、その Character Blend Shape Channels SOP を選択してから、 Blends マルチパラメータを調整してキーを打って、ブレンドシェイプのウェイトを変更/アニメーションさせます。
パック中間シェイプの場合、以下の操作をします:
-
パック中間ターゲットシェイプ毎に Attribute Create SOPを追加して、その各ジオメトリノードの 出力 をそれぞれの Attribute Create SOP の 入力 に接続します。
-
各 Attribute Create SOP のパラメータエディタで、以下の操作をします:
-
Number Of Attributes マルチパラメータを1つ追加し、 Name パラメータに
name
と入力し、 Class パラメータを Primitive 、 Type パラメータを String に設定し、 String フィールドにパックプリミティブの名前を入力します。 -
Number Of Attributes マルチパラメータを1つ追加し、 Name パラメータに
weight
と入力し、 Class パラメータを Primitive 、 Type パラメータを Float に設定し、use the Value フィールドを使用して、各パック中間ターゲットシェイプのウェイト値を定義します。このアトリビュートは、ソースシェイプから中間ターゲットシェイプにモーフィングを試みる0から1のブレンドウェイト範囲の 領域 を決めます。 -
パック中間ターゲットシェイプが複数ある場合、 Merge Packed SOPを追加して、すべての Attribute Create SOP の出力をそのMerge Packed SOPの入力に接続します。
-
-
Character Blend Shapes Add SOPを追加して、以下の操作をします:
-
ソースシェイプのジオメトリノードの 出力 を Character Blend Shapes Add SOP の 1番目の入力 (input 1)に接続します。これは、ブレンドシェイプの適用先にしたいシェイプで、このブレンドシェイプのウェイトを調整する時、このシェイプのブレンドウェイト値は 0 に相当します。
-
ヒーローターゲットシェイプのジオメトリノードの 出力 を Character Blend Shapes Add SOP の 2番目の入力 (input 2)に接続します。このブレンドシェイプのウェイトを調整する時、このシェイプのブレンドウェイト値は 1 に相当します。
-
Character Blend Shapes Add SOP のパラメータエディタで、 Unpacked Shape トグルをオンにして、そのフィールドにヒーローターゲットシェイプの名前(
name
アトリビュート)を入力してから、Enterを押します。
-
-
もう1つ Character Blend Shapes Add SOP を追加し、以下の操作をします:
-
1つ目の Character Blend Shapes Add SOP の 出力 をその新しい Character Blend Shapes Add SOP の 1番目の入力 (input 1)に接続します。
-
中間ターゲットシェイプのジオメトリノードの 出力 をその新しい Character Blend Shapes Add SOP の 2番目の入力 (input 2)に接続します。このブレンドシェイプのウェイトを調整する時、このシェイプのブレンドウェイト値は Character Blend Shapes Add SOP の Weight Attribute で指定されたウェイト値に相当します。
-
Character Blend Shapes Add SOP のパラメータエディタで、以下の操作をします:
-
Unpacked Shape トグルをオフにします。
-
Add as In-Between Shapes トグルをオンにしてから、そのフィールドにヒーローターゲットシェイプの名前(
name
アトリビュート)を入力します。 -
中間ターゲットシェイプの Weight Attribute を選択します。このアトリビュートは、ソースシェイプから中間ターゲットシェイプにモーフィングを試みる0から1のブレンドウェイト範囲の 領域 を決めます。
-
-
-
Character Blend Shape Channels SOPを追加して、以下の操作をします:
-
ネットワーク内の最後の Character Blend Shapes Add SOP の 出力 を Character Blend Shape Channels SOP の 1番目の入力 (input 1)に接続します。
-
(1個の中間ターゲットシェイプの場合) Attribute Create SOP 、(複数の中間ターゲットシェイプの場合) Merge Packed SOP の 出力 を Character Blend Shape Channels SOP の 2番目の入力 (input 2)に接続します。
-
-
そのCharacter Blend Shape Channels SOPのパラメータエディタで、 Blends マルチパラメータを追加し、そのフィールド内にヒーローターゲットシェイプの名前を入力してEnterを押します。
-
Character Blend Shapes SOPを追加して、以下の操作をします:
-
Character Blend Shape Channels SOP の 出力 を Character Blend Shapes SOP の 3番目の入力 (input 3)に接続します。
-
ネットワーク内の最後の Character Blend Shapes Add SOP の 出力 をその新しい Character Blend Shapes SOP の 1番目の入力 (input 1)に接続します。
-
-
その Character Blend Shapes SOP のDisplayフラグをオンにして、その Character Blend Shape Channels SOP を選択してから、 Blends マルチパラメータを調整してキーを打って、ブレンドシェイプのウェイトを変更/アニメーションさせます。
See also |