ClipMatch

導入

v3.0

詳細

2 つのクリップを 2 番目のクリップの開始時に一致させるために使用する適切な PoseOffset を決定して、クリップを一致させます。

スクリプト構文

ClipMatch( [InputObj] );

パラメータ

パラメータ タイプ 説明
InputObj 文字列 一致させる 2 つのクリップのリスト

デフォルト値: 現在選択されている値

VBScript の例

'

' Create a sphere and some paths for it to travel along.

'

set newSph = CreatePrim( "Sphere", "MeshSurface" )

set crv1 = SICreateCurve( "crvlist", 3, 0 )

SIAddPointOnCurveAtEnd crv1, -15, 0, 18, False

SIAddPointOnCurveAtEnd crv1, -6, 0, 5, False

SIAddPointOnCurveAtEnd crv1, -6, 0, -9, False

SIAddPointOnCurveAtEnd crv1, -23, 0, -14, False

set crv2 = SICreateCurve( "crvlist", 3, 0 )

SIAddPointOnCurveAtEnd crv2, 25, 0, -5, False

SIAddPointOnCurveAtEnd crv2, 14, 0, -4, False

SIAddPointOnCurveAtEnd crv2, 5, 0, -9, False

SIAddPointOnCurveAtEnd crv2, -4, 0, -10, False

SIAddPointOnCurveAtEnd crv2, -11, 0, 4, False

SIAddPointOnCurveAtEnd crv2, -3, 0, 10, False

SIAddPointOnCurveAtEnd crv2, 7, 0, 8, False

'

' Plot Actions of it moving along those paths (then delete the paths).

'

ApplyPath newSph, crv1, 1, 40, 2, True, True

set act1 = PlotToAction( newSph, newSph & "/kine.local.posx,kine.local.posy,kine.local.posz,kine.local.rotx,kine.local.roty,kine.local.rotz", "plot", 1, 40, 1, 20, 3, False, 0.01 )

DeleteObj crv1

ApplyPath newSph, crv2, 1, 40, 2, True, True

set act2 = PlotToAction( newSph, "sphere.kine.local.posx,sphere.kine.local.posy,sphere.kine.local.posz,sphere.kine.local.rotx,sphere.kine.local.roty,sphere.kine.local.rotz,sphere.kine.local.sclx,sphere.kine.local.scly,sphere.kine.local.sclz", "plot", 1, 40, 1, 20, 3, False, 0.01 )

DeleteObj crv2

'

' Put the Actions on the mixer, overlapping by a number of frames.

'

set trk1 = AddTrack( ActiveSceneRoot, , 0 )

set trk2 = AddTrack( ActiveSceneRoot, , 0 )

set clip1 = AddClip( ActiveSceneRoot, act1, , trk1, 20 )

set clip2 = AddClip( ActiveSceneRoot, act2, , trk2, 40 )

'

' Apply a character tag to indicate which object's transform to examine

' when determining the appropriate pose offset.  If you run ClipMatch

' non-interactively, you don't need this, you can just specify any "reference

' object" as the third-selected object.  A character tag is required

' when running the command interactively.

'

SelectObj newSph, , True

TagObject newSph, "CenterOfGravity"

'

' Run ClipMatch command, to determine the appropriate pose offset to

' apply to the "target" object, so that the reference object has the

' same global transform at the "match time".

'

ClipMatch clip1 & "," & clip2 & "," & newSph

AddTransition clip1, clip2, 0

SelectObj newSph, , True

関連項目

OffsetValueMap