- Posts: 163
- Joined: Tue Apr 26, 2016 12:20 pm
You can find it by hovering over the tool and pressing F1. It will jump to (almost) the correct page in the manual.
As for the Advanced Camera Shake, it's a 'bonus' feature that's included in the bins to get you started.
It only takes the input, because that's all it needs.
Technically it's a macro with some pretty advanced functions that have been hidden from the end-user to make it more user friendly. Just move the sliders around and see what they do. It's - like the name suggests - pretty advanced and gives a more natural effect than just adding a shake to the x/y of a Transform tool.
Internally it looks like this:
- Code: Select all
{
Tools = ordered() {
AdvancedCameraShake_1 = MacroOperator {
CtrlWZoom = false,
Inputs = ordered() {
Comments = Input { Value = "Camera Shake tool which gives you more natural effect. Has all the transform controlls you need for correct shaking\r\n\r\nby Gregory Chalenko\r\nwww.compositing.ru", },
MainInput1 = InstanceInput {
SourceOp = "Xf_Shake_1",
Source = "Input",
},
Magnitude = InstanceInput {
SourceOp = "Expression_1",
Source = "n1",
Name = "Overall Magnitude",
Default = 0.5,
},
ShakeAspect = InstanceInput {
SourceOp = "Expression_1",
Source = "n3",
Default = 1,
},
PrimRandomize = InstanceInput {
SourceOp = "Shake1_1",
Source = "Randomize",
},
PrimRandomSeed = InstanceInput {
SourceOp = "Shake1_1",
Source = "RandomSeed",
Name = "Primary Shake Random Seed",
Default = 0,
},
PrimSmoothness = InstanceInput {
SourceOp = "Shake1_1",
Source = "Smoothness",
Name = "Primary Shake Smoothness",
Default = 1,
},
PrimModMax = InstanceInput {
SourceOp = "Xf_Shake_1",
Source = "PrimModMax",
Name = "Shake Modulation Max",
ControlGroup = 4,
},
PrimModMin = InstanceInput {
SourceOp = "Xf_Shake_1",
Source = "PrimModMin",
Name = "Shake Modulation Min",
ControlGroup = 4,
},
ModRandomize = InstanceInput {
SourceOp = "Shake2_1",
Source = "Randomize",
},
ModRandomSeed = InstanceInput {
SourceOp = "Shake2_1",
Source = "RandomSeed",
Name = "Modulation Random Seed",
Default = 0,
},
ModSmoothness = InstanceInput {
SourceOp = "Shake2_1",
Source = "Smoothness",
Name = "Modulation Smoothness",
},
FlipHoriz = InstanceInput {
SourceOp = "Xf_Shake_1",
Source = "FlipHoriz",
Name = "Flip Horizontally",
Page = "Transform",
},
FlipVert = InstanceInput {
SourceOp = "Xf_Shake_1",
Source = "FlipVert",
Name = "Flip Vertically",
Default = 0,
},
Edges = InstanceInput {
SourceOp = "Xf_Shake_1",
Source = "Edges",
Default = 0,
},
Center = InstanceInput {
SourceOp = "Expression_1",
Source = "p2",
Name = "Center",
},
Pivot = InstanceInput {
SourceOp = "Xf_Shake_1",
Source = "Pivot",
},
UseSizeAndAspect = InstanceInput {
SourceOp = "Xf_Shake_1",
Source = "UseSizeAndAspect",
Default = 1,
},
Size = InstanceInput {
SourceOp = "Xf_Shake_1",
Source = "Size",
Default = 1.05,
},
Aspect = InstanceInput {
SourceOp = "Xf_Shake_1",
Source = "Aspect",
Default = 1,
},
XSize = InstanceInput {
SourceOp = "Xf_Shake_1",
Source = "XSize",
Default = 1.05,
},
YSize = InstanceInput {
SourceOp = "Xf_Shake_1",
Source = "YSize",
Default = 1.05,
},
Angle = InstanceInput {
SourceOp = "Xf_Shake_1",
Source = "Angle",
Default = 0,
},
FilterMethod = InstanceInput {
SourceOp = "Xf_Shake_1",
Source = "FilterMethod",
Default = 2,
},
WindowMethod = InstanceInput {
SourceOp = "Xf_Shake_1",
Source = "WindowMethod",
Default = 0,
},
InvertTransform = InstanceInput {
SourceOp = "Xf_Shake_1",
Source = "InvertTransform",
},
FlattenTransform = InstanceInput {
SourceOp = "Xf_Shake_1",
Source = "FlattenTransform",
},
Blend = InstanceInput {
SourceOp = "Xf_Shake_1",
Source = "Blend",
Page = "Common Controls",
Default = 1,
},
ProcessWhenBlendIs00 = InstanceInput {
SourceOp = "Xf_Shake_1",
Source = "ProcessWhenBlendIs00",
Default = 0,
},
Red = InstanceInput {
SourceOp = "Xf_Shake_1",
Source = "ProcessRed",
Name = "Red",
Default = 1,
},
Green = InstanceInput {
SourceOp = "Xf_Shake_1",
Source = "ProcessGreen",
Name = "Green",
Default = 1,
},
Blue = InstanceInput {
SourceOp = "Xf_Shake_1",
Source = "ProcessBlue",
Name = "Blue",
Default = 1,
},
Alpha = InstanceInput {
SourceOp = "Xf_Shake_1",
Source = "ProcessAlpha",
Name = "Alpha",
Default = 1,
},
ApplyMaskInverted = InstanceInput {
SourceOp = "Xf_Shake_1",
Source = "ApplyMaskInverted",
Default = 0,
},
MultiplyByMask = InstanceInput {
SourceOp = "Xf_Shake_1",
Source = "MultiplyByMask",
Default = 0,
},
MaskChannel = InstanceInput {
SourceOp = "Xf_Shake_1",
Source = "MaskChannel",
Default = 3,
},
MaskHigh = InstanceInput {
SourceOp = "Xf_Shake_1",
Source = "MaskHigh",
ControlGroup = 29,
Default = 1,
},
MaskLow = InstanceInput {
SourceOp = "Xf_Shake_1",
Source = "MaskLow",
ControlGroup = 29,
Default = 0,
},
MotionBlur = InstanceInput {
SourceOp = "Xf_Shake_1",
Source = "MotionBlur",
Default = 1,
},
Quality = InstanceInput {
SourceOp = "Xf_Shake_1",
Source = "Quality",
Default = 3,
},
ShutterAngle = InstanceInput {
SourceOp = "Xf_Shake_1",
Source = "ShutterAngle",
Default = 90,
},
CenterBias = InstanceInput {
SourceOp = "Xf_Shake_1",
Source = "CenterBias",
Default = 0,
},
SampleSpread = InstanceInput {
SourceOp = "Xf_Shake_1",
Source = "SampleSpread",
Default = 1,
},
EffectMask = InstanceInput {
SourceOp = "Xf_Shake_1",
Source = "EffectMask",
}
},
Outputs = {
MainOutput1 = InstanceOutput {
SourceOp = "Xf_Shake_1",
Source = "Output",
}
},
ViewInfo = GroupInfo { Pos = { 362, 43 } },
Tools = ordered() {
Xf_Shake_1 = Transform {
CtrlWZoom = false,
CtrlWShown = false,
NameSet = true,
Inputs = {
MotionBlur = Input { Value = 1, },
Center = Input {
SourceOp = "Expression_1",
Source = "PointResult",
},
Size = Input { Value = 1.05, },
ReferenceSize = Input { Value = 1, },
},
ViewInfo = OperatorInfo { Pos = { 0, 10.15 } },
Colors = {
TileColor = { R = 0.545098039215686, G = 0.349019607843137, B = 0.368627450980392 },
TextColor = { R = 0.862745098039216, G = 0.862745098039216, B = 0.862745098039216 },
},
UserControls = ordered() {
PrimModMax = {
IC_ControlGroup = 3,
LINKID_DataType = "Number",
INPID_InputControl = "RangeControl",
IC_ControlID = 1,
IC_ControlPage = 0,
INP_Default = 1,
LINKS_Name = "Modulation Maximum",
},
PrimModMin = {
LINKS_Name = "Modulation Minimum",
INPID_InputControl = "RangeControl",
IC_ControlID = 0,
IC_ControlPage = 0,
LINKID_DataType = "Number",
IC_ControlGroup = 3,
}
}
},
Expression_1 = Expression {
CtrlWZoom = false,
CtrlWShown = false,
Inputs = {
p1 = Input {
SourceOp = "Shake1_1",
Source = "Position",
},
n1 = Input { Value = 0.5, },
n2 = Input {
SourceOp = "Shake2_1",
Source = "X",
},
n3 = Input { Value = 1, },
n4 = Input {
Value = 2,
Expression = "Xf_Shake_1.Input.Width*Xf_Shake_1.Input.XScale/Xf_Shake_1.Input.Height/Xf_Shake_1.Input.YScale",
},
PointExpressionX = Input { Value = "p1x*n1*n2+p2x", },
PointExpressionY = Input { Value = "p1y*n1*n2*n3*n4+p2y", },
NumberControls = Input { Value = 1, },
NameforNumber1 = Input { Value = "Magnitude", },
NameforNumber2 = Input { Value = "Secondary Shake", },
NameforNumber3 = Input { Value = "Shake Aspect", },
NameforNumber4 = Input { Value = "Image Aspect", },
PointControls = Input { Value = 1, },
NameforPoint1 = Input { Value = "Shake", },
NameforPoint2 = Input { Value = "Offset", },
},
},
Shake1_1 = Shake {
CtrlWZoom = false,
CtrlWShown = false,
Inputs = {
Smoothness = Input { Value = 1, },
XMinimum = Input { Value = -0.05, },
XMaximum = Input { Value = 0.05, },
},
},
Shake2_1 = Shake {
CtrlWZoom = false,
CtrlWShown = false,
Inputs = {
Smoothness = Input { Value = 5, },
XMinimum = Input { Expression = "Xf_Shake_1.PrimModMin", },
XMaximum = Input { Expression = "Xf_Shake_1.PrimModMax", },
},
}
},
Colors = {
TileColor = { R = 0.552941176470588, G = 0.356862745098039, B = 0.376470588235294 },
TextColor = { R = 0.862745098039216, G = 0.862745098039216, B = 0.862745098039216 },
}
}
},
ActiveTool = "AdvancedCameraShake_1"
}
It is also important to remember that these are 2D effects, so they shake the pixel of the image, they are not 3D cameras.