Unity Community


Results 1 to 18 of 18

  1. Location
    Argentina
    Posts
    83

    JMLCurves, Mathematical and graphical curve representation

    JMLCurves


    JMLCurves is a collection of scripts whose purpouse is mathematical and graphical representation fo curves in 3D space,designed for use exclusively in Unity Engine.

    Currently, there are six (6) different types of curves:

    1. JMLStraightCurve
    2. JMLSineCurve
    3. JMLSpringCurve
    4. JMLEllipsoidCurve
    5. JMLThreePointsCircleCurve
    6. JMLBezierCurve


    JMLCurves also features full Editor integration for easy Curves instantiation and management.

    In addition, JMLCurves has two extra components:

    • JMLCurveRenderer
    • JMLCurveCollider


    With full Editor Integration too.


    The main purpose in using JMLCurves, is to make Paths. This way you can make game objects move smoothly following a curve. Anyways you can give JMLCurves the any purpouse, just be creative!

    Screens:













    Demo:

    http://jml-universe.zxq.net/Demos/JM...esDemo1.1.html

    Manual:

    http://www.mediafire.com/view/?a1h8ddr9vwb98ci

    Asset Store Link:

    http://u3d.as/content/jmls-universe/jmlcurves/2SR
    Last edited by Metalero91; 03-16-2013 at 03:23 PM.


  2. Location
    Italy
    Posts
    217
    Nice one, I may need it


  3. Location
    Argentina
    Posts
    83
    Thanks, feel free to ask anything you want.


  4. Posts
    42
    Very nice stuff, looking forward to buy it. Any solution for 2d curves on gui layer?


  5. Posts
    219
    Looks great, I ill be purchasing this puppy, would be cool to have camera follow these paths you should make a few demos that shows this...
    Thanks,

    Scott


  6. Location
    Argentina
    Posts
    83
    Thanks for the comments.

    Quote Originally Posted by DEtH_MoroZ
    Very nice stuff, looking forward to buy it. Any solution for 2d curves on gui layer?

    Scott
    I should transfer all the system to a 2D representations, and the find a way to "draw" on GUI Layer (I have no idea how to deal with GUI Layer, i've always used OnGUI and custom GUI systems)
    But if more people need it, i'll make it.


    Quote Originally Posted by smitchell View Post
    Looks great, I ill be purchasing this puppy, would be cool to have camera follow these paths you should make a few demos that shows this...
    Thanks,

    Scott
    That is a great idea, and it's really easy to implement, if I have some time these days I'll upload a demo showing that.


  7. Location
    Argentina
    Posts
    83
    Bump-

    New Example Added: Camera Paths.
    It's still in review but you can see the Example in the Demo:

    http://jml-universe.bugs3.com/Demos/...esDemo1.1.html


  8. Location
    Argentina
    Posts
    83
    The package has been updated to be used in Unity 4.0




  9. Location
    Italy
    Posts
    648
    Really nice... bookmarked!


  10. Location
    Argentina
    Posts
    83
    I think this is great. I suppose we can add points for the bezier in runtime?
    nuverian, Indeed you can. if you've played the WebPlayer Demo, in the 2 scene (called Example 01, the one where you can shoot "fireballs"), when a Bezier curve is spawned, it's created on the fly (in that situation, with only one anchor point).

    Right now, natively, you can easily add anchor points "at the end" of the anchor point collection. Anyways, you can insert an anchor point in any position, but it will require some lines of code (not many, around 6 or 7) instead of only one. (If you're not a programmer and need that functinallity, feel free to contact me via PM, and I'll try to help you)

    Really nice... bookmarked!
    Thanks, I appreciate that


  11. Posts
    3

    Constant speed when using Bezier getPoint(t)

    Hi first of all nice work for with the asset, I been using it for long now and must say is very powerful and intuitive. One of the things I currently trying to deal with is moving an object a long a JMLBezierCurve, I know I can achieve this by using getPoint(t) method and increase t value over time from 0 to 1 in Update().

    The only problem with this is that since is a Bezier curve the object tends to accelerate at extremes and decelerate at curves because although t increments at a constant rate, the distance between points returned by getPoint(t) is not constant.

    Example:

    bcurve.getPoint(0) returns Start Point, bcurve.getPoint(1) returns Last Point but curve.getPoint(0.5) does not match the mid point of the curve.

    Can I achieve a constant motion without acceleration using any of current methods? if so can you provide an example? And if not could you point me how or could you help me adding a getPointConstant(float t) and a getPointAtDistance(float distance) methods at JMLBezierCurve, I think both of this would be an excellent addition to your asset.

    Thanks for your time and keep on with the good work : )
    Last edited by Mordokak; 08-24-2013 at 01:59 PM.


  12. Location
    Argentina
    Posts
    83
    Hi Mordokak,

    Thanks for purchasing the JMLCurves package.
    With the current methods, it's not possible to achieve what you need. However, today's your lucky day , because your post inspired me to make it possible.

    The new package will have one new property and three new methods to the JMLCurve class:

    1) LinearPointQuality [int] : this property sets the "quality" of the "GetLinearPoint(float t)"/"GetPointAtDistance(float distance)" method. The higher this value is, the most accurate the points returned are, and the more expensive the "UpdateLinearPoints()" is.

    2) "GetLinearPoint(float t)" : this method is similar to the GetPoint(float t) method, but it return a "linear speed" point (not sure how to call it, but this is what you needed)

    3) "GetPointAtDistance(float distance)" : as it names says, it return the point at distance "distance" from the start (or extremes if distance is out of bounds)

    4) "UpdateLinearPoints()" : to be able to call "GetLinearPoint(float t)", it's needed to reparametrize the curve... and that (the reparametrization) is a heavy algorithm, that is needed to be called each time the curve is modified (and the first time when the curve is created).


    I will add the proper editor support, two examples to the package and take some time to test it, so it won't be available right now (I estimate I'll have it done for the next weekend, plus the time it takes to be accepted by the Asset Store)

    If for some reason you need it ASAP, send me a PM.

    Regards,
    JMLUniverse-


  13. Posts
    3
    That's awesome news ^_^, thank you so much. If you need need help with the dev, or just need some debugging and testing I will be glad to help, although I'm a experienced coder my maths aren't as good as I would like them to be, but once again count on me for what you need, I will PM you my contact info.

    Thanks, this asset is awesome, with a dev that takes care of his work, if someone didn't buy it yet... THEY SHOULD! : )


  14. Location
    Argentina
    Posts
    83
    New package has been submitted for review!

    You can test the new functionallities in the demo : http://jml-universe.zxq.net/Demos/JM...esDemo1.2.html

    Regards,
    JMLUniverse -


  15. Posts
    2

    I need a Help.

    I bought this asset just few days ago, and I have a problem.

    BezierCurve didn't work, it cause an error and i can't fix this.

    Curve didn't make any Anchor and Point.

    UnassignedReferenceException: The variable FirstPoint of 'JMLBezierCurve' has not been assigned.
    You probably need to assign the FirstPoint variable of the JMLBezierCurve script in the inspector.

    This is a Error Message. What can i do now?


  16. Location
    Argentina
    Posts
    83
    It's strange, it seems to be that for some reason, the FirstPoint transform is not assigned (this should be created automatically if you create the GameObject from the menu).

    Maybe you just added the script to an object manually (in which case, it won't create anything automatically). If that the case, you only need to assign an (preferably empty) GameObject to the FirstPoint public variable (and the same for LastPoint, or EndPoint, (I don't have access to the code right now, and I don't remember exactly the name of the variable) )

    If that doesn't help, please, post a screenshot of the Herarchy and the Inspector with the BezierCurve object selected, so I can see what is happening.

    Regards,
    JML

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •