Search Unity

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

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

  1. Acumen

    Acumen

    Joined:
    Nov 20, 2010
    Posts:
    1,041
    So basically of this screen none of it actually is using a ragespline, but will be added later on for further detailing - just making sure, that I understand it correctly.
    Guess I don't need to add how lovable that looks ;)
     
  2. keely

    keely

    Joined:
    Sep 9, 2010
    Posts:
    967
    Very nice indeed! When you get RageSpline more utilized, remember to come back and show us what u did.

    I'm building the product website and I'm looking for screenshots/info of games using RageSpline. Some kind of "powered by RageSpline"-section with links I guess, just to show potential customers that what it's capable of.
     
  3. MTracerStudios

    MTracerStudios

    Joined:
    Aug 24, 2010
    Posts:
    118
    Gots two questions:

    Does this work with Indie or is it Pro-only?
    What is the performance? I'm dreaming of creating an entire game out of it, no textures/models whatsoever. How much detail could I have? Image of a comparable flash game would be nice.
     
  4. prime31

    prime31

    Joined:
    Oct 9, 2008
    Posts:
    6,426
    @MTracer, it is indie. You can definitely build an entire game out of it for desktop. Mobile would really be pushing the vert count though.
     
  5. keely

    keely

    Joined:
    Sep 9, 2010
    Posts:
    967
    I'm going to go with what Prime31 said. On mobile, you'll hit some limit eventually if you really push the details. I don't think the desktop/web builds will have any performance problems with any scenario. Atleast not anything that Flash currently handles.

    Animation (apart from usual scaling, rotating and moving which don't require building new polys/verts) is another story. I only have had simple objects to animate, but I'd assume if you try to a lot of new shapes every frame, it might be a problem.

    edit: as a side-note. I'm doing a this game for iPhone and plan to use RageSpline very heavily on all the gfx.

    There's also this game bundled with the v1.0 at the Asset Store which uses 100% RageSpline graphics. Neither of these games have a ton of detail, but it's not because of performance issues, but rather because I used very little time making them (only 24h for RageCar actually).
     
    Last edited: May 26, 2011
  6. Acumen

    Acumen

    Joined:
    Nov 20, 2010
    Posts:
    1,041
    Was just going for another round in ragespline and noticed again, that sometimes the actual spline doesn't get updated when moving the points around.
    Don't know if this was mentioned before elsewhere as a bug, but it kinda happens quite regularly for me. Any fix for that ?

    Also while we're at it, will it ever be possible to just create a perfect rectangle within unity ? I just had some nifty success with faking some drop shadows tuning the outline colors and having a quick make shape option like that would be nice.
    Just putting these thoughts out, so I don't forget them.
    As usual there's other ways around these workflows :)
     
    Last edited: May 26, 2011
  7. Scryer

    Scryer

    Joined:
    Jun 2, 2010
    Posts:
    69
    This is extremely nice! Excellent job!
     
  8. keely

    keely

    Joined:
    Sep 9, 2010
    Posts:
    967
    Do you get any error messages in the console? It sound like something broke in the code and the RefreshMesh() isn't running anymore.

    Are you using "create physics in editor"? If you don't need it, you should disable it. It might cause some weird errors if you do something with the auto-generated bounding boxes that I didn't anticipate in the code.

    I'm doing a dropdown shadow support later, but not for the current update. Perfect rectangle can be generated via code. Something that is easier after v1.1 comes out.

    If you are feeling hardcore, you can set the RageSpline inspector GUI to debug-mode and access the points-array manually. By typing in perfect coordinates, you get a perfect rectangle.
     
  9. keely

    keely

    Joined:
    Sep 9, 2010
    Posts:
    967


    I accidentally found this while googling my own product.
     
  10. Acumen

    Acumen

    Joined:
    Nov 20, 2010
    Posts:
    1,041
    Mh, sry, now that I read my posting again, I was only submitting half of the issue. Pardon.
    It actually gets updated properly when I modify another point, so the changes basically are made, yet are not updated in the Scene View immediately. Can't reproduce it, but it happens from time to time. I started out with a rectangle prefab this time.

    You should set in the license people are forced to submit anything they make with it to you. Don't wanna know what other awesomeness floats around there :D

    Yeh actually I was trying to build an air hockey like game field with the ragesplines for quick testing and the altered outline worked nicely as a dropshadow effect. Was just a bit difficult to have it look right. Especially with an added emboss. I guess this is not an issue but just an experience I made at testing different things. I just like to give some feedback, incase there's something on track :)
     
  11. MaDDoX

    MaDDoX

    Joined:
    Nov 10, 2009
    Posts:
    764
    Just a little update while I take a break from my sore eyes from so much SVG parsing mayhem :p I finally got one SVG path to properly import to RageSpline! Urray :) I'm making the importer extensive enough to support both Illustrator and InkScape, the second rathers repeating patterns with the same SVG command while the former splits commands more "verbosely". So far the importer can parse moveto, lineto and cubicbezier, I'm extending it to also support curve collors, widths, etc.

    More info and screenshots as soon as I iron out some kinks.

    I was about 90% into my own parser and then I thought that it'd be cool to be able to export to SVG as well, then I decided opted to go with the default Mono xml importer. It does increase the project size, but you just need it for editor operations anyways so no problem. Thanks for the comments, iByte!
     
  12. keely

    keely

    Joined:
    Sep 9, 2010
    Posts:
    967
    Pics or didn't happen ;)
     
  13. MaDDoX

    MaDDoX

    Joined:
    Nov 10, 2009
    Posts:
    764
    Ok, worship me now ;)



    Hope you don't mind me using the obvious "RageTools" name for my toolset heh. As I mentioned before I've planned it to do much more than simply import and export SVGs - control-point based animation/deformation being the next feature in line. The ultimate feature I won't even mention before due time, but I assure you it's B-I-G :)

    Oh one question, do you plan any support for hollow shapes? Like holes in the spline-mesh, ya know. I've found out a kinda hacky way to do it (similar to how Modo and Lightwave pull this kind of thing off) but it'll require mesh duplication, etc, to make it work with outlines, so I've thought about asking if you have any plans to support this so we don't go on conflicting routes.

    BTW, it's kinda hard to describe the joy I've felt when I saw the first SVG line popping up in the Unity screen in its glorious ragespline format. It was a simple, two points line (no bezier curves), yet I thought something in the lines of "a small line for a man, a huge line crossed for the unity community".

    Erm.. yeah, I know, too much drama, guess the insane amount of hours spent on this has affected my brains so.. shutting up now :D
     

    Attached Files:

    Last edited: May 26, 2011
  14. Acumen

    Acumen

    Joined:
    Nov 20, 2010
    Posts:
    1,041
    Did you try to link a picture in this worshipping worthy post ?
     
  15. ibyte

    ibyte

    Joined:
    Aug 14, 2009
    Posts:
    1,047
    Hi keely, in version 1.0 you showed me how to see/edit the RageSpline data in the editor. With 1.1 I can only see that in debug mode? If so that's not so good for me as the control handles disappear when in debug mode.

    iByte
     
  16. MaDDoX

    MaDDoX

    Joined:
    Nov 10, 2009
    Posts:
    764
    LOL, it *was* linked in the post.. I think the Unity forum hates me :) Re-attached, hope it stays there now.
     
  17. Acumen

    Acumen

    Joined:
    Nov 20, 2010
    Posts:
    1,041
    Welp, you officially rock :D
    Every past mistake forgiven....


    woooheeee, this opens up even more endless²infinity possibilities !
    To be honest, I didn't expect this to happen or remotely work at all. What a great addition to the toolset :)
     
  18. ibyte

    ibyte

    Joined:
    Aug 14, 2009
    Posts:
    1,047
    Ok MaDDox .. you win!!!

    I guess no one liked my disfigured herd of svg animals that I imported ... sniff sniff

    Now i won't complete my svg importer and those poor little animals will have to stay like that forever!!!!

    iByte
     
  19. keely

    keely

    Joined:
    Sep 9, 2010
    Posts:
    967
    Great success! Consider yourself worshipped. You have my blessing with the name of course.

    It's only one month from release and we are already seeing promise of 3rd party additions. All the $$$ sure is nice, but this is just pure awesome.
     
  20. Acumen

    Acumen

    Joined:
    Nov 20, 2010
    Posts:
    1,041
    oops, skipped a couple of pages :eek:
    Poor iByte :(

    You deserve praise and rock-status for achieving awesome things, too !
    Consider being virtually hugged.
     
  21. ibyte

    ibyte

    Joined:
    Aug 14, 2009
    Posts:
    1,047
    Okay I feel much better now ... I just might have to save them after all ;)

    iByte
     
  22. keely

    keely

    Joined:
    Sep 9, 2010
    Posts:
    967
    Very likely not supporting holes. I'm been thinking about stuff like masking, which could make it happen, but I rather not talk about it further because... well because I'm only thinking about it and it's a long way from thinking to shipping.

    And now that I think about it, even if I got some kind of masking done, it still doesn't solve all the problems with holes.
     
  23. ibyte

    ibyte

    Joined:
    Aug 14, 2009
    Posts:
    1,047
    keely, please have a look at the fill on this RageSpline Object

    Your thoughts?

    iByte

    1)



    2) and this corner

     
    Last edited: May 27, 2011
  24. MaDDoX

    MaDDoX

    Joined:
    Nov 10, 2009
    Posts:
    764
    Thanks for the kind words everyone, really glad to be helping to push the envelope further. iByte, even if just for the super-early researches and the support to my puny efforts - which you offered in spades - you'd already be much ahead of myself in this whole "RageSpline extension" movement. C'mon, you're the guy with the Rage Spline avatar, not even Keely has one! ;)

    Just what I thought. Never fear, I'm super-confident that my workaround will work, I'm just afraid that it'll require some manual tweak in the vertices, be it in the source vector application or inside Unity. Talking of which Keely, we don't have any API function to show each vertex index number in the scene view, do we? It'd be super-handy for both debugging (at the dev end) and to define a list of points to take part of a group (user end). In the second case, it'd be even better if we had (have?) a way to read the index from the currently selected point in a spline. As you can see, I haven't checked the whole API yet.. :whistle:

    Well, time to give my sore eyes a break, tomorrow it'll be time to implement additional parameter parsing. Nite all!
     
  25. keely

    keely

    Joined:
    Sep 9, 2010
    Posts:
    967
    This is with v1.1 right? Can you export the shapes to .unitypackage and e-mail me them at juha@juhakiili.com
     
  26. ibyte

    ibyte

    Joined:
    Aug 14, 2009
    Posts:
    1,047
    Hi keely, yes I am using 1.1. Okay will send you the samples.

    Thanks

    iByte
     
  27. ibyte

    ibyte

    Joined:
    Aug 14, 2009
    Posts:
    1,047
    Things are looking better at the zoo now - old post

    1) Got the circles sorted out.

    2) In order for the lamb to work out I had to slightly doctor the input file. My code doesn't handle multiple M commands in one data set (yet) so that was causing some ugly stuff as that was used to make a hollow object. Instead I made them two separate objects and layered them.

    3) Polygons have not been implemented either so there are a few bits missing like part of the bears nose.

    4) The other items still to be worked out are the fill (cow hand, lambs nose, lion and bear ears, ) and tri (frog outline) issues I mentioned to keely.

    5) In order to get some of the objects looking smooth enough I had to quadruple the default vertex count. I am not sure how to "tell" from the input when that number should be increased/decreased so I think it's one of those things that needs to be hand tweaked after the RageSpine objects have been created.

    So if that stuff gets worked out then that only proves I can Rageify that one particular file .. so far :)

    Edit: total number of RageSpline objects created - 104, draw calls 104, 174k Tris and 125.2k verts
    (yes those are "k")

     
    Last edited: May 27, 2011
  28. ibyte

    ibyte

    Joined:
    Aug 14, 2009
    Posts:
    1,047
    Hi Keely, still working on sending you some samples but one thing i discovered with the fill issue is that some of it can be corrected by adjusting the vertex count. For example when i use 240 as the vertex default, the lion and bear ears do not fill correctly but if i bump that to 256 then they do. @ 256 the cow hand and rabbit,bear, bunny and hedge hog mouths still don't fill. (Edit 2 - okay i pushed verts up too high on these objects, dropping the vertex count down to 32 or 48 still looks okay and fills properly)

    Edit: okay - in most cases things work a little better if i stick with a multiple of your original vertex count. The ears are still filling but the thin stuff still isn't. Using 128 instead of 64 makes things smooth enough to be passable and drops the overall tris/virts counts down to 93k/67k




    iByte
     
    Last edited: May 27, 2011
  29. keely

    keely

    Joined:
    Sep 9, 2010
    Posts:
    967
    I'm lost in all the details of SVG, but are you guys using different approaches? Should you join forces? I don't want to intervene too much and I guess nothing wrong with competition. Atleast the problem space gets researched from different perspectives.
     
  30. RandAlThor

    RandAlThor

    Joined:
    Dec 2, 2007
    Posts:
    1,293
    How can RageSpline work with UniTile?
    Ist there anything that i have to think about before?
     
  31. keely

    keely

    Joined:
    Sep 9, 2010
    Posts:
    967
    This is a weird sentence since v1.1 should always automatically snap the vertex count to nearest multiple of control point count.

    You should see the value change in the inspector. Let's say there's 4 spline control vertices and you put input vertex count 15. It should automatically change to 16 right there in the inspector GUI. Can you confirm this?
     
  32. ibyte

    ibyte

    Joined:
    Aug 14, 2009
    Posts:
    1,047
    Hi Keely, you are correct RageSpine will automatically adjust to whatever it thinks is best but it did appear (with out looking to closeIy at all 104 objects) that I did get better results when they were multiples of your original number. I see now that it was just coincidence.

    As i mentioned in my email with the unity.package I was able to get all the fills working correctly if I tweaked the vertex counts.

    Have you been able to think of a way to get control handles to show when in debug mode?

    iByte
     
  33. keely

    keely

    Joined:
    Sep 9, 2010
    Posts:
    967
    I haven't researched that one yet. Maybe it would be better to just make the original default inspector show up with some kind of "expert" selection. Not sure what the debug-mode does and I think it's one of those things I shouldn't even try to hack into.
     
  34. KensukeShimoda

    KensukeShimoda

    Joined:
    Oct 5, 2010
    Posts:
    4
    Hi Keely,

    I am enjoying using the wonderful tool you made.

    Now, I have a question about rotating the spline objects.
    When I add values to the rotation parameter of a spline object, it always move its position on the scene as if it has its pivot far away from itself.
    And I found it always changes the position when I rotate it by the rotate tool.

    How do I rotate a spline object without moving its position?
     
  35. keely

    keely

    Joined:
    Sep 9, 2010
    Posts:
    967
    I don't have Unity at this computer, but if I remember correctly, you have to make Unity use the mesh center as pivot and not the origin of the objects local coordinate space.

    Try fiddling with these:

     
    Last edited: May 27, 2011
  36. KensukeShimoda

    KensukeShimoda

    Joined:
    Oct 5, 2010
    Posts:
    4
    Thank You Keely,

    I made it as you show. And I found that the pivot of the object is actually far away from the centre of the object itself.
    How do I set it on its centre?
     
  37. keely

    keely

    Joined:
    Sep 9, 2010
    Posts:
    967
    I didn't mean that it should as in the picture. I meant that try to use these buttons to get what you're after.

    You need to set those to "Center/Local" and it should then rotate round the center.
     
  38. MaDDoX

    MaDDoX

    Joined:
    Nov 10, 2009
    Posts:
    764
    From what I've gathered iByte doesn't have much time to dedicate to this (or at least so he's mentioned) and I really wanted the finest control of every aspect of the import - to do things like, for example, defining the RageSpline line width considering the document size. Thus, iByte used a library while I'm making things mostly from scratch, which means we both have very different ways to tackle the problem which from what we've discussed before doesn't please much the other part heh. Remains to know how far each can - and actually will - go, only time will tell :) Like you said, it's fine having some competition and checking each other results, I'm sure if we stumble upon some specific problem we'll trade help info.

    Talking of which, today I've added closed/loop objects (that one was easy, just gotta be careful to reset the cursor position after it) and stroke color support - harder than initially seemed, especially to cater for both Inkscape and illustrator slightly different SVG code formatting. Going smoothly so far, I hope to give it a solid push during the weekend so I can have some actual imported toon-illustrations ready to show early next week.

    PS.: I don't visit the Unity forum so often, so for the very last updates on the RageTools progress please follow me on twitter: @brenoazevedo
     
  39. ibyte

    ibyte

    Joined:
    Aug 14, 2009
    Posts:
    1,047
    Hi MaDDox, I am juggling a few projects ... and this particular one was born out of a desire to import some specific svg graphics. The library I am using "SVGLib" is strictly for breaking down the svg xml into individual svg elements. I have written my own code for parsing the specific elements as I could not get any of the other libraries to actually work for me with these particular files.

    It's been a good learning experience but I would not call what I have created so far "industrial" code. In fact based on the variations of SVG formatting options, svg sample files, etc ... I would find offering general svg support a little bit of daunting commitment from a product support point of view. I don't think it is unreasonable to tell folks if their files do not import in your tool then they should pre process it in Inkscape or Illustrator .

    So far I have rect, circle, ellispe, line and cubic bezier path (M, {l,L} {c,C} {s,S}) elements coded. My code also only handles commands with singles sets of point data although I don't think it will be to hard to handle commands with multiset path data (polybeziers). Other than that the only thing left that I had planned to do for me would be the polygon element. Wasn't planning on supporting image, group or Text.

    To be honest after this last part I haven't yet decided what path (if any) I'll take this down (no pun intended).

    You might want to consider starting a thread in the showcase for RageTools, so you could entertain more detailed discussion without taking away from the focus of the RageSpline asset store thread and post updates back here once in a while .... but it's up to you.

    All the best

    iByte
     
  40. coolpowers

    coolpowers

    Joined:
    Mar 23, 2010
    Posts:
    125
    Any idea when 1.1 will make it out? I want to try something with the outline texturing (did that make it in for this update?)
     
  41. keely

    keely

    Joined:
    Sep 9, 2010
    Posts:
    967
    I put you the unofficial v1.1 as private message.
     
  42. coolpowers

    coolpowers

    Joined:
    Mar 23, 2010
    Posts:
    125
    Great, thanks :D
     
  43. keely

    keely

    Joined:
    Sep 9, 2010
    Posts:
    967


    This is the final feature I'm doing before I polish up and ship. It's a new fill-mode called "landscape".

    Forgive me for using such an awful textures. The grass is actually textured outline with varying width.
     
  44. p6r

    p6r

    Joined:
    Nov 6, 2010
    Posts:
    1,158
    Wow !!!

    6r
     
  45. prime31

    prime31

    Joined:
    Oct 9, 2008
    Posts:
    6,426
    @keely, looks awesome! You are gonna force me to make a Tiny Wings clone (Really Small Wings) when I get my hands on that one.
     
  46. coolpowers

    coolpowers

    Joined:
    Mar 23, 2010
    Posts:
    125
    haha, pretty sure everyone else had the same idea the minute that pic was posted :D

    It's looking great keely. RageSpline to me is the first truly must-have addon for Unity (yes, even more than SM2!)
     
  47. Acumen

    Acumen

    Joined:
    Nov 20, 2010
    Posts:
    1,041
    I don't understand a thing, but that is exactly what I wanted for this tool :D
    And yadayada on the "awful textures" thing. Don't hunt for the praise ;)
    Wish the screens would be bigger, so I could understand the wireframes and how the textures work better.

    Hope you'll include the resources of this example in the update ! Can't wait for it to come.
     
    Last edited: May 28, 2011
  48. keely

    keely

    Joined:
    Sep 9, 2010
    Posts:
    967
    My goal is to make RageCar v1.1 with procedural level that goes on forever. This would demonstrate many things like code access to splines, landscape-mode, outline texturing with one stroke, etc.

    I have three week summer holiday starting next friday. I think I'm going to do a little crunch there and ship the v1.1, but this is not a promise.
     
  49. Acumen

    Acumen

    Joined:
    Nov 20, 2010
    Posts:
    1,041
    Procedural levels you say ?
    That basically gives a go my same tinywings clone ideas.
    Wonder who will be fastest :D

    Sounds like you have planned some wonderful things for the update.
     
  50. keely

    keely

    Joined:
    Sep 9, 2010
    Posts:
    967


    Exactly the same textures and settings. I think THIS is the real power of RageSpline.

    The control of the vertex colors is the greatest feature for me. I love to tweak colors and i HATE to flip to photoshop and not see the whole "palette" of what I'm doing. I might have the wrong workflow, but I'm just jumping for joy when I adjust colors straight into my game.