Getting started

The bricks_from_* series of functions creates 3D models of LEGO bricks from a variety of input formats. These models are rendered using Tyler Morgan-Wall’s rayshader package. This package must be installed.

3D mosaics

Begin with a brickr mosaic from an image. Rather than graphically rendering the mosaic using build_mosaic(), use bricks_from_mosaic(). This function takes two other inputs:

  • mosaic_height is the number of bricks stacked at the mosaic’s highest point. The default is 6.
  • highest_el specifies if ‘light’ or ‘dark’ color bricks should be the tallest in the model. The default is ‘light’.


mosaic %>% 
  bricks_from_mosaic(highest_el = "dark") %>% 
  build_bricks(phi = 60, theta = 15)

rayshader::render_snapshot(clear = TRUE)

Models from rayshader

rayshader by Tyler Morgan-Wall is an open source package for producing 2D and 3D data visualizations in R. rayshader uses elevation data in a base R matrix and a combination of raytracing, spherical texture mapping, overlays, and ambient occlusion to generate beautiful topographic 2D and 3D maps. (Note: text lifted straight from rayshader.com.)

3D models in brickr are rendered using the functions in rayshader. Using bricks_from_rayshader(), you can convert rayshader map output into a brickr model. This function takes three inputs:

  • hillshade is topographic image matrix with an RGB channel (much like the mosaics).
  • heightmap is a two-dimensional matrix specifiying the height of the image at each location.
  • max_height is the number of bricks stacked at the mosaic’s highest point. The default is 12.
  • img_size is the number of bricks on each side of the model. The default is 48.