protected void marshalAnimCurve( int node_id, AnimationCurve curve, HAPI_TransformComponent transform_component ) { HAPI_Keyframe[] keys = new HAPI_Keyframe[ curve.length ]; for ( int ii = 0; ii < curve.length; ii++ ) { Keyframe unity_key = curve.keys[ ii ]; keys[ ii ].time = unity_key.time; keys[ ii ].value = unity_key.value; keys[ ii ].inTangent = unity_key.inTangent; keys[ ii ].outTangent = unity_key.outTangent; if ( transform_component == HAPI_TransformComponent.HAPI_TRANSFORM_TX ) { keys[ ii ].value *= -1; } if ( transform_component == HAPI_TransformComponent.HAPI_TRANSFORM_RY || transform_component == HAPI_TransformComponent.HAPI_TRANSFORM_RZ ) { keys[ ii ].value *= -1; } } HoudiniHost.setTransformAnimCurve( node_id, transform_component, keys, curve.length ); }
public static void setTransformAnimCurve( HAPI_NodeId node_id, HAPI_TransformComponent transform_component, HAPI_Keyframe[] curve_keyframes, int keyframe_count ) { #if ( UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || ( UNITY_METRO && UNITY_EDITOR ) ) HAPI_Result status_code = HAPI_SetTransformAnimCurve( ref mySession, node_id, transform_component, curve_keyframes, keyframe_count ); processStatusCode( status_code ); #else throw new HoudiniErrorUnsupportedPlatform(); #endif }
HAPI_SetTransformAnimCurve( HAPI_NodeId node_id, HAPI_TransformComponent transform_component, HAPI_Keyframe[] curve_keyframes, int keyframe_count);
HAPI_SetTransformAnimCurve( ref HAPI_Session session, HAPI_NodeId node_id, HAPI_TransformComponent transform_component, HAPI_Keyframe[] curve_keyframes_array, int keyframe_count );
HAPI_SetTransformAnimCurve( ref HAPI_Session session, HAPI_NodeId node_id, HAPI_TransformComponent transform_component, HAPI_Keyframe[] curve_keyframes_array, int keyframe_count);