About Rush Hour
Rush Hour is an AI-powered toolkit for animating vehicles. Using the realtime physics engine of Unreal Engine, an AI driver will pilot a physically simulated vehicle across a spline-based path. You can select a number of different profiles (Racer, Frantic, Slowpoke, etc) and a profile strength to influence how the AI will behave.
Beta 1 (2022/08/01) notes:
The goal of this beta is to get feedback on:
- How the profiles perform
- How well the training works on a variety of vehicles
- How the workflow of Rush Hour integrates with other projects.
Any and all feedback is welcome, feel free to share it all to firstname.lastname@example.org
Differences from final release
- This beta release is limited to UE5, although the final release will support UE4.25+ & 5.0+
- This beta includes 5 example vehicles, however the final release will likely only include 3.
- Through this plugin release you’ll see the name Wheelman and initials WM, which was a working title for the project. It has since been renamed Rush Hour and those names will be changed prior to full release.
These videos were made with Beta 1, as an example of what to expect
Construction Chase: https://www.youtube.com/watch?v=bPgPnuH4xhM
These videos are recorded with a beta version of the project, and as such are not final training videos. The final videos will be recorded with a better production quality once all changes are in.
All training material will also be fully available in written form for the final release.
- Installing Rush Hour
- Laying an animation path
- Recording A Sequence
- Training a new vehicle
You can enable this plugin with great results for any project, but if you are starting a new project I recommend starting from the Vehicle template, as the project has a good basis setup for physics and visual effects, including clear coat second normal.
- Make sure to turn off “Use less cpu in the background” in the editor settings
- Training is currently tuned for PhysX, and while it provides reasonable results for Chaos as is, it will be improved even further in the next release.
- Training locks at 30fps for improved consistency. It will revert to full fps after training is complete.
- Sometimes when you first load the training map in a new project, the begin training button isn’t available. Just press Load Training Environment again, and it should become available.
- Training may fail to find a good cornering force value on vehicles with a high centre of gravity. This will be resolved before release
Animation Path Notes
- Ground banking / slope is measured under each spline point. Making sure you have a spline point at the apex of corners, especially banked corners, will improve performance of the vehicle.
- Currently only one sample is taken for ground banking, so particularly rough roads may experience random slowpoints on the road. Just move that control point a little to fix it. In a future version a few samples will be taken to get an average road banking sample.
- Closed loop paths current experience a slowdown at the looping point, this doesn’t exist in UE4 and will be fixed for final release
- Clicking on an individual spline point and expanding it in the details panel on the right allows you to set speeds and actions at each point.
Speed & Profiles
- Profiles work better in situations that match the profile. It doesn’t really make sense for a Sunday Driver to try and drive a racetrack at 200kph. A Sunday Driver attempting to hit 60-80kph (40-50mph) makes more sense and provides much more realistic driving performance.
- If you find that particularly unstable vehicles (like a box truck) are taking corners badly, such as sliding out or rolling, even when using conservative profiles like Sunday Driver or Slowpoke) I recommend setting a lower target speed on the spline points before and after that corner. Unfortunately it’s very difficult to get more stable vehicles to realistically attack those corners while still taking into account unstable vehicles, so some manual tweaks will be necessary in some circumstances.
- Profiles will be further refined as release approaches. All feedback on profiles is welcome as this will help in refining the behaviour of profiles.
- Slowpoke is good for 4x4 offroading
- Glass on the example vehicles currently renders after DOF producing ugly DOF artifacts
- Profiles need more adjustments to perform better and differentiate from each other
- Sometimes on the first load of the training map, the begin training button remains disabled. Just load the training map again.
- Progress tracking on the path can fail during extreme elevation changes like jumps or big slopes. To remedy this add extra nodes. This will be remedied in the next release
- Due to a bug discovered in Beta 1, steering is a bit twitchy on all profiles, especially Sunday Driver. This will be fixed in the next release.
- Align to ground can be blocked by foliage. Disable collision on foliage or shift your spline point to avoid hitting leaves on the trace to the ground.
- 4x4 suspensions needs lots of tweaking to get better bodyroll
- Closed loops with a non-default looping position will exhibit artifacts at the looping point, and will loop with point 0 anyway.
- Training may fail to find a good maximum cornering force value on vehicles with a high centre of gravity. This will be resolved before release.
- Saving a path modification made when playing in editor may cause that path to corrupt, requiring it to be recreated. The vehicle will spawn but will not drive.
- If Unreal is complaining about not being able to build the modules, then you are missing the required software to build c++ projects for unreal. Make sure visual studio is installed, and if it’s still not working, your log file will probably have an error message like this:
Running C:/Unreal/UE_5.0/Engine/Binaries/DotNET/UnrealBuildTool/UnrealBuildTool.exe Development Win64 -Project="C:/RushHourDemo/RHDemo/RHDemo.uproject" -TargetType=Editor -Progress -NoEngineChanges -NoHotReloadFromIDE A fatal error occurred. The required library hostfxr.dll could not be found. If this is a self-contained application, that library should exist in [C:\Unreal\UE_5.0\Engine\Binaries\DotNET\UnrealBuildTool\]. If this is a framework-dependent application, install the runtime in the global location [C:\Program Files\dotnet] or use the DOTNET_ROOT environment variable to specify the runtime location or register the runtime location in [HKLM\SOFTWARE\dotnet\Setup\InstalledVersions\x64\InstallLocation]. The .NET Core runtime can be found at: - https://aka.ms/dotnet-core-applaunch?missing_runtime=true&arch=x64&rid=win10-x64
At which point you need to install the .Net Core 3.1 runtime.