Is there a "reprojection" feature in InstaMat?

3DCoat has this interesting feature called “Edit projection in external editor”:

(start from 17:16)

Basically it allows the user to view the model at any angle, project it to a .psd file. You can edit the .psd file with Photoshop or any image editor that supports .psd, then 3DCoat will reproject it onto the model (according the UV, of course).

I found this is a very cool feature, especially when working with Photoshop’s AI generative fill feature. Also in a non-PBR workflow, like 2.5D mobile game, we often only care the how the models of background objects look at angles, and this feature is perfect for this.

Does InstaMat have something similar?

Hello @raincole ,

Thanks for your post!

Yes, a workflow like this is possible with InstaMAT. We can use a feature called the Paint Projector to project images onto the surface of the model. In this case, we could take a screenshot of the model, paint on it using a 2D painting application, and project it back onto the mesh. Here’s how the process can be done in InstaMAT.

  1. In the Viewport Settings panel, set the Tonemap Operator under Camera Settings to sRGB.
  2. For a stylized model like this, you can change the Render Mode to Solo Material Channel and set the channel to Base Color. The bottom left corner of the Viewport should say PBR Channel Preview: BaseColor (Tonemapped).
  3. Orbit the camera around the model to the orientation you want to capture. Take a square screenshot (with a 1:1 aspect ratio). The screenshot should be centered on the viewport and sized to fit the entire viewport area. Be sure not to adjust InstaMAT’s viewport camera from this point onward.
  4. Open the screenshot in a 2D painting application and paint any additional details. Save the changes to the screenshot.
  5. Switch back to InstaMAT and create a new Multi-Channel Brush Layer.
  6. Load the painted screenshot into the BaseColor channel of the Multi-Channel Layer. This can be done by clicking the Image Resource button for the BaseColor channel in the Layer Channels panel and dragging the image into the Image Resource input.
  7. Enable the Paint Projector in the top left corner of the Viewport or press the P key.
  8. Without adjusting the viewport camera, increase the size of the brush and paint over the affected areas of the mesh.

The adjustments will be projected from the image onto the surface of the mesh. Here is a quick video demonstrating the process.

Thanks again for your post and if you have any further questions, don’t hesitate to ask! :blush:

2 Likes

Thanks for sharing that @Pixby that’s a pretty cool workflow. I think we should include this in the knowledge base.

1 Like

It kinda works, but I think the fact that you need to take the screenshot yourself is… far less than ideal. I hope this workflow could be more automatic.

For example, in 3DCoat:

  1. It takes a snapshot of the viewport so no need an screenshot software, and no need to make sure it’s square.
  2. It saves the UV wireframe as well for reference.
  3. It saves the snapshot to a specific temporary file, and it reloads the file back when its content is changed.
  4. It saves the camera position so it doesn’t matter if the user accidentally moves the camera.

Perhaps this should be formatted as a feature request…

Thanks @raincole for the additional feedback.

Indeed I think creating a feature request would help track the feature and allow others to vote to show their interest. Please feel free to create one in the InstaMAT > Feature Requests category with the Feature Request post template which is automatically populated in the new post’s text input field.

Thanks again!