This tool will enable you to deform, paint, and animate your sprites, both manually from the editor and through API classes from your program. For example, using this utility, you will be able to turn one rock into a mountain ridge or create a luxuriant forest using a single tree sprite, and so on.
Cool tool! May want to consider as an update a loop selection for edges and ring selection for verts to speed up the process.
Are there additional draw calls for edited/deformed sprites?
I have some plans about automatic selection, that will be done in some of next versions.
As on count of draw calls:
For one combination of texture with reference material there will be created one material in runtime.
If you use one atlas for sprites and one reference material, you get one draw call, because Unity batchs these sprites.
I would like to congratulate you for this pretty native tool, all others pretty much don’t work hand in hand with Unity’s sprite system; I have a question: can sprtite deformer tool manipulate 2d colliders in runtime? even if not, it’s still a pretty a pretty powerful package and extremely easy and fast to use.
Hi. Yes It can manipulate 2d colliders in runtime but It can’t set impulses to rigid bodies so it works not very well. I wanted exclude this possibility( manipulate colliders in runtime) but decided to leave it.
You have to know it use edges for generate collides, not pixels from sprite.
Tomorrow I’ll create the demo version of this tool and you will be able to test
I created the demo version of this tool.The demo version was not included all source code, there is DLLs. A build was created with the demo version would work only five minutes. Download unitypackage
Wow! Thank you very much; so if I buy the source code can I implement my own rigidbody impulses so it behaves more like Uni2D or not? thank you for the demo again:)
if I understand you right, yes you can.
There is the method for generate collider from source.
public void GenerateCollider()
{
polygonCollider.pathCount = borderPaths.Count;
for (int i = 0; i < borderPaths.Count; i++)
{
PolygonBorderPath colliderPath = borderPaths[i];
Vector2[] cPoints = new Vector2[colliderPath.points.Length];
for (int j = 0; j < colliderPath.points.Length; j++)
{
SpritePoint currentPoint = points[colliderPath.points[j]];
cPoints[j] = SpritePositionToLocal(currentPoint.spritePosition + (Vector2)currentPoint.offset + currentPoint.colliderOffset);
}
polygonCollider.SetPath(i, cPoints);
}
}
/// <summary>
/// Polygon of border points
/// </summary>
[System.Serializable]
public class PolygonBorderPath
{
/// <summary>
/// Indexes of points from SpriteDeformer.points
/// </summary>
public int[] points;
}
/// <summary>
/// All border paths
/// </summary>
public List<PolygonBorderPath> borderPaths = new List<PolygonBorderPath>();
I don’t know.
It uses meshrenderer and meshFilter as base. Structure values for animation.
You can try the demo version with Puppet 2D system and/or Smoothmoves for test.
There had several bugs, but nobody from purchasers have not say to me.
I updated this tool, fixed some bugs and added component for blend shape animation.
Requires Unity 5.0.0 or higher.
Does anyone use unity 4.6, yet?
If you use 4.6 and use this plugin please tell me.
If you have any problems with this plugin please tell me.
My email is modernup@mail.ru
Bought the plugin, it’s handy to deform a sprite. However I find it’s limited to deform a sprite freely because working with mesh topology and animating the mesh point is really not design-friendly. If you could refer to the Puppet Warp tool in Photoshop and make it part of your plugin, I think it’ll be awesome.
Feature request:
Multi select and edit topology points
clear topology all by a button click
automatically generate mesh topology for alpha-sprite, like Puppet Warp tool for Photoshop,
add pin point to deform mesh, again like Puppet Warp tool for Photoshop,
Hi,
Thank you for your request.
I’m really glad to have got feedback :).
I will make items 1 and 2 in next version. But Puppet Warp is really hard for realisation. I can’t find the way to get pixels from texture in editor(without read/write enabled in texture property) to create topology.