A lot of tasks require curves and Unity has a great builtin animation curve editor. But when it comes down to create curvy paths in the SceneView or at runtime that your GameObjects can interact with, there's a gap. Curvy fills that gap!
Initially released in early 2013 as an easy to use spline editing tool, Curvy has become the ultimate spline solution for Unity, battle-proven by dozens of studios.
- State of the art SceneView curve editing for most common curve types (Linear, Bezier, Catmull-Rom, Kochanek-Bartels)
- Extensive Orientation management offering dynamic orientation smoothing while keeping full control
- Graph based Content Generator to create extrusions, clone objects, mix paths and more
- A range of ready-made Controllers to make your GameObject interact with curves, mixed paths and extruded volumes
- Designed for speed through a highly optimized caching system, threading and object pooling
- PlayMaker custom actions
- Full C# source code - well structured and fully IntelliSense documented
- Developer friendly: highly customizable and extendable, rich API (Runtime & Editor)
Workflow is essential! In Curvy curves are GameObjects and Control Points (knots) are child GameObjects, so you can work with them the known Unity way. Supported by a context-aware and expandable toolbar editing splines feels natural like it should be. Tools palette include:
- Quick-Draw mode to create even connected splines with a single click
- Select parents/children/iterate over Control Points to quickly navigate through a spline by hotkeys
- Split, Join, Connect splines
- Move Pivot
- Normalize scale
- Subdivide, Simplify, Equalize
- Scene Projection/Collider snapping
You can assign or redefine hotkeys for all available commands!
Using splines for motion paths is just the most common usage in game development. Unlock the full power of splines with Curvy Generator! Although part of the Curvy package, it's dimensions and flexibilty would justify being a package of it's own.
In short, Curvy Generator (CG) is a graph-based, modular ecosystem, designed for - but not limited to - turning spline based input data into whatever output you can imagine, for example:
- Extrude shapes along paths, thus creating volumes
- Edit extrusion cross sections right in place
- Use multiple materials and define detailed UV mappings for your cross sections
- Mix & Modify paths, volumes etc…
- Clone Meshes & GameObjects along paths or volumes
- Create & Merge meshes
CG graphs are built using modules. A module takes some input data, processes it and generates ouput data that can be linked to one or more subsequent modules. Much like ShaderTree or similiar products. CG works with its own set of data types, being completely uncoupled from Unity data classes (read: threadable!). Curvy Generator was developed with flexibility in mind, so it offers you an ecosystem taking care of external and internals resources (meshes, splines etc…), caching, initialization and module execution etc…Inside this ecosystem, you can
- create your own modules
- create your own data types and resource types
- benefit from the builtin caching and debugging framework
Curvy comes with various ready made controllers to align and/or move objects along splines, paths and volumes:
- Several example controllers: Rigidbody, Endless Runner, Trains
Curvy was designed for speed. A sophisticated, highly optimized caching system, threading support and object pooling makes it blistening fast even on mobiles!
Your workflow matters
We work hard to make Curvy the best and most polished spline editing tool in Unity. But no matter how streamlined the workflow is, it might be incompatible to your in-house level editing tools or production workflows. Knowing that we designed Curvy to be flexible, expandable and highly customizable. Using it's full-fledged, rich API it's easy to integrate Curvy into your production tools. Some facts:
- Create custom toolbar items and integrate them into Curvy's default Toolbar with a few lines of codes
- Great extendability: create Generator modules and datatypes, spline shape templates and controllers with ease
- Lots of spline and controller events to hook into. You even can prevent adding or deleting Control Points if you see need to
- Editor integration completely developed using the well-documented Curvy API
- C# source: completely intellisense XML documented, well structured
Curvy is available at the Asset Store right now!