v3.0
ヘア オブジェクト間でヘア スタイルをコピーします。
注: ソースとターゲットは同じエミッタ オブジェクトとすることはできません。また、ソースのヘアとターゲットのヘアはダイナミクスを持つことはできません(スタイルのコピーは、スタイル モードで実行します)。
さらに、ソース オブジェクトとターゲット オブジェクトを位置合わせする必要があります(できれば原点が好ましい)。 こうしておくと、3.5 とそれ以前のバージョン間でスタイルをコピーする際の後方互換性の問題を避けることができます。3.5 で新しく導入された Pose コンストレイントにより、オブジェクトが原点を中心に位置合わせされていないと、位置がわずかにずれるという問題が発生します。
CopyStyle( [TargetHairObject], [ModelHairStyleObject] ); |
パラメータ | タイプ | 説明 |
---|---|---|
TargetHairObject | オブジェクト名 |
新しいスタイルを受け取るヘア オブジェクト デフォルト値: 現在選択されている値 |
ModelHairStyleObject | オブジェクト名 |
スタイルのコピー元となるヘア オブジェクト デフォルト値:選択セッションを開始 |
'Create two grids of different subdivision settings Set oGridSource = CreatePrim( "Grid", "MeshSurface", "EmitterSource" ) Translate oGridSource, -5, 0, 0, siAbsolute, siParent, siObj, siX Set oGridTarget = CreatePrim( "Grid", "MeshSurface", "EmitterTarget" ) SetValue oGridTarget & ".polymsh.geom.subdivu", 4 SetValue oGridTarget & ".polymsh.geom.subdivv", 4 Translate oGridTarget, 5, 0, 0, siAbsolute, siParent, siObj, siX 'Apply hair to each grid. The "source" hair will have a style we'll copy to the "target". Set oHairSource = ApplyHairOp( oGridSource ) SetValue oHairSource & ".Name", "HairSource" ApplyHairClumpOp oHairSource SetValue oHairSource & ".ClumpOp.clump", 0.2 ApplyHairRotateOp oHairSource SetValue oHairSource & ".RotateOp.type", 1 SetValue oHairSource & ".RotateOp.angle", 20 Set oHairTarget = ApplyHairOp( oGridTarget ) SetValue oHairTarget & ".Name", "HairTarget" 'Now Transplant hair from Source to Target CopyStyle oHairTarget, oHairSource |