Search Unity

  1. Welcome to the Unity Forums! Please take the time to read our Code of Conduct to familiarize yourself with the forum rules and how to post constructively.
  2. We have updated the language to the Editor Terms based on feedback from our employees and community. Learn more.
    Dismiss Notice
  3. Join us on November 16th, 2023, between 1 pm and 9 pm CET for Ask the Experts Online on Discord and on Unity Discussions.
    Dismiss Notice

Dreamteck Splines - Powerful and Flexible Spline Solution

Discussion in 'Assets and Asset Store' started by Dreamteck, May 11, 2016.

  1. Dreamteck

    Dreamteck

    Joined:
    Feb 12, 2015
    Posts:
    336
    Yes, Dreamteck Spliens works in 2019 over here. Try resetting the Unity editor layout.

    ---
    Did you know? Support is faster on our Discord Server.
     
  2. Dreamteck

    Dreamteck

    Joined:
    Feb 12, 2015
    Posts:
    336
    We are working to add this in a future version.

    ---
    Did you know? Support is faster on our Discord Server.
     
  3. Dreamteck

    Dreamteck

    Joined:
    Feb 12, 2015
    Posts:
    336
    Please, provide some code and information about your setup so I can try to replicate this.

    ---
    Did you know? Support is faster on our Discord Server.
     
  4. Dreamteck

    Dreamteck

    Joined:
    Feb 12, 2015
    Posts:
    336
    Can you try resetting the Unity editor layout? Sometimes this fixes the problem.

    ---
    Did you know? Support is faster on our Discord Server.
     
  5. Muhammad_Taha

    Muhammad_Taha

    Joined:
    Jun 21, 2015
    Posts:
    22
    Okay, i will try.
     
  6. Dreamteck

    Dreamteck

    Joined:
    Feb 12, 2015
    Posts:
    336
    We do have the surface movement mode which allows you to move points along the surfaces of colliders. You need to select the Move tool and toggle "Move On Surface".
     
  7. Dreamteck

    Dreamteck

    Joined:
    Feb 12, 2015
    Posts:
    336
    Version 2.12 is out!

    This is what is new:
     
    ledshok and sjm-tech like this.
  8. dogabeey

    dogabeey

    Joined:
    Jul 17, 2018
    Posts:
    2
    Hello. I'm sure this has been asked before but I couldn't find anything probably due using wrong keywords.

    Is it possible get current position of a spline follower at runtime? I'm able to get start position but it disappears once the game started.
     
  9. Dreamteck

    Dreamteck

    Joined:
    Feb 12, 2015
    Posts:
    336
    Hi,
    You can get it using:
    Code (CSharp):
    1. double currentPosition = GetComponent<SplineFollower>().result.percent;
    ---
    Did you know? Support is faster on our Discord Server.
     
    dogabeey likes this.
  10. Rensoburro_Taki

    Rensoburro_Taki

    Joined:
    Sep 2, 2011
    Posts:
    274
    This is actually exactly what I need. How does this look like with todays latest version? I could find anything in the manual. Tried to find with keywords: timeline, animation, but nothing.
     
  11. Maryni

    Maryni

    Joined:
    Jun 17, 2018
    Posts:
    5
    Hello, sir. How I can call Point Operations from another script? In API I didn't find this method. I want to use something like that, but cannot find anything like that.
    Code (CSharp):
    1. splineComputer.GetPoints().PointOperations.CenterToTransform
     
  12. AlpAli

    AlpAli

    Joined:
    Jun 8, 2020
    Posts:
    8
    How do you create a path using path follower and adjust thickness of this path in the same time?
     
  13. Dreamteck

    Dreamteck

    Joined:
    Feb 12, 2015
    Posts:
    336
    Actually, today's latest version supports animating the Spline Positioner out-of-the-box - no more need for additional scriopts.
     
  14. Dreamteck

    Dreamteck

    Joined:
    Feb 12, 2015
    Posts:
    336
    Point operations are within the editor API. They are very simple operations that you can easily recreate. The Center To Transform method can be found in DreamteckSplinesEditor.cs and looks like this:

    Code (CSharp):
    1.         public void CenterSelection()
    2.         {
    3.             RecordUndo("Center Selection");
    4.             Vector3 avg = Vector3.zero;
    5.             for (int i = 0; i < selectedPoints.Count; i++)
    6.             {
    7.                 avg += points[selectedPoints[i]].position;
    8.             }
    9.             avg /= selectedPoints.Count;
    10.             Vector3 delta = _transform.position - avg;
    11.             for (int i = 0; i < selectedPoints.Count; i++)
    12.             {
    13.                 points[selectedPoints[i]].SetPosition(points[selectedPoints[i]].position + delta);
    14.             }
    15.             ResetCurrentModule();
    16.         }
     
    Maryni likes this.
  15. Dreamteck

    Dreamteck

    Joined:
    Feb 12, 2015
    Posts:
    336
    Happy New Year everyone!

    IMPORTANT NEWS

    I'm working on a major new version of Dreamteck Splines which aims to fix some of the long-standing problems like issues when duplicating spline objects in the scene or editing nested prefabs. My goal is to improve the performance, stability and reliability of the tool.

    To do that, I had to refactor a good portion of the core system and also the editor code. There are some changes in how the tool works and how it is designed. Some small but key changes in the API have been made as well.

    Before the new version can be shipped, we need to make sure that the product is indeed very realiable. I will start rolling out a BETA test of the upcoming version next week and would really appreciate it if I can get some feedback from actual project usage. Normally I wouldn't ask for this but the change in the product is very substantial this time and knowing the countless use cases of Dreamteck Splines I've come across, having a more diversified usage sample will really help me solidify the new release.

    If you would like to join and try out the upcoming 2.20 BETA version of Dreamteck Splines, please, drop me a line in the support form: https://dreamteck.io/support/contact.php. Use "BETA REQUEST" for the subject field. You can just type a single character in the message field.

    Looking forward to hear your feedback!
     
    Rensoburro_Taki likes this.
  16. AlpAli

    AlpAli

    Joined:
    Jun 8, 2020
    Posts:
    8
    using mesh generator instead path generator? or using both? what's the correct way
     
  17. Dreamteck

    Dreamteck

    Joined:
    Feb 12, 2015
    Posts:
    336
    Depends on what you want from the path.
    The mesh generator is a base class which does not do anything. That leaves you with the Path Generator or the Spline Mesh component. They are both described in the manual so check it out - it shoud give you a good overview of what they both are about.
     
  18. AlpAli

    AlpAli

    Joined:
    Jun 8, 2020
    Posts:
    8
    I'll go over it again, I just want to create roads and fill the bottom of the road, it's like paper now so i want to make it thick :)
     
  19. caltingok98

    caltingok98

    Joined:
    Oct 17, 2020
    Posts:
    2
    I am having a problem with using dreamteck spline. I have a spline road in my level and when i load that level from Resources folder by using Resources.Load(....) and instantiate that prefab. Everything is visible instead of the spline road. However when i click on spline object in my hierarchy it suddenly becomes visible in my game. Any idea how to solve this?
     
  20. Dreamteck

    Dreamteck

    Joined:
    Feb 12, 2015
    Posts:
    336
    You should either mark "Build On Awake" on the spline computer or you should call RebuildImmediate() on the spline computer after instantiation.
     
  21. animal531

    animal531

    Joined:
    Aug 26, 2014
    Posts:
    25
    I have a question about normals. I've been instantiating items on a curve and then using sample.forward to rotate them correctly. However if the curve goes y < 0 then the items below the plane are rotated.

    Am I doing something wrong or is there another way to get the proper normal?
     
  22. Dreamteck

    Dreamteck

    Joined:
    Feb 12, 2015
    Posts:
    336
    The normals need to be set to be perpendicular to the spline. If you are setting the spline direction to go up and the normals are also set to point up, then both directions will match resulting in unwanted rotations. You need to make sure that the normals are at least somewhat perpendicular to the spline. For example, if the spline direction goes up, then maybe you want to set the normal to Vector3.back or something like that.
     
  23. ilomatiktik

    ilomatiktik

    Joined:
    Feb 11, 2019
    Posts:
    1
    Is there any way to reduce the size of dream teck ways? I've 30 levels and every level's size about 7 Mb.
     
  24. Dreamteck

    Dreamteck

    Joined:
    Feb 12, 2015
    Posts:
    336
    Are you using prefabs for the splines?
     
  25. DogaCanKilic

    DogaCanKilic

    Joined:
    Oct 14, 2020
    Posts:
    2
    Hi. I'm developing a game wheere I need to make a character with empty spline follower to "join" a spline computer when it's close enough to the spline computer object. That part isn't much problem but I don't know how to make character join at the most accurate (closest) position as much as possible.

    Thanks in advance.
     
  26. Dreamteck

    Dreamteck

    Joined:
    Feb 12, 2015
    Posts:
    336
    You can use SplineComputer.Project to find the percent along the spline that corresponds to the follower's world position and then use SplineFollower.SetPercent to tell the follower to go there.
     
    DogaCanKilic likes this.
  27. hkntr

    hkntr

    Joined:
    Jan 31, 2022
    Posts:
    1
    hello, I am working on an arcade game where motorbikes move on a winding and jumping road. normally everything works, but when we come to a hilly road, motorbikes
    if they're a little too fast, it goes through the meshes and falls off the map. but when I add the same speeds to a free object, this problem disappears. Can you help?
     
  28. Dreamteck

    Dreamteck

    Joined:
    Feb 12, 2015
    Posts:
    336
    Yes. How are you implementing your motorbikes?
     
  29. Bluespheal

    Bluespheal

    Joined:
    Sep 22, 2015
    Posts:
    1
    Hello Dreamteck, I'm having the same problems as toto2003 when trying to build for windows universal platform.
    is the package not compatible with WSA yet?
     
  30. Jakub_Machowski

    Jakub_Machowski

    Joined:
    Mar 19, 2013
    Posts:
    638
    Hello is it possible to make like spring animation, or using some mathematics spline animations? basically we would liek to make animation of creating rope like here on 4:36
     
  31. Perturbator858

    Perturbator858

    Joined:
    Jan 21, 2021
    Posts:
    7
    Hello. I have got a problem. So I have a 1 spline computer path and 1 spline follower object that begins looping the path from the left middle side of the path when I activate the spline follower component. I can deactivate the spline follower component and change the position of the object. The problem is object starts looping the path where it is deactivated from. I want spline follower to begin looping from starting position only, even when i deactivate and activate the spline follower. How can i erase the memory of spline follower or the spline computer ?

    Thanks in advance
     
    Last edited: Apr 19, 2022
  32. Perturbator858

    Perturbator858

    Joined:
    Jan 21, 2021
    Posts:
    7
    I have found the solution. Use Restart method on SplineFollower
     
  33. unknown17771

    unknown17771

    Joined:
    Nov 12, 2016
    Posts:
    19
    I have a track for racing car game, can i get information about curve angle using spline?
     
  34. EgoJacky

    EgoJacky

    Joined:
    Aug 15, 2017
    Posts:
    26
    Hello @Dreamteck I have a question.

    Is it possible to add a new "RotationModifier" via script to a ObjectController? And set the values of the RotationModifier also per script? In Runtime?

    I have a system that adds a ObjectController to a SplineComputer in runtime, but I didnt found a way to add the RotationModifier.

    I looked up into the "SplineSample" and the "SplineSampleModifier" but didnt understand it yet.
     
  35. Dreamteck

    Dreamteck

    Joined:
    Feb 12, 2015
    Posts:
    336
    MAJOR UPDATE

    Hi all,
    I'm pleased to announce version 3 of Dreamteck Splines!

    We took our time to release this update to make sure that you get a stable and reliable product. This new version fixes longstanding issues with the Unity prefab system and scene serialization. We have improved performance and stability and have also added some cool new features like Text Mesh Pro support and Catmull Rom parametrization to achieve centripetal and chordal splines.

    There are two significant changes in how the package behaves:
    • Closed splines no longer bring the last and the first points of the spline together but instead, bridge the gap between them
    • The SplineSample class is now a struct and should be passed with the "ref" keyword preceding it inside Evaluate and other methods

    As with every major update, please make sure delete the previous version from your project before installing the new one.

    Here is the full changelog for Splines 3:

    As for the questions that have not been answered in this thread, I'd like to remind that we have been using this thread to post news mostly. The best way to get support is to contact us directly: Dreamteck Splines FAQ – Dreamteck or through our Discord community: https://discord.gg/bkYDq8v We are slow to react to the forum thread currently.

    I will attend to answering the questions in the following posts.
     
    Last edited: Jul 12, 2022
    el_Guero, EgoJacky and sjm-tech like this.
  36. joggy-c

    joggy-c

    Joined:
    Nov 13, 2018
    Posts:
    15
    Hey,

    What would be the best way to make a ball roll along the dead-centre of a spline/track but still have it be affected by Physics?

    Regards.
     
  37. SkebDeveloper-Furkan

    SkebDeveloper-Furkan

    Joined:
    Apr 24, 2020
    Posts:
    1
    hi, ı have a problem with spline points position. I want change splines position on runtime and im using dreamteck's user manual codes but doesn't work.


    Code (CSharp):
    1. Debug.Log("func called succesfully");
    2. SplinePoint[] splinePoints = _splineComputer.GetPoints();
    3. Debug.Log(splinePoints.Length);
    4. for (int i = 0; i < _splineComputer.pointCount; i++)
    5. {
    6.     var radians = 2 * Mathf.PI / _splineComputer.pointCount * i; //this will be the distance around the circle
    7.     var vertical = Mathf.Sin(radians);
    8.     var horizontal = Mathf.Cos(radians);
    9.     var moveDir = new Vector3(horizontal, 0, vertical); // this will give us the vector direction
    10.     //Getting the point position
    11.     var movePos =
    12.         splinePoints[i].position +
    13.         moveDir * 1f; // Radius is just the distance away from the center point of the circle
    14.     splinePoints[i].SetPosition(movePos);
    15.     Debug.Log(movePos);
    16. }
     
  38. vanshTandon

    vanshTandon

    Joined:
    Apr 10, 2018
    Posts:
    9
    RebuildImmediate and Build On Awake are not working on local spline after instantiating prefab. Spline not on its position. But if I select it from the hierarchy then it goes to its position. Please help
     
  39. VirtualDawn

    VirtualDawn

    Joined:
    Sep 15, 2014
    Posts:
    31
    In the latest version, there is an issue in SplineComputer.Project when using EvaluateMode.Calculate, where it does InverseTransformPoint on the world position twice before passing it to Spline.Project.

    Code (CSharp):
    1.  
    2. if (mode == EvaluateMode.Calculate)
    3. {
    4.            worldPoint = InverseTransformPoint(worldPoint);
    5.            double percent = _spline.Project(InverseTransformPoint(worldPoint), subdivisions, from, to);
    6.            //...
    7. }
    8.  
     
  40. mwieliczuk

    mwieliczuk

    Joined:
    Mar 28, 2022
    Posts:
    2
    Hi, after generating objects along a curve using the spline mesh component, can a single object be selected on the scene? If yes, how can i select this object?
     
  41. Dreamteck

    Dreamteck

    Joined:
    Feb 12, 2015
    Posts:
    336
    Hi all,

    We have some important announcements regarding Dreamteck Splines. Our studio's time has lately been occupied with game projects and various other endeavors and we've had less and less time to work on our tools. Because of that, updates have become less frequent and our support line has not been responsive enough. We took time to reevaluate our goals as a studio and took the decision to migrate our tools onto a new model. We are migrating Dreamteck Splines onto a free, community-driven model starting June 19th, 2023. What does that mean?
    • It means that the tool will become free to use for everyone on the asset store. The codebase will be uploaded publicly to Git Hub where everyone can contribute to the projects. We as a studio will be committed to review pull requests and merge new features/bug fixes and will also be occasionally contributing to the codebase ourselves as we keep actively using the tools in-house.
    • Our e-mail support will remain indefinitely available to everyone who has purchased a copy of the product throughout the years.
    • Once the tool becomes free, everyone will be able to use it in their projects commercially.
    • One June 19th we will release updates to the plugin containing bug fixes and some improvements.
    In the mean time, we are reducing Dreamteck Splines' price on the Asset Store so if you've recently purchased it you can refund it and get it at a lower price or you can wait until the it become free. We thank you for the love and support throughout the years and hope that this new approach will benefit our entire community and help set things straight!
     
  42. andreytsoba

    andreytsoba

    Joined:
    Sep 29, 2019
    Posts:
    2
    Junctions working with splinePositioner?
     
  43. alpha_rat

    alpha_rat

    Joined:
    Apr 18, 2015
    Posts:
    12
    Hi,

    Anyone encountered the following issue?
    - When trying to use SetDistance on a SplineFollower on an instantiated prefab through script, nothing happens. The spline followers follows the spline but the start position is not taken into account
    - When setting the distance in the inspector on an object already present in the scene, it works like expected at runtime.

    Code (CSharp):
    1.  
    2. _splineComputers = splines;
    3. _follower.autoStartPosition = false;
    4. _follower.SetDistance(splines[0].startOffset);
    5. _follower.spline = _splineComputers[0].spline;
    6. _splineComputers[0].spline.RebuildImmediate();
    7.          
    8.  _follower.enabled = true;
    9.  _follower.Rebuild(); // tried it but it doesn't seem to affect outcome
    10.  _follower.Restart(); // tried it but doesn't seem to affect outcome
    11.  _follower.follow = true;
    12.  
     
  44. ObsidianSpire

    ObsidianSpire

    Joined:
    Sep 13, 2013
    Posts:
    47
    Edit: nevermind. I didn't see the apply rotation bool in the api. Thanks for the asset. I ran into issues with Unity's package so this one helps. :D
     
    Last edited: Sep 24, 2023
  45. Firlefanz73

    Firlefanz73

    Joined:
    Apr 2, 2015
    Posts:
    1,300
    Hello,

    I am working on a ski jump game. I want my ski-boards each to be a bit flexible, when driving downwards each board should have a rigidbody but "fit a bit to the ground" and get a little bit round then turn back to normal, if flying in the air? Any idea how to do this, can DreamTech Splines help? By the way, thanks for this cool asset :)
     
  46. ImperialX1

    ImperialX1

    Joined:
    Oct 26, 2023
    Posts:
    2
    How to combine three or more point into one just like railway track basically i want to make junction ? How should i do it ?
     
  47. ImperialX1

    ImperialX1

    Joined:
    Oct 26, 2023
    Posts:
    2
    how to stop train from telepoting when i switch spline. i know you explain it and i understand that. but i want fix that but not in code form but an explantion for that.