udrive - Unreal Drive

Yeah, do this! Adding appropriate titles and tags will boost the visibility of the asset significantly (I found this out the hard way).

Strongly consider sneaking in the word “roads” somewhere in the title.

Hi!

If I’m correct, Unreal Drive doesn’t use Unreal Engine’s splines, right? Because I am looking for a good roads + traffic asset combo that doesn’t empty my wallet and I’ve come across this.

I like what I see about udrive so far, but the documentation doesn’t mention splines (or I missed it) which means I cannot utilize the majority of Fab’s marketplace for traffic systems.

Can you confirm this? Also, if possible, can you give me an approximate date for when you are planning to add your own traffic feature? I’ve seen you mention it in the roadmap.

Thanks for your time.

Hi @slightlybonkers,

UnrealDrive is based on the default UE USplineComponent splines.

Regarding traffic, this is one of the main long-term goals, which will be implemented in several stages (i.e., releases). In the next release (1.1) in January, I plan to support ZoneGraph generation. You will be able to generate traffic yourself, for example, using the developments from the CitySample demo.
I can’t give an exact timeline for what will happen next, but here’s what I’d like to do:

2 Likes

Hi, we tested your plugin. If we activate it, metadata from water splines (WaterBodyRiver) is not longer usable. The “selected points” option just disappears. I do not see why it collides with your work, but obviously it does. Any help would be appreciated!
Other thing: we created a custom traffic system for our game. It would be cool if we could discuss how to combine that with your system. No need to do right now, but maybe something for the future.

Hi again,

Do the roads that are built by udrive not conform to landscapes? I have a sculpted one that I want to use these roads on but the meshes just pass through it.

@Ivazhuk Hello there and thank you for the outstanding plugin!

When do you think will be the .xodr AutoGeneration available?

Thanks in advance and have a nice day

PS: I fixed some errors and successfully compiled the plugin for Mac today - it seems to work
Maybe this could help to implement OpenDrive faster? : GitHub - brifsttar/OpenDRIVE: Unreal Engine OpenDRIVE plugin

It is excellent, well done, and on top—for free. Workflow is not simple but not a tool/ development problem, but based on the complexity and variety of examples, it needs to cover. Just have a couple of questions. It seems these roads/intersections only work on flat surfaces, but how can you use them on your landscape, which is usually everything but flat? Furthermore, I am certain you have it already there, but I am too stubborn to find it; I look for arrows, lines, etc. (not referring to the line marks—you have this obviously covered).

Is there a way to deform landscape to spline like other spline/landscape splines? If would it be possible for you to add this feature?

I ask the same question and would love to see this as well. The plugin is incredibly outstanding but I can’t use it right atm since I need real landscapes and flat surfaces dont work for me. So, I hope the genious behind the plugin is finding such capability as important as I do.

I’m working on getting it setup until the creator reaches out, I got it setup in C++ already the same way landscape splines work, but have a few LNK errors. If I get it worked out I will copy and paste the code here for anyone to add and use and maybe the creator can use that code if he wants too.

Got it working, here is the code you can copy and paste into the right spots.

  1. In “UnrealDrive.Build” Add “Landscape” as a dependency.
  2. In “RoadSplineComponent.h” Add these details:

Include these:

include “LandscapeProxy.h”
include “LandscapeLayerInfoObject.h”

And add these variables:

UPROPERTY(EditAnywhere, BlueprintReadWrite, meta = (DisplayAfter = “Deform”))
ALandscapeProxy* Landscape;

UPROPERTY(EditAnywhere, BlueprintReadWrite, meta = (DisplayAfter = “Deform”))
double StartWidth = 200;

UPROPERTY(EditAnywhere, BlueprintReadWrite, meta = (DisplayAfter = “Deform”))
double EndWidth = 200;

UPROPERTY(EditAnywhere, BlueprintReadWrite, meta = (DisplayAfter = “Deform”))
double StartFalloff = 200;

UPROPERTY(EditAnywhere, BlueprintReadWrite, meta = (DisplayAfter = “Deform”))
double EndFalloff = 200;

UPROPERTY(EditAnywhere, BlueprintReadWrite, meta = (DisplayAfter = “Deform”))
double StartRoll = 0;

UPROPERTY(EditAnywhere, BlueprintReadWrite, meta = (DisplayAfter = “Deform”))
double EndRoll = 0;

UPROPERTY(EditAnywhere, BlueprintReadWrite, meta = (DisplayAfter = “Deform”))
int32 DeformSubdivisions = 20;

UPROPERTY(EditAnywhere, BlueprintReadWrite, meta = (DisplayAfter = “Deform”))
bool RaiseHeight = true;

UPROPERTY(EditAnywhere, BlueprintReadWrite, meta = (DisplayAfter = “Deform”))
bool LowerHeight = true;

UPROPERTY(EditAnywhere, BlueprintReadWrite, meta = (DisplayAfter = “Deform”))
ULandscapeLayerInfoObject* DeformPaintLayer;

UPROPERTY(EditAnywhere, BlueprintReadWrite, meta = (DisplayAfter = “Deform”))
FName DeformLayer;

  1. In “RoadSplineComponent.h” Add this funtion:

UFUNCTION(BlueprintCallable, CallInEditor, Category = Road)
void DeformSpline();

  1. In “RoadSplineComponent.Cpp” Call DeformSpline:

#if WITH_EDITOR
if (Landscape)
{
Landscape->EditorApplySpline(Cast(this), StartWidth, EndWidth, StartFalloff, EndFalloff,
StartRoll, EndRoll, DeformSubdivisions, RaiseHeight, LowerHeight, DeformPaintLayer, DeformLayer);
}
#endif
}

After that you should be able to call “DeformSpline” from the editor when the “RoadSplineComponent” is selected.

Note: May have to have the actual splinecomponent selected to find the function and not the road actor itself. Also make sure all the details are selected like selecting the landscape for the landscape variable, and adding and selecting the correct landscape layer for splines.

Oh, great to see that it seems to be possible. I am just not a coding genious. So I am certain I can’t follow your approach. ■■■■, bothers me to hell since I would really need it.

Its actually pretty easy to do, if you already added the plugin that means your project should be using c++. If you want to get it working post a question on the forums so we don’t have to talk about it in the comments and try to give me a link to the question page and I can help the best I can, and likely others will try to help you too.

Will be available in the next release

@mickyboys @Shadowmaster360
Hey guys, I rarely visit the forum here. I mostly do all my activity on Discord.
I finished work on landscape support a month ago. This feature will be included in the next release in a couple of weeks.

1 Like

The Discord link you shared earlier has expired. Could you please update it? I’d also like to ask about how to handle a two-way road with a green median in the middle.

All I can say is that this thing looks like the Notepad++ of ‘roads’ inside UnrealEngine.

Can’t wait to dig in.