PathMagic released!

PathMagic is a UNITY editor extension that allows to create paths for smooth movement of game objects, such as cameras, players, scene objects, and so on.

You specify waypoints with 3D bezier control points, orientation, velocity, and PathMagic do the rest!

Take a look at the demo video

Features

  • Advanced in-scene and inspector editors
  • Full integrated undo/redo and multiple objects edit support
  • Full global position, rotation and scale of all waypoints for path adjusting
  • Best interpolation of orientation and velocity between waypoints
  • Transform orientation specified manually or by a target Transform to follow
  • Intelligent insert/Remove waypoint within the path
  • Great simulation system: manage your path during the simulation in edit mode
  • Powerful and simple user interface

PathMagic lets you create a path in less than 15 seconds!

This is the link at the Asset store: PathMagic | Animation Tools | Unity Asset Store

Suggestions are welcome!

1 Like

Hi guys,

version 1.1.1 of PathMagic is on the store! This version introduces some new features such as events fixed global look at. This is a screenshot of the new inspector.

Velocity bias now can be negative to implement forward and backward animation, the connected transform can “Global Look at” at fixed point, so orientation is never interpolated between waypoints and look at specific point continuously.

Events is a great feature. There is a global events list. Currently the only event that can be detected is “Waypoint changed”. Each time the animator passes a waypoint the event is fired, and your code is executed. The method that is called receive an integer parameter that is the waypoint index. Another way is define a event when a specific waypoint is reached, to do that, click on the waypoint on the list. A specific events list for the waypoints appear.

In this case you define what happens when the specific waypoint (2 in this case) is reached. The called method has no params. You can use events, for example, to stop a path and start another one, creating amazing animation effects.

Have you tried to animate particles? :wink:

Hey Guys,

another version of PathMagic is on the store! Version 1.1.2.

Improvements

  • Global follow path direction
    Bug Fixing
  • Strange transform handles in scene view (thanks to Lion)
  • Simulation, Play and final build now goes at the same velocity (thanks to Mads)

A small preview of PathMagic v.1.2

Improvements: Asymmetrical tangents!

Another amazing feature is coming!
Path sampling, for constant speed bezier paths!

Take a look, it will be released with version 1.2 of PathMagic!

With coming version 1.2 of PathMagic, you will put more that one transform on a same path. This makes me thinking about some possibilities this enables. And… Here we go!

Simply make a character with bones (a skinned mesh renderer in Unity), and connect single bones to the same path, each at specific position.

Do you want to see the result?

Take a look!

PathMagic 1.2.1 released.

Release notes:

Improvements

  • New Global Follow Path bias for smooth camera paths
  • New Path templates (GameObject->PathMagic->Create new path from template)
  • Override Global Follow Target in PathMagicAnimator
  • Override Global Follow Path in PathMagicAnimator (only for non-pre-sampled paths)
  • Scripting: All public attributes become properties in PathMagic class
  • Scripting: All public attributes become properties in PathMagicAnimator class
  • Customizable path color in editor
  • Some editor styles looks better
  • Ease in/out for velocity at waypoint level
  • Compatibility with Unity 4.6.6

Changes

  • Clear selection shortcut (Esc) does not select all waypoints anymore
  • “F” don’t center on waypoint anymore, use Enter

Fixes

  • Corrected strange rotation at end of path with GlobalFollowPath and not looped

Take a look at the post https://jacovone.com/wordpress/?p=2567

PathMagic v1.2.2 was released on the Asset Store, take a look at new features at

https://jacovone.com/wordpress/?p=2607

Hi, i have a question, may be it is a stupid one but i cant figured out.
Im using 2 path with separates cameras for make a cinematic, i want one path “Start on Play” and start the other by code, when try to reference the Script Unity does not recognize de namespace “PathMagic”…is there any trick or is just me?

Hi,

depends on how you want to reference the path. You can set it in a property for example, or access it via a static member. Anyway, can you send me a very small project extraction, so that I can work on it for you?

Thanks,
Marco

Hello,

I just bought your plugin and your demos look great. I have what may be a similar question to martibergoglio, do you have any examples on how to programmatically interact with an animation along path that has been created with PathMagic? Specifically, I want to be able to start, pause, continue, or exit an animation. It would also be nice to be able to request a spline through an API based on a start, mid, and end point, with all of the facing information.

Thank you
Curtis

Hi Curtis,

PathMagic (and ParhMagicAnimator) class has very basic methods for interact with the animation, such as Play, Pause, Stop, Rewind, … All you need is a reference to the object.

Alternatively you can animate objects on the path with Mechanim, this allows you to interact with the animation through Mechanim’s workflow, and give you a more accurate control on animation curves.

To dynamically create a new arc on the path, you need to add a waypoint in the waypoints array, and set in/out tangents (velocity, orientation, etc.) because PathMagic uses brazier curves.

A good example for dynamic waypoint generation is already in the package, check template paths (a utility for make a regular path from scratch in a few clicks).

Give me a feedback, and tell me if you need more support, for example a simple example project.

Have a nice day.
Marco.

Hi, i’m thinking of buying Pathmagic, but I want to ask, if I can do the following: for animating something like a chain, i’m able to set (with pathanimator) different currentpos values, then play. But then, all the Cubes would come together in the end of the path… is it possible, to do add something like a targetpos?

Cube.currentpos = 0.1f;
Cube.Play(targetpos = 0.9f);

Thank you!

Hi,

what you can do is to call Play() only for the first item of the chain, and in Update() of a script, you can set

currentPos of the second item = currentPos of the first - delta
currentPos of the third item = currentPos of the second - delta
…

This should work.
Let me know if you solve with this approach. If you don’t, we will find together another strategy.
Thanks

Marco

What are the correct settings in the inspector for the first waypoint and the last waypoint in order to have the path ease into the move and then ease out at the end, instead of starting and stopping at full velocity?

Hi,

for example, if you have 5 waypoints, you can set velocities as follows:

v1: 0.5
v2: 2
v3: 5
v4: 2
v5: 0.5

after, you have to set

for w1: velocity out: slow
for w5: velocity in: slow

other velocity ease can be medium or fast.

Alternatively, you can animate your target over the path by animating CurrentPos of the PathMagic with Mechanim.
Thanks,
Marco

Thank you for the quick reply.

Hey Guys,

a new version of PathMagic is coming… In the new version we introduce physics.
Take a look!

Hi

once the path is made - is it possible to save it as animation?

Not for now…
PathMagic has its own animator. I believe however this is a very simple to implement, if you really need it, I can help you.

Marco.