CreatorsOk
magicavoxel

magicavoxel

patreon


magicavoxel posts

MagicaCSG New Feature: 2D SDF Group

[ This feature has been updated for prototype users]

  • A new feature coming next is 2D SDF Group which was originally proposed for a 2d sdf editor.

  • It allows users to combine primitives in 2D space, and then extrude the compound shape just as the basic profile shapes.

  • Bevel/Hole/Cone can also be applied to 2D Groups.

  • Some tools are redesigned for this new feature, such as:

    • double click a group in the list ...

      View Post

MagicaCSG 0.6.7 Beta: Rounded Polylines and Grid Snapping

[Please note that some operations are improved or become different after the demo videos are recorded.]

Polylines with Variable Fillets

  • The purple fillet gizmo for polygons can be also applied to 2D/3D polylines now.

  • When the constraint is U (uniform), the changes of size and radius on one control point will be applied to all control points.

  • Adjust the fillet radius precisely by values in Gizmo->Spline Profile->...

    View Post

MagicaVoxel 0.99.7.2 Beta: Importing image sprites and some other improvements and fixes

You can find the download link at the homepage: https://ephtracy.github.io/

I do have some plans for some major updates of mvox, but maybe wait until finishing the first milestone of mcsg.

  • Animation

    • Drag and drop multiple image sprites or models into the editor view and select "Import Sprites".

    • Click Edit->Tool->Frame in world editor to only duplicate current frame modesl...

      View Post

MagicaCSG Feature: Reorient Camera to Local Coordinate

  • One issue of the current camera system is that the camera is always rotated around the global gravity direction. It's not convenient when you want to edit shapes in its own space (e.g., editing points in a rotated Bezier shape or editing strokes in a rotated object).

  • Therefore, I added a new camera button besides the recenter camera button to reorient the camera to the local coordinate of the selected stroke/object. Then the rotation/panning of the camera will all be op...

    View Post

MagicaCSG Feature: Grid Snapping

In the update of this month, a simple grid snapping can be enabled for placing control points of polygons and polylines.

  • It becomes easier to create right-angle edges in polygons/polylines now.

  • The grid spacing can be modified in Gizmo->Snap->Grid.

  • The control points for Bezier polygons/polylines are not on the curves when grid snapping is enabled.

  • Grid snapping for normal moving gizmo may be added in the next u...

    View Post

MagicaCSG Feature: Polylines with variable fillets

In the beta update of next month, the purple fillet gizmo for polygons can be also applied to 2D/3D polylines. This feature will make it easier to create objects like pipes.

When the constraint is U (uniform), the changes of size and radius on one control point will be applied to all control points.

You can also adjust the fillet radius precisely by values in Gizmo->Spline Profile->R.

View Post

MagicaCSG Beta 0.6.6: Group Mirror and Smooth Mirror

Group Mirror

  • Each group has its own local coordinate for mirroring and pivoting.

  • Transformation tools and menus are refactored to support this feature.

  • This feature will also support merging/importing objects with mirrored primitives in the future. (Currently, one object can only have one global mirror plane, so it's impossible to merge two objects with different mirror planes.)

  • [Demo] 2025-06-21 02:48:57 +0000 UTC View Post

MagicaCSG: How to set the local mirror axes of a group

  • You can enable Display Mirror Plane on the bottom to show the local mirror plane of a group (the mirror plane at the root level is always at the object origin).

  • When a set of strokes are grouped, the group pivot will be automatically set to the center of the selected strokes. If the selected strokes include mirrored strokes, the pivot center will be set at the global mirror plane.

  • If you want to manually set the group pivot, you can selec...

    View Post

MagicaCSG Demo: New Helix SDF

A short demonstration about the robustness of the new Helix SDF (S/Z-Type) implementation on tall and flat profile shapes (The range of the profile size is also increased).

There are several interesting techniques involved to optimize the computation of Helix SDFs, but I don't have enough energy to write articles about the details.

The prototype version 0.6.6 will be released today (massive refactoring).

The corresponding beta version will be released in one or two weeks aft...

View Post

Upcoming Update

This upcoming release includes many major and minor refactoring and improvement, which requires some time to test. It'll be available for prototype tier first, and available for beta users later this month.

Group Mirror

  • Each group has its own local coordinate for mirroring and pivoting.

  • Transformation tools and menus are refactored to support this feature.

  • Groups have all possible properties (Blend, Mirror, Round, Shell, Color) now.

    View Post

Bug Fixes: 0.6.5

You can redownload the program from the beta download link.

  • Fixed some bugs for Helix-Z primitive.

  • Helix-Z primitives with cylinder/sphere profile have bevel/round properties now (see screenshot)

  • Fixed some ui bugs for displaying bevel/round properties.

Next month beta will implement Group Mirror/Smooth Mirror, which is the basis for some future updates.

There will also be some minor improvements such as adding moving gizmo for...

View Post

MagicaCSG Feature: Area Lighting

I spent some time on prototyping area lighting in MagicaCSG this weekend (though I need to finish bug fixes for the last beta version, which will be released by the end of this month).

This new feature allows you to add and transform multiple rectangle light sources in the scene (similar to the background images).

You can use area lighting to cast nice hard or soft shadows (depending on the size):

2025-05-26 00:15:28 +0000 UTC View Post

MagicaCSG Feature: Smooth Mirror, Group Mirror and Local Mirror

New advanced mirror features will be supported in the next prototype/beta update.

These features allow users to combine symmetric shapes more flexibly.

Smooth Mirror

Mirror Blending can blend the primitives across the mirror planes to smooth the seams.

Group Mirror

Groups also have mirror property now.

Local Mirror

Each Group has its own mirror planes and origin now.

View Post

MagicaCSG Beta 0.6.5: Z-Helix SDF Primitive

This beta version includes the following improvements on basic primitives and properties:

Z Profile Helix

the helix profile can be extruded either along a spiral path [S] or along the z axis [Z] now.

https://www.patreon.com/posts/magicacsg-z-sdf-128046319

Groove Intersection

groove blending can be applied to intersection Boolean to...

View Post

MagicaCSG Feature: Round, Hole, Shell, Cone

In the next update of this month:

  • Round and Shell properties are added to Subgroups.

  • Hole, Shell and Cone properties are added to Character and Polygon primitives.

These improvements will allow to create more complex hard surfaces.

View Post

MagicaCSG Feature: Z-Profile Helix SDF Primitive

A new helix type will be added in the next update.

In the previous version, the helix profile is extruded along a spiral path.

Now, the helix profile can be extruded along the z axis.

It' useful to create shapes like drills and pillars.

Notes:

  • this primitive is expensive to evaluate, so you may limit the number of helix primitives or use small blending factors in the scene.

  • the regular polygon can have up to 64 sides now (4,5,6,8-side polyg...

    View Post

MagicaCSG Feature: Groove Intersection Blending

In the next update, groove blending can be also applied to intersection Boolean.

You can use blending to add bevels on the top and bottom sides as well.

It's useful to create curved objects like cloths without showing the contact surface.

View Post

Progress Update

I've done some preliminary work on the live SDF operations on mesh primitives recently.

It shows promising results and potentials, while also reveals some bottlenecks and unaddressed issues. Some new algorithms are under development, and some tradeoffs are made between performance and quality.

SDF can be always converted to watertight meshes, but not vice versa. Meshes with self-intersection, open holes, T-junction/dangling edges (non-manifold geometry) can cause difficulties in d...

View Post

MagicaCSG Beta 0.6.4: Polygons with Variable Size Fillets

A new property Fillet Radius (Spline Profile->R) is added to each control point for Polygons in Line Mode (Note that all special properties are colored green in the panel now).

  • you can press and the drag the circle (pointing to the outside of the polygon) to change the fillet radius for each corner.

  • You can also select the stroke (click the stroke surface), and then change the value in Spline Profile->R. This will change the radius for ...

    View Post

April 1st Rumors

A perspective helper tool for novice artists is under development...

or maybe just an experiment with the usage of homogenous coordinates:)

A simple demonstration about one-point, two-point, three-point perspectives:

 2025-04-01 21:51:21 +0000 UTC View Post

MagciaCSG Tutorial Videos from Pixel Fondue

Vaughan Solo created a series of tutorial videos to demonstrate features and usages of MagicaCSG:

https://www.youtube.com/playlist?list=PLv8HciXoFYX9bmFn_Kp97RsM1s1APU7m3

I may need to write some official documents to reveal details at some point as well.

View Post

MagicaCSG Feature: Polygons with Variable Fillet Radius

For Polygons in Straight Line Mode, currently, you can change Bevel to add uniform fillets to all corners. This method has two issues:

  • can't assign different fillet radius to each corner.

  • can't add fillet to concave corners.

Therefore, a new property Fillet Radius (Spline Profile->R) is added to each control point.

you can press and the drag the circle (pointing to the outside of the polygon) to ...

View Post

MagicaCSG 0.6.3 Beta: Bezier Curves with Variable Sizes and Local Symmetry

Variable Sizes

  • Bezier Curves can assign variable sizes to each control point now, no more global Line Width and Taper.

  • The sizes are quadratically interpolated which has C1 continuity.

  • It has the same size constraints (V/U/L) from spline. V for variable sizes, U for uniform sizes, L for linearly tapered sizes (as the old Taper).

  • You can select a control point on the 2D/3D Bezier curve and then change the corresponding size by the sc...

    View Post

MagicaCSG 2D?

Since we already have a bunch of 2D graphic primitives in the toolbox, how about developing a vector graphics editor as well?

Early tests showed some promising results, though there are lots of unsolved issues (especially with soft blending and anti-aliasing), and the SDF method doesn't show too many advantages over traditional SVG methods (performance, effects, etc.).

But maybe, it's still handy to have a toy vector graphics tool, as a platform for experiments and research purpos...

View Post

Bezier Polyline Vs. Spline

-------------------------------------

some bug fixes have been made for the prototype release.

please redownload the program from the last post.

  • fixed symmetric bezier gizmo bugs

  • improved replace Boolean operation

-------------------------------------

We now have two types of curves in MagicaCSG: Bezier and Spline.

Here are some comparisons between the two:

Bezier

  • has 2D and 3D modes

  • has ...

    View Post

MagicaCSG Feature: Bezier curves with variable sizes

High-Quality Bezier curves with variable sizes come to the prototype tier!

  • Bezier Curves can assign variable sizes to each control point now, no more global Line Width and Taper.

  • The sizes are quadratically interpolated which has C1 continuity.

  • It has the same size constraints (V/U/L) from spline. V for variable sizes, U for uniform sizes, L for linearly tapered sizes.

  • You can select a control point on the 2D/3D Bezier curve and then ...

    View Post

MagicaCSG Feature: Symmetric Bezier

  • You can enable Local Symmetry (was previously Rhombus) to create symmetric Bezier Polygon/2D/3D Polylines.

  • (Symmetry Y can also be applied to Triangle and Joint shapes to create Rhombus and Football shapes).

  • (Symmetry Z can also be applied to Extruded shapes with cone properties to create two-sided cone/beveled shapes).

  • The first and last control points will be fixed on the axes. You can also change their continuity to C1 to make the shape ...

    View Post

MagicaCSG 0.6.2 Beta: Bezier Polygon/Polyline with Variable Continuity

Hotkey Changes

  • XY Scale Constraint: ALT + X/Y Scale Gizmo

  • XYZ (Uniform) Scale Constraint: ALT + Z Scale Gizmo

  • Union/Subtract/Intersection/Replace: 1/2/3/4

  • Change Single Point Continuity: C

  • Change Entire Continuity: V

UX of Control Points

2025-02-01 03:54:39 +0000 UTC View Post

MagicaCSG Demo: Add/Remove Control Points in Polygons/Polylines

Change to the same method used in Swept Splines to add/remove points in Polygons/Polylines:

  • No more P2/P3/P4/P5 options.

  • Maximum number of points increased to 8.

  • SHIFT+Drag a control point to insert a new control point next to it.

    (* the hotkey was previously ALT+Drag)

  • Press Delete to remove the selected control point.

  • Can also click the...

    View Post

MagicaCSG Demo: Bezier Polygon/Polylines

For Polygons and polylines shapes:

  • You can select Line (C0) / Bezier (C1) mode to change the continuity for all control points.

  • When you click a control point, the control point will be selected, and its color will turn purple. Then you can change its continuity to C0/C1 at the top bar.

  • Click the stroke surface to switch back to the stroke gizmo.

  • In this way you can create complex primitives with mixed straight lines and Bezier curves...

    View Post