View source: R/piece_mesh-rayvertex.R
piece_mesh | R Documentation |
piece_mesh()
creates 3d board game piece objects for use with the rayvertex package.
piece_mesh(
piece_side = "tile_back",
suit = NA,
rank = NA,
cfg = pp_cfg(),
x = 0,
y = 0,
z = NA,
angle = 0,
axis_x = 0,
axis_y = 0,
width = NA,
height = NA,
depth = NA,
envir = NULL,
...,
scale = 1,
res = 72
)
piece_side |
A string with piece and side separated by a underscore e.g. "coin_face" |
suit |
Number of suit (starting from 1). |
rank |
Number of rank (starting from 1) |
cfg |
Piecepack configuration list or |
x |
Where to place piece on x axis of viewport |
y |
Where to place piece on y axis of viewport |
z |
z-coordinate of the piece. Has no effect if |
angle |
Angle (on xy plane) to draw piece at |
axis_x |
First coordinate of the axis unit vector. |
axis_y |
Second coordinate of the axis unit vector. |
width |
Width of piece |
height |
Height of piece |
depth |
Depth (thickness) of piece. Has no effect if |
envir |
Environment (or named list) containing configuration list(s). |
... |
Ignored. |
scale |
Multiplicative scaling factor to apply to width, height, and depth. |
res |
Resolution of the faces. |
A rayvertex object.
See https://www.rayvertex.com for more information about the rayvertex
package.
See geometry_utils
for a discussion of the 3D rotation parameterization.
# May take more than 5 seconds on CRAN servers
if (requireNamespace("rayvertex", quietly = TRUE) && all(capabilities(c("cairo", "png")))) {
cfg <- game_systems("sans3d")$piecepack
rs <- function(shape) {
opt <- options(cores = getOption("Ncpus"))
light <- rayvertex::directional_light(c(0, 0, 1))
rayvertex::rasterize_scene(shape, light_info = light)
options(opt)
}
rs(piece_mesh("tile_face", suit = 3, rank = 3, cfg = cfg))
}
if (requireNamespace("rayvertex", quietly = TRUE) && all(capabilities(c("cairo", "png")))) {
rs(piece_mesh("coin_back", suit = 4, rank = 2, cfg = cfg))
}
if (requireNamespace("rayvertex", quietly = TRUE) && all(capabilities(c("cairo", "png")))) {
rs(piece_mesh("pawn_face", suit = 1, cfg = cfg))
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.