Hi - yet another pCustom related question....sorry...
I use the particle ID a lot in the pCustom tool and everything works great. However, things start to go wrong when I change the Sub Frame Accuracy in the pRender node. Consider the (extremely simple) example below. A particle emitter emitting 10 particles in the first frame. I then use a pCustom to set the position based on the particle ID. This is all fine, but when I increase the Sub Frame Accuracy (of no real use here, but it's just to illustrate the "issue"), the particles' distance from each other increases.
I'm guessing that the way particle IDs get generated/assigned/treated (?) is different when changing the Sub Frame accuracy?
It's not a real issue for me right now (as I typically leave it at 1), but it troubles me that I don't understand the exact reason...
I use the particle ID a lot in the pCustom tool and everything works great. However, things start to go wrong when I change the Sub Frame Accuracy in the pRender node. Consider the (extremely simple) example below. A particle emitter emitting 10 particles in the first frame. I then use a pCustom to set the position based on the particle ID. This is all fine, but when I increase the Sub Frame Accuracy (of no real use here, but it's just to illustrate the "issue"), the particles' distance from each other increases.
I'm guessing that the way particle IDs get generated/assigned/treated (?) is different when changing the Sub Frame accuracy?
It's not a real issue for me right now (as I typically leave it at 1), but it troubles me that I don't understand the exact reason...
- Code: Select all
{
Tools = ordered() {
pEmitter1 = pEmitter {
ID = 1,
Inputs = {
Number = Input {
SourceOp = "pEmitter1Number",
Source = "Value",
},
Style = Input { Value = FuID { "ParticleStyleBlob" }, },
["ParticleStyle.ColorOverLife"] = Input {
Value = Gradient {
Colors = {
[0] = { 1, 1, 1, 1 }
}
},
},
["ParticleStyle.SizeOverLife"] = Input {
SourceOp = "pEmitter1SizeoverLife",
Source = "Value",
},
["ParticleStyle.BlurOverLife"] = Input {
SourceOp = "pEmitter1BluroverLife2D",
Source = "Value",
},
},
ViewInfo = OperatorInfo { Pos = { 54, 15.5 } },
},
pEmitter1Number = BezierSpline {
SplineColor = { Red = 233, Green = 206, Blue = 78 },
NameSet = true,
KeyFrames = {
[0] = { 10, RH = { 0.333333333333333, 6.66666666666667 }, Flags = { Linear = true } },
[1] = { 0, LH = { 0.666666666666667, 3.33333333333333 }, Flags = { Linear = true } }
}
},
pEmitter1SizeoverLife = LUTBezier {
KeyColorSplines = {
[0] = {
[0] = { 0.5, RH = { 0.3, 0.5 }, Flags = { Linear = true } },
[1] = { 0.5, LH = { 0.7, 0.5 }, Flags = { Linear = true } }
}
},
SplineColor = { Red = 192, Green = 128, Blue = 64 },
NameSet = true,
},
pEmitter1BluroverLife2D = LUTBezier {
KeyColorSplines = {
[0] = {
[0] = { 0.5, RH = { 0.3, 0.5 }, Flags = { Linear = true } },
[1] = { 0.5, LH = { 0.7, 0.5 }, Flags = { Linear = true } }
}
},
SplineColor = { Red = 192, Green = 128, Blue = 64 },
NameSet = true,
},
pCustom1 = pCustom {
ID = 5,
Inputs = {
PositionXExpression = Input { Value = "id/10", },
PositionYExpression = Input { Value = "id/10", },
PositionZExpression = Input { Value = "id/10", },
Input = Input {
SourceOp = "pEmitter1",
Source = "Output",
},
},
ViewInfo = OperatorInfo { Pos = { 242, 16.5 } },
},
pRender1 = pRender {
Inputs = {
["_MotionBlurWarning"] = Input { Disabled = true, },
Width = Input { Value = 1920, },
Height = Input { Value = 1080, },
["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
OutputMode = Input { Disabled = true, },
IntegrationMethod = Input { Value = FuID { "RK4" }, },
["MaterialID.MaterialID"] = Input { Value = 1, },
["ObjectID.ObjectID"] = Input { Value = 1, },
Input = Input {
SourceOp = "pCustom1",
Source = "Output",
},
},
ViewInfo = OperatorInfo { Pos = { 434, 31.5 } },
},
Merge3D1 = Merge3D {
CtrlWZoom = false,
Inputs = {
SceneInput1 = Input {
SourceOp = "pRender1",
Source = "Output",
},
SceneInput2 = Input {
SourceOp = "Camera3D1",
Source = "Output",
},
},
ViewInfo = OperatorInfo { Pos = { 647.343, 32.3431 } },
},
Camera3D1 = Camera3D {
Inputs = {
["Transform3DOp.Translate.X"] = Input { Value = -2.05877946174465, },
["Transform3DOp.Translate.Y"] = Input { Value = 1.32354323565699, },
["Transform3DOp.Translate.Z"] = Input { Value = 4.37018031114979, },
["Transform3DOp.Rotate.X"] = Input { Value = -3.20000004768372, },
["Transform3DOp.Rotate.Y"] = Input { Value = -54, },
FLength = Input { Value = 18.2123442718302, },
["Stereo.Mode"] = Input { Value = FuID { "Mono" }, },
FilmGate = Input { Value = FuID { "BMD_URSA_4K_16x9" }, },
["SurfacePlaneInputs.ObjectID.ObjectID"] = Input { Value = 2, },
["MtlStdInputs.MaterialID"] = Input { Value = 2, },
},
ViewInfo = OperatorInfo { Pos = { 645.343, 160.343 } },
},
Renderer3D1 = Renderer3D {
Inputs = {
Width = Input { Value = 1920, },
Height = Input { Value = 1080, },
["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
SceneInput = Input {
SourceOp = "Merge3D1",
Source = "Output",
},
RendererType = Input { Value = FuID { "RendererOpenGL" }, },
},
ViewInfo = OperatorInfo { Pos = { 757.343, 32.3431 } },
}
}
}
www.ablackbirdcalledsue.com