4
$\begingroup$

Apologies for the title, this question is somewhat difficult to ask.

I am currently trying to create a 3D render of a blimp for a project. The aim of the project, without Covid, would have been to implement computer vision systems on the blimp so that it can autonomously navigate an indoor space. As this is now impossible, as part of our hand-ins, we need to make a video showing what it "could" do. As part of the video I am trying to show the field of vision of the cameras mounted on our blimp. Imported from Solidworks is a shape that represents the camera's FOV. I have parented this to the blimp so that it follows its movements. I have currently made this object transparent by reducing the alpha value in an attempt to demonstrate where the cameras can see, i.e. the giant pink mess in the pictures.

My goal is to make it so that this object is only visible on the walls/floor, where it intersects. This would be a better of the camera FOV, it would allow for more intuitive understanding of where on the walls/floor it could see. This is important, as the camera needs to be able to see a certain amount of beacons on the wall for the computer vision to work.

Things I have already attempted:

I have tried using a shrink-wrap modifier to wrap the shape to the surfaces. This does not have the desired affect as it distorts the shape.

I have also tried using a Boolean intercept with the required surfaces. This made a horrible mess.

Any help is greatly appreciated, the images attached show what I currently have and what I'm trying to get:

Blimp Photos 2 This is what I currently have, a big translucent object that represents the cameras field of view.

Blimp Photos This is the affect I'm trying to achieve, except on all walls and the floor, I made this using shrinkwrap, but as said it distorts the object.

$\endgroup$
2
  • 2
    $\begingroup$ Hello and welcome! Can you please upload your screenshot here to BSE and embed them in your question? You can edit your question and use the image icon on the toolbar. This way we have everything at a glance and do not have to click on external sites, agree on their cookie agreements, then click back again to return to the text. (After several questions with images from external sources, the procedure is no longer fun ;-) ) $\endgroup$
    – Blunder
    Commented Apr 25, 2021 at 15:35
  • $\begingroup$ Yes of course, will do that now! $\endgroup$
    – Bill Ellis
    Commented Apr 25, 2021 at 15:44

1 Answer 1

6
$\begingroup$

For this case, could you just use a UV Project modifier on the room, with the camera as its projector?

enter image description here

  • The room's mesh needs to be Simple-Subdivided sufficiently for the interpolation in the UV-mapping to approximate the geometry well.
  • The projection can be given its own UV Map, which we can call up in the room's material. The aspect ratio of the projection modifier has to be set to that of your camera.

enter image description here

  • Somewhere in your shader tree, you test the room's UV coordinate in the projected UV map, for both X and Y between 0 and 1.

Here, the shader just switches color, but you could mix that with the existing material of your room.

For more than one camera, duplicate the set-up, with a UV Project modifier for each camera.

You may have to go a bit further, if you want to exclude parts of the room behind the camera, or parts of the view occluded by intervening objects.. see here.. but I'm sure this case would be simpler than that one, if it needed elaboration.

$\endgroup$
1
  • 2
    $\begingroup$ Thank you so much, this is perfect and has saved me so much headache! $\endgroup$
    – Bill Ellis
    Commented Apr 25, 2021 at 22:19

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .