Vectorizer

New in version 1.5: added support for dashed polylines with customisable dash styles.


Vectorizer allows you to create mesh-based vector graphics in 3D space. It provides several 2D primitives, including an SVG parser, that approximate geometrical shapes via 3D vertices and indices.


I built this library because I wanted to have the freedom to create 2D primitives, on the fly, with just a few lines of code. First it was a rectangle, then an n-gon, then an ellipse, then an SVG parser!


Website | Documentation | Changelog | Forum Thread | Twitter | Discord | Feedback


Features
SVG support: simply copy and paste valid path-syntax code, and Vectorizer will turn it into a mesh!
URP, HDRP and standard pipeline support: Vectorizer generates standard meshes with texture coordinates. Therefore, you can use any render pipelines you want, including the built-in, URP, and HDRP. The asset demos use URP materials in the 2019 package, and the standard pipeline in the 2018 package.
2D shapes: parametric regular and rounded Polygons, Ellipses, Rings, Arcs, Stars, and Polylines.
Code API: in Vectorizer all figures are generated by combining different instructions. You can create new figures by using the existing ones, or even define new instructions.
Samples: you will find sample scenes showing all available figures, a scene containing examples of SVG icons rendered in Vectorizer, an example of how to lay out a hexagonal grid, and a scene showing the generated texture UVs.


Have a question about this asset? Ask it in the discord!


Limitations
• No SVG fill-rule support. A work-around consists in separating paths in multiple figures.
• The SVG parser is not intended to parse full-blown graphics illustrations. It was tested on simple icon-like graphics. For an overview of its capabilities, check the pictures included here or visit the documentation.


This asset uses Bootstrap Icons for demonstration purposes, and some data structures, and triangulation algorithms under the MIT License; see Third-Party Notices.txt file in package for details.