Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

RageSpline - Create smooth 2D graphics inside Unity Editor - RELEASED

Discussion in 'Assets and Asset Store' started by keely, Apr 23, 2011.

  1. KyleStaves

    KyleStaves

    Joined:
    Nov 4, 2009
    Posts:
    821
    Love it, perfect for the product!
     
  2. keely

    keely

    Joined:
    Sep 9, 2010
    Posts:
    967


    I was going to make new procedural v1.1 of RageCar, but I ended up hating the wheel colliders so much that I made a new procedural game instead:

    Uphill Rage

    Still some bugs and needs polish, but pretty cool imo.

    @Prime31 Cool! It's truly a warm feeling when somebody takes something you made and turns it into something totally different.
     
  3. MaDDoX

    MaDDoX

    Joined:
    Nov 10, 2009
    Posts:
    764
    Looks nice Prime, this tech could work nice with the text generation component in RageTools, giving volume to vector text. Interesting.

    Exactly SiW. There are other advantages, for instance, you don't need to re-import your bitmaps assets (which can take ages on larger projects) or worry about Mipmaps - ever. Large bitmap animation is also prohibitive on mobile devices due to the amount of texture memory that it takes.

    If you want a good sample of what I consider a perfect usage of bitmaps and vectors in a game, play Burrito Bison and zoom-in on your browser. Although the game was originally made for a fixed browser window resolution - which in theory means everything could be bitmaps and still be pixel-perfect - you'll notice that the smaller and fast-moving assets, even the background scenario, are bitmaps (you'll notice by the distortion) while the primary and animated objects are vectors. Using this smart approach, Juicy Beast surely took little effort (on the art side) to make the port to the iPhone, soon to be released.
     
  4. keely

    keely

    Joined:
    Sep 9, 2010
    Posts:
    967
    I got complaints that Uphill Rage is too easy, which is a insult in Rage-game category. I made it a little more difficult and added a few polishes.
     
  5. Acumen

    Acumen

    Joined:
    Nov 20, 2010
    Posts:
    1,041
    YOU GOTTA BE KIDDING !!
    Just as I was about to say how awesomely nice this game is for once for a change - you update it..
    I hate you - and I'm not kidding :eek:
     
  6. iisjreg

    iisjreg

    Joined:
    Mar 25, 2011
    Posts:
    101
    Love it! Why oh why have I not bought this yet?! Next week, I promise :)
     
  7. Tony_Luminaire

    Tony_Luminaire

    Joined:
    Jun 21, 2011
    Posts:
    10
    I'm really excited about the snapping-to-grid. :) Here's hoping you finish it soon, I could use that ASAP. ;)
     
  8. keely

    keely

    Joined:
    Sep 9, 2010
    Posts:
    967
    I sent you the beta to try it out
     
  9. lionskin

    lionskin

    Joined:
    Jan 23, 2011
    Posts:
    27
    HI Keely, I own ragespline, how may i go about getting a beta :)
     
  10. keely

    keely

    Joined:
    Sep 9, 2010
    Posts:
    967
    You got private message
     
  11. Exit

    Exit

    Joined:
    Jun 22, 2011
    Posts:
    4
    Keely, I have been loving RageSpline, but grid snapping would be absolutely incredible. Any chance I could get in on that beta as well?

    Maddox, any planned release for RageTools? Taking something from Illustrator into RageSpline for tweaks would cut our pipeline in half. Badly, sorely needed and wanted. Can't wait for it. :)
     
    Last edited: Jun 22, 2011
  12. keely

    keely

    Joined:
    Sep 9, 2010
    Posts:
    967
    Done.
     
  13. keely

    keely

    Joined:
    Sep 9, 2010
    Posts:
    967


    I'm supposed to write documentation and take screenshots for that, but I seem to always end up playing around with RageSpline and not get anything done.

    Here is outer glow (or "bloom") faked with the new outline gradient and clever uses of alpha.
     
  14. Alienchild

    Alienchild

    Joined:
    Oct 14, 2010
    Posts:
    364
    Great updates, can't wait to test them out!

    I am currently experiencing some problems with physics however. Because of how my game was set up I had to shrink the included Ragespline prefabs quite a bit. Fixed up the Anti-Aliasing and stuff like that so that it looks correctly, but the collision is weird. For some reason the collision box is larger then the spline. Check out my attached screeny.

     
  15. keely

    keely

    Joined:
    Sep 9, 2010
    Posts:
    967
    Which version do you have?
     
  16. Alienchild

    Alienchild

    Joined:
    Oct 14, 2010
    Posts:
    364
    Not sure where I check that, but the AssetStore tells me its up to date.
     
  17. keely

    keely

    Joined:
    Sep 9, 2010
    Posts:
    967
    Ok I better send you the v1.1 beta. Theres lot's of new stuff to help with the physics.

    Take backups of your projects before you import though!
     
  18. Alienchild

    Alienchild

    Joined:
    Oct 14, 2010
    Posts:
    364
    Sweet, thanks! :)
     
  19. keely

    keely

    Joined:
    Sep 9, 2010
    Posts:
    967
    It's still under construction and without any CSS styling, but since I like showing stuff raw and unfinished, here is a link to the upcoming written documentation.

    http://www.ragespline.com/docs/

    The written part is very limited now and I will add stuff on the go, as I get better feel of the problem areas. There will be "overview" videos made by John on all the areas in this documentation too. If nothing else, you get a glimpse for the soon to be released features of v1.1

    This is not a documentation for scripting or RageSpline API. That is a separate thing altogether.
     
  20. iisjreg

    iisjreg

    Joined:
    Mar 25, 2011
    Posts:
    101
    YAY! Purchasing tomorrow =]
     
  21. Tony_Luminaire

    Tony_Luminaire

    Joined:
    Jun 21, 2011
    Posts:
    10
    Beta is great, it has a lot of new features that a lot of people will find useful. Landscape mode makes fills much smoother and nicer to look at. Also, with RageSpline 1.0 I had to edit the code directly to change the collider offset when I made my outlines really small, but in 1.1 you can set it right in the editor, which I thought was great. :)

    My only gripe right now is the fact that it's so slow. I'm sure that'll change in the stable release, but it's too laggy for me to use right now, in and out of game. If you want my opinion, it may be something to do with the individual point values in the editor, though I think it's a great idea.
     
  22. keely

    keely

    Joined:
    Sep 9, 2010
    Posts:
    967
    Do you mean that it is slow because of the coordinates-feature? It should speed up if you hide them if that is the case.

    I'm not experiencing any lag on my part so it must be something in your project or something like that. Have you tried if its laggy when you start an empty project?

    I'd really need something more than "it's slow" to find the reason.

    edit: I sent you a private message
     
    Last edited: Jun 23, 2011
  23. Acumen

    Acumen

    Joined:
    Nov 20, 2010
    Posts:
    1,041
    Holycow, these features are like basically everything I requested and dreamt of.
    Now I just need a game idea. JoySpline or something.
    Once the update is out, I'm gonna install everything again :D
    Can't wait for that day !
     
  24. keely

    keely

    Joined:
    Sep 9, 2010
    Posts:
    967
    To all the beta testers out there.

    I get some complaints that it runs 1 frame per second. I haven't been able to get that behavior on either of my computers (crappy Mac Mini and a more powerful win7 PC).

    I've noticed while testing though, that if you have a RageSpline object selected when you import the beta package, things go bad and console is getting filled with some sort of "Null exceptions". This might be related to your problems so try to have something else selected before you update. The Main Camera for example.

    Also when you report bugs or problems with beta, it would be nice to be a little more specific about what is your situation/project, what EXACTLY did you do, what is your unity version, what is your OS, does it spill out errors in the console, etc... Always a good idea to offer me the export of the project file that has the problem too if that is possible.

    If you just report that "it's slow", I'm really shooting blind trying to help. And I'm not trying to be rude here, just trying to help out.
     
    Last edited: Jun 23, 2011
  25. keely

    keely

    Joined:
    Sep 9, 2010
    Posts:
    967
    I'm curious about anyone who now has beta v1.1.0.14 and can confirm that updating on top of an old RageSpline v1.0 projects actually works.

    You can also try to update the RageCar that was bundled with v1.0.

    Remember to NOT have RageSpline objects selected when you do the import.

    If anyone is now out there sitting on an existing v1.0 project and want's a beta version to test it. I'd be happy to send it.
     
    Last edited: Jun 23, 2011
  26. Acumen

    Acumen

    Joined:
    Nov 20, 2010
    Posts:
    1,041
    I'm here ! I thought being annoying would be sufficient to get a beta ;)
     
  27. Tony_Luminaire

    Tony_Luminaire

    Joined:
    Jun 21, 2011
    Posts:
    10
    Yeah sorry, I was going to bed hahaha. By "it's slow" I mean it drops to below 5 FPS in both the editor and in gameview. I'll be able to give more input once I get home. :)
     
  28. keely

    keely

    Joined:
    Sep 9, 2010
    Posts:
    967
    No problem :). I just want to get to the bottom of this, because if I would release this in Asset Store right now, I might get 200 angry messages and jizz my pants.
     
  29. Skyrise

    Skyrise

    Joined:
    Nov 3, 2005
    Posts:
    158
    I have no performance problem, and everything imported just fine.

    I have only one bug: on some splines, you can't use keyboard command on one (and only one) of the control point. When you select this control point and press N, or L ecc... another control point gets updated but not the one selected. Also deleting and creating a new control point doesn't resolve the problem.
     
  30. keely

    keely

    Joined:
    Sep 9, 2010
    Posts:
    967
    To beta-testers with 1.1.0.14:

    There is now a known bug: If you have used bounding boxes in previous projects, it makes editor really slow and usually crashes eventually. Try to switch quickly to MeshColliders or ask for a newer update from me.
     
  31. keely

    keely

    Joined:
    Sep 9, 2010
    Posts:
    967
  32. MaDDoX

    MaDDoX

    Joined:
    Nov 10, 2009
    Posts:
    764
    Thanks Exit :) You'll be glad to know I've switched the default (and slow, and buggy) Mono XML parser by a much speedier one, it's now at least eight times faster in my tests! This was a quite involved change but the Mono bugs were really wrecking my attempts to add support to SVG polygons, rects and circles - now finally under way.

    On the new features side the animation component - called "Rage Magnet" - is working great, you can have as many of those deformers as you want, and they work flawlessly with animation clips - I know Keely, "vids or didn't happen", I'll get some up this weekend :). I also want to add a custom inspector so you're able to define their default/rest position in editor time and use it to further sculpt your vector art, currently their rest position is always the editor position, once in play time it deforms away. The most exciting thing with the magnets is that, differently from some other poor vector tools I've worked with in other animation editor, it affects any number of ragespline vectors that are in its hierarchy. You can also define the magnet "inner radius", to have a gradual fall off deforming effect. The last important advantage of Rage Magnets is that they work off of regular colliders - so you can have "LocoRoco"-like deformation effects in your game :)

    After I add those fixes and improvements I should probably release RageTools with a lower introductory price, I did do some work on the text generation component but it will take some more time - a rare asset in my currently tight schedule - to perfect it. TA for the interest!
     
  33. pixelsteam

    pixelsteam

    Joined:
    May 1, 2009
    Posts:
    924
    Maddox: Very stoked on your Ragetools as I have some killer Illustrator files waiting for a home in a game project;)
     
  34. keely

    keely

    Joined:
    Sep 9, 2010
    Posts:
    967
    I thought I had the code ready for release, but while making some game templates to bundle with it, I noticed that when you create MeshCollider component for a gameobject that has a rigidbody, it spew out some mystical physics engine errors about "tensors".

    I googled that someone else had similar errors while adding a rigidbody to a plane. Me being the dumbass that I am, I didn't connect the dots to realise that my meshes are actually flat planes too. Rigidbody needs depth to calculate something called tensor and I wasn't giving any. I mean I was giving depth, but when you create the MeshCollider, I guess Unity tries to automatically take your visible mesh and turn it into a collider mesh too. I'm ofc giving it my own custom mesh later on, but Unity tries to do it's magic before I get to provide my own mesh.

    Ended up pulling some hair before realizing this. I currently made a very dirty fix of just moving one of the vertices 0.00001f in Z-axis and that's it.

    Oh and I updated Uphill Rage again. Slightly less difficult and changed that stupid keyboard control to mouse clicking.
     
  35. Acumen

    Acumen

    Joined:
    Nov 20, 2010
    Posts:
    1,041
    I have to admit, the alpha texture combined with terrain features alone are so worth the purchase of that tool.
    We definitely have to make a game with that ! I'll be buggin the programmer about that.

    Is it correct that one can't put different textures on the outline and the fill polygons, yet ?
     
  36. coolpowers

    coolpowers

    Joined:
    Mar 23, 2010
    Posts:
    125
    Nope, you can do it, just have to use the right shader.
     
  37. keely

    keely

    Joined:
    Sep 9, 2010
    Posts:
    967


    This is not a game, but a working template that will be bundled with the v1.1

    Haven't seen a single RageSpline powered top-down game yet, so I guess I have to push people to the right direction ;)

    Playable demo here
     
  38. keely

    keely

    Joined:
    Sep 9, 2010
    Posts:
    967


    Here is another template, which I'm calling "physics game template". Also bundled with the v1.1 update.

    Playable demo here
     
  39. ProjectOne

    ProjectOne

    Joined:
    Aug 9, 2010
    Posts:
    442
    good idea making templates
     
  40. Acumen

    Acumen

    Joined:
    Nov 20, 2010
    Posts:
    1,041
    Would someone be kind enough to explain which steps to take for doing so - getting one texture on the outline and another one on the inside ?
    Multitexture screams like the right solution, yet I think I can't manage to achieve the desired result.
    Since I read the docs and the Texturing part is "Coming soon"

    The variable outline width is such a strong feature as well, btw !

    edit:
    I managed to find an option that can switch between outline texturing and fill texturing.
    Is it possible to have both ?

    I think the gui is again kinda not too intuitive on the texturing part. Kinda weird switching back and forth. But maybe an explanation by keely will improve that on the docs.
     
    Last edited: Jun 26, 2011
  41. MaDDoX

    MaDDoX

    Joined:
    Nov 10, 2009
    Posts:
    764
    Okay, mini RageTools update. Today I've opted to move towards enhancing the SVG import support, there's now (finally!) support for rects and "color keywords", all without using the system library. Color keywords are some reserved color words of the SVG format, things like "bisque" and "linen" (ever heard of those? :)), when you use the default palette colors in your vector editor many times it applies that naming scheme.

    On a second note, just to cite an example of the huge performance improvements in the current alpha version, this specific SVG takes mere 1.7s to import, while it previously would take at least a minute due to the huge overhead of the system/xml libraries.

    I know, far from the most exciting pic in the world the one I'm attaching here, but I really had to get this out of the way. It would be silly - and probably frustrating to many - to release an SVG importer without support to the most basic shapes.

    A few more steps and I'll go back to excitement-land, ie. the animation/deform component :)
     

    Attached Files:

    Last edited: Jun 26, 2011
  42. Acumen

    Acumen

    Joined:
    Nov 20, 2010
    Posts:
    1,041
    No picture attached again :/
     
  43. keely

    keely

    Joined:
    Sep 9, 2010
    Posts:
    967
    I would love to make multi-texturing as intuitive as I think the rest of the product is. There is however a technical limitation that forces me to do things in a way that is not easy to understand.

    I could try diving into world of pain with complicated shader setups and CG to make this easier on the user, but then I would lose the reliability of the product with all the platforms and it would be support hell. I'm also not very well versed with shader programming.

    Problems trying to use multi-texturing with RageSpline usually come from the fact, that even the outline vertices read value from your fill texture and your fill vertices read a value from your outline texture.

    The current multi-texture shader always multiplies color values together. I will most likely provide different variations of multi-texturing shaders too, but currently there is only this one which does multiplication.

    So basically any pixel on the shape is multiplied value:

    pixel color = outlinetexture * filltexture * ragesplinecolorvalue

    If any of these values is black (zero), then pixel becomes black, because if you multiply anything with zero, the result is zero.

    When you are on outline vertex, the color value you read from the fill texture will always come from UV coordinates (0,0) of that texture. So if you have a black pixel in that coodinate, then everything will be black too. Also if the alpha values are zero (transparent), then the whole outline will be transparent, because again zero multiplied with anything is zero.

    I hope this helps. The best way to get something on the screen is to just flip the color values of the RageSpline to random colors and try to get something visible. Also avoiding black or white colors in the textures would be a good idea at first.

    Here are two lines from the RageSplineMultitextured.shader. You can make copy of that file, give it another name and change name of the shader in the first line to something descriptive.

    Code (csharp):
    1.  
    2. Combine texture * primary, primary
    3. Combine texture * previous double, texture * primary
    4.  
    You can see the multiplication characters. Change them to + and see what happens.

    You can also dive in to ShaderLab documentation
     
    Last edited: Jun 26, 2011
  44. Raphael Dias

    Raphael Dias

    Joined:
    Jan 18, 2011
    Posts:
    61
    Will the price raise for the version 1.1?
     
  45. keely

    keely

    Joined:
    Sep 9, 2010
    Posts:
    967
    Yes.
     
  46. Acumen

    Acumen

    Joined:
    Nov 20, 2010
    Posts:
    1,041
    But people who already purchased from "day one" will......just download update and enjoy, right ?
     
  47. keely

    keely

    Joined:
    Sep 9, 2010
    Posts:
    967
    Yes.
     
  48. Micha-Stettler

    Micha-Stettler

    Joined:
    Jun 11, 2009
    Posts:
    167
    I'm having some trouble when rotating a RageSpline object.
    If I rotate a RageSpline gameobject via script it rotates around its pivot point, which is located far away from the actual mesh.
    I've tried to move the Pivot Point to the center of the mesh, but the MovePivot script from the wiki didn't work with RageSpline:-|

    Is there a way to set the pivot point to the center of the spline-object?
    At the moment I'm using an empty gameobject as parent in order to rotate it correctly.

    btw: RageSpline is Awesome!! :D
     
  49. keely

    keely

    Joined:
    Sep 9, 2010
    Posts:
    967
    Set the Unity in a mode where you can see the pivot point (with those two buttons up there in the editor, right from the move/scale/etc)

    When you can see the pivot point, move the ragespline control points around it (you have to break your current shape and recreate it around that pivot point).

    I'm not begging, but stuff like this would look good in the Asset Store review box too ;)
     
  50. MaDDoX

    MaDDoX

    Joined:
    Nov 10, 2009
    Posts:
    764
    I see the pic here Acumen :)

    Keely, you still haven't made a shader version with z-order respect or outlines rendered behind the text right? Just asking because to finish the text rendering component I'll need to make that work. If you point to me how you intend to do it and/or where in the code to touch that up, I can try coding that in for you.