Francesco Milanese Stock Images cover banner

My 3D models are consistent with each other in size and in the method used to define their appearance when rendering: the PBR (Physically Based Rendering). Using my 3D models, therefore, I have created several thousand "STOCK" Images and Videos, very useful for creating illustrations, advertising graphics / footage and other uses.


Showing here all the images or the videos that I have realized would not make sense, also because you can directly search the objects or the themes that interest you using the tools of search directly in my portfolio on Shutterstock, GettyImages, Canva, Pond5Adobe (Dimension 3D Models, Stock Images and Stock Videos); here, instead, I will tell you how I can quickly realize many images of an object, after having imported the 3D model in a particular BLENDER project.

This tutorial has been created using version 2.80 of Blender and is aimed at those who already have a good knowledge of this software.


The "STOCK" images can be of two types: single objects on a white (or transparent) background or real "photo shoots / virtual environments" with multiple objects (for example: a notebook, a pen and a cup on a desk). In this tutorial I will talk to you, through a practical example, only about the first case, because it can be realized with only one virtual scene and few tricks; a rendering of an entire scene or an environment can be realized starting from the information and from the BLENDER project provided in this tutorial, but in general it is a vast topic, that should be addressed in another tutorial.


The scene I usually use to render "isolated" objects can be downloaded by clicking on the following link: Francesco Milanese - Stock images set and sample.


This virtual scene has been realized in Blender 2.79 and tested also in Blender 2.8, both with Cycles and with Eevee.

In the ZIP file you find, in particular, two folders:


·   the folder with the actual scene file (the "film set" equipped with background image, cameras and light sources, to illuminate the object to be rendered);

·   the folder with the 3D model "message in a bottle 1", equipped with Textures PBR for the Cycles rendering engine (but in the package you can also find the Textures PBR of type "Metallic" and "Specular", which you can then also link to an Eevee material, connecting the various images Metallic, Base Color, Normal, etc., to the inputs of the material PBR of Eevee).



Let's examine in detail the scene as it appears at the opening, without having imported any 3D model inside.


As you can see, in the scene there is (among other objects, listed in the panel "Outliner") a plane that emits light, used as a background for each shot of the virtual camera.

This object is necessary for semi-transparent objects, just like the 3D model of the message in the bottle in the ZIP file of this tutorial. In the absence of that emitting plane, in fact, the semi-transparent objects would let you glimpse the colors of the image used as the background of the virtual universe; this is not always desirable, so by default I use the white plane as the background, but of course nothing prevents you to select it and delete it from the scene (left click on the object to select it, then press the X button and confirm by clicking on the "Delete").


In Blender 2.8, the preview of the rendering is activated by pressing the Z key while the mouse cursor is in a "3D View" window, then selecting "Rendered" from the menu that will appear on the screen; in version 2.79, the key combination to press was SHIFT (or: MAIUSC) + Z.


In the panel "World" we notice that the "Surface", that is the background of the virtual universe, is an “HDR” image, supplied as external file.

I chose this image because it provides a photographic studio lighting setup, without particular shades of color or bright contrasts, but of course you can change that image to give the objects a different shading, if you prefer.


By default, this image is not visible, as the "Transparent" option in the "Films" section, in the "Render" panel, is selected; to display the background image (both in the preview and in the final rendering), disable this option.


In the "Output" panel we notice that the resolution of the image to be produced has been set to 2048x2048 pixels, but obviously this value can be modified according to your needs. The image to be produced will be 8 bit PNG with transparency ("RGBA") and I recommend leaving it this way, so you can easily isolate the transparent parts in post-production, for example in GIMP or other photo editing programs.


In the virtual scene we notice the presence of three Area light sources, called "Light 1 - Key", "Light 2 - Fill" and "Light 3 - Rim". These light sources have been arranged, as the names suggest, according to the lighting scheme "Studio Light", widely used in photography.

As for all the elements of the scene, however, they can be modified (for example, by changing their color, light intensity, position, size) or even removed from the scene, especially if their presence should introduce annoying light reflections on the most reflective objects (such as shiny metallic surfaces), or if, after changing the background image of “World”, they should introduce shading not consistent with the rest of the ambient lighting.


As I said before, in the scene there is also a plane ("Plane") equipped with an emitter material, so in fact this surface (which is placed in front of the virtual cameras, as we will see) provides a white and uniform illumination to the object.  It is a solution that provides a light background to the semi-transparent parts of the objects, if any; in its absence, these parts would show the color of the background image, which I prefer to avoid, but obviously you are free to remove this object, if you prefer.

As for the virtual cameras in the scene, I need to make a wider speech, because I also need to talk about the settings of the "Timeline" of the project.  The project includes 20 frames of animation and, for each of these frames, using the "Markers" of Blender's "Timeline" window, I set up different rendering cameras, which will then render the object from various points of view.  All this allows me to quickly create several 2D Stock Images starting from a single object and a single virtual scene.




l  In frame 3 we use the camera "Camera FRONT", type ORTHOGRAPHIC, which frames the scene (and, therefore, the object that will be inserted in the center of it) frontally, as the name suggests;

l  in frame 4 the camera "Camera LEFT" is used, which frames the object from the left, in ORTHOGRAPHIC mode;

l  in frame 5 the camera "Camera RIGHT" is used, which frames the object from the right, this time in PERSPECTIVE mode;

l  in frame 6 you use the camera "Camera TOP", which frames the object from above, in ORTHOGRAPHIC mode;

l  in all the other frames (1, 2; from 7 to 20) use is made of the virtual camera "Camera MAIN", of type PERSPECTIVE and that, among other things, is always oriented towards an object of type Empty, positioned in the center of the virtual scene, through which it is possible to easily orient the camera (it will be sufficient to select the Empty and move it to move the framing of the camera).

NOTE --- In a camera of type ORTHOGRAPHIC it doesn't make sense to move the camera forward or backward towards the framed object; to "zoom" (or better: to frame a wider or narrower portion of the scene, in this case), it is necessary instead to modify the value of the parameter "Orthographic Scale" of the camera, in the "Object Data" panel.


By importing a 3D model in the scene and resizing it to make it enter, in each frame, in the shots of the various virtual cameras, you can then quickly create 20 images, from various points of view and with different types of perspective: just set the output path of the images to be produced in the "Output" panel and click on "Animation" in the "Render" menu.



Let's do a practical test now, using the 3D model "Message in a bottle 1" provided in the ZIP file attached to this tutorial.

Open the Blender project name "Stock image scene" and, from the menu "File", choose the item "Append".

In the "File Browser" window that will appear on the screen, choose the file "message_in_a_bottle_1.blend"; at this point, in the same window, click on "Object".

Select the four objects that will be listed ("bottle", "cork", "paper", "rope") and click on "Append from Library".


The four objects will appear in the 3D scene, positioned in the center (all my 3D models have the pinpoint, called "Origin", positioned in the center of the scene).

Most probably, the object you just imported will appear huge and you will have to resize it; since “cork”, “message” and “rope” are all sons of "bottle", select the object "bottle" and scale / shrink it (by pressing the S key and moving the mouse; then, confirm the operation with a click of the left mouse button) so that it enters the frame; eventually, move it by pressing in succession the G Z keys and moving the mouse (to then confirm with a click of the left mouse button).


Immediately after resizing and placing the object within the frame, remember to select all the objects in the scene (by pressing the A key while the mouse cursor is in a "3D View" window), press the I key and choose "LocRotScale" from the "Insert KeyFrame Menu", in order to record these settings for the current frame.


This operation is very important and must be done in each of the frames of the animation to be generated, so I will repeat this recommendation afterwards.

The “Render Engine” set for rendering should be "Cycles", in the tab "Render", tab "Render - Scene"; the 3D model "Message in a bottle 1" has, inside the Blend file, the Textures for the rendering engine "Cycles", but you can create materials for “Eevee using” the Textures PBR Metals present in the “Multi Engine Texture Pack” folder, provided in the ZIP file.


Since the BLEND file of this 3D model, like all the ones I made, comes with the Textures already embedded in the file, the object is actually ready to be rendered, as you can see by activating the preview rendering (in Blender 2.8, press the Z button while the mouse is in the 3D window, then choose "Rendered").



All you have to do now is to set the objects in the center of the shots for all the other frames of the animation; summarizing, for each frame of the animation, all you have to do is:

1. Resize and place objects in the shots at will, using frames from number 7 to number 20 in order to obtain particular angles or close-ups on some elements or details;

2. Press the A key while the mouse cursor is in a "3D View" window to select all the objects in the scene;

3. Press the I key and choose "LocRotScale" from the "Insert KeyFrame Menu" that will appear on the screen.

ATTENTION --- Do steps 2 and 3 for each frame even if you have not resized or moved any object in the current frame: recording, at another time, two frames before and after the current frame, could unintentionally create an interpolation (ie: an animation) and transform the objects in intermediate frames, if you have not recorded them explicitly with the operations in steps 2 and 3.


After setting all the frames of your animation, open the "Output" panel and, in the "Output" section, set the path to disk where you want to save the files (which I recommend setting in "PNG" format with "RGBA" color; more experienced users can choose the "OpenEXR" format, to save much more information in the images of the various frames).


Make a copy of this project by saving it as it is (from the "File" menu, choose "Save As"): it's better to be forethought, before starting a rendering!


Now you can send the project to a remote Render Farm for rendering, or open the "Render" menu, click on "Render Animation" and... drink a coffee or get some sleep while you wait!



As I said at the beginning of this tutorial, that's how I created thousands of Stock images of objects, both isolated (on white background) and in compositions (importing more objects in the rendering scene, through "Append"), using my 3D models "STOCK". This operation is possible because of the coherence with which I realize my 3D models: all the models have real world dimensions (or in any case proportionate to each other, in the case of microscopic objects or astronomical ones) and are all provided with PBR textures provided in the Multi Engine Texture Pack package attached to each 3D model.