Search Unity

RageSpline - 2D Vector Graphics for Unity - v1.1 RELEASED

Discussion in 'Assets and Asset Store' started by keely, Jun 30, 2011.

  1. keely

    keely

    Joined:
    Sep 9, 2010
    Posts:
    967
    I'm currently discussing with MaDDoX about these features since he already implemented them in his own extension.
     
  2. Acumen

    Acumen

    Joined:
    Nov 20, 2010
    Posts:
    1,041
    I totally understand the companionship to a fellow dev, but I'd be extremely pissed as a customer if I get forced to purchase these other tools just for some smaller but handy updates.
    I was already uncertain how I feel about this "toolkit for a toolkit-approach" but oh well...
    We'll see how it plays out. But I hope these other tools get their own thread finally. Kinda annoying to pick all the information about the actual ragespline product with all these other tech talk inbetween about what can be done in a not released toolset addition :(

    Just hope MaDDoX can finally take the plunge and open up the well deserved thread for his product :)
     
  3. keely

    keely

    Joined:
    Sep 9, 2010
    Posts:
    967
    Coordination and polite cooperation between me and the 3rd parties is vital in keeping the product clean and straightforward. When I saw the potential that RageSpline has and the lack of resources that I had to fulfill that whole potential space myself, I chose this route and while there are negative sides, I think at the end of the day it's best for all parties. I think same philosophy applies to Unity as a whole. They are very careful to just implement polished core stuff and let everyone else extend it. I think it works very well for the devs.

    I'm trying to be very careful to implement all the functionality that I consider basic to be in the core version. I think this scale and pivot point are good examples of clearly basic operations and they will be implemented now.

    This time we were a bit unlucky that MaDDoX already implemented them and as a courtesy I wanted to make sure he is ok for moving them to the core version. He has already replied he is ok with it and I was 99.9% sure about that beforehand. He would even send me source code to save some time.
     
  4. MaDDoX

    MaDDoX

    Joined:
    Nov 10, 2009
    Posts:
    764
    Keely already got the Pivot-centering tool source. Not much but it might serve as a kickstart, at least it's debugged and tested :)

    I'm as eager to get this off the ground as anyone, of course. As for what features would be "basic" or "extension" that's definitely a very subjective matter. Acumen, I hope you understand that, as much as we respect and hear everyone's opinion, it truly gets down to how much effort we developers can dedicate to make each feature vs the price point we're aiming for each product.

    After all, theoretically Unity3D "should" come with vector drawing and UI features, right? And we're all aware that some day that will probably be the case. Meanwhile though, it's just a couple passionate guys trying to bring new features to the community in their (scarce) spare time. Peace! :)
     
  5. MaDDoX

    MaDDoX

    Joined:
    Nov 10, 2009
    Posts:
    764
    Keely, I've found a nasty bug/issue in the latest RageSpline beta which is preventing me to run RageTools with it, could use some help here. Check your PM box for more info.
     
  6. bralexlabs

    bralexlabs

    Joined:
    Jul 31, 2011
    Posts:
    22
    I'm finding that the Ragespline API can allow you to roll your own animation scripts pretty easily. I'm still pretty new to Unity, so most of my hold-ups are related to getting more familiar with the Unity interface and workflow.

    All-in-all, I'm not finding the process too difficult. I'll admit that a baked-in animation feature would simply kill, but if it's too bothersome to buy two complimentary tools, then the RageSpline API is your friend.

    I got my little 3-point wavefront idea to animate from side to side last night. Now I'm trying to figure out how to make the animation more flexible to animate an arbitrary amount of points, arbitrary indexes, along arbitrary vectors. I've never done this kind of stuff before, so it's exciting that it's coming together at all!
     
    Last edited: Aug 5, 2011
  7. keely

    keely

    Joined:
    Sep 9, 2010
    Posts:
    967
    Great to hear that API is useful. I've been holding my breath a little if the leap of faith is just too much for devs. I'm sure I'm not alone in my desire to see some working demos, videos or screenshots of your stuff.
     
  8. bralexlabs

    bralexlabs

    Joined:
    Jul 31, 2011
    Posts:
    22
    Haha, considering how much games have pushed the bounds of technology over the years, I don't think it's unreasonable for developers to get familar with a nice little API like this. Sure beats doing the same stuff with raster images.

    I'll start taking some little videos of my progress soon. I'm hoping something a little more impressive isn't too far off... but if you'd prefer to see incremental progress, I can oblige. I didn't want to spam this thread with too many boring tech demos. :p
     
  9. keely

    keely

    Joined:
    Sep 9, 2010
    Posts:
    967
    Yeah it's not very complicated, but now that there is still lack of documentation, examples or other people using it, I'm afraid how many will probably think it's somekind of overly complicated, buggy and changing every two weeks.

    I wouldn't mind the incremental demos either. That's what this thread is all about.
     
  10. lilymontoute

    lilymontoute

    Joined:
    Feb 8, 2011
    Posts:
    1,181
    Just wanted to say that I love this tool - we've been using it for a project of ours and it has saved countless hours.

    I've also toyed with compatibility with Fluvio and adding fluid dynamics (softbody simulation) to splines and spline handles. You've got a really nice API going right now.

    Great stuff =)
     
  11. keely

    keely

    Joined:
    Sep 9, 2010
    Posts:
    967
    Put this on Asset Store review box and you make me a happy man :)
     
  12. Jodon

    Jodon

    Joined:
    Sep 12, 2010
    Posts:
    434
    Hello,

    I've recently setup a background consisting of RageSplines, and then prefab'd it. Unfortunately, whenever I drag the prefab into a scene, it instantly loses its prefab connection. Worse, the other levels that have the prefab are also losing its connection (so now I'm afraid to save anything, because a save means it will permanently lose its connection, and I'd have to manually revert that level).

    It appears that it's RageSpline causing this issue, and is easily seen by dragging the RageSpline prefabs into a scene and the object instantly loses its prefab connection there.

    Surely someone has run into this issue? Is there a work-around or fix?

    Thanks.

    Edit: If anyone stumbles on this, it's fixed in RageSpline 1.1.8.
     
    Last edited: Aug 5, 2011
  13. bralexlabs

    bralexlabs

    Joined:
    Jul 31, 2011
    Posts:
    22
    I tried recreating this issue briefly. I can't see evidence that the prefab connection is lost on my end. I'm using a beta version of RageSpline on OS X.
     
  14. keely

    keely

    Joined:
    Sep 9, 2010
    Posts:
    967
    Which version of RageSpline and Unity are you using?
     
  15. Jodon

    Jodon

    Joined:
    Sep 12, 2010
    Posts:
    434
    Using Unity 3.4 and the latest available RageSpline from the App Store (1.1.4), though it doesn't say it anywhere in the code.

    Edit:

    Just tried RageSpline in a completely new project. Quickest way to test: Just drag the RageSpline Circle Prefab into your scene, already the connection is lost.

    To see the problem further:
    Make a circle, create a prefab, put the circle in the prefab. Drag that prefab into the scene, the prefab connection is already lost and you need to either apply/revert it. Dragging a script onto the prefab does not update the new instance.
     
    Last edited: Aug 5, 2011
  16. keely

    keely

    Joined:
    Sep 9, 2010
    Posts:
    967
    I'm sending you the latest beta via private message so that you can see if the problem persists. Please don't import it over important projects without backup.
     
  17. lilymontoute

    lilymontoute

    Joined:
    Feb 8, 2011
    Posts:
    1,181
    Well sir, I guess I've just made you a happy man. You've made our team pretty happy plenty of times now =P
     
  18. Jodon

    Jodon

    Joined:
    Sep 12, 2010
    Posts:
    434
    I am extremely happy to report that it doesn't appear to happen in the beta! Looks like I'll be releasing with the beta :).

    Cheers.
     
  19. Ryuuguu

    Ryuuguu

    Joined:
    Apr 14, 2007
    Posts:
    391
    Not sure if this rageSpline related or not but I am posting in case anyone else has a similar problem. My project keeps corrupting itself. the System.IO get corrupted error message "`System.IO.File' does not contain a definition for `ReadAllBytes'" It happened a few days a ago and I exported all assets to a package and imported to a clean package. This morning when working extensively with RageSpline Beta my project started showing the error again. I also have AZGUI and Easy Save installed but I was not using EZGUI editor function and easy save does not have any. I had duplicated and moved the background object in the top down example and it was very slow to do this and the colliders looked wrong in the duplicate. I have have a patch skipping the physics refresh in Awake(). ( I filed a bug report w/Unity)

    Cheers,
    Grant
     
  20. bralexlabs

    bralexlabs

    Joined:
    Jul 31, 2011
    Posts:
    22
    I haven't had that issue myself, and I kind of doubt that RageSpline is contributing to what appears to be an issue with System.IO.

    Saw your thread elsewhere on the forum, so I can see you've checked your own code. Could it be a permissions issue? Or perhaps is there a bad sector on your hard drive that's corrupting the data you've tried to reimport?

    EDIT:
    By the way, this may provide some grounding for what you're dealing with.
     
    Last edited: Aug 6, 2011
  21. Ryuuguu

    Ryuuguu

    Joined:
    Apr 14, 2007
    Posts:
    391
    It easily could something else, I posted here to see if any other RageSpline users are having problems. I don't think it is permissions of bad sector since it worked fine for a day after I imported my project from a package. Either of those would probably cause either an immediate error or a different error not a repeat of same error. Most System.IO.File methods are OK just ReadAllBytes has disappeared.

    If no one else is having a similar problem then it is probably not RageSpline.
     
  22. bralexlabs

    bralexlabs

    Joined:
    Jul 31, 2011
    Posts:
    22
    Yeah, you're probably correct that it's not a permissions or hardware issue. But still, it seems so odd, since ReadAllBytes is part of the .NET framework. It's not even specific to Unity or anything.

    You sure it's not related to your install or playing around with the Unity betas?
     
  23. Ryuuguu

    Ryuuguu

    Joined:
    Apr 14, 2007
    Posts:
    391
    Let's not Hijack this thread. If you want we can continue on the thread other thread I start about the problem. Search for ReadAllBytes.

    As I said if other are not experiencing this problem it probably not RageSpline. I posted here in case it was because it would lead to a quick resolution to the problem.
     
  24. bralexlabs

    bralexlabs

    Joined:
    Jul 31, 2011
    Posts:
    22
    Good idea.

    In the spirit of staying on-topic, here's the incremental progress I have made with animating the control points. Enjoy the five seconds of something/nothing.



    EDIT: Yes, it's the hill that's moving. ;)
     
    Last edited: Aug 6, 2011
  25. illinar

    illinar

    Joined:
    Apr 6, 2011
    Posts:
    863
    Bralexlabs, first two times I saw it, I thought the sphere was moving.)


    Kelly, please can you help me out with shader for the splines? I need shader with soft edges and lighting. I tryed to set Lighting On but sprites are just disappear.. Or anyone one, please?)

    Here I'm experimenting with lighting and geometry:



    It currently using 8x antialiasing. By the way, you see this small pieces of geometry, they are using the same style as the rest of geometry. I really need local and relative vertex count (relative to number of nodes).
     
    Last edited: Aug 6, 2011
  26. bralexlabs

    bralexlabs

    Joined:
    Jul 31, 2011
    Posts:
    22
    Yes, I maybe should put some more background elements in the scene to make it more clear what's happening. :)
     
  27. keely

    keely

    Joined:
    Sep 9, 2010
    Posts:
    967
    @Ostin

    I'm sorry I can't give you straight answer right now, because I don't have access to Unity+RS where I'm at, but the main thing is that RageSpline mesh is just ordinary mesh and lighting should work if everything else is correct.

    However I believe that RageSpline shaders aren't made in a way that lightning works just by changing that Lightning On. I think you need to have the actual light values calculated in the pixel color too. Check out the Unity Shaderlab docs and you might be able to figure it out.

    I'll try to add a local selector to vertex count, because it does make sense.
     
  28. illinar

    illinar

    Joined:
    Apr 6, 2011
    Posts:
    863
    Sorry, Keely*, not Kelly.) Its not the main priority right now but I certainly will learnn the ShaderLab. it should be easy..)

    And what do you think about relative vertex count and relative collider split count? Every time I remove node on low poly splines, I have to count my nodes and set this number as vertex count. It will be very convinient if during the spline editing its detail level will always be the same and using styles will be easyer that way. It could be optional, so existing geometry will not be affected, or it can be pretty precisely converted based on the current node and vertex count.Cant wait for cubic splines, btw!)
     
    Last edited: Aug 7, 2011
  29. MaDDoX

    MaDDoX

    Joined:
    Nov 10, 2009
    Posts:
    764
    I've made so much progress with RageTools today that words can't make it justice. So, here goes the worth-a-thousand-words deal, a side-by-side comparison between a complex SVG rendered in Firefox and inside Unity with RageTools+RageSpline. I rather the later, tbh ;) Hope to hit beta (finally!) tomorrow, to-do list is getting shorter by the hour and the tougher stuff is now behind.
     

    Attached Files:

  30. keely

    keely

    Joined:
    Sep 9, 2010
    Posts:
    967
    I didn't do it exactly like this but something similar. I'm sending you an url with private message to the beta so you can test if it works.
     
  31. keely

    keely

    Joined:
    Sep 9, 2010
    Posts:
    967
    Changing how the vertex count works would be a huge overhaul on the whole system. I'm thinking about ways to avoid the workload, but I can't really promise if it will change. There are also benefits in a fixed number that doesn't change without the dev explicitly changing it. Btw you can just type 1 in the vertex or physics count and it should automatically round up to nearest number that makes sense.

    btw. have you tried the Unitys basic "diffuse" shader with RageSpline for the lighting? Or some other shader that comes with Unity? I don't see a reason why they wouldn't work, but I haven't tested stuff with them too much so I can't say for sure.
     
    Last edited: Aug 8, 2011
  32. artonator

    artonator

    Joined:
    Sep 12, 2009
    Posts:
    69
    Hi Keely,

    I would like to have white highlight using emboss but the color seems be mixed with texture color when I apply texture is there anyway I can avoid this? I sue rageSplie/Textured as the shader.

    Also I was wondering if I could make donuts shapes ( cut out) with rage spline.

    thank you,
     
  33. keely

    keely

    Joined:
    Sep 9, 2010
    Posts:
    967
    Yes the texture color in texturecoordinates UV(0,0) gets applied everywhere in the mesh. That's unfortunately the way it goes with current version.

    However in the upcoming update theres a way you can separate fill texturing to take place in a separate drawcall so it wont get mixed in.

    Donuts or holes in general are not supported, sorry.
     
  34. illinar

    illinar

    Joined:
    Apr 6, 2011
    Posts:
    863
    Can you just override existing vertex count system? Something like this?

    Code (csharp):
    1. private bool relativeSegmentSplit; // Not the best names for this variables, I know.
    2. private bool relativePhysicsSplit;
    3. private float relativeSegmentSplitCount;
    4. private float relativePhysicsSplitCount; // All this vars should be saved in Style unless VertexCount or PhysicsSplitCount are local.
    5.  
    6. void CheckRelativeVertexCount() // Call on delete or remove node.
    7. {
    8.    if ( relativeSegmentSplit )
    9.       verexCount = relativeSegmentSplitCount * nodeCount;
    10.    if ( relativePhysicsSplit )
    11.       physicsSplitCount = relativePhysicsSplitCount * nodeCount;
    12. }

    I'm using Deffuse Shader but transparancy on the edges doesn't work.
     
    Last edited: Aug 8, 2011
  35. keely

    keely

    Joined:
    Sep 9, 2010
    Posts:
    967
    I guess I could get away with slipping something like this in without breaking everyones existing projects.

    Have you tried any other Unity shaders?
     
  36. illinar

    illinar

    Joined:
    Apr 6, 2011
    Posts:
    863
    Tryed it now. Doesn't work, and i think it shouldnt since information about color and transparensy is not taken from the vertices, as far as I understand.
     
  37. Streamfall

    Streamfall

    Joined:
    Aug 8, 2011
    Posts:
    43
    Hello Keely, Thank you for releasing such an astounding product!

    I have one possible bug however. Occasionally after I've added a ragepline prefab (blob, rectangle, etc), the object ill not be editor selectable. I instead have to select it in the hierarchy. This is unfortunate because it means i'm unable to double click the object in order to add nodes. Might you have a possible fix?
     
  38. MaDDoX

    MaDDoX

    Joined:
    Nov 10, 2009
    Posts:
    764
    RageTools closed beta is now live! Congratulations to the two lucky guys that are in :)
     
  39. Mcx

    Mcx

    Joined:
    Apr 2, 2011
    Posts:
    10
    A friend of mine who uses this for ios games told me the latest version of rage spline doesn't display the rage spline shapes on android devices but the previous version of rage spline does. Is there a way to resolve this as I'm interested in purchasing this for android development
     
  40. keely

    keely

    Joined:
    Sep 9, 2010
    Posts:
    967
    Unfortunately I don't have Android myself, but I have a friend who told me RageSpline shapes don't work in arm6 devices, but work fine in arm7. Afaik most of the officially supported Android devices are arm7, but I have to admit I'm really no expert when it comes to Unity Android.

    Can you get some more detail out of your friend, because what your friend is saying sounds pretty bad and contradicts the info I have.
     
  41. keely

    keely

    Joined:
    Sep 9, 2010
    Posts:
    967
    Watch the Ragespline 101 part 3 video. At 1:00 John will explain this.

    http://ragespline.com/videos
     
  42. Mcx

    Mcx

    Joined:
    Apr 2, 2011
    Posts:
    10
    Thanks for the reply but yes you may be correct he has only tested on two arm6 devices
     
  43. bralexlabs

    bralexlabs

    Joined:
    Jul 31, 2011
    Posts:
    22
    Hey, Keely. I thought of a question.

    Is there a way for me to assign an arbitrary name to a given control point? Some of the things I want to do as far as animating a control point might get complicated as I start adding, moving, and destroying control points during runtime. Maybe I'm just not familiar enough with the way the indexes are assigned to the control points when they are created.

    Either way, I figure that if I could treat the control points in something like an associative array instead of a traditional array, it might make managing them more intuitive as they move around...

    Perhaps RageTools will assist with this? *shrug* Or maybe this could be a new feature in a future version of RageSpline? What do you think?
     
  44. keely

    keely

    Joined:
    Sep 9, 2010
    Posts:
    967
    The points are just an normal array with integer index. I could make some kind of system where you can store a name string per point and a GetPoint(string name) sort of thing for the API.
     
  45. keely

    keely

    Joined:
    Sep 9, 2010
    Posts:
    967


    I wrote here about buying a cheap virtual server instance and trying to get a proof-of-concept game running Unity and multiplayer. I have pretty nice multiplayer-server code from my earlier project from school with Java so I modified that and now I got it working.

    It's a simple car game where multiple players can join and leave anytime. I don't know if this url or the server will work very long (or work at all with real traffic), but if you got Unity web player installed then you can give it a go:

    kiili.org/qrally

    Of course It's made with RageSpline :)
     
  46. bralexlabs

    bralexlabs

    Joined:
    Jul 31, 2011
    Posts:
    22
    If it wouldn't be much trouble, I'd find that pretty useful.

    Drilling down a little, and please forgive me if you've answered this already: when new points are created on a RageSpline at runtime, is the index of the new point +1 more than the highest number in the array? If I have 2 points -- indexes 1, and 2 -- the new point would get an index of 3, regardless of its position relative to the others, correct?
     
  47. Chickenlord

    Chickenlord

    Joined:
    May 13, 2011
    Posts:
    381
    Awesome demo, at least graphics wise. But im pretty sure there's a bit too much ice on the road :D Anyways, cool demo.
     
  48. keely

    keely

    Joined:
    Sep 9, 2010
    Posts:
    967
    AddPoint()-functions all have index parameter which lets you decide what is the index of the new point. Other indexes are going to move accordingly. Only one version of AddPoints doesn't have index parameter. It has only splinePosition value which means float [0..1] along the spline, where you wan't the new point. That method returns the new index, though.
     
  49. keely

    keely

    Joined:
    Sep 9, 2010
    Posts:
    967
    Thanks! I saw you driving there. I think you shouldn't drink and drive :)
     
  50. keely

    keely

    Joined:
    Sep 9, 2010
    Posts:
    967
    I got reports saying that selecting/deleting points in RageSpline with the new OSX Lion and Unity 3.4 is somewhat bugging and you actually have to hold down the mouse for a while for it to work. I don't have Lion or can't recreate this on my setups. Anyone else having something similar going on?