Jump to: Board index » General » Fusion

Importing 3D model

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

YoMama

  • Posts: 1
  • Joined: Sun Mar 24, 2019 9:40 pm
  • Real Name: Noah Schultz

Importing 3D model

PostSun Mar 24, 2019 9:42 pm

I want to import this model into resolve, but I can't do it.
https://sketchfab.com/3d-models/fortnit ... a958234f2f
Offline
User avatar

Bryan Ray

  • Posts: 2478
  • Joined: Mon Nov 28, 2016 5:32 am
  • Location: Los Angeles, CA, USA

Re: Importing 3D model

PostMon Mar 25, 2019 3:26 pm

It's in Collada format, so you'll use File > Import FBX. Uninuitive, I know, but the FBX importer handles most 3D formats, the notable exception being Alembic, which has its own importer.

Fusion won't automatically link the textures, though, so you'll have a bit of a job getting those connected!

Albedo goes to Diffuse Color, and Roughness will go to Specular Exponent or Specular Roughness, depending on the material you use. Looks like you can skip the Normal maps—they're carrying no information, and Fusion doesn't have a 'PBR' shader, so Metallic is meaningless* (plus they're all 0, anyway, so this object appears to have no metal bits).

AO and Opacity will need to be applied with a Boolean, like so:

Code: Select all
{
   Tools = ordered() {
      Loader1 = Loader {
         Clips = {
            Clip {
               ID = "Clip1",
               Filename = "D:\\Downloads\\fortnite-lama\\source\\model\\model\\textures\\15_albedo.jpg",
               FormatID = "JpegFormat",
               StartFrame = -1,
               LengthSetManually = true,
               TrimIn = 0,
               TrimOut = 0,
               ExtendFirst = 0,
               ExtendLast = 0,
               Loop = 0,
               AspectMode = 0,
               Depth = 0,
               TimeCode = 0,
               GlobalStart = 0,
               GlobalEnd = 0
            }
         },
         Inputs = {
            ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
         },
         ViewInfo = OperatorInfo { Pos = { -1650, 1930.5 } },
      },
      lambert15SG = MtlBlinn {
         CtrlWZoom = false,
         NameSet = true,
         Inputs = {
            ["Diffuse.Color.Material"] = Input {
               SourceOp = "Loader1",
               Source = "Output",
            },
            ["Specular.Color.Red"] = Input { Value = 0, },
            ["Specular.Color.Green"] = Input { Value = 0, },
            ["Specular.Color.Blue"] = Input { Value = 0, },
            ["Specular.Exponent.Material"] = Input {
               SourceOp = "Loader4",
               Source = "Output",
            },
            MaterialID = Input { Value = 115, },
         },
         ViewInfo = OperatorInfo { Pos = { -1540, 1963.5 } },
      },
      Loader2 = Loader {
         Clips = {
            Clip {
               ID = "Clip1",
               Filename = "D:\\Downloads\\fortnite-lama\\source\\model\\model\\textures\\15_AO.jpg",
               FormatID = "JpegFormat",
               StartFrame = -1,
               LengthSetManually = true,
               TrimIn = 0,
               TrimOut = 0,
               ExtendFirst = 0,
               ExtendLast = 0,
               Loop = 0,
               AspectMode = 0,
               Depth = 0,
               TimeCode = 0,
               GlobalStart = 0,
               GlobalEnd = 0
            }
         },
         Inputs = {
            ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
         },
         ViewInfo = OperatorInfo { Pos = { -1430, 1930.5 } },
      },
      ChannelBoolean1 = MtlChanBool {
         Inputs = {
            OperationR = Input { Value = 6, },
            OperationG = Input { Value = 6, },
            OperationB = Input { Value = 6, },
            BackgroundMaterial = Input {
               SourceOp = "lambert15SG",
               Source = "MaterialOutput",
            },
            ForegroundMaterial = Input {
               SourceOp = "Loader2",
               Source = "Output",
            },
            MaterialID = Input { Value = 56, },
         },
         ViewInfo = OperatorInfo { Pos = { -1430, 1963.5 } },
      },
      Loader4 = Loader {
         Clips = {
            Clip {
               ID = "Clip1",
               Filename = "D:\\Downloads\\fortnite-lama\\source\\model\\model\\textures\\15_roughness.jpg",
               FormatID = "JpegFormat",
               StartFrame = -1,
               LengthSetManually = true,
               TrimIn = 0,
               TrimOut = 0,
               ExtendFirst = 0,
               ExtendLast = 0,
               Loop = 0,
               AspectMode = 0,
               Depth = 0,
               TimeCode = 0,
               GlobalStart = 0,
               GlobalEnd = 0
            }
         },
         Inputs = {
            ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
         },
         ViewInfo = OperatorInfo { Pos = { -1650, 1963.5 } },
      },
      ChannelBoolean2 = MtlChanBool {
         Inputs = {
            OperationA = Input { Value = 1, },
            OperandBA = Input { Value = 0, },
            CoordSpace = Input { Value = FuID { "Model" }, },
            BackgroundMaterial = Input {
               SourceOp = "ChannelBoolean1",
               Source = "MaterialOutput",
            },
            ForegroundMaterial = Input {
               SourceOp = "Loader3",
               Source = "Output",
            },
            MaterialID = Input { Value = 57, },
         },
         ViewInfo = OperatorInfo { Pos = { -1320, 1963.5 } },
      },
      Loader3 = Loader {
         Clips = {
            Clip {
               ID = "Clip1",
               Filename = "D:\\Downloads\\fortnite-lama\\source\\model\\model\\textures\\15_opacity.jpg",
               FormatID = "JpegFormat",
               StartFrame = -1,
               LengthSetManually = true,
               TrimIn = 0,
               TrimOut = 0,
               ExtendFirst = 0,
               ExtendLast = 0,
               Loop = 0,
               AspectMode = 0,
               Depth = 0,
               TimeCode = 0,
               GlobalStart = 0,
               GlobalEnd = 0
            }
         },
         Inputs = {
            ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
         },
         ViewInfo = OperatorInfo { Pos = { -1320, 1930.5 } },
      }
   }
}



The idea is that you need to multiply by Ambient Occlusion after the shading's been done, then you knock out the alpha. Alternately, you could apply the opacity map to the Albedo texture, which would pass it down. But AO should be applied after the rest.

Hopefully all those materials are named to match the textures…




*There is a workflow where you can use Metallic as a mask on a material Boolean to split between a metal and non-metal material, but you don't need it for this.
Bryan Ray
http://www.bryanray.name
http://www.sidefx.com
Offline

Ratch3R

  • Posts: 1
  • Joined: Fri Sep 28, 2018 4:10 pm
  • Real Name: Clement Sauvage

Re: Importing 3D model

PostMon Mar 25, 2019 8:02 pm

Hi Bryan,

Is there any documentation about the workflow your are talking about? I'm really interested !

Thanks !

Return to Fusion

Who is online

Users browsing this forum: No registered users and 40 guests