ジャンプ先: 概要. 戻り値. 関連. フラグ. Python 例.

概要

collision( [objects] , [friction=float], [name=string], [offset=float], [resilience=float])

注: オブジェクトの名前と引数を表す文字列は、カンマで区切る必要があります。これはシノプシスに示されていません。

collision は、取り消し可能、照会可能、および編集可能です。

このコマンドは、リストされた各オブジェクトに対して新しいフィールドを作成します。このフィールドには DAG で有効なシェイプがあり、関連付けられたディペンデンシー ノードがあります。このフィールドはオブジェクトが所有するフィールドのリストに追加されます。connectDynamic を使用して、フィールドがダイナミック オブジェクトに影響を及ぼすようにします。複数のオブジェクトがリストされている場合、各オブジェクトのために個別のフィールドが作成されます。

フィールドが作成されると、このコマンドは各所有シェイプの名前とフィールド シェイプそのものの名前を返します。フィールドを照会すると、その結果を返します。フィールドを編集すると、フィールド名を返します。

オブジェクト名は提供されないがアクティブな選択リストが空ではない場合、このコマンドにより、リスト内の各オブジェクトに対するフィールドが作成されます。リストが空の場合、コマンドの既定は -pos 0 0 0 です。collision コマンドは、パーティクルをジオメトリと衝突させます。また、衝突のサーフェス プロパティ(摩擦と弾性)の値を指定することもできます。この値は、ジオメトリ オブジェクトの geoConnector ノードに格納されます。Maya の以前のバージョンとは異なり、分離した「衝突ノード」はありません。

ソフト オブジェクトがセレクション リスト内にある場合、collision コマンドは、これをコライダにすると仮定します。ソフト オブジェクトを何かと衝突させるには、connectDynamic -c を使用します。衝突(Collision)メニュー オプションは最重要オブジェクト規則を使用してこれを分類し、必要なコマンドを発行します。作成時、このコマンドは、パーティクル衝突用に設定したジオメトリ名の文字配列を返します。

このコマンドを使用して情報を照会すると、返される可能性のあるタイプが複数あります。これには次のようなケースがあります。

戻り値

string[]パーティクル衝突用に設定したジオメトリ名。

照会モードでは、戻り値のタイプは照会されたフラグに基づきます。

関連

event, particle

フラグ

friction, name, offset, resilience
ロング ネーム(ショート ネーム) 引数タイプ プロパティ
friction(f) float queryedit
サーフェスの摩擦です。これは、パーティクルが衝突する場合に減速される、衝突するパーティクルのサーフェスに対して平行な速度です。値 0 では接線速度はまったく失われず、値 1 ではパーティクルはサーフェスの法線に沿ってまっすぐに反映します。
name(n) string queryedit
フィールドの名前です。
offset(o) float queryedit
コネクタのオフセット値です。
resilience(r) float queryedit
サーフェスの弾性です。これは、サーフェスの法線に沿って反映される、衝突するパーティクルの速度です。サーフェスの法線に沿って、値が 1 の場合に完全に反映され、0 の場合にまったく反映されません。

フラグはコマンドの作成モードで表示できます フラグはコマンドの編集モードで表示できます
フラグはコマンドの照会モードで表示できます フラグに複数の引数を指定し、タプルまたはリストとして渡すことができます。

Python 例

import maya.cmds as cmds

cmds.collision( 'nurbsSphere1', 'particle1', r=.75, f=.1 )
# Causes particles of particle1 to collide with nurbsSphere1,
# and sets a resilience value of 0.75 and a friction value of 0.1
# for the surface.

cmds.collision( 'nurbsSphere1', q=True, f=1 )
# Returns the friction value stored in the geoConnector for nurbsSphere1.

cmds.collision( 'particleShape1', 'nurbsSphere1', q=True, f=1 )
# Returns the friction value that particleShape1 is using for collisions
# against nurbsSphere1.  This may be the same as the friction stored in
# nurbsSphere1's geoConnector.  Or, if the user broke that connection,
# then it is whatever value is in the particleShape1's collisionFriction
# attribute that is used for collision with nurbsSphere1.

cmds.collision( 'nurbsSphere1', 'particleShape1', q=True )
# Returns whether or not particleShape1 is checking for collisions
# against nurbsSphere1.

cmds.collision( 'particleShape1', q=True )
# Returns all of the geometries that particleShape1 is colliding with.