Search Unity

[RELEASED] Racetrack Builder

Discussion in 'Assets and Asset Store' started by TomMulgrew, Mar 14, 2019.

  1. TomMulgrew

    TomMulgrew

    Joined:
    Dec 4, 2018
    Posts:
    41
    Hi everybody!

    I'd like to announce the Racetrack Builder package for creating elevated racetracks.
    https://assetstore.unity.com/packages/tools/modeling/racetrack-builder-138353



    You use the editor UI to define a sequence of curves which are used to fit 3D meshes to create the road surface, and position spaced-out objects like supporting poles. Because it actually warps the meshes to the curves you can choose exactly the angle, gradient and camber you want, so you get very fine control, to create banked corners, jumps, loops etc.



    It also has a visual system for creating your own road types, where you create a regular Unity object and mark out the curved surfaces and repeating objects (poles etc) with custom components. Then you just save it as a prefab and use it when you need it.

    (The package comes with a set of prefabs to get you started too.)



    Finally it has with a runtime "progress tracker" component which you can add to your car object to track its progress around the racetrack, detect whether it has fallen off and place it back on track after a specific delay.

    It's fairly easy to use, doesn't require any scripting, and you can put a track together and be driving on it in just a few minutes.

    If you can stand my voice for 15 minutes :) this video shows you how quickly you can get started.



    Still here? Have some more pictures:



     
    DBarlok and Thre3ouls like this.
  2. TomMulgrew

    TomMulgrew

    Joined:
    Dec 4, 2018
    Posts:
    41
    The next release (v1.2) has been submitted for review.
    New features are:
    • Bezier curves
    • A one-click function to create seamless looped racetracks
    • Drag and rotate handles for setting curve angles
    • Much improved undo/redo behavior
    More information here:
     
    Thre3ouls likes this.
  3. TomMulgrew

    TomMulgrew

    Joined:
    Dec 4, 2018
    Posts:
    41
    New in v1.3: smoother interpolation of bank (Z) angles.

    The old linear implementation created sharp angles at the maximum bank points.
    zanglelinear.JPG

    New smoothed interpolation - no sharp angles.
    zanglebezier.JPG

    On by default in new racetracks. Or select an existing track and set "Bank Angle Interpolation" to "Bezier" in the inspector.
     
    Thre3ouls likes this.
  4. TomMulgrew

    TomMulgrew

    Joined:
    Dec 4, 2018
    Posts:
    41
    Thre3ouls and pixelsteam like this.
  5. LoneDev6

    LoneDev6

    Joined:
    May 22, 2013
    Posts:
    20
    Very cool!
    Before buying: do you think that this is easy to use to create chunks of procedural generating infinite track?
    (chunks are saved as prefabs and spawned at runtime one connected to the other)

    Thanks
     
  6. TomMulgrew

    TomMulgrew

    Joined:
    Dec 4, 2018
    Posts:
    41
    Hi.

    I wouldn't say it's easy, because you can't just grab it out-of-the-box and start creating prefabs. It would need some extra scripting to get it working.

    The first issue is that the meshFilter and meshCollider meshes that Racetrack Builder generates exist in the current scene only. This means you can't just turn the objects into prefabs because the links to the meshes get broken.
    You'd need a script to find all the meshFilter/meshCollider components and save their meshes into your project folder.
    Something similar to: https://github.com/pharan/Unity-MeshSaver/blob/master/MeshSaver/Editor/MeshSaverEditor.cs (but extended/customised quite a bit)

    The other issue is finding the exact end of each chunk, so you can line them up correctly. Racetrack builder maintains a spline which makes this straightforward, but this information would not be captured in a prefab. Ideally you'd want another script to get the end-of-chunk position and direction and store it such that it will be serialized with the prefab (e.g. in a custom component).

    So definitely some extra work required. You may find it easier to go with an asset pack that contains prebuilt prefabs already.

    Cheers,
    -Tom
     
  7. LoneDev6

    LoneDev6

    Joined:
    May 22, 2013
    Posts:
    20
    Hello!
    Thanks for the clarification.
    A very cool feature would be to save the models in a defined "models" folder if your choice to allow prefabs functionality as most devs use prefabs nowdays.

    I wait for news ;)

    Have a nice christmas
     
  8. derkoi

    derkoi

    Joined:
    Jul 3, 2012
    Posts:
    2,260
    @TomMulgrew

    This looks very useful, I'm just about to purchase it, but I'd like to know if it's possible to create solid tracks but with the sides vertical? I understand I could create a track piece with deep sides that would kind of work but the textures wouldn't remain vertical, maybe I can achieve the vertical textures via a shader?

    This is what I'm trying to do:



    From the retro game Stunt Car Racer:

     
    hjohnsen likes this.
  9. TomMulgrew

    TomMulgrew

    Joined:
    Dec 4, 2018
    Posts:
    41
    Sorry, no. There's currently no way to achieve that with Racetrack Builder.
    The problem with deep sides is they would get rotated when the track pitches or banks, and I'm fairly certain it would quickly become a mess.

    To do it properly it would need to know which vertices are ground vertices so it can transform them correctly.
    I'll have a think about whether there's a clean way to achieve this. Can't promise anything at this stage though.


    (By the way, I was a huge Stunt Car Racer fan back in the day - played it to death on my Commodore 64. It was a big part of the inspiration behind Racetrack Builder.)

    -Tom
     
    derkoi likes this.
  10. TomMulgrew

    TomMulgrew

    Joined:
    Dec 4, 2018
    Posts:
    41
    Hi,

    The latest release (v1.12) now has support for saving generated meshes as project assets, which means you can now convert sections of the racetrack into prefabs.

    I suspect this feature will need to be fleshed out a little more to make it useful - such as capturing and storing the spline somehow for use at runtime - but it's a start.

    Details are in the "Re-using meshes" section (page 22) of the documentation http://basic4gl.net/racetrackbuilder/Documentation.pdf
     
  11. derkoi

    derkoi

    Joined:
    Jul 3, 2012
    Posts:
    2,260
    No worries, I think I'll just make the sides a couple of meters deep and stand it on legs, with the deep track, I shouldn't need the boxes to hide the leg rotation.

    Same here on my ZX Spectrum and my friends Atari ST. :)
     
  12. lsissones

    lsissones

    Joined:
    Jan 5, 2021
    Posts:
    1
    @TomMulgrew great tool package! As someone with a mostly design-focused background I have been finding it very easy and intuitive to use.

    I had two questions I was wondering if you could help me with.
    1. For banked corners, is it possible to start the bank from the inside edge of the corner? I'd like to build NASCAR-style corners which don't dip below the track surface before or after the corner. To give an example, in the image below I'd like the inside edge of the banked sections to be equal in Y position to the first and last flat track segment.
    RTB_1.png

    2. Is it possible to be able to insert curves in track before junction pieces, and have it update the location of the junction automatically? In the below example, imagine I 'Insert Curve' and make it a straight piece of track, it would be great to have the option of preserving that following 90 degree right hander and moving the following junction accordingly to remain snapped to the edge. Perhaps its a case of being able to keep that as an arc curve instead of it automatically becoming a bezier when you connect the junction? Love the ability to split the track, it's just a little tricky to be able to go back and edit previous sections in tracks that split when it's all joined up.
    RTB_2.png

    If not it would be awesome to see these in a future update. Thanks for all the work on the tool so far - very impressed!
     
  13. BigGameCompany

    BigGameCompany

    Joined:
    Sep 29, 2016
    Posts:
    112
    Just starting out with the racetrack builder - looks very cool so far. Have hit a bit of a wall with junctions and wide tracks. My tracks have the "widening" value set to 12 but the junction isn't updating to this. Any suggestions?

    Thanks
     

    Attached Files:

  14. lyppeter

    lyppeter

    Joined:
    Feb 7, 2014
    Posts:
    8
    Can i use my custom track mesh?
     
  15. TomMulgrew

    TomMulgrew

    Joined:
    Dec 4, 2018
    Posts:
    41
    You can use your own meshes to create your own track types.
    Basically a track type is a unity object containing the meshes, marked out with some custom components that tell Racetrack Builder how to fit them along the curve path.


    Also a basic walkthrough from p27 here: http://basic4gl.net/racetrackbuilder/Documentation.pdf

    There are some caveats.
    The main one is that your mesh needs to have enough vertices that it looks smooth when warped around a curve. Racetrack Builder doesn't create new vertices, it only transforms the ones that already exist in the mesh.
    You often need a higher resolution collision mesh than the visual mesh for the road to feel smooth to drive on.
     
  16. iDerp69

    iDerp69

    Joined:
    Oct 27, 2018
    Posts:
    49
    @TomMulgrew This is a snap purchase for me if you can find a way to allow generation of segments with vertical sides, as outlined by @derkoi . It's okay for me if it goes down to world y position 0. I'm looking to create terrain track segments... something like seen in Sonic Utopia:
     
  17. TomMulgrew

    TomMulgrew

    Joined:
    Dec 4, 2018
    Posts:
    41
    Sorry @iDerp69, for some reason I missed this post and only just saw it yesterday.

    It's not possible with the current release but I've been thinking about how it could implemented in the future.

    It would need a way to specify which vertices are "ground vertices". I was thinking a component that designates all vertices below a specified Y plane, as well as specifies the world-space Y value to position the vertices at.
    The actual vertex transformation should then be straightforward.
    I think the texture coordinates would need to be transformed in order for the sides to look decent. This would be an extension of the UV-generator component that generates texture coordinates for the racetrack surface. It would generate the U coordinate based on the world-space Y rather than surface-space X.

    I can't put a timeframe on this right now though sorry. If you need a solution urgently you might have to look elsewhere.

    Cheers,
    -Tom
     
  18. TomMulgrew

    TomMulgrew

    Joined:
    Dec 4, 2018
    Posts:
    41
    Hi @lsissones. I'm really sorry to have missed your post for so long. I need to setup an email filter so the notifications don't get drowned in all the other spam.

    I think the banked corners should be doable. Maybe it could have a value indicating whether to raise the outer edge, lower the inner edge or a mix of both (like it does currently).

    I'll have a think about inserting curves before a junction. I can see what you're saying though.
    If you connect the junction to the end of a racetrack then perhaps it should always align itself with the end of the last curve (rather than vice-versa). That would only work for one racetrack object though. If you connected the end of another one (e.g. to merge two paths back together) you'd have to choose which one is the main one.
    Hopefully there's a straightforward way to approach this.
     
    Last edited: May 10, 2021
  19. alexeu

    alexeu

    Joined:
    Jan 24, 2016
    Posts:
    257
    Hi Tom, it's a very impressive job. Bravo :)

    I just have an enigma :confused: :
    Why the price of your (Wonderful) asset is different depending on if i am logged or not ? :cool:

    EDIT : lol sorry, i got it ! it's in and $.
     
    Last edited: Apr 11, 2021
  20. TomMulgrew

    TomMulgrew

    Joined:
    Dec 4, 2018
    Posts:
    41
    Yep :).
    I just set the price in USD. Unity manages converting that to other currencies.
     
  21. TomMulgrew

    TomMulgrew

    Joined:
    Dec 4, 2018
    Posts:
    41
    I should have posted this earlier, but version 1.15.0 has been released, with a couple of new features.

    You can create track types where Z and X axis rotation can be replaced with "shear" transforms. These keep the side walls vertical. And the UV coordinate generator has been extended to support texturing side surfaces.

    The upshot is Stunt Car Racer like tracks are now possible.
    stuntcar01.png

    Or more arcade scenes are possible too.
    arcade land.JPG
    There are some example track types in the "Prefabs/Track Templates/Arcade" subfolder.

    You can now control how corners bank with a new "Bank Pivot X" setting.
    This specifies the horizontal position of the track around which the track will pivot. The pivot remains at the same height, so setting it to the inside of a corner means the outside will be raised, but the inside will remain level. Similar to banked corners on oval racetracks.
    bankpivot01.png
    The bank pivot is displayed as a gray dashed line.
     
    StevenPicard and derkoi like this.
  22. iDerp69

    iDerp69

    Joined:
    Oct 27, 2018
    Posts:
    49
    @TomMulgrew Exactly what I needed, I purchased and am playing around with it. I'm noticing there aren't junction prefabs for the arcade style, nor do you appear to be able to adjust the incoming/outgoing widths. Do you have recommendations for that? It also appears there don't yet exist "higher res" pieces for the arcade style yet.
     
    Last edited: Jun 20, 2021
  23. TomMulgrew

    TomMulgrew

    Joined:
    Dec 4, 2018
    Posts:
    41
    @iDerp69

    The arcade style track was created as an example of how that style of track could be created. I wasn't sure it would be used for anything real. But I can certainly create some junction prefabs for it if required.

    A junction is essentially just an object with a "Racetrack Junction" component, plus a "Racetrack Connector" component for each connection point. In practice each connection point needs its own child object so that you can position it relative to the junction.

    For example, here's a T junction made out of a basic scaled "Box".
    upload_2021-6-21_20-21-3.png

    Or if you don't mind a bit of mesh interpenetration a cylinder kind of works too.
    upload_2021-6-21_20-23-32.png
    Both have some seam issues though, a custom mesh would be needed to do it properly.

    The reason why you can't change the width at junctions is because they are static meshes. They don't get warped or stretched like the rest of the track does. Transforming them like the racetrack would be quite a challenge given that they need to align with multiple tracks - it would almost need skeletal animation bone weights or something complicated, so it's not really on the cards.
    Instead I think the solution will be to create junction variants for different road widths. I've been asked about this before, so I will probably do this when I get some time.

    Oh, and the arcade track types are already about the same resolution as the other "higher res" track types. I could make some lower res versions for mobile devices
     
  24. iDerp69

    iDerp69

    Joined:
    Oct 27, 2018
    Posts:
    49
    @TomMulgrew Great insight, thanks for writing it up. I am using it and enjoying it quite a lot, this is certainly my favorite asset as far as being able to pick it up and run with it goes.

    I did get this working on HDRP with minimal effort (thankfully!). I'd be happy to mention that in a review for your product. The one thing that doesn't work is the icon textures for the different angles and gradients... is this something you could look into? I feel like the solution to make them appear should be very simple, but I don't have much experience with custom property drawers, nor drawing textures to GUI buttons.

    Another issue I'm running into is less simple... I'm not even sure I've diagnosed it properly. it appears that because Racetrack Builder only generates non-convex (concave) meshes, my rigidbody-based character controller is able to pass through the sides of the arcade tracks in unexpected ways. I can manually specify certain track mesh colliders to be convex just fine, but this is of course not possible with certain ramps as they really are concave-shaped, and the collider no longer matches the shape of the mesh.

    It seems I could only use convex mesh colliders with Racetrack Builder's arcade pieces if I make many many small segments with very gradual inclines, which would be a huge headache. Do you have any ideas that might help in this situation? Kind of a shot in the dark on this one.
     

    Attached Files:

  25. TomMulgrew

    TomMulgrew

    Joined:
    Dec 4, 2018
    Posts:
    41
    @iDerp69 To be honest I haven't tried it with HDRP. Never occurred to me that it would make any difference, but I guess I better have a look.

    The mesh collider issue is a tricky one. My understanding is that Unity cannot calculate collisions between two concave mesh colliders. Does your character need to use a mesh collider, or can it use something simpler (and convex)?

    It's theoretically possible to chop up the transformed racetrack collision meshes into smaller convex ones. There must be established algorithms to do this - possibly Unity assets as well. I don't know how performant that would be though, especially if you're using a high res collision mesh, as that would require a *lot* of smaller meshes. It depends how Unity implements its collision detection - if it recognise that the racetrack is marked as static and pre-computes an efficient spatial hierarchy it might be okay.

    I'll have a look around for something.
     
  26. iDerp69

    iDerp69

    Joined:
    Oct 27, 2018
    Posts:
    49
    @TomMulgrew What's interesting, is my player is using a simple capsule collider. I've uploaded a video to show the interaction... it seems to happen closer to where the arcade top area meets the rest of it. The player is a rigidbody with continuous collision detection. https://drive.google.com/file/d/1fmRzheN7cBw_NgP337-EvJ0IyHFm8P9b/view?usp=sharing

    Another thing that occurred to me is that I put Racetrack Builder into my plugins folder, I wonder if that would have caused the icons to become unlinked because they weren't where the drawer 'expects' them.
     
  27. TomMulgrew

    TomMulgrew

    Joined:
    Dec 4, 2018
    Posts:
    41
    @iDerp69 sorry, had a rather busy week. I meant to respond to this sooner.

    Yes it looks for the button images at a specific path: Assets/Racetrack builder/Textures/EditorAssets/
    I'm not sure if there's a more portable way to implement this, but that's how it works currently. Or you can change the path in the ButtonSliderPropertyDrawerBase class if you feel like editing the code.

    It's not obvious to me what the collision issue is. The collision mesh the character is colliding with (or should be) looks convex. Although I guess the bottom of the mesh will be concave. But my understanding was that it's only two concave mesh colliders that don't work correctly - i.e. a capsule collider and concave mesh collider should be okay in theory.

    The mesh collider mesh is a bit unique in that it's stretched out a long way vertically. There are a lot of tall narrow triangles. Perhaps there's some tolerances in the collision detection logic that it's exceeding.

    When I get time this weekend I'll try adding some loop cuts to the mesh model.

    upload_2021-7-3_13-6-43.png
     
  28. TomMulgrew

    TomMulgrew

    Joined:
    Dec 4, 2018
    Posts:
    41
    @iDerp69 I think the arcade track collision mesh has some integrity issues - it behaved strangely when I attempted to create loop cuts. So I've created a new mesh from scratch to replace it, and updated the "arcade ramp" prefab.
    There's also a new "arcade ramp loopcuts" track type prefab, which has the extra loop cuts in case they are necessary (my guess is they probably aren't).

    The updated release is v1.15.1 which should be live in a day or two.
     
  29. derkoi

    derkoi

    Joined:
    Jul 3, 2012
    Posts:
    2,260
    Sorry @TomMulgrew I totally missed this update as Ive been working on my main project. The update looks perfect for my needs. Thanks again!
     
  30. kopanz

    kopanz

    Joined:
    Dec 6, 2016
    Posts:
    82
    I'm really impressed with the product. And I'm amazed that you could made this asset without using in scene handles and other hard to implement stuff. Your inspector gave me Roller Coaster Tycoon vibe.
     
  31. iDerp69

    iDerp69

    Joined:
    Oct 27, 2018
    Posts:
    49
    Hey Tom, just wanted to give you an update as I finally got around to upgrading. I tried both of the new prefabs, and the loopcuts one is the only one that successfully resolved the issue.
     
  32. ToothyBirds

    ToothyBirds

    Joined:
    Dec 17, 2021
    Posts:
    10
    Hello, Tom!

    Firstly, thank you for this procedural miracle!))

    Secondly, there is one question))) I described it in a video (
    ).
    In short words, I need to add an object (finish line) onto a racetrack platform without either repeating or continuing it.
     
  33. ToothyBirds

    ToothyBirds

    Joined:
    Dec 17, 2021
    Posts:
    10
    Hello!) Is there a possibility to smooth side borders when I edit width?

    upload_2021-12-29_16-22-18.png
     
  34. TomMulgrew

    TomMulgrew

    Joined:
    Dec 4, 2018
    Posts:
    41
    Hi @ToothyBirds.

    I think the reason you're having difficulty with the finish line is because you're trying to implement it as a track type (i.e. a RacetrackMeshTemplate). These are designed to repeat, which is why your finish line object is also repeating.

    Having said that, it should be possible to get it to work (using a RacetrackMeshTemplate) by:
    • Adding the finish line as a "spaced" object
    • Find the "Racetrack Spacing Group" for that object and setting "Spacing Before" to 0 and "Spacing After" to 30.
    • Create a single curve that's 30 units long and set just that curve to your finish line mesh template.
    The finish line will still repeat every 30 units, but because you've used it on a piece of track that's 30 units long, it should repeat exactly once.

    However a better way might be to use a "junction". Although junctions were added to make the racetrack branch, you can also use them to insert objects into the track - like a finish line - by creating a junction that is a short piece of the track with two connectors, one at each end.
    I made a simple example:
    upload_2021-12-30_11-52-57.png

    There's a section on junctions in the main documentation. But the basic idea is to add a "Racetrack Junction" component at the top level, then create "Racetrack Connector"s at the points where the racetrack can connect to.

    upload_2021-12-30_12-0-56.png

    upload_2021-12-30_12-1-31.png

    Junctions are different to mesh templates. You don't assign them to curves, instead you drag them into the scene like any regular Unity object, then use the connector handles to join them up to the start and end of the racetrack.


    Regarding smoothing the width of the track: there's no way to do this currently but I might be able to add it. There's similar logic for smoothing the bank angles I can hopefully reuse.
     

    Attached Files:

    ToothyBirds likes this.
  35. TomMulgrew

    TomMulgrew

    Joined:
    Dec 4, 2018
    Posts:
    41
    @ToothyBirds

    I've submitted a new version 1.16.0 with options to smooth the edges when you edit the width.
    It may take a few days for the before it's available, due to the Unity review process.

    The new version has a "Widening Interpolation" setting on the "Racetrack" component, which you can set to "Bezier" or "Bezier Unclamped" for smoother edges.
     
    ToothyBirds likes this.
  36. TomMulgrew

    TomMulgrew

    Joined:
    Dec 4, 2018
    Posts:
    41
  37. ToothyBirds

    ToothyBirds

    Joined:
    Dec 17, 2021
    Posts:
    10
    Hi there! Thank you for the answers, I'll check it out later.

    One bug related to "Align meshes to the end" here: https://youtu.be/B2cuLSBV_R8
     
  38. TomMulgrew

    TomMulgrew

    Joined:
    Dec 4, 2018
    Posts:
    41
    @ToothyBirds

    I tried to reproduce your issue (align meshes to end), but I can't get it to go wrong.
    upload_2021-12-31_11-7-45.png

    You probably should avoid using a curve length of 1 though, if you're using the supplied racetrack mesh templates because the visual mesh models aren't dense enough. Basically they have loop cuts every 4 units, so I would use a minimum curve length of 4 so that the visual mesh can fit to the described curve correctly, which will keep it consistent with the collision mesh and placing of spaced items.

    There are some known issues with editing prefabs for track types that are already being used in the scene:

    1. When you click "Update", it only updates the changed parts of the racetrack. But the algorithm to detect changes doesn't detect changes to the track type prefabs.
    So if you edit a prefab and "Update" the racetrack it's quite possible that it won't actually update anything.
    If you think this might be happening you can click on the "Racetrack" object itself, then click "Recreate track", which forcibly rebuilds the meshes for the whole track

    2. Sometimes even when the track is recreated it doesn't appear to register the change to the prefab.
    I'm not sure why this is. It seems Unity is supplying the old version of the prefab to Racetrack Builder when it queries it to find the meshes to copy and transform.
    The only workaround that I know of is to save the scene, close and re-open it, click on the "Racetrack" object and click "Recreate track".


    None of this fully accounts for the problem you showed in your video though.
    Perhaps you could export a package containing your scene (and dependencies) so I could take a look? (Main menu > Assets > Export Package...)
     
    ToothyBirds likes this.
  39. ToothyBirds

    ToothyBirds

    Joined:
    Dec 17, 2021
    Posts:
    10
    Hello, Tom! Please say whether is a way to create Racetrack Group Prefabs with several Racetracks inside which are remember their relative positions to each other? To make them look like that: upload_2022-1-17_16-28-37.png
     
  40. DinV

    DinV

    Joined:
    Jan 31, 2017
    Posts:
    20
    Hello!

    I have a problem with UV tiling. I was try to do everything as on documentation (i add UV generator), but my textures still stretched even after i rebuild/recreate track.


    Screenshot_5.png Screenshot_6.png

    Hope you can help me with it.
     
    ToothyBirds likes this.
  41. ToothyBirds

    ToothyBirds

    Joined:
    Dec 17, 2021
    Posts:
    10
    One more issue, Tom! It is related to a problem with the editing of UV. We found a problem and a walk around.
     

    Attached Files:

    Last edited: Feb 27, 2022
  42. ToothyBirds

    ToothyBirds

    Joined:
    Dec 17, 2021
    Posts:
    10
    Hello, Tom. There is one more question(( I have stucked with the next situation. When I try to "Update track", "Recreate Track" or "Copy for prefab" I get the next errors:

    upload_2022-2-27_14-18-50.png

    upload_2022-2-27_14-18-57.png

    upload_2022-2-27_14-19-2.png

    Don't imagine how I got in this trouble. It may be related to often edits of meshes, materials, Mesh Manager or RacetrackMeshes objects..

    I also have some strange values in RacetrackMeshManager on the Scene:
    upload_2022-2-27_14-25-44.png

    Please help me to resolve it, it blocks all the development(( If it is more convenient, I may send you my contacts.
     
  43. ToothyBirds

    ToothyBirds

    Joined:
    Dec 17, 2021
    Posts:
    10
    It is related to the removal of saved Meshes but I wanna clear the cached meshes to recreate Track with new ones. How am I able to do it?
     
  44. ToothyBirds

    ToothyBirds

    Joined:
    Dec 17, 2021
    Posts:
    10
    Hello, Tom! Feature request!)) And I am surprised that you haven't implemented it yet.

    I have a Racetrack Group with some racetracks and junctions within:
    upload_2022-3-22_20-58-42.png

    It will be very convenient if you add a "Create for prefab" button in a context menu of the Racetrack Group, don't you think so? When we click this button we get "Racetrack Section Group" with sections for each racetrack, and copies of the junctions within. And (it is important too) that sections will be placed in accordance of position's of the original racetracks.

    So we just click one button and have all what we need to make a complete prefab-level.
     
  45. cmyd

    cmyd

    Joined:
    Oct 29, 2017
    Posts:
    98
    Hey, I like your asset and I'm interested in purchasing it. Does it work on android and IOS mobile devices?
     
  46. TomMulgrew

    TomMulgrew

    Joined:
    Dec 4, 2018
    Posts:
    41
    @DinV @ToothyBirds
    It looks like my email notifications haven't been configured correctly, so I've been blissfully unaware of this thread for a few months :-(. Sorry about that.
    Are the issues you've posted about still outstanding?

    @cmyd racetrack builder is basically a design time tool for warping meshes into racetrack shapes. The result is standard Unity meshes, so they should be compatible with mobile devices.
    I tested it on an Occulus Go a while back (essentially an Android device) and it worked okay.
    That said, if you create a long racetrack using the regular high res track types, then the whole racetrack will essentially be a large model without any mesh re-use, which can eat up a lot of storage.
    There are methods to reuse meshes - both within the same scene and across multiple scenes. They require a bit of extra work and discipline - you have to create identically shaped curves.

    Also @ToothyBirds: "Create for prefab" for racetrack groups sounds like a useful idea. I'll have a look at it.
     
  47. ToothyBirds

    ToothyBirds

    Joined:
    Dec 17, 2021
    Posts:
    10
    @TomMulgrew

    Hi, Tom!))

    We solved all the critical issues in one way or another and even already published our project in Google Play!)))

    You may see it here: https://play.google.com/store/apps/details?id=com.toothybirds.project_snow

    I think you will be a bit proud for a result. And if you notice the mistakes in our project related with usage of your framework, we will appreciate any comments by you.

    Moreover there is one not solved issue: we used a lot of different shapes of racetracks and for now there are about 2000 pieces in Meshes folder and our app's weight is about 170 MB. May I ask you to help us with it? We may call by Skype or another messenger if it is possible.

    Skype: hropych2
    Telegram: https://t.me/friendRU

    And if you like our project, we may also discuss using of several video as your asset's promo materials. Mutual aid)))

    Some screens to intrigue you (there are a lot more of beatuliful ones):

    upload_2022-6-1_20-29-18.png

    upload_2022-6-1_20-30-7.png

    upload_2022-6-1_20-39-27.png

    upload_2022-6-1_20-40-29.png
     
  48. TomMulgrew

    TomMulgrew

    Joined:
    Dec 4, 2018
    Posts:
    41
    @ToothyBirds looks incredible. Congratulations!

    I'd be happy to have a Skype, but it's a bit tricky to find a time. I have to fit things around a fulltime job and other commitments. Also I'm in New Zealand, which is time-zone UTC+12 and doesn't line up with a lot of countries. Perhaps some time in the weekend might work?

    Anyway I'll install Skype again and try and work something out.

    Also feel free to hit me up on twitter (@TomMulgrew). I'm usually a bit more responsive there. (My email notifications for this thread still don't seem to be coming through).
     
  49. TomMulgrew

    TomMulgrew

    Joined:
    Dec 4, 2018
    Posts:
    41
    Just a heads up, v1.17 has been released, with better support for Unity terrains.
    You can push the terrain down and/or pull it up underneath the track, so that it sits on the ground properly without gaps (controlled per curve).
    See the "Working with terrains" section in the documentation for more info.

    https://assetstore.unity.com/packages/tools/modeling/racetrack-builder-138353

    upload_2022-6-7_20-12-54.png

    Also fixes a performance issue with the Racetrack Progress Tracker component in complex scenes.
     
    Last edited: Jun 7, 2022
    iDerp69 and derkoi like this.
  50. derkoi

    derkoi

    Joined:
    Jul 3, 2012
    Posts:
    2,260
    Wow, that's an awesome feature!