移動先: 概要 戻り値 関連項目. フラグ. Python 例.

概要

blendShape( [objects] , [after=boolean], [before=boolean], [deformerTools=boolean], [envelope=float], [exclusive=string], [frontOfChain=boolean], [geometry=string], [ignoreSelected=boolean], [inBetween=boolean], [name=string], [origin=string], [parallel=boolean], [prune=boolean], [remove=boolean], [split=boolean], [target=[string, uint, string, float]], [topologyCheck=boolean], [weight=[uint, float]], [weightCount=uint])

注意: オブジェクト名や引数を表す文字列はカンマで区切ります。これは概要には示されていません。

blendShape は 「元に戻す」が可能、「照会」が可能、「編集」が可能 です。

このコマンドは、ブレンド シェイプ デフォーマで、初期のベースシェイプに対して各ターゲットシェイプの指定量だけブレンドするブレンド シェイプ デフォーマを作成します。 ベース シェイプはそれぞれ、固有のターゲット シェイプのセットで変形されます。 ターゲット シェイプには、シェイプのウェイト値の 1 つに関連付けるインデックスがあります。

作成モードの場合、セレクション リストの最初の項目はベース シェイプとして、その他の入力はターゲット シェイプとして扱われます。リストの最初の項目に複数のシェイプがグループ化されている場合、ターゲットにも同じシェイプの階層がある必要があります。デフォーマの -g フラグを使用して、さらにベース シェイプを編集モードに追加することができます。

戻り値

string[](ブレンド シェイプ ノード名)

戻り値の型は照会モードでは照会フラグが基になります。

関連項目

bindSkin, boneLattice, copyFlexor, copySkinWeights, flexor, skinCluster, skinPercent, wire, wrinkle

フラグ

after, before, deformerTools, envelope, exclusive, frontOfChain, geometry, ignoreSelected, inBetween, name, origin, parallel, prune, remove, split, target, topologyCheck, weight, weightCount
ロング ネーム(ショート ネーム) 引数型 プロパティ
name(n) string create
作成されるノードの名前を指定するために使用されます。
geometry(g) string queryeditmultiuse
-rm フラグも指定していない限り、指定したオブジェクトは、このデフォーマ オブジェクトによって変形されるオブジェクトのリストに追加されます。照会すると string string string ...を返します。
remove(rm) boolean editmultiuse
-g フラグの後ろにリストされているオブジェクトをこのデフォーマから削除するように指定します。
before(bf) boolean create
既存のチェーンに対する挿入やアペンドのデフォルト動作が目的どおりでない場合、新しいジオメトリ シェイプを作成する必要がある場合でも、このフラグを使用して、強制的にこのコマンドによってチェーンの選択したノードの前にデフォーマ ノードをスティックさせることができます。
after(af) boolean create
既存のチェーンに対する挿入やアペンドのデフォルト動作が目的どおりでない場合、新しいジオメトリ シェイプを作成する必要がある場合でも、このフラグを使用して、コマンドによってチェーンの選択したノードの後にデフォーマ ノードを強制的にスティックさせることができます。
split(sp) boolean create
デフォーマを既存のチェーンに挿入/アペンドする代わりに、ディペンデンシー グラフで新しいチェーンを分岐させます。
frontOfChain(foc) boolean create
このコマンドを使用して、新しいデフォーマ ノードが、シェイプのヒストリで既存のデフォーマとスキン ノードの前(上流、ただし既存のツィーク ノードの前ではありません)に配置されるように指定します。デフォーマへの入力は、表示される下流のシェイプではなく上流のシェイプです。したがって、このフラグの動作は、新しいデフォーマが追加されたときに下流のデフォーマがリセット位置(hasNoEffect)にある場合に、最も直感的になります。
parallel(par) boolean create
オブジェクトのヒストリの既存のデフォーマに平行するチェーンの新規デフォーマを挿入します。blendShape を挿入して、平行の結果とブレンドします。
ignoreSelected(ignoreSelected) boolean create
現在のセレクション リスト上のオブジェクトを変形しないようにコマンドに指示します。
deformerTools(dt) boolean query
デフォーマ ツール オブジェクト(ある場合)の名前を string string ... として返します。
prune(pr) boolean edit
現在の設定のデフォーマによって変形されないポイントを デフォーマ セットから削除します。
exclusive(ex) string createquery
デフォメーション セットをデフォーム パーティションに置きます。
envelope(en) float createqueryedit
デフォメーション全体のどの程度を適用するかを制御する、デフォーマのエンベロープ値を設定します。デフォルトは 1.0 です。
target(t) [string, uint, string, float] createqueryeditmultiuse
ベース シェイプ ベース オブジェクトのインデックス ターゲット シェイプとしてターゲット オブジェクトを設定します。シェイプのウェイトが targetValue の場合、ターゲット シェイプの影響を 100%受けます。
パラメータ リスト:
  1. string: ベース オブジェクト
  2. int: インデックス
  3. string: ターゲット オブジェクト
  4. double: ターゲット値
inBetween(ib) boolean createedit
指定したターゲットがインビトウィーンとして機能することを示します。インビトウィーン ターゲットは、ベース シェイプと別のターゲット間の中間的なターゲットとして機能するものです。
topologyCheck(tc) boolean create
ブレンドするシェイプ間のトポロジ マッチのチェック状態を設定します。デフォルトはオンです。
weight(w) [uint, float] createqueryeditmultiuse
インデックス(最初のパラメータ)のウェイト値(2 番目のパラメータ)を設定します。
weightCount(wc) uint createqueryedit
シェイプのウェイト値を数値で設定します。
origin(o) string create
デフォルトでは、blendShape はワールド空間に対して実行されます。有効な値は「world」と「local」です。local フラグは、シェイプのローカルの原点に対してブレンド シェイプを実行します。

: コマンドの作成モードで使用可能なフラグ : コマンドの編集モードで使用可能なフラグ
: コマンドの照会モードで使用可能なフラグ : タプルまたはリストとして渡された複数の引数を持てるフラグ

Python 例

import maya.cmds as cmds

#
# Perform a blendShape using the currently-selected objects.
# The lead (last-selected) object will be the base shape, and each
# of the others become targets.
#
cmds.blendShape()

#
# Create a blendShape that starts with curve3 as the base, and blends
# in curve1 and curve2 as targets.

cmds.blendShape( 'curve1', 'curve2', 'curve3' )

#
# Apply 80% of the total blendShape deformation, by setting
# the envelope parameter to 0.8
cmds.blendShape( 'blendShape1', edit=True, en=0.8 )


#
# Set the weights for the first two target shapes to 0.6
# and 0.1 respecxtively
cmds.blendShape( 'blendShape1', edit=True, w=[(0, 0.6), (1, 0.1)] )

#
# Add a third target (target3) to the blendShape on curve3
cmds.blendShape( 'blendShape1', edit=True, t=('curve3', 1, 'target3', 1.0) )

#
# Add an inbetween (smirk) on target3 for base shape curve3
# The inbetween will take effect at a weight of 0.2
cmds.blendShape( 'blendShape2', edit=True, ib=True, t=('curve3', 2, 'smirk', 0.2) )