Page 1 of 1

How do I make this travelling through space scene?

PostPosted: Fri Dec 16, 2022 10:38 pm
by TuskerRaiderBob
Hi Everyone, I'm fairly new to Resolve, I can do the basics, I would like some pointers please on how to do the following in these links with my own astrophotography images;

instagram.com/p/Cl9BdtpDLKq/?hl=en
instagram.com/p/CkjMBIUDQmm/?hl=en

I can do the movement on a still image using the transform tool and key frames, however I've no idea how to have multiple layers of stars to give the impression of flying through 3D space. I know that Kevin uses After Effects with about 50 layers and I think that the 'stars' are in fact noise that he has made similar to this tutorial youtube.com/watch?v=aeoYZlFTzqg&list=PL5qA1fHfedR5iyYmBBap3iSAXI9lfCCWj&index=19&t=27s

I am able to separate out real stars from an image and using them would be my preferred way of doing it if that is possible, the background of the star images are completely black, so a Screen blend mode works well. Is it possible to layer still images on top of one another and apply screen blend modes to them? Then use the transform tool on each layer individually? Would that be easier than making particles in Fusion? Or could Fusion be used to create the 3D space with the real stars?

Re: How do I make this travelling through space scene?

PostPosted: Sat Dec 17, 2022 6:35 am
by RCModelReviews
Last time I did a "flying through space" model I simply used the particle generator to create a 3D starfield and then flew my camera through the field.

Came out pretty good.

Re: How do I make this travelling through space scene?

PostPosted: Sat Dec 17, 2022 10:35 pm
by Sander de Regt
I'd set up a situation with multiple 3D planes coming towards the camera and then flying through those.
You can use the 3D duplicate option to use the same one, but oriented in a different way for each plane. If you do this with 3 to 4 seperate layers, you can turn those into 20+ easily.

Re: How do I make this travelling through space scene?

PostPosted: Sat Dec 17, 2022 10:41 pm
by Sander de Regt
This took literally the time between posts to set up.

Code: Select all
{
   Tools = ordered() {
      FastNoise1 = FastNoise {
         Inputs = {
            GlobalOut = Input { Value = 250, },
            Width = Input { Value = 1920, },
            Height = Input { Value = 1080, },
            ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
            Detail = Input { Value = 0.63, },
            Contrast = Input { Value = 5, },
            Brightness = Input { Value = -0.91, },
            XScale = Input { Value = 76.8, },
            Type = Input { Value = 1, },
            Gradient = Input {
               Value = Gradient {
                  Colors = {
                     [0.825870646766169] = { 0, 0, 0, 0 },
                     [0.850746268656716] = { 1, 1, 1, 1 }
                  }
               },
            },
         },
         ViewInfo = OperatorInfo { Pos = { 165, -16.5 } },
      },
      ImagePlane3D1 = ImagePlane3D {
         Inputs = {
            ["SurfacePlaneInputs.ObjectID.ObjectID"] = Input { Value = 1, },
            MaterialInput = Input {
               SourceOp = "FastNoise1",
               Source = "Output",
            },
            ["MtlStdInputs.MaterialID"] = Input { Value = 1, },
         },
         ViewInfo = OperatorInfo { Pos = { 330, -16.5 } },
      },
      Duplicate3D1 = Duplicate3D {
         Inputs = {
            LastCopy = Input { Value = 20, },
            ["Translate.Z"] = Input { Value = 0.14, },
            ["Scale.X"] = Input { Value = 1.059, },
            ["JitterRotate.Z"] = Input { Value = 37.5, },
            SceneInput = Input {
               SourceOp = "ImagePlane3D1",
               Source = "Output",
            },
         },
         ViewInfo = OperatorInfo { Pos = { 440, -16.5 } },
      },
      Camera3D1 = Camera3D {
         NameSet = true,
         CustomData = {
            Settings = {
               [1] = {
                  Tools = ordered() {
                     Camera3D1 = Camera3D {
                        Inputs = {
                           ApertureW = Input { Value = 0.831496062992126 },
                           AoV = Input { Value = 19.2642683071402 },
                           ["Stereo.Mode"] = Input { Value = FuID { "OffAxis" } },
                           ["SurfacePlaneInputs.ObjectID.ObjectID"] = Input { Value = 1 },
                           ApertureH = Input { Value = 0.467716535433071 },
                           FilmGate = Input { Value = FuID { "BMD_URSA_4K_16x9" } },
                           ["MtlStdInputs.MaterialID"] = Input { Value = 1 }
                        },
                        Name = "Camera3D1",
                        CtrlWZoom = false,
                        NameSet = true,
                        ViewInfo = OperatorInfo { Pos = { 550, 214.5 } },
                        CustomData = {
                        }
                     }
                  }
               },
               [6] = {
                  Tools = ordered() {
                     Camera3D1 = Camera3D {
                        Inputs = {
                           FLength = Input { Value = 49.0568334445481 },
                           ["Transform3DOp.Translate.Z"] = Input { Expression = "self.ImageInput.Metadata.Translate.Z" },
                           ImagePlaneEnabled = Input { Value = 0 },
                           AoV = Input {
                              Value = 19.2642683071402,
                              Expression = "self.ImageInput.Metadata.RSCameraFOV or self.ImageInput.Metadata['rs/camera/fov']"
                           },
                           AovType = Input { Value = 1 },
                           ["Transform3DOp.Rotate.Y"] = Input { Expression = "self.ImageInput.Metadata.Rotate.Y" },
                           ApertureH = Input { Value = 0.9 },
                           FilmGate = Input { Value = FuID { "HD" } },
                           ["Transform3DOp.Rotate.X"] = Input { Expression = "self.ImageInput.Metadata.Rotate.X" },
                           ["Transform3DOp.Translate.X"] = Input { Expression = "self.ImageInput.Metadata.Translate.X" },
                           PlaneOfFocus = Input { Expression = "self.ImageInput.Metadata.RSCameraDOFFocusDistance or self.ImageInput.Metadata['rs/camera/DOFFocusDistance']" },
                           FilmBack = Input { Value = 1 },
                           ["Transform3DOp.Rotate.RotOrder"] = Input { Value = FuID { "ZXY" } },
                           ["MtlStdInputs.MaterialID"] = Input { Value = 1 },
                           ["Stereo.Mode"] = Input { Value = FuID { "OffAxis" } },
                           ["SurfacePlaneInputs.ObjectID.ObjectID"] = Input { Value = 1 },
                           ["Transform3DOp.Translate.Y"] = Input { Expression = "self.ImageInput.Metadata.Translate.Y" },
                           ApertureW = Input { Value = 1.6 },
                           ["Transform3DOp.Rotate.Z"] = Input { Expression = "self.ImageInput.Metadata.Rotate.Z" }
                        },
                        CtrlWZoom = false,
                        NameSet = true,
                        ViewInfo = OperatorInfo { Pos = { 387, 145 } },
                        CustomData = {
                        }
                     }
                  }
               }
            }
         },
         Inputs = {
            ["Transform3DOp.Translate.Z"] = Input {
               SourceOp = "Camera3D1ZOffset",
               Source = "Value",
            },
            AoV = Input { Value = 19.2642683071402, },
            ["Stereo.Mode"] = Input { Value = FuID { "OffAxis" }, },
            FilmGate = Input { Value = FuID { "BMD_URSA_4K_16x9" }, },
            ApertureW = Input { Value = 0.831496062992126, },
            ApertureH = Input { Value = 0.467716535433071, },
            ["SurfacePlaneInputs.ObjectID.ObjectID"] = Input { Value = 1, },
            ["MtlStdInputs.MaterialID"] = Input { Value = 1, },
         },
         ViewInfo = OperatorInfo { Pos = { 385, 49.5 } },
      },
      Camera3D1ZOffset = BezierSpline {
         SplineColor = { Red = 254, Green = 56, Blue = 46 },
         CtrlWZoom = false,
         NameSet = true,
         KeyFrames = {
            [0] = { 8.4, RH = { 83.3333333333333, 6.98333333333333 }, Flags = { Linear = true } },
            [250] = { 4.15, LH = { 166.666666666667, 5.56666666666667 }, Flags = { Linear = true } }
         }
      },
      Merge3D1 = Merge3D {
         Inputs = {
            SceneInput1 = Input {
               SourceOp = "Duplicate3D1",
               Source = "Data3D",
            },
            SceneInput2 = Input {
               SourceOp = "Camera3D1",
               Source = "Output",
            },
         },
         ViewInfo = OperatorInfo { Pos = { 605, 49.5 } },
      },
      Renderer3D1 = Renderer3D {
         CtrlWZoom = false,
         CustomData = {
            ToolVersion = 2,
         },
         Inputs = {
            GlobalOut = Input { Value = 250, },
            Width = Input { Value = 1920, },
            Height = Input { Value = 1080, },
            ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
            SceneInput = Input {
               SourceOp = "Merge3D1",
               Source = "Output",
            },
         },
         ViewInfo = OperatorInfo { Pos = { 770, 49.5 } },
      }
   }
}

Re: How do I make this travelling through space scene?

PostPosted: Mon Dec 19, 2022 4:04 pm
by GalinMcMahon
Off topic maybe but you'd have to be traveling at thousands of light years a second to fly past stars. Even at several times the speed of light, there would be little to no perceptible change in depth in a human's lifetime. That said, I concur with the particle generation idea.

Re: How do I make this travelling through space scene?

PostPosted: Wed Jan 25, 2023 9:21 pm
by TuskerRaiderBob
Sander de Regt wrote:This took literally the time between posts to set up.

Code: Select all
{
   Tools = ordered() {
      FastNoise1 = FastNoise {
         Inputs = {
            GlobalOut = Input { Value = 250, },
            Width = Input { Value = 1920, },
            Height = Input { Value = 1080, },
            ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
            Detail = Input { Value = 0.63, },
            Contrast = Input { Value = 5, },
            Brightness = Input { Value = -0.91, },
            XScale = Input { Value = 76.8, },
            Type = Input { Value = 1, },
            Gradient = Input {
               Value = Gradient {
                  Colors = {
                     [0.825870646766169] = { 0, 0, 0, 0 },
                     [0.850746268656716] = { 1, 1, 1, 1 }
                  }
               },
            },
         },
         ViewInfo = OperatorInfo { Pos = { 165, -16.5 } },
      },
      ImagePlane3D1 = ImagePlane3D {
         Inputs = {
            ["SurfacePlaneInputs.ObjectID.ObjectID"] = Input { Value = 1, },
            MaterialInput = Input {
               SourceOp = "FastNoise1",
               Source = "Output",
            },
            ["MtlStdInputs.MaterialID"] = Input { Value = 1, },
         },
         ViewInfo = OperatorInfo { Pos = { 330, -16.5 } },
      },
      Duplicate3D1 = Duplicate3D {
         Inputs = {
            LastCopy = Input { Value = 20, },
            ["Translate.Z"] = Input { Value = 0.14, },
            ["Scale.X"] = Input { Value = 1.059, },
            ["JitterRotate.Z"] = Input { Value = 37.5, },
            SceneInput = Input {
               SourceOp = "ImagePlane3D1",
               Source = "Output",
            },
         },
         ViewInfo = OperatorInfo { Pos = { 440, -16.5 } },
      },
      Camera3D1 = Camera3D {
         NameSet = true,
         CustomData = {
            Settings = {
               [1] = {
                  Tools = ordered() {
                     Camera3D1 = Camera3D {
                        Inputs = {
                           ApertureW = Input { Value = 0.831496062992126 },
                           AoV = Input { Value = 19.2642683071402 },
                           ["Stereo.Mode"] = Input { Value = FuID { "OffAxis" } },
                           ["SurfacePlaneInputs.ObjectID.ObjectID"] = Input { Value = 1 },
                           ApertureH = Input { Value = 0.467716535433071 },
                           FilmGate = Input { Value = FuID { "BMD_URSA_4K_16x9" } },
                           ["MtlStdInputs.MaterialID"] = Input { Value = 1 }
                        },
                        Name = "Camera3D1",
                        CtrlWZoom = false,
                        NameSet = true,
                        ViewInfo = OperatorInfo { Pos = { 550, 214.5 } },
                        CustomData = {
                        }
                     }
                  }
               },
               [6] = {
                  Tools = ordered() {
                     Camera3D1 = Camera3D {
                        Inputs = {
                           FLength = Input { Value = 49.0568334445481 },
                           ["Transform3DOp.Translate.Z"] = Input { Expression = "self.ImageInput.Metadata.Translate.Z" },
                           ImagePlaneEnabled = Input { Value = 0 },
                           AoV = Input {
                              Value = 19.2642683071402,
                              Expression = "self.ImageInput.Metadata.RSCameraFOV or self.ImageInput.Metadata['rs/camera/fov']"
                           },
                           AovType = Input { Value = 1 },
                           ["Transform3DOp.Rotate.Y"] = Input { Expression = "self.ImageInput.Metadata.Rotate.Y" },
                           ApertureH = Input { Value = 0.9 },
                           FilmGate = Input { Value = FuID { "HD" } },
                           ["Transform3DOp.Rotate.X"] = Input { Expression = "self.ImageInput.Metadata.Rotate.X" },
                           ["Transform3DOp.Translate.X"] = Input { Expression = "self.ImageInput.Metadata.Translate.X" },
                           PlaneOfFocus = Input { Expression = "self.ImageInput.Metadata.RSCameraDOFFocusDistance or self.ImageInput.Metadata['rs/camera/DOFFocusDistance']" },
                           FilmBack = Input { Value = 1 },
                           ["Transform3DOp.Rotate.RotOrder"] = Input { Value = FuID { "ZXY" } },
                           ["MtlStdInputs.MaterialID"] = Input { Value = 1 },
                           ["Stereo.Mode"] = Input { Value = FuID { "OffAxis" } },
                           ["SurfacePlaneInputs.ObjectID.ObjectID"] = Input { Value = 1 },
                           ["Transform3DOp.Translate.Y"] = Input { Expression = "self.ImageInput.Metadata.Translate.Y" },
                           ApertureW = Input { Value = 1.6 },
                           ["Transform3DOp.Rotate.Z"] = Input { Expression = "self.ImageInput.Metadata.Rotate.Z" }
                        },
                        CtrlWZoom = false,
                        NameSet = true,
                        ViewInfo = OperatorInfo { Pos = { 387, 145 } },
                        CustomData = {
                        }
                     }
                  }
               }
            }
         },
         Inputs = {
            ["Transform3DOp.Translate.Z"] = Input {
               SourceOp = "Camera3D1ZOffset",
               Source = "Value",
            },
            AoV = Input { Value = 19.2642683071402, },
            ["Stereo.Mode"] = Input { Value = FuID { "OffAxis" }, },
            FilmGate = Input { Value = FuID { "BMD_URSA_4K_16x9" }, },
            ApertureW = Input { Value = 0.831496062992126, },
            ApertureH = Input { Value = 0.467716535433071, },
            ["SurfacePlaneInputs.ObjectID.ObjectID"] = Input { Value = 1, },
            ["MtlStdInputs.MaterialID"] = Input { Value = 1, },
         },
         ViewInfo = OperatorInfo { Pos = { 385, 49.5 } },
      },
      Camera3D1ZOffset = BezierSpline {
         SplineColor = { Red = 254, Green = 56, Blue = 46 },
         CtrlWZoom = false,
         NameSet = true,
         KeyFrames = {
            [0] = { 8.4, RH = { 83.3333333333333, 6.98333333333333 }, Flags = { Linear = true } },
            [250] = { 4.15, LH = { 166.666666666667, 5.56666666666667 }, Flags = { Linear = true } }
         }
      },
      Merge3D1 = Merge3D {
         Inputs = {
            SceneInput1 = Input {
               SourceOp = "Duplicate3D1",
               Source = "Data3D",
            },
            SceneInput2 = Input {
               SourceOp = "Camera3D1",
               Source = "Output",
            },
         },
         ViewInfo = OperatorInfo { Pos = { 605, 49.5 } },
      },
      Renderer3D1 = Renderer3D {
         CtrlWZoom = false,
         CustomData = {
            ToolVersion = 2,
         },
         Inputs = {
            GlobalOut = Input { Value = 250, },
            Width = Input { Value = 1920, },
            Height = Input { Value = 1080, },
            ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
            SceneInput = Input {
               SourceOp = "Merge3D1",
               Source = "Output",
            },
         },
         ViewInfo = OperatorInfo { Pos = { 770, 49.5 } },
      }
   }
}


Thank you! How do I implement it into Resolve please?

Re: How do I make this travelling through space scene?

PostPosted: Thu Jan 26, 2023 8:03 am
by Sam Steti
You copy all the code > you paste it in the Fusion node flow ;)

Re: How do I make this travelling through space scene?

PostPosted: Thu Jan 26, 2023 1:21 pm
by TuskerRaiderBob
Sam Steti wrote:You copy all the code > you paste it in the Fusion node flow ;)


Thank you, I should have mentioned that I have only used Fusion for some basic things where I've followed a Youtube tutorial.

What kind of node does it need to be pasted into? Are there any tutorials that explain the concept of implementing code into Fusion in this way?

Re: How do I make this travelling through space scene?

PostPosted: Fri Jan 27, 2023 7:13 pm
by Sam Steti
Quickly cos' I'm awaited : man, simply copy the bunch of code you see 2 messages above (from Sander) and open the Fusion page and just paste (ctrl + v or cmd + v on mac) :)

Re: How do I make this travelling through space scene?

PostPosted: Fri Jan 27, 2023 8:22 pm
by Frank Feijen
Or you can use this terrific name-your-own-price plugin https://www.steakunderwater.com/wesuckl ... f=7&t=4232
Just set the line-thickness to 0 and animate the zoom-factor.

Re: How do I make this travelling through space scene?

PostPosted: Fri Jan 27, 2023 10:06 pm
by TuskerRaiderBob
Sam Steti wrote:Quickly cos' I'm awaited : man, simply copy the bunch of code you see 2 messages above (from Sander) and open the Fusion page and just paste (ctrl + v or cmd + v on mac) :)


Thank you! I couldn't/can't believe it was that simple :D

With Fusion I'm still at the scary noob phase where it's all overwhelming.

Re: How do I make this travelling through space scene?

PostPosted: Fri Jan 27, 2023 10:07 pm
by TuskerRaiderBob
Frank Feijen wrote:Or you can use this terrific name-your-own-price plugin https://www.steakunderwater.com/wesuckl ... f=7&t=4232
Just set the line-thickness to 0 and animate the zoom-factor.


Thank you, I shall have a look!

Re: How do I make this travelling through space scene?

PostPosted: Fri Mar 31, 2023 11:42 am
by TuskerRaiderBob
Following your help, I've managed to make a few animations and also improve my Fusion know how, however I've come up against something strange.

I setup my Image Plane 3D nodes, one for the background starless image (1), then the next for some dense stars (2) and then four for sparser stars (3 - 6 where 6 is the furthest from 1) , I position them all so that they're offset from each other on the Z axis. When I press play to review 3 - 5 disappear and I don't know why. If I slowly move between frames it looks like they are repeating the movements I did to get them in position but in reverse. Why are only these planes affected yet 1, 2 and 6 are not? I just want these 3D planes to stay in place whilst I move the camera to different positions throughout the animation.

Re: How do I make this travelling through space scene?

PostPosted: Fri Mar 31, 2023 11:47 am
by Sander de Regt
Without seeing your precise setup it's hard to tell. If you say they appear to repeat the motions you used to position them, are you sure you didn't animate them by accident?

I've done countless multiplane animations and intermediate planes shouldn't disappear.

One thing that comes to mind: are these images numbered? I.e. is it possible that they disappear because they 'run out'? What happens if you look at the 3D world from a perspective view (meaning viewing the final 3dmerge in 3D space)? Does everything look alright then?

Re: How do I make this travelling through space scene?

PostPosted: Fri Mar 31, 2023 2:25 pm
by TuskerRaiderBob
Thank you for the quick repsonse! I haven't altered anything different to what I have done with the other planes that remain.

The images are numbered, I changed their filenames so that they are no longer numbered and that seems to have fixed it!
Why would they 'run 'out' if they're numbered? I don't quite understand the logic.

On a separate note, how do you smooth out the path of the camera? I have managed to do this previously by (I think) right clicking and finding the option to smooth, however I can't replicate that now.

Re: How do I make this travelling through space scene?

PostPosted: Fri Mar 31, 2023 4:30 pm
by TuskerRaiderBob
Also unrelated, a lot of my exported videos have little jitters in them, I'm exporting at 30fps. Once the Fusion comp is rendered in Resolve in runs smooth and it renders out quickly to a file but when playing back on both PC and phone there is some jitter.

Re: How do I make this travelling through space scene?

PostPosted: Sat Apr 01, 2023 9:52 pm
by Bryan Ray
TuskerRaiderBob wrote:The images are numbered, I changed their filenames so that they are no longer numbered and that seems to have fixed it!
Why would they 'run 'out' if they're numbered? I don't quite understand the logic.


By default, a set of numbered images is processed as an image sequence--that is, video converted into frames. Fusion is designed to work best with these sequences rather than video files because that is how visual effects artists generally work (for a number of reasons that I won't go into here).

So when you imported the images, instead of being treated as individual images, they were treated as a very short clip, and when the clip ran out of frames, it vanished.