Jump to: Board index » General » Fusion

ImagePlain3D to cast shadow of a PNG+Alpha

Learn about 3D compositing, animation, broadcast design and VFX workflows.
  • Author
  • Message
Offline
User avatar

AndrewTheGreat

  • Posts: 115
  • Joined: Tue Nov 19, 2024 12:00 pm
  • Location: UAE, Dubai
  • Real Name: Andy Fed

ImagePlain3D to cast shadow of a PNG+Alpha

PostWed Apr 16, 2025 2:22 pm

Hi. I'm making a 3D scene, and everything seems perfect but for 2 things:
1) The shadow from a ImagePlain3D node seems to be off the plain as if elevated but it's not:
image_2025-04-16_171823459.png
image_2025-04-16_171823459.png (37.32 KiB) Viewed 895 times

2) The node casts a rectangular shadow of the node itself and not the shadow of the image I use which has an alpha channel in it.

I know about this workaround with using a software renderer instead of the hardware one but with it the shadow is completely gone:
Screenshot 2025-04-16 172042.png
Screenshot 2025-04-16 172042.png (56.5 KiB) Viewed 895 times

Screenshot 2025-04-16 172047.png
Screenshot 2025-04-16 172047.png (59.34 KiB) Viewed 895 times


I won't believe Fusion has no means to fix it. I don't want to use a b\w image placed on the floor and animated instead of the real shadow. Any suggestions?
15y Premiere Pro user. Started to learn Resolve.
Offline
User avatar

Chad Capeland

  • Posts: 3284
  • Joined: Mon Nov 10, 2014 9:40 pm

Re: ImagePlain3D to cast shadow of a PNG+Alpha

PostWed Apr 16, 2025 3:57 pm

p 629
Chad Capeland
Indicated, LLC
www.floweffects.com
Offline
User avatar

AndrewTheGreat

  • Posts: 115
  • Joined: Tue Nov 19, 2024 12:00 pm
  • Location: UAE, Dubai
  • Real Name: Andy Fed

Re: ImagePlain3D to cast shadow of a PNG+Alpha

PostWed Apr 16, 2025 8:06 pm

Chad Capeland wrote:p 629

Ehm, what is it? If it's Davinci 4000+ pages book, then p 629 there is devoted to Source and Timeline Viewers.
If it's The Beginner's guide is about the Project server.
Can you be more precise?
15y Premiere Pro user. Started to learn Resolve.
Offline

Sander de Regt

  • Posts: 4092
  • Joined: Thu Nov 13, 2014 10:09 pm

Re: ImagePlain3D to cast shadow of a PNG+Alpha

PostWed Apr 16, 2025 8:08 pm

It's on page 629 of the Fusion manual, not the Resolve one.
(this is the Fusion forum, so I presume that's where Chad looked first)
Sander de Regt

ShadowMaker SdR
The Netherlands
Offline
User avatar

AndrewTheGreat

  • Posts: 115
  • Joined: Tue Nov 19, 2024 12:00 pm
  • Location: UAE, Dubai
  • Real Name: Andy Fed

Re: ImagePlain3D to cast shadow of a PNG+Alpha

PostWed Apr 16, 2025 8:14 pm

Sander de Regt wrote:It's on page 629 of the Fusion manual, not the Resolve one.
(this is the Fusion forum, so I presume that's where Chad looked first)


I don't get it... Can someone just explain, or is this forum for something else?
image_2025-04-16_231451932.png
image_2025-04-16_231451932.png (93.24 KiB) Viewed 794 times
15y Premiere Pro user. Started to learn Resolve.
Offline

Sander de Regt

  • Posts: 4092
  • Joined: Thu Nov 13, 2014 10:09 pm

Re: ImagePlain3D to cast shadow of a PNG+Alpha

PostWed Apr 16, 2025 8:23 pm

The forum is definitely for questions like these, but if the information is in the manual, there's not much point for someone else to go to the manual and copy/paste the info from the manual in the forum.
You can just read it in the manual for yourself. So the suggestion to take a look in the manual is valid one in that sense. And in my Fusion install this is indeed the explanation for all things shadow in the renderer3D. In my manual your page 629 is 633 so if you scroll up a couple of pages, you will most likelye find the info you're looking for.
Sander de Regt

ShadowMaker SdR
The Netherlands
Online
User avatar

KrunoSmithy

  • Posts: 4476
  • Joined: Fri Oct 20, 2023 11:01 pm
  • Warnings: 1
  • Real Name: Kruno Stifter

Re: ImagePlain3D to cast shadow of a PNG+Alpha

PostWed Apr 16, 2025 9:04 pm

Since only software renderer engine can cast shadows with transparent textures, and that is a bummer since its slow to render on CPU only and it doesn't support DOF etc, like Hardware renderer which is GPU. Often, especially with simpler scenes a method used is separate pass for shadow with CPU and GPU for the rest of it. That is a set up I use when its not too complicated composition. So you can use that as well.

I hope Blackmagic gives us USD shadow support for animated objects, but maybe in the next release. Manual while normally useful for many things, when it comes to this specific situation, its not all the helpeful. It is good to read it and use as refernce. But sometimes you have to find workarounds for specific needs.

PS. if you conver a simple object like cat SVG to shape system and put it in 3D with Extrude 3D node, than hardware render should also be able to cast shadows since it works fine with native 3D objects, but not with alpha in textures.

sshot-1116.jpg
sshot-1116.jpg (175.58 KiB) Viewed 771 times


sshot-1117.jpg
sshot-1117.jpg (179.23 KiB) Viewed 771 times


Code: Select all
{
   Tools = ordered() {
      Shape3D2 = Shape3D {
         CtrlWZoom = false,
         Inputs = {
            ["SurfacePlaneInputs.Visibility.CullBackFace"] = Input {
               Value = Number {
                  Value = 1
               },
            },
            ["SurfacePlaneInputs.ObjectID.ObjectID"] = Input {
               Value = Number {
                  Value = 6
               },
            },
            ["SurfacePlaneInputs.Visibility.Nest"] = Input {
               Value = Number {
                  Value = 1
               },
            },
            ["Transform3DOp.Translate.Y"] = Input { Value = -0.5, },
            Shape = Input { Value = FuID { "SurfaceCubeInputs" }, },
            ["MtlStdInputs.MaterialID"] = Input { Value = 5, },
            ["SurfaceSphereInputs.SubdivisionLevelBase"] = Input { Value = 60, },
            ["SurfaceSphereInputs.SubdivisionLevelHeight"] = Input { Value = 60, },
            ["SurfaceSphereInputs.Visibility.Nest"] = Input { Value = 1, },
            ["SurfaceSphereInputs.Visibility.CullBackFace"] = Input { Value = 1, },
            ["SurfaceSphereInputs.ObjectID.ObjectID"] = Input { Value = 1, },
            ["SurfaceCubeInputs.SizeLock"] = Input { Value = 0, },
            ["SurfaceCubeInputs.Depth"] = Input { Value = 5, },
            ["SurfaceCubeInputs.SubdivisionWidth"] = Input { Value = 1, },
            ["SurfaceCubeInputs.SubdivisionHeight"] = Input { Value = 1, },
            ["SurfaceCubeInputs.SubdivisionDepth"] = Input { Value = 1, },
            ["SurfaceCubeInputs.Visibility.Nest"] = Input { Value = 1, },
            ["SurfaceCubeInputs.BlendMode.Nest"] = Input { Value = 1, },
            ["SurfaceCubeInputs.BlendMode.SW.BlendMode"] = Input { Value = FuID { "Replace" }, },
            ["SurfaceCubeInputs.ObjectID.ObjectID"] = Input { Value = 2, }
         },
         ViewInfo = OperatorInfo { Pos = { -417.266, -151.827 } },
      },
      Cat = GroupOperator {
         NameSet = true,
         Inputs = ordered() {
            Red = InstanceInput {
               SourceOp = "Background2",
               Source = "TopLeftRed",
            },
            Green = InstanceInput {
               SourceOp = "Background2",
               Source = "TopLeftGreen",
            },
            Blue = InstanceInput {
               SourceOp = "Background2",
               Source = "TopLeftBlue",
            },
            Alpha = InstanceInput {
               SourceOp = "Background2",
               Source = "TopLeftAlpha",
            },
            UseFrameFormatSettings = InstanceInput {
               SourceOp = "Background2",
               Source = "UseFrameFormatSettings",
            },
            Width = InstanceInput {
               SourceOp = "Background2",
               Source = "Width",
            },
            Height = InstanceInput {
               SourceOp = "Background2",
               Source = "Height",
            },
            Depth = InstanceInput {
               SourceOp = "Background2",
               Source = "Depth",
            }
         },
         Outputs = {
            Output1 = InstanceOutput {
               SourceOp = "Merge1",
               Source = "Output",
            }
         },
         ViewInfo = GroupInfo {
            Pos = { -670.094, -35.0151 },
            Flags = {
               AllowPan = false,
               ForceMask = true,
               ConnectedSnap = true,
               AutoSnap = true,
               RemoveRouters = true
            },
            Size = { 286.667, 147.803, 118, 24.2424 },
            Direction = "Horizontal",
            PipeStyle = "Direct",
            Scale = 1,
            Offset = { 0, 0 }
         },
         Tools = ordered() {
            ff = PolylineMask {
               DrawMode = "ModifyOnly",
               DrawMode2 = "InsertAndModify",
               Inputs = {
                  JoinStyle = Input { Value = 2, },
                  MiterLimit = Input { Value = 4, },
                  CapStyle = Input { Value = 0, },
                  MaskWidth = Input { Value = 320, },
                  MaskHeight = Input { Value = 240, },
                  PixelAspect = Input { Value = { 1, 1 }, },
                  Polyline = Input {
                     Value = Polyline {
                        Closed = true,
                        Points = {
                           { X = -0.180447284345048, Y = 0.298753993610224, LX = -0.00297124600638971, LY = -0.00512779552715653, RX = 0.0216932907348243, RY = 0.0309584664536741 },
                           { X = -0.104792332268371, Y = 0.382555910543131, LX = -0.0263418530351438, LY = -0.02685303514377, RX = -0.00150159744408945, RY = -0.0103674121405751 },
                           { X = -0.107571884984026, Y = 0.35129392971246, LX = 0.00123003194888183, LY = 0.0103993610223642, RX = -0.00113418530351439, RY = -0.0110223642172524 },
                           { X = -0.109041533546326, Y = 0.31814696485623, LX = 0.00119808306709268, LY = 0.0110063897763578, RX = 0.0242332268370608, RY = 0.0160223642172523 },
                           { X = -0.0361821086261981, Y = 0.366022364217252, LX = -0.0249201277955272, LY = -0.015, RX = -0.00503194888178915, RY = -0.0160702875399361 },
                           { X = -0.0504472843450479, Y = 0.317571884984026, LX = 0.00455271565495202, LY = 0.0161980830670927, RX = -0.00126198083067097, RY = -0.00624600638977635 },
                           { X = -0.0540894568690096, Y = 0.298753993610224, LX = -0.000623003194888172, LY = 0.00650159744408946, RX = 0.00177316293929713, RY = -0.0047444089456869 },
                           { X = -0.0443130990415336, Y = 0.287875399361022, LX = -0.00327476038338659, LY = 0.00359424920127799, RX = 0.0066773162939297, RY = -0.00725239616613416 },
                           { X = -0.0265814696485623, Y = 0.264233226837061, LX = -0.00434504792332274, LY = 0.00896166134185306, RX = 0.00485623003194879, RY = -0.00910543130990416 },
                           { X = -0.0187859424920128, Y = 0.234632587859425, LX = -0.000846645367412191, LY = 0.0102076677316294, RX = 0.000734824281150126, RY = -0.00923322683706068 },
                           { X = -0.0101277955271565, Y = 0.208482428115016, LX = -0.00498402555910543, LY = 0.00781150159744409, RX = 0.00338658146964849, RY = -0.00501597444089458 },
                           { X = 0.000255591054313165, Y = 0.1935303514377, LX = -0.00166134185303524, LY = 0.0060702875399361, RX = 0.00130990415335452, RY = -0.00630990415335464 },
                           { X = -0.00482428115015976, Y = 0.176134185303514, LX = 0.00316293929712458, LY = 0.00519169329073482, RX = -0.0072843450479233, RY = -0.0116773162939297 },
                           { X = -0.0335782747603834, Y = 0.146597444089457, LX = 0.0120447284345048, LY = 0.00693290734824281, RX = -0.0163418530351438, RY = -0.00907348242811501 },
                           { X = -0.0858945686900958, Y = 0.141837060702875, LX = 0.0169009584664536, LY = 0.00667731629392976, RX = -0.0100638977635783, RY = -0.00378594249201275 },
                           { X = -0.101916932907348, Y = 0.11667731629393, LX = -0.000686900958466408, LY = 0.0106869009584665, RX = 0.000654952076677373, RY = -0.0144728434504792 },
                           { X = -0.0857667731629393, Y = 0.0772843450479233, LX = -0.00928115015974446, LY = 0.0110063897763578, RX = 0.00870607028753989, RY = -0.0106389776357827 },
                           { X = -0.0542651757188499, Y = 0.0511661341853035, LX = -0.011517571884984, LY = 0.00736421725239622, RX = 0.00236421725239622, RY = -0.00142172523961659 },
                           { X = -0.0466932907348243, Y = 0.0478274760383387, LX = -0.00282747603833866, LY = 0.000319488817891345, RX = -0.00129392971246006, RY = -0.000878594249201337 },
                           { X = -0.0505431309904154, Y = 0.0452076677316294, LX = 0.00126198083067086, LY = 0.000894568690095854, RX = 0.00242811501597445, RY = -0.00177316293929713 },
                           { X = -0.0426837060702876, Y = 0.0440255591054313, LX = -0.0025718849840255, LY = 0.000942492012779517, RX = 0.0523801916932908, RY = -0.0258626198083067 },
                           { X = 0.095591054313099, Y = -0.0622843450479234, LX = -0.0364376996805112, LY = 0.0462300319488819, RX = 0.0428594249201278, RY = -0.0536581469648562 },
                           { X = 0.158562300319489, Y = -0.253993610223642, LX = 0.00314696485623001, LY = 0.0686900958466454, RX = 0, RY = -0.0091373801916933 },
                           { X = 0.157076677316294, Y = -0.281325878594249, LX = -0.00108626198083062, LY = 0.00915335463258793, RX = 0.0182587859424921, RY = 0.0139616613418531 },
                           { X = 0.198130990415335, Y = -0.227012779552716, LX = -0.00923322683706074, LY = -0.0209105431309904, RX = 0.0111341853035144, RY = 0.0257667731629392 },
                           { X = 0.21111821086262, Y = -0.144792332268371, LX = 0.00190095846645366, LY = -0.0278594249201278, RX = -0.00193290734824292, RY = 0.0313258785942492 },
                           { X = 0.188162939297125, Y = -0.0542012779552715, LX = 0.0118051118210862, LY = -0.0288977635782748, RX = -0.0145367412140576, RY = 0.0361022364217253 },
                           { X = 0.149664536741214, Y = 0.0560862619808307, LX = 0.00731629392971245, LY = -0.0384664536741215, RX = -0.00487220447284353, RY = 0.0252236421725239 },
                           { X = 0.153019169329073, Y = 0.132492012779553, LX = -0.00857827476038331, LY = -0.0244728434504792, RX = 0.00744408945686903, RY = 0.0217571884984025 },
                           { X = 0.196741214057508, Y = 0.183865814696486, LX = -0.0208626198083067, LY = -0.0101597444089456, RX = 0.0194249201277955, RY = 0.00995207667731635 },
                           { X = 0.260111821086262, Y = 0.18779552715655, LX = -0.0205750798722045, LY = 0.00677316293929714, RX = 0.01758785942492, RY = -0.00584664536741208 },
                           { X = 0.301102236421725, Y = 0.152476038338658, LX = -0.00838658146964855, LY = 0.0165015974440895, RX = 0.00675718849840268, RY = -0.0139776357827476 },
                           { X = 0.307635782747604, Y = 0.107012779552716, LX = 0.00325878594249207, LY = 0.0153354632587859, RX = -0.00423322683706062, RY = -0.0211341853035144 },
                           { X = 0.268498402555911, Y = 0.0587220447284345, LX = 0.0198242811501598, LY = 0.00846645367412141, RX = -0.0122843450479233, RY = -0.00519169329073482 },
                           { X = 0.229872204472843, Y = 0.0577316293929712, LX = 0.0126357827476039, LY = -0.00309904153354629, RX = 0.0170766773162939, RY = 0.00396166134185311 },
                           { X = 0.272060702875399, Y = 0.0869808306709265, LX = -0.00904153354632586, LY = -0.0152715654952076, RX = 0.00789137380191696, RY = 0.0129552715654953 },
                           { X = 0.272827476038339, Y = 0.130143769968051, LX = 0.00645367412140563, LY = -0.0134025559105431, RX = -0.00908945686900964, RY = 0.0186102236421725 },
                           { X = 0.220159744408946, Y = 0.149856230031949, LX = 0.0190734824281149, LY = 0.00781150159744404, RX = -0.0142651757188499, RY = -0.00546325878594256 },
                           { X = 0.191565495207668, Y = 0.116725239616613, LX = 0.00394568690095842, LY = 0.0145367412140575, RX = -0.00600638977635781, RY = -0.0215015974440894 },
                           { X = 0.194392971246006, Y = 0.0512140575079872, LX = -0.00600638977635781, LY = 0.0211661341853035, RX = 0.00904153354632586, RY = -0.0323482428115016 },
                           { X = 0.230846645367412, Y = -0.0424281150159744, LX = -0.0122523961661342, LY = 0.0311661341853036, RX = 0.0135303514376998, RY = -0.0338977635782747 },
                           { X = 0.256501597444089, Y = -0.148626198083067, LX = -0.00140575079872207, LY = 0.0366932907348243, RX = 0.00118210862619816, RY = -0.010591054313099 },
                           { X = 0.256389776357827, Y = -0.180479233226837, LX = 0.000942492012779517, LY = 0.0106230031948882, RX = -0.00389776357827476, RY = -0.0786261980830671 },
                           { X = 0.125958466453674, Y = -0.361006389776358, LX = 0.0729552715654951, LY = 0.0289137380191693, RX = -0.0504952076677316, RY = -0.0202715654952076 },
                           { X = -0.0336102236421726, Y = -0.382140575079872, LX = 0.0536900958466454, LY = -0.0007827476038339, RX = -0.022332268370607, RY = 3.19488817891456e-05 },
                           { X = -0.100607028753994, Y = -0.38055910543131, LX = 0.0223642172523961, LY = 0.00035143769968049, RX = -0.0124920127795528, RY = -3.19488817891456e-05 },
                           { X = -0.137507987220447, Y = -0.373865814696485, LX = 0.0112779552715655, LY = -0.00589456869009597, RX = -0.00418530351437696, RY = 0.00222044728434501 },
                           { X = -0.145990415335463, Y = -0.362747603833866, LX = 7.98722044728084e-05, LY = -0.00507987220447281, RX = -0.000734824281150182, RY = 0.00765175718849853 },
                           { X = -0.13870607028754, Y = -0.342172523961661, LX = -0.00316293929712458, LY = -0.00650159744408929, RX = 0.000654952076677318, RY = -0.00119808306709257 },
                           { X = -0.136757188498403, Y = -0.345830670926518, LX = -0.000638977635782745, LY = 0.00123003194888172, RX = -0.000292864749733779, RY = 0.00181576144834927 },
                           { Linear = true, X = -0.137635782747604, Y = -0.34038338658147, LX = 0.000292864749733779, LY = -0.00181576144834927, RX = 0.00132587859424921, RY = -0.000820021299254514 },
                           { Linear = true, X = -0.133658146964856, Y = -0.342843450479233, LX = -0.00132587859424921, LY = 0.000820021299254403, RX = -0.000990415335463291, RY = 0.000910543130990482 },
                           { X = -0.136565495207668, Y = -0.340111821086262, LX = 0.000958466453674145, LY = -0.000910543130990482, RX = 0.0042811501597444, RY = 0.00319488817891378 },
                           { X = -0.122747603833866, Y = -0.33202875399361, LX = -0.00523961661341854, LY = -0.00146964856230025, RX = 0.00985623003194891, RY = 0.00333865814696488 },
                           { X = -0.0922044728434505, Y = -0.329840255591054, LX = -0.0101757188498403, LY = -0.000654952076677207, RX = -0.0215814696485623, RY = 0.0224600638977637 },
                           { X = -0.133466453674121, Y = -0.247779552715655, LX = 0.00541533546325884, LY = -0.0306230031948881, RX = -0.00198083067092647, RY = 0.00851437699680524 },
                           { X = -0.137428115015974, Y = -0.221916932907348, LX = 0.00196485623003195, LY = -0.00848242811501598, RX = -0.00476038338658147, RY = -0.0326198083067092 },
                           { X = -0.154424920127796, Y = -0.319392971246006, LX = 0.00777955271565489, LY = 0.0320926517571886, RX = -0.00402555910543134, RY = -0.014552715654952 },
                           { X = -0.169408945686901, Y = -0.362188498402556, LX = 0.00698083067092653, LY = 0.0134664536741216, RX = -0.00578274760383379, RY = -0.00817891373801916 },
                           { X = -0.194025559105431, Y = -0.378067092651757, LX = 0.00912140575079873, LY = 0.00337060702875402, RX = -0.0160862619808306, RY = -0.00514376996805122 },
                           { X = -0.243514376996805, Y = -0.375575079872205, LX = 0.0155750798722045, LY = -0.0062939297124599, RX = -0.00512779552715659, RY = 0.00215654952076683 },
                           { X = -0.255862619808307, Y = -0.364552715654952, LX = 0.00153354632587854, LY = -0.00579872204472842, RX = -0.00175718849840256, RY = 0.0126517571884985 },
                           { X = -0.23723642172524, Y = -0.33426517571885, LX = -0.0126198083067093, LY = -0.00353035143769975, RX = 0.00488817891373805, RY = 0.00164536741214061 },
                           { X = -0.222140575079872, Y = -0.333370607028754, LX = -0.005, LY = -0.000559105431309659, RX = 0.00381789137380195, RY = 0.00116613418530365 },
                           { X = -0.219121405750799, Y = -0.32444089456869, LX = -0.000239616613418536, LY = -0.00298722044728439, RX = 0.000766773162939272, RY = 0.0267731629392972 },
                           { X = -0.224792332268371, Y = -0.244520766773163, LX = 0.00380191693290738, LY = -0.0264536741214058, RX = -0.00297124600638976, RY = 0.0192012779552716 },
                           { X = -0.237460063897764, Y = -0.187683706070288, LX = 0.0057507987220447, LY = -0.0185623003194888, RX = -0.00720447284345049, RY = 0.0229712460063898 },
                           { X = -0.267843450479233, Y = -0.122492012779553, LX = 0.0120127795527156, LY = -0.0207667731629393, RX = -0.00881789137380196, RY = 0.0150798722044728 },
                           { X = -0.291821086261981, Y = -0.0759105431309903, LX = 0.00675718849840262, LY = -0.0161182108626199, RX = -0.0133386581469648, RY = 0.031405750798722 },
                           { X = -0.308690095846645, Y = 0.0240095846645367, LX = -0.00164536741214055, LY = -0.0339936102236421, RX = 0.0056070287539936, RY = 0.081038338658147 },
                           { X = -0.226389776357827, Y = 0.249984025559105, LX = -0.0476198083067093, LY = -0.0657827476038339, RX = 0.00993610223642172, RY = 0.0133865814696486 },
                           { X = -0.193466453674121, Y = 0.287683706070288, LX = -0.0133865814696486, LY = -0.0102396166134185, RX = 0.00444089456869012, RY = 0.00356230031948879 }
                        }
                     },
                  },
                  Polyline2 = Input {
                     Value = Polyline {
                     },
                     Disabled = true,
                  }
               },
               ViewInfo = OperatorInfo { Pos = { -56.3333, 13.7121 } },
            },
            Background1 = Background {
               Inputs = {
                  GlobalOut = Input { Value = 120, },
                  Width = InstanceInput {
                     SourceOp = "Background2",
                     Source = "Width",
                  },
                  Height = InstanceInput {
                     SourceOp = "Background2",
                     Source = "Height",
                  },
                  UseFrameFormatSettings = InstanceInput {
                     SourceOp = "Background2",
                     Source = "UseFrameFormatSettings",
                  },
                  Depth = InstanceInput {
                     SourceOp = "Background2",
                     Source = "Depth",
                  },
                  EffectMask = Input {
                     SourceOp = "ff",
                     Source = "Mask",
                  }
               },
               ViewInfo = OperatorInfo { Pos = { -40.3333, 81.2576 } },
            },
            Background2 = Background {
               CtrlWShown = false,
               Inputs = {
                  GlobalOut = Input { Value = 120, },
                  Width = Input { Value = 1670, },
                  Height = Input { Value = 1670, },
                  TopLeftAlpha = Input { Value = 0, }
               },
               ViewInfo = OperatorInfo { Pos = { 55, 8.25758 } },
            },
            Merge1 = Merge {
               HoldOutput = true,
               CtrlWShown = false,
               Inputs = {
                  Background = Input {
                     SourceOp = "Background2",
                     Source = "Output",
                  },
                  Foreground = Input {
                     SourceOp = "Background1",
                     Source = "Output",
                  },
                  Width = InstanceInput {
                     SourceOp = "Background2",
                     Source = "Width",
                  },
                  Height = InstanceInput {
                     SourceOp = "Background2",
                     Source = "Height",
                  },
                  UseFrameFormatSettings = InstanceInput {
                     SourceOp = "Background2",
                     Source = "UseFrameFormatSettings",
                  }
               },
               ViewInfo = OperatorInfo { Pos = { 55, 41.2576 } },
            }
         },
         UserControls = ordered() {
            Color = ControlPage {
               CTID_DIB_ID = "Icons.Tools.Tabs.Color"
            },
            BackgroundNest = BeginNest {
               LINKS_Name = "Background",
               ICS_ControlPage = "Color",
            },
            Red = InstanceInput {
               SourceOp = "Background2",
               INP_Default = 0,
               ICS_ControlPage = "Color",
               Source = "TopLeftRed",
            },
            Green = InstanceInput {
               SourceOp = "Background2",
               INP_Default = 0,
               ICS_ControlPage = "Color",
               Source = "TopLeftGreen",
            },
            Blue = InstanceInput {
               SourceOp = "Background2",
               INP_Default = 0,
               ICS_ControlPage = "Color",
               Source = "TopLeftBlue",
            },
            Alpha = InstanceInput {
               SourceOp = "Background2",
               INP_Default = 0,
               ICS_ControlPage = "Color",
               Source = "TopLeftAlpha",
            },
            EndBackgroundNest = EndNest {
            },
            Image = ControlPage {
               CTID_DIB_ID = "Icons.Tools.Tabs.Image"
            },
            ImageNest = BeginNest {
               LINKS_Name = "Image",
               ICS_ControlPage = "Image",
            },
            UseFrameFormatSettings = InstanceInput {
               SourceOp = "Background2",
               ICS_ControlPage = "Image",
               Source = "UseFrameFormatSettings",
            },
            Width = InstanceInput {
               SourceOp = "Background2",
               ICS_ControlPage = "Image",
               Source = "Width",
               INP_Default = 835,
            },
            Height = InstanceInput {
               SourceOp = "Background2",
               ICS_ControlPage = "Image",
               Source = "Height",
               INP_Default = 835,
            },
            Depth = InstanceInput {
               SourceOp = "Background2",
               ICS_ControlPage = "Image",
               Source = "Depth",
            },
            EndImageNest = EndNest {
            }
         }
      },
      ImagePlane3D3 = ImagePlane3D {
         Inputs = {
            ["Transform3DOp.Translate.Y"] = Input { Value = 0.382, },
            ["Transform3DOp.Translate.Z"] = Input { Value = -0.741737004576531, },
            ["SurfacePlaneInputs.SubdivisionWidth"] = Input { Value = 1, },
            ["SurfacePlaneInputs.Visibility.Nest"] = Input { Value = 1, },
            ["SurfacePlaneInputs.Lighting.Nest"] = Input { Value = 1, },
            ["SurfacePlaneInputs.BlendMode.Nest"] = Input { Value = 1, },
            ["SurfacePlaneInputs.BlendMode.SW.BlendMode"] = Input { Value = FuID { "Normal" }, },
            ["SurfacePlaneInputs.ObjectID.ObjectID"] = Input { Value = 5, },
            MaterialInput = Input {
               SourceOp = "Merge1",
               Source = "Output",
            },
            ["MtlStdInputs.MaterialID"] = Input { Value = 4, }
         },
         ViewInfo = OperatorInfo { Pos = { -528.104, -35.0151 } },
      },
      Merge3D1 = Merge3D {
         Inputs = {
            PassThroughLights = Input { Value = 1, },
            SceneInput1 = Input {
               SourceOp = "ImagePlane3D3",
               Source = "Output",
            },
            SceneInput2 = Input {
               SourceOp = "Merge3D3",
               Source = "Output",
            },
            SceneInput3 = Input {
               SourceOp = "Shape3D2",
               Source = "Output",
            }
         },
         ViewInfo = OperatorInfo { Pos = { 69.3333, -35.0151 } },
      },
      Camera3D1 = Camera3D {
         Inputs = {
            ["Transform3DOp.Translate.X"] = Input {
               SourceOp = "Camera3D1XOffset",
               Source = "Value",
            },
            ["Transform3DOp.Translate.Y"] = Input {
               SourceOp = "Camera3D1YOffset",
               Source = "Value",
            },
            ["Transform3DOp.Translate.Z"] = Input { Value = 5, },
            ["Transform3DOp.UseTarget"] = Input { Value = 1, },
            ["Transform3DOp.Target.Y"] = Input { Value = 0.39, },
            AoV = Input { Value = 19.2642683071402, },
            ["Stereo.Mode"] = Input { Value = FuID { "OffAxis" }, },
            FilmBack = Input { Value = 1, },
            FilmGate = Input { Value = FuID { "BMD_URSA_4K_16x9" }, },
            ApertureW = Input { Value = 0.831496062992126, },
            ApertureH = Input { Value = 0.467716535433071, },
            ControlVis = Input { Value = 1, },
            PlaneOfFocusVis = Input { Value = 1, },
            ["SurfacePlaneInputs.ObjectID.ObjectID"] = Input { Value = 2, },
            ["MtlStdInputs.MaterialID"] = Input { Value = 2, }
         },
         ViewInfo = OperatorInfo { Pos = { 91.3333, -209.367 } },
      },
      Camera3D1XOffset = BezierSpline {
         SplineColor = { Red = 250, Green = 132, Blue = 49 },
         NameSet = true,
         KeyFrames = {
            [0] = { -0.5, RH = { 40, -0.5 } },
            [120] = { 1, LH = { 80, 1 } }
         }
      },
      Camera3D1YOffset = BezierSpline {
         SplineColor = { Red = 252, Green = 57, Blue = 47 },
         CtrlWZoom = false,
         NameSet = true,
         KeyFrames = {
            [0] = { 0.6, RH = { 40, 0.6 } },
            [120] = { 1, LH = { 80, 1 } }
         }
      },
      Merge3D3 = Merge3D {
         Inputs = {
            PassThroughLights = Input { Value = 1, },
            SceneInput1 = Input {
               SourceOp = "Camera3D1",
               Source = "Output",
            },
            SceneInput2 = Input {
               SourceOp = "SpotLight1_1",
               Source = "Output",
            }
         },
         ViewInfo = OperatorInfo { Pos = { 91.3333, -134.799 } },
      },
      Locator3D1 = Locator3D {
         Inputs = {
            SceneInput = Input {
               SourceOp = "Merge3D1",
               Source = "Output",
            },
            Target = Input {
               SourceOp = "SpotLight1_1",
               Source = "Output",
            },
            Width = Input { Value = 1920, },
            Height = Input { Value = 1080, },
            UseFrameFormatSettings = Input { Value = 1, }
         },
         ViewInfo = OperatorInfo { Pos = { 213.789, -35.0151 } },
      },
      Override3D1 = Override3D {
         Inputs = {
            SceneInput = Input {
               SourceOp = "ImagePlane3D3",
               Source = "Output",
            },
            ["Visibility.DoIsUnseenByCameras"] = Input { Value = 1, }
         },
         ViewInfo = OperatorInfo { Pos = { -119.448, 13.8395 } },
      },
      SpotLight1_1 = LightSpot {
         Inputs = {
            ["Transform3DOp.Translate.X"] = Input { Value = -2.5, },
            ["Transform3DOp.Translate.Y"] = Input { Value = 3.5, },
            ["Transform3DOp.Translate.Z"] = Input { Value = -10, },
            ["Transform3DOp.UseTarget"] = Input { Value = 1, },
            ["ShadowLightInputs3D.Nest"] = Input { Value = 1, },
            ["ShadowLightInputs3D.ShadowsEnabled"] = Input { Value = 1, },
            ["ShadowLightInputs3D.ShadowMapSize"] = Input { Value = 2048, },
            ["ShadowLightInputs3D.MultiplicativeBias"] = Input { Value = 2.36, },
            ["ShadowLightInputs3D.AdditiveBias"] = Input { Value = 3.78, },
            ["ShadowLightInputs3D.SoftnessType"] = Input { Value = FuID { "Variable" }, }
         },
         ViewInfo = OperatorInfo { Pos = { 265.644, -134.799 } },
      },
      Renderer3D1_1 = Renderer3D {
         CustomData = {
            ToolVersion = 2,
         },
         Inputs = {
            ["RendererSoftware.ShadowsEnabled"] = Input {
               Value = Number {
                  Value = 1
               },
            },
            ["RendererSoftware.Channels.Nest"] = Input {
               Value = Number {
                  Value = 1
               },
            },
            ["RendererSoftware.LightingEnabled"] = Input {
               Value = Number {
                  Value = 1
               },
            },
            GlobalOut = Input { Value = 120, },
            Width = Input { Value = 1920, },
            Height = Input { Value = 1080, },
            UseFrameFormatSettings = Input { Value = 1, },
            Depth = Input { Value = 1, },
            AutoCropDataWindow = Input { Value = 1, },
            ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
            SceneInput = Input {
               SourceOp = "Locator3D1",
               Source = "Output",
            },
            OutputType = Input { Disabled = true, },
            RendererType = Input { Value = FuID { "RendererOpenGL" }, },
            ["RendererOpenGL.Channels.Nest"] = Input { Value = 1, },
            ["RendererOpenGL.AntiAliasing.Channels.RGBA.HighQuality.Enable"] = Input { Value = 1, },
            ["RendererOpenGL.AntiAliasing.Presets.Color.Supersampling.HighQuality.Rate"] = Input { Value = 3, },
            ["RendererOpenGL.AntiAliasing.Presets.Color.Multisampling.LowQuality.SampleCount"] = Input { Value = 2, },
            ["RendererOpenGL.AntiAliasing.Presets.Color.Multisampling.HighQuality.SampleCount"] = Input { Value = 3, },
            ["RendererOpenGL.AntiAliasing.Presets.Aux.Supersampling.HighQuality.Rate"] = Input { Value = 3, },
            ["RendererOpenGL.AntiAliasing.Presets.Aux.Multisampling.LowQuality.SampleCount"] = Input { Value = 2, },
            ["RendererOpenGL.AntiAliasing.Presets.Aux.Multisampling.HighQuality.SampleCount"] = Input { Value = 3, },
            ["RendererOpenGL.AccumulationEffects"] = Input { Value = 1, },
            ["RendererOpenGL.AccumQuality"] = Input { Value = 32, },
            ["RendererOpenGL.DoFBlur"] = Input { Value = 0.1, },
            ["RendererOpenGL.LightingEnabled"] = Input { Value = 1, },
            ["RendererOpenGL.MaximumTextureDepth"] = Input { Value = 3, }
         },
         ViewInfo = OperatorInfo { Pos = { 405.681, -34.1581 } },
         SubInputsData = {
            RendererOpenGL = {
               Version = 1
            }
         }
      },
      Renderer3D1_2 = Renderer3D {
         CustomData = {
            ToolVersion = 2,
         },
         Inputs = {
            GlobalOut = Input { Value = 120, },
            Width = Input { Value = 1920, },
            Height = Input { Value = 1080, },
            UseFrameFormatSettings = Input { Value = 1, },
            Depth = Input { Value = 1, },
            AutoCropDataWindow = Input { Value = 1, },
            ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
            SceneInput = Input {
               SourceOp = "Merge3D4",
               Source = "Output",
            },
            CameraSelector = Input { Value = FuID { "Camera3D1" }, },
            OutputType = Input { Disabled = true, },
            ["RendererOpenGL.Channels.Nest"] = Input { Value = 1, },
            ["RendererOpenGL.AntiAliasing.Channels.RGBA.HighQuality.Enable"] = Input { Value = 1, },
            ["RendererOpenGL.AntiAliasing.Presets.Color.Supersampling.HighQuality.Rate"] = Input { Value = 3, },
            ["RendererOpenGL.AntiAliasing.Presets.Color.Multisampling.LowQuality.SampleCount"] = Input { Value = 2, },
            ["RendererOpenGL.AntiAliasing.Presets.Color.Multisampling.HighQuality.SampleCount"] = Input { Value = 3, },
            ["RendererOpenGL.AntiAliasing.Presets.Aux.Supersampling.HighQuality.Rate"] = Input { Value = 3, },
            ["RendererOpenGL.AntiAliasing.Presets.Aux.Multisampling.LowQuality.SampleCount"] = Input { Value = 2, },
            ["RendererOpenGL.AntiAliasing.Presets.Aux.Multisampling.HighQuality.SampleCount"] = Input { Value = 3, },
            ["RendererOpenGL.AccumulationEffects"] = Input { Value = 1, },
            ["RendererOpenGL.AccumQuality"] = Input { Value = 32, },
            ["RendererOpenGL.DoFBlur"] = Input { Value = 0.1, },
            ["RendererOpenGL.LightingEnabled"] = Input { Value = 1, },
            ["RendererOpenGL.ShadowsEnabled"] = Input { Value = 1, },
            ["RendererOpenGL.MaximumTextureDepth"] = Input { Value = 3, },
            ["RendererSoftware.Channels.Nest"] = Input { Value = 1, },
            ["RendererSoftware.LightingEnabled"] = Input { Value = 1, },
            ["RendererSoftware.ShadowsEnabled"] = Input { Value = 1, }
         },
         ViewInfo = OperatorInfo { Pos = { 311.219, 63.5291 } },
         SubInputsData = {
            RendererOpenGL = {
               Version = 1
            }
         }
      },
      Merge3D4 = Merge3D {
         Inputs = {
            PassThroughLights = Input { Value = 1, },
            SceneInput1 = Input {
               SourceOp = "Merge3D2",
               Source = "Output",
            },
            SceneInput2 = Input {
               SourceOp = "Merge3D3",
               Source = "Output",
            }
         },
         ViewInfo = OperatorInfo { Pos = { 91.3333, 63.5291 } },
      },
      ReplaceMaterial3D1 = ReplaceMaterial3D {
         Inputs = {
            SceneInput = Input {
               SourceOp = "Shape3D2",
               Source = "Output",
            },
            ["ReplaceMode.Nest"] = Input { Value = 1, },
            ["MtlStdInputs.ReceivesLighting"] = Input { Value = 0, },
            ["MtlStdInputs.MaterialID"] = Input { Value = 1, }
         },
         ViewInfo = OperatorInfo { Pos = { -359.439, 63.5291 } },
      },
      Merge3D2 = Merge3D {
         Inputs = {
            SceneInput1 = Input {
               SourceOp = "ReplaceMaterial3D1",
               Source = "Output",
            },
            SceneInput2 = Input {
               SourceOp = "Override3D1",
               Source = "Output",
            }
         },
         ViewInfo = OperatorInfo { Pos = { -119.448, 63.5291 } },
      },
      Merge2 = Merge {
         Inputs = {
            Background = Input {
               SourceOp = "Renderer3D1_1",
               Source = "Output",
            },
            Foreground = Input {
               SourceOp = "Renderer3D1_2",
               Source = "Output",
            },
            Center = Input { Value = { 0.5, 0.501 }, },
            ApplyMode = Input { Value = FuID { "Multiply" }, },
            PerformDepthMerge = Input { Value = 0, },
            EffectMask = Input {
               SourceOp = "Renderer3D1_1",
               Source = "Output",
            }
         },
         ViewInfo = OperatorInfo { Pos = { 642.779, -34.1581 } },
      },
      Merge3 = Merge {
         Inputs = {
            Background = Input {
               SourceOp = "Background4",
               Source = "Output",
            },
            Foreground = Input {
               SourceOp = "Merge2",
               Source = "Output",
            },
            PerformDepthMerge = Input { Value = 0, }
         },
         ViewInfo = OperatorInfo { Pos = { 837.62, -34.1581 } },
      },
      Background4 = Background {
         Inputs = {
            GlobalOut = Input { Value = 120, },
            Width = Input { Value = 1920, },
            Height = Input { Value = 1080, },
            Depth = Input { Value = 3, },
            ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
            Type = Input { Value = FuID { "Gradient" }, },
            TopLeftRed = Input { Value = 0.333333333333333, },
            GradientType = Input { Value = FuID { "Radial" }, },
            Start = Input {
               SourceOp = "Locator3D1",
               Source = "PositionLeft",
            },
            Gradient = Input {
               Value = Gradient {
                  Colors = {
                     [0] = { 0.666666666666667, 0.666666666666667, 0.666666666666667, 1 },
                     [1] = { 0, 0, 0, 1 }
                  }
               },
            }
         },
         ViewInfo = OperatorInfo { Pos = { 837.62, 17.5521 } },
      }
   }
}
Offline
User avatar

AndrewTheGreat

  • Posts: 115
  • Joined: Tue Nov 19, 2024 12:00 pm
  • Location: UAE, Dubai
  • Real Name: Andy Fed

Re: ImagePlain3D to cast shadow of a PNG+Alpha

PostWed Apr 16, 2025 9:50 pm

Thanks a lot, KrunoSmithy, you've been much of help, I'm gonna try that out
15y Premiere Pro user. Started to learn Resolve.
Offline

birdseye

  • Posts: 474
  • Joined: Fri Jun 12, 2020 2:36 pm
  • Real Name: Iain Fisher

Re: ImagePlain3D to cast shadow of a PNG+Alpha

PostFri Apr 18, 2025 12:37 am

This VFXstudy tutorial shows you how to get what you want.


Return to Fusion

Who is online

Users browsing this forum: No registered users and 34 guests