Skip to main content
Question

3DModelRenderer

  • 13 July 2024
  • 0 replies
  • 16 views

FME Hub user dmitribagh just uploaded a new transformer to the FME Hub.

The transformer creates high-quality renderings of 3D models using Blender. It allows you to customize various aspects of the rendering process, including light settings, camera position, background color, and ground surface texturing. Blender must be installed in order to use the transformer: Download it from here: https://www.blender.org.

The transformer generates and silently runs the Python script within Blender through a command line call. No FME Python adjustments are required.

Input

The transformer accepts 3D data such as surfaces and solids.

Output

The output of the transformer is a high-quality rendered image of the input 3D model. The image is generated using Blender's rendering engine and can be customized to various resolutions and aspect ratios. Key features of the output include:

- Customizable image resolution and orientation (landscape or portrait)

- Configurable light and camera settings

- Reflective and textured ground surfaces

The rendered image can be used for various purposes, such as visualization, presentations, and further processing in other applications.

Parameters

Path to Blender.exe

The file path to the Blender executable. Ensure this points to the Blender application on your system to enable rendering.

Orientation

The orientation of the output image. Choose between Landscape and Portrait.

Dimensions, px

The dimensions for the output image in pixels. Select from predefined resolutions or choose Custom to specify your own dimensions.

Custom dimensions

Enables input fields for custom dimensions. This option is visible only when Dimensions is set to Custom.

Width, px

The width of the output image in pixels. This is available only if Dimensions is set to Custom.

Height, px

The height of the output image in pixels. This is available only if Dimensions is set to Custom.

Light Energy

The intensity of the light source. Adjust the value to control the brightness of the scene. The range is from 1 (dim) to 10 (bright).

Horizontal Light Angle

The horizontal angle of the light source in degrees. This defines the direction from which the light is shining horizontally.

Vertical Light Angle

The vertical angle of the light source in degrees. This defines the elevation of the light source above the horizon.

Horizontal Camera Angle

The horizontal angle of the camera in degrees. This defines the direction the camera is pointing horizontally.

Vertical Camera Angle

The vertical angle of the camera in degrees. This defines the elevation of the camera above the horizon.

Camera Distance Mode

Select whether to use an automatically calculated camera distance based on the model size or to specify the camera distance manually. Options include:

Automatic: The camera distance is calculated based on the bounding box of the model to fit the entire object within the view.

Manual: The camera distance is set manually by the user.

Note: In automatic mode, the calculated distance is logged. Users can switch to manual mode and adjust the value to achieve a better fit if needed.

Camera Distance

The distance to the camera from the center of the model. Adjust this value to zoom in or out. This is only available when camera mode is set to "Manual"

Background Color

The background color of the rendered image, specified as a normalized RGB triplet (e.g., "1,1,1" for white). Note that rendering won't output a perfect white or other colors as set - the whole scene will define the actual look of the background color.

Ground Surface

The type of ground feature to be used in the scene. Options include Color, Texture, or None.

Ground Feature Scale Factor

The scale factor used to enlarge the ground surface relative to the bounding box of all features entering the transformer. This parameter scales the bounding box around the features, expanding it outwards from their common center. This creates a larger ground surface on which the model stands, providing additional space around the rendered model.

Ground Surface Coloring

The color settings for the ground surface. This includes diffuse, ambient, and specular colors, as well as shininess.Visible only when 'Ground Feature" is set to "Color".

Diffuse Color

The diffuse color of the ground surface, specified as a normalized RGB triplet. This is the primary color seen under direct light.

Ambient Color

The ambient color of the ground surface, specified as a normalized RGB triplet. This color is seen under ambient light.

Specular Color

The specular color of the ground surface, specified as a normalized RGB triplet. This color defines the highlights seen under direct light.

Shininess [0, 1]

The shininess of the ground surface, specified as a value between 0 and 1. Higher values result in a shinier surface with sharper highlights.

Reflective Properties with Specular Color and Shininess

Specular Color and Shininess parameters can be combined to create surfaces with varying reflective properties in your rendered scene. By adjusting these settings, you can simulate materials ranging from dull surfaces to highly reflective mirrors.

Specular Color: This defines the color and intensity of the highlights seen on the surface under direct light. It controls the color of the reflections and how much light is reflected in a specular manner.

- Note: In the current implementation, lower specular color values result in higher reflectivity. Setting the specular color to "0,0,0" produces a highly reflective mirror-like surface. This behavior is subject to change based on future updates.

Shininess [0, 1]: This determines the sharpness of the specular highlights. Higher values result in smaller, sharper highlights, creating the appearance of a more polished and reflective surface.

- Example: Increasing the shininess value to close to 1 results in very sharp reflections, simulating surfaces like polished metal or mirrors.

Practical Application

By carefully adjusting these parameters, you can achieve realistic reflective effects:

- Mirror Effect: To create a mirror-like surface, set the shininess to a high value (e.g., 0.9). Depending on the specific handling in your workflow, setting the specular color to lower values, such as "0,0,0", currently results in a highly reflective surface.

This powerful combination of specular color and shininess enables you to simulate a wide range of material properties, enhancing the realism and versatility of your rendered scenes. Note that the current behavior regarding specular color and reflectivity might change in future updates based on further development and testing.

Ground Surface Texturing

Settings for applying a texture to the ground surface, including the texture file and its coordinates. Visible only when "Ground Feature" is set to "Texture"

Ground Texture

The file path to the JPEG texture to be used for the ground surface.

Texture Mapping Type

Specifies the method for mapping the texture onto the ground surface. Options include:

Surface Normal: Stretches a single copy of the texture to cover the entire surface.

Surface Normal in Ground Units: Uses the provided georeferencing coordinates to tile the texture across the surface.

X Upper Left Coordinate

The X coordinate for the upper left corner of the texture in ground units.

Y Upper Left Coordinate

The Y coordinate for the upper left corner of the texture in ground units.

X Upper Right Coordinate

The X coordinate for the upper right corner of the texture in ground units.

Y Upper Right Coordinate

The Y coordinate for the upper right corner of the texture in ground units.

X Lower Right Coordinate

The X coordinate for the lower right corner of the texture in ground units.

Y Lower Right Coordinate

The Y coordinate for the lower right corner of the texture in ground units.

X Lower Left Coordinate

The X coordinate for the lower left corner of the texture in ground units.

Y Lower Left Coordinate

The Y coordinate for the lower left corner of the texture in ground units.

Usage Notes

Generating very high-resolution images using highly complicated or heavy 3D models can be extremely resource-intensive and may cause Blender to crash. Rendering at resolutions such as 8K requires significant memory and processing power, especially when dealing with large models like those from Revit or other detailed architectural designs.

Recommendations:

Test with Lower Resolutions First: Before attempting to render at 8K, test your model at lower resolutions (e.g., Full HD or 4K) to ensure that your system can handle the complexity of the model.

Optimize Your Model: Simplify or reduce the complexity of your 3D model if possible. Remove unnecessary details and reduce polygon counts to make the model more manageable. You can also use Triangulator and MeshMerger to create meshes, which are processed more efficiently.

Monitor System Resources: Keep an eye on your system's memory and CPU usage during the rendering process. Ensure that you have sufficient resources available.

Consider Hardware Limitations: Be aware of your hardware capabilities. High-resolution rendering with complex models may require high-end hardware with ample memory and processing power.

Note: The transformer does not have control over Blender's internal processes. If Blender crashes due to resource limitations, consider following the recommendations above to mitigate the issue.

By being mindful of these factors, you can better manage the rendering process and avoid potential crashes or performance issues.



Would you like to know more? Click here to find out more details!
This post has been closed for comments