nCloth ジッパー
 
 
 

この例では、nCloth にジッパーを作成する方法を示します。

ジッパーのセットアップ

ジッパーを作成するには、まずジッパーに接続する一対の nCloth オブジェクトを作成します。

クロスに入力メッシュを作成するには

  1. 作成 > ポリゴン プリミティブ(Create > Polygon Primitives) > プレーン(Plane) を選択します。

    ポリゴン プレーン オプション(Polygon Plane Options)ウィンドウが開きます。

  2. 編集 > 設定のリセット(Edit > Reset Settings)を選択します。
  3. プレーン(Plane)オプションを次のように設定します。
    • 幅の分割数(Width divisions): 6
    • 高さの分割数(Height divisions): 6
  4. 作成ボタンをクリックします。

    Mayaによって、原点を中心としたプレーンが作成されます。

  5. 作成 > ポリゴン プリミティブ(Create > Polygon Primitives) > プレーン(Plane) を選択します。

    最初のプレーンとまったく同じ 2 番目のプレーンが、同じ位置に作成されます。

プレーンを隣合わせに配置するには

  1. 2 番目のプレーンを選択します。
  2. チャンネル ボックス(Channel Box)を開きます。
  3. 移動 X(Translate X)を 1 に設定します。

    2 番目のプレーンが右に移動し、2 つのプレーンのエッジがタッチします。

プレーンを nCloth にするには

  1. 最初のプレーンをクリックし、その他のプレーンを キーを押しながらクリックして、両方を選択します。
  2. nMesh > nCloth の作成(nMesh > Create nCloth)を選択します。

    Maya によって、プレーンが nCloth になります。

  3. シミュレーションを再生します。

    プレーンが落下します。

クロスが均一に落下するのを防ぐには、コーナーをコンストレインする必要があります。

クロスのコーナーをコンストレインするには

  1. キーを押しながら、両方の nCloth プレーンを選択します。
  2. nCloth をクリックし、マーキング メニューで頂点(Vertex)を選択して、頂点(Vertex)モードに切り替えます。

    プレーンの頂点が表示されます。

  3. 各プレーンの外側のコーナーの頂点を選択し、合計 4 つの頂点を選択します。
  4. nConstraint > トランスフォーム(nConstraint > Transform)を選択します。
  5. nCloth シミュレーションを再生します。

    2 つの nCloth のどちらもが、コーナーを固定されています。両方のクロスが、結合されたポイントから落下します。

2 つの nCloth をその中央で結合するには

  1. 両方の nCloth を選択します。
  2. 頂点(Vertex)モードに切り替えます。

    nCloth の頂点が表示されます。

  3. 両方の nCloth のすべての頂点を、その交差に沿って選択します。
    注:

    両方の nCloth のエッジが互いに重なり合っているため、両方のプレーンの頂点をすべて選択するのが難しいかもしれません。これをやりやすくするには、プレーン同士をわずかに離してから頂点を選択します。これを行う場合、例を続行する前にプレーンを必ずオリジナルの位置に戻すようにしてください。

  4. nConstraint > コンポーネント間(nConstraint > Component to Component)を選択します。
  5. nCloth シミュレーションを再生します。

    2 つの nCloth オブジェクトがその中央で結合されました。

  6. アトリビュート エディタ(Attribute Editor)を開き、DynamicConstraintShape タブを選択します。
  7. コンストレイン方法(Constraint Method)縫合(Weld)に設定します。

    縫合の設定により、2 つの nCloth オブジェクトの間が空かないことが保証されます。

ジッパーの状態をコントロールする

ジッパーの状態をコントロールするには、強さマップアトリビュート(Strength Map Attribute)にランプ テクスチャを追加します。これにより、2 つの nCloth オブジェクト間のコンポーネント間の接着力の強さをコントロールできます。

ランプ テクスチャを追加するには

  1. 最初の nCloth を選択します。
  2. ウィンドウ > ハイパーグラフ: コネクション(Window > Hypergraph: Connections)を選択します。

    ハイパーグラフ: コネクション(Hypergraph: Connections)ウィンドウが開きます。

  3. nComponent3 ノードを選択します。
  4. アトリビュート エディタ(Attribute Editor)を開き、強さマップ(Strength Map)のフィールドの隣にある小さな四角いボックスをクリックします。

    レンダー ノードの作成(Create Render Node)ウィンドウが表示されます。

  5. レンダー ノードの作成(Create Render Node)ウィンドウの右側パネルで、 をクリックします。
  6. アトリビュート エディタ(Attribute Editor)ランプ アトリビュート(Ramp Attributes)のセクションで、カラー ランプの中央にある「x」というボックスをクリックして、緑のマーカーを除去します。
  7. カラー ランプの左下にある小さな赤い円を選択します。選択したカラー(Selected Color)の隣にあるカラー ボックスが変更されます。
  8. 選択したカラー(Selected Color)の隣にあるカラー ボックスをクリックします。

    カラー チューザ(Color Chooser)が表示されます。

  9. を選択して、マウスをカラー チューザの外側に移動して閉じます。

    カラー ランプの下部が黒に変更されます。

  10. アトリビュート エディタ(Attribute Editor)ランプ アトリビュート(Ramp Attributes)セクションで、カラー ランプの左上にある小さな青い円を選択します。選択したカラー(Selected Color)の隣にあるカラー ボックスが変更されます。
  11. 選択したカラー(Selected Color)の隣にあるカラー ボックスをクリックします。

    カラー チューザ(Color Chooser)が表示されます。

  12. を選択して、マウスをカラー チューザの外側に移動して閉じます。

    カラー ランプの上部が白に変更されます。

  13. シミュレーションを再生します。

    選択したカラー(Selected Color)スライド バーを再生時に調整すると、2 つのプレーンのジッパーが閉じたり開いたりします。

選択したカラー(Selected Color)を調整することで希望の結果が得られますが、nCloth ジッパーをコントロールする方法はこれだけではありません。テクスチャ配置(Texture Placement)を使用すると、同じ効果を得られる上にさらに細かいコントロールが可能です。

テクスチャ配置(Texture Placement)を編集するには

  1. アトリビュート エディタ(Attribute Editor)ランプ アトリビュート(Ramp Attributes)セクションで、カラー ランプの左下部にある小さな円を選択します。
  2. 選択した位置(Selected Position)を 0.45 に設定します。
  3. カラー ランプの左上にある小さな円を選択します。
  4. 選択した位置(Selected Position)を 0.5 に設定します。
  5. place2dTexture1 タブを選択します。
  6. 繰り返し UV(Repeat UV)を 1.0, 0.25 に設定します。
  7. シミュレーションを再生します。

    再生時、オフセット(Offset)アトリビュートの 2 番目の値を使用して、ジッパーの状態を調整できます。値 0.55 で完全に閉まった状態が生成され、値 0.175 で完全に開いた状態が生成されます。

これで、オフセット(Offset)の値をキーフレーム設定することで、ジッパーをアニメートできるようになりました。

ジッパー オブジェクトの作成

ジッパーをコントロールするには、ジッパー モデルと毛根を作成する必要があります。

コントロール可能な毛根を作成するには

  1. 最初のプレーンを選択します。
  2. ダイナミクス(Dynamics)メニュー セットで、ヘア > ヘアの作成(Hair > Create Hair) を選択します。

    ヘアの作成オプション(Create Hair Options)ウィンドウが表示されます。

  3. 編集 > 設定のリセット(Edit > Reset Settings)を選択します。
  4. ヘア オプションを次のように設定します。
    • U の数(U Count): 1
    • V の数(V Count): 1
  5. ヘアの作成(Create Hairs)をクリックします。

    複数のヘアが生えた単一の毛根が表示されます。この例では、毛根のみを使用し、実際のヘアは使用しません。

  6. ウィンドウ > アウトライナ(Window > Outliner)を選択します。

    アウトライナ(Outliner)ウィンドウが表示されます。

  7. hairSystem1 と pfxHair1 を選択し、 キーを押します。
  8. hairSystem1Follicles を選択してから、pPlane1Follicle を選択します。
  9. curve1 を選択し、 キーを押します。

    これで、ジッパーの制御に使用できる単一の毛根が残りました。次に、ジッパーを表すモデルが必要です。

ジッパー モデルを作成するには

  1. 作成 > ポリゴン プリミティブ(Create > Polygon Primitives) > 立方体(Cube) を選択します。

    ポリゴン立方体オプション(Polygon Cube Options)ウィンドウが表示されます。

  2. 編集 > 設定のリセット(Edit > Reset Settings)を選択します。
  3. 作成(Create)ボタンをクリックします。
  4. アトリビュート エディタ(Attribute Editor)を開きます。
  5. pCube1 タブを選択し、スケール(Scale)アトリビュートを 0.092, 0.026, 0.094 に設定します。
  6. シーン ビューを頂点(Vertex)モードに設定します。
  7. 立方体の遠いほうの面にある 4 つの頂点を選択してから、スケール(Scale)ツールを選択します。
  8. スケール ツールの X 軸ハンドルをゆっくり左にドラッグして、立方体が粗い V 字形になるまで続けます。スケール ツールの X 軸ハンドルをドラッグすることで、立方体の終点が確実に X 方向にのみサイズ変更されます。
  9. ウィンドウ > アウトライナ(Window > Outliner)を選択します。

    アウトライナ(Outliner)ウィンドウが表示されます。

  10. アウトライナ(Outliner)でジッパーを選択し、中マウス ボタンを押しながら pPlane1Follicle5050 の上にドラッグします。
  11. これで、ジッパー オブジェクトが先ほど作成した毛根に取り付けられました。
  12. シミュレーションを再生します。

    今度はジッパーがクロスに密着しています。

ジッパーにエクスプレッションを作成する

ジッパーが正しく動作するようにするには、2 つの nCloth オブジェクトの状態をコントロールするオフセット V(Offset V)アトリビュートにコネクトする必要があります。これを行うには、ジッパーの動作を制御するエクスプレッションを割り当てる必要があります。

ジッパーを配置するには

  1. pPlane1FollicleShape5050 を選択します。
  2. アトリビュート エディタ(Attribute Editor)で、パラメータ U(Parameter U)を 1.0 に設定します。

    これでジッパーがクロスの中央に配置されます。ここでパラメータ V(Parameter V)アトリビュートを 0 から 1.0 の間で調整すると、ジッパーがエッジの長さ分の距離を上昇したり下降したりします。

エクスプレッションを作成するには

  1. ウィンドウ > アニメーション エディタ > エクスプレッション エディタ(Windows > Animation Editors > Expression Editor)を選択します。

    エクスプレッション エディタ(Expression Editor)ウィンドウが表示されます。

  2. エクスプレッション(Expression)フィールドに次を入力します。

    place2dTexture1.offsetV = (1-pPlane1FollicleShape5050.parameterV) * 0.25 + 0.25

  3. 作成(Create)、閉じる(Close)の順にクリックします。

これでジッパーが完成しました。ジッパーを開け閉めするには、pPlane1Follicle5050 のパラメータ V(Parameter V)アトリビュートを調整します。