A Unity ID allows you to buy and/or subscribe to Unity products and services, shop in the Asset Store and participate
in the Unity community.
Discussion in 'Assets and Asset Store' started by Stephen_O, Jan 21, 2016.
Ok, thanks. Will have a look into the specified lines.
Another question @Stephen_O, if you don't mind. (your asset is undergoing some serious testing here )
Is there a way to prevent the IK driver from moving up and down? I'm noticing that the upper part of the drivers head is sometimes visible above the car roof. Must say this happens when I'm performing a jump so not in 'normal' curcomstances but nevertheless it isn't a sight you expect. I already tried fiddling with the confgurable joint of the avatar (from free to limited to locked) but nothing seems to prevent the avatar from sticking his head through the roof. I'm not even started with loopings yet .
You can completely remove the Configurable Joint and Rigidbody components from the IKD_DriverAvatar object to disable this effect. I'll look into adding a clamp or configuring better settings.
Version 1.6.8c submitted.
• Fixed a bug where vehicle controller gears would not work as expected. Thanks for all your testing @cygnusprojects and for reporting this, your feedback is greatly appreciated!
Can the wheel turn 720 degrees and his hands cross over?
Please let me know, but I don't want to spend doing it manually. If the option is not present will you add it just as how you added manual gear box.
It should really possible since everybody does it the same way. If not will you please implement it.
I wish to buy it.
Yes, the current version does support this but some ik targets and other settings may need to be adjusted for acceptable quality.
The next version will be setup to do this by default, along with some scripting updates that improved the overall quality of the avatar animation while steering. Here's a preview for 1.7.
I bought it, that is Racing Game Template and got IK Driver for free.
I am having some issues with the asset, first I couldn't load the manual from the link from asset store. I then tried to do two tutorials. I Followed
Unity IK Driver - Change Avatar Model
and i used ethan as the video explained and got this error.
UnassignedReferenceException: The variable animator of IKD_IKDriver has not been assigned.
You probably need to assign the animator variable of the IKD_IKDriver script in the inspector.
UnityEngine.Animator.CheckIfInIKPass () (at C:/buildslave/unity/build/Runtime/Animation/ScriptBindings/Animator.bindings.cs:1096)
UnityEngine.Animator.SetIKPositionWeight (AvatarIKGoal goal, Single value) (at C:/buildslave/unity/build/Runtime/Animation/ScriptBindings/Animator.bindings.cs:497)
TurnTheGameOn.IKDriver.IKD_IKDriver.ZeroIKWeight (AvatarIKGoal goal) (at Assets/TurnTheGameOn/IK Driver/Scripts/IKD_IKDriver.cs:139)
TurnTheGameOn.IKDriver.IKD_IKDriver.OnAnimatorIK () (at Assets/TurnTheGameOn/IK Driver/Scripts/IKD_IKDriver.cs:83)
I also followed a tutorial for
Unity IK Driver with Realistic Car Controller (RCC) Asset Store
it worked with ethan, so i tried my own character but his hands don't grab onto wheel.
and got this warning.
Setting and getting Body Position/Rotation, IK Goals, Lookat and BoneLocalRotation should only be done in OnAnimatorIK or OnStateIK
TurnTheGameOn.IKDriver.IKD_IKDriver:SetIKValues(AvatarIKGoal, Single, Single, Vector3, Quaternion) (at Assets/TurnTheGameOn/IK Driver/Scripts/IKD_IKDriver.cs:131)
TurnTheGameOn.IKDriver.IKD_IKDriver:OnAnimatorIK() (at Assets/TurnTheGameOn/IK Driver/Scripts/IKD_IKDriver.cs:71)
Thanks for reporting this and my apologies for any confusion - it seems the animator component reference is not assigned and causing issues.
To fix this you can do one of the following:
A. edit the IKD_IKDriver.cs Start method by adding the following line around line 56
animator = GetComponent <Animator>();
This will ensure the new model's animator is auto assigned when the prefab is loaded.
B. Right-click in the top right of the inspector to find the inspector's context menu and switch to debug mode. This allows you to see all the variables available in the script. Manually assign the animator component reference.
haven't really read all the Posts here but would want Transmission more Detailed like max rev and top speed for each Gear, still green in C# so adding stuff is still bit hard even if I manage time to time to mod a Script. still the car is easy to use, not much driving as floating down the road
Hi, this is a very interesting Asset and I recently bought it. I'm quite curious if it can support character dynamically entering the vehicle. I thought it is a pretty common use case but I could not find any references. Is there a tutorial on how to do this? I currently own NWH Vehicle Physics and I appreciate if you can help me how to do this properly.
It seems like setting up a preconfigured character is quite a handful and doing this dynamically will make matters more complicated. I'm hoping it's not so bad.
Thanks for the feedback on transmission settings. I may improve this sometime after AI.
You can use the gear speed limit and torque curves to control how much power the engine has and how fast the car can go between gears, the car will use the current gear ratio to determine it's point in the curve. - This can probably be done more intuitively and cleaner for precise control to get the exact settings you want.
I don't have a way to control the rpm range for each gear, only globally; that's a good idea though.
I don't have anything built in that helps transition from a driving vehicle controller to a character controller. This can be more complex and tricky depending on how nice you want it to look.
This would require something like setting up a character controller rig for your avatar that can support transitioning between 2 states. I don't think I'll support anything like this since I don't have a character controller in the asset. In general you want to do the following:
with IK Driver and NWH
1. Turn off all the vehicle components that make the vehicle controller control the car and avatar driver and unparent the avatar from the vehicle rig.
with your character controller
2. Turn on all the components that make the character controller control the avatar.
3. Handle all the details as you transition between the 2 states.
If I were to do this very simply in a project, I might have a character controller ready and disabled and the toggle vehicle's avatar, scripts, cameras, etc off -- then toggle the character controller and it's own camera on. Obviously this would not look the best and result in a camera pop, but it's a quick way to get started.
Hi, thanks for the reply.
I have my own character controller and it's not really the problem.
But to make the character to attach to the vehicle, it requires quite a bit of setup, such as setting IKD_IKDriver and all its parameter related.
I wish there is a simple API when you are attaching a character to the vehicle, such as AttachIKDriverToVehicle(GameObject character, GameObject vehicle, <some other parameters>)
The vehicle you are entering may be different each time, therefore preconfiguration for IK handle location for a specific vehicle will not work.
You can show an example how you can do this for Unity Character and your vehicle and we can modify it to work for our own character and vehicles.
I hope it make sense.
Thanks a lot for your support. I'm very excited about IKDriver and your Racing Template.
Thank you for the feedback.
Yes, I think that makes sense, I'll spend some time thinking about this and see if there's something I can do. - If this feature comes online it might be sometime down the road, after AI is complete...
I'm glad that we share the same view.
I'll eagerly look forward to your help. Without entering/exiting to vehicles dynamically, I have very little use for IKDriver.
I think it can be done rather easily. You can move "Targets" plus some vehicle specific information to VehicleController class from IKD_IKDriver class since they are properties of vehicles.
Then, entering a vehicle is pretty simple.
I hope it makes sense. ^^
Yeah, AI stuff sounds really exciting too. I'll try to create a mini racing game within my game. But please don't forget about entering vehicles. ^^
Just keep in mind remaking the racing template is my main priority, IK Driver was made specifically for this remake, in fact it was the start of the remake. The last prerequisite for me to create the long awaited template remake is the AI.
I'm going to have to do a good amount of testing with various character controllers if I wanted to try to support entering/exiting vehicles on a quality level - and likely include a character controller of my own for a demo so I would need to create that too. This request does go behind all the currently planned work since it's not part of the current feature set. Also, the avatar's variables won't be moved to the controller because the avatar is meant to be modular so the avatar can be used with other 3rd party controllers.
I don't mean to move all the avatar variables but just "Targets" Targes are really a property of vehicle as they have different location for each vehicles and you already have them set up on each vehicles.
Yeah, there is a couple of more vehicle specific variables, i.e., Steering Wheel, and Gear Text but that's it.
It won't break anything no testing is required. They are the same variables but you read them from the vehicle you are attached instead from itself.
Not sure if I explain it correctly.
Most all of the primary development for the next major update is complete, I'm working on setting up demo scenes, documentation and final bug testing before 1.7 is ready for release; maybe it will be ready sometime in the next week or two. I still want to improve and add so many more things but those will get there eventually in future updates.
Here's a preview of 16 AI vehicles all using the IK Driver avatar, they are using 2 routes (one for each lane) and a sensor system to determine when to change lanes (merge into the other route) for obstacle avoidance and overtaking. Using this strategy the avoidance feels much more natural compared to the previous AI implementation used in Racing Game Template. The route system uses waypoint junctions for changing lanes, this also allows for dynamically changing the AI vehicles route to a new alternate path; some more testing will need to be done to evaluate a best workflow. The sensors are also volume based instead of just a line raycast, which was not reliable for properly detecting obstacles since it could often go through many objects in most situations.
The performance feels pretty good, but I should still stress test it a bit more to check the limit. Lots of optimization has gone into this update, it seems like it's paying off, the vehicle models themselves are not too optimized compared to a best case scenario when preparing final art for a project, they all have multiple pieces and materials.
As a heads up for anyone that might already be planning on buying the asset but does not yet own it, there will be a price increase with this update.
Version 1.7.0 for IK Driver has been submitted, here's a short change log and a link to the updated manual:
• Added AI vehicle controllers.
• Added avatar torso leaning and improved steering animation quality.
• Added ScriptableObject profiles for vehicle controller, ai and input settings.
• Scripting run-time optimizations to improve performance overhead and reduce garbage collection.
• Updated documentation to cover all new content, details of all prefab settings and features, ScriptableObject use and variable details as well as created new tutorials for AI. This is still a work in progress and will be updated daily until it's complete; let me know if you have a question about something that's changed or new if it's not updated yet.
• Changed asset category to complete project - required due to custom layers being used by AI sensors.
• Upgrading a project from a previous version to the new version is not supported, there have been too many changes to the prefabs, scripting logic and references.
• Minimum supported Unity version for IK Driver 1.7 is Unity 2018.1.6 - IK Driver 1.6.8d will remain available for previous Unity versions.
-- What's next?
The IK Driver asset itself has come a long way since it's initial creation as a drop in avatar for vehicle controllers with the Racing Game Template - In short it was at one point a very primitive asset. Since then I have learned a lot and recieved a great deal of feedback; with that time the animation quality has improved greatly, the vehicle controller has been refined and optimized to demonstrate a near high quality implementation of the avatar as a human driver for unity vehicles that does most all of what you might expert it to do like look, steer, shift, brake, clutch and accelerate with the appropriate body parts (there's still room for improvement, I'm still not done). A complete mobile controller has also been created and optimized to allow for high quality drag and drop vehicle controllers on any platform. This release marks a new milestone development achievement with the addition of optimized AI vehicles that can use multiple routes to allow for changing lanes for obstacle avoidance or new paths!
The 1.7 version cycle will continue to iterate and improve on established systems as well as be used as the default included player controller for the Racing Game Template remake. The changes made up until now have allowed me to create a modular vehicle asset that has all the functionality it needs to stand on it's own - this will allow me to focus on systems, menus and game types for the remake of the racing game project and keep the 2 assets separate from the beginning; making changes to a vehicle controller prefab will no longer require me to dig through menu systems to support that change. The approach for systems in the racing game project's remake will be designed in a modular way as well, since it won't require the included vehicle controller you will be able to swap out alternate physics or player controllers; although you will need your own AI for whatever alternate controller you would choose.
I'm pleased to announce IK Driver 1.7 is now available, enjoy and let me know what you think!
Tutorials and docs will continue to be updated throughout the week, there were a good amount of inspector changes to the vehicle controller since vehicles now use ScriptableObject profiles - let me know if anyone has any questions so I can prioritize that topic.
New tutorial to setup an AI vehicle on a route.
Version 1.7.1 submitted.
• Add AI_Demo_SingleLane scene from tutorial to project.
• Disabled vehicle lights by default.
• Fixed a bug where closing a waypoint route would not connect the last route point to the first route point.
• Fixed a bug where moving a waypoint route point transform with gizmos enabled would cause unity to freeze for a few seconds and throw an error.
New tutorial that picks up where the previous AI route tutorial left off, this covers using the Waypoint Junction Points to create additional route paths that AI vehicles can merge or change lanes into with the help of their detection sensors.
Hello . good job . I only have problems importing in unity 2018.3. otherwise great. my question. Will there be a function for pitstop. give or is it already feasible.
I created a new project just to test the "IK Driver 1.7".
The "AI_PromoDemo_MultipleLanes_16Cars" scene is not running on "Unity 2018.1.9f1 (64-bit)" and nothing works on "Unity 2018.2.14f1 (64-bit)".
In the first case there are no errors reported, but the vehicles do not move.
The AI is what was missing for the project to be excellent, keep working on it. I await your comments.
Hi there, thanks for reporting!
I'm doing some research now and did reproduce the issue with 2018.3.0, to put it simply it's requiring that the Animation package be enabled.
For now, to use 2018.3, when you import the asset, don't import Packages/manifest.json - this is from a 2018.6 project so it's likely breaking the 2018.3 required project settings.
I think if I submit the project with a newer unity version it should not require this step, I'll continue to research for a true fix.
I'll setup a demo scene with a route and a pit area. This is likely possible right now with custom coding to instruct the car to go to a new route and have the route waypoint stop the car when reached. I might need to add a start driving after time method to control the pit stop duration, then the waypoint will control everything you need to act as a pit stop and you would only need to have the car change to that route (by setting a bool on the AI to pitStop). I can post more once I get it working, thanks for the suggestion this sounds like a cool idea!
Thanks for testing and I'm happy to release the feature you've waited for!
I recently submitted 1.7.2 that has the vehicles in that scene set to start driving when the scene starts (and also includes a start driving time (in seconds)). Apologies for any confusion, that was a feature I did not have included when I submitted the initial version and did not enable on the 1.7.1 update.
You can make the AI start driving when play mode is started by enabling the Start Driving On Start bool from the IKDVC_AI script.
Since it's not approved yet, I've resubmitted version 1.7.2 to include the fix for 2018.3
• Upload 2018.3 version to resolve issues with the Unity package manager not supporting importing a previous version of the package manager.
• Add AI_Demo_MultipleLanes_WaypointRouteTutorial_2 scene from tutorial to project.
• Add min/max AI target look ahead values to act as a clamp.
• Add Start Driving Time for AI vehicles to use on startup as a delay when an AI vehicle is set to Start Driving On Start.
To follow up on this question, I've been working on this feature and a demo scene, it will be available with 1.7.3
I'll have a tutorial for it when it's ready. Once proper routes and junctions are configured you'll only need to trigger a bool goToPitstop - then vehicle will navigate to the pitlane waypoint route, then find it's pit area waypoint route where it will come to a stop, wait for a timer, then return to pit lane and from there back to the main route.
Hi, I'm testing the new IK Driver and I'm wondering if AI could be capable of difference surface types? because I'm doing a rally raid game and this will help a lot.
BTW looks really promising!
I'm not sure, it might be something I can add, what would you like to happen for different surface types? Can you describe how the feature you're looking for would work in a bit more detail?
Many assets when the car player drive around different surfaces are able to change grip, particles emited by tyres, etc. ie when change the physic material of the surface. So you can set a dust for gravel, another for sand, just smoke for tarmac.
As this assets haven't good solutions for AI cars I'm looking to make the AI with your asset, but I need to find a similar approach to car player.
Here an example:
Ah, ok thanks for the details and suggestion.. this is what I was thinking but wasn't sure.
I can work on that once I finish the pitstop feature that was mentioned above; it should not be hard but might take me a little bit to get to completion and test.
Most of the vehicle settings were moved to ScriptableObjects to allow for easy swapping of vehicle profiles (similar to post processing stack), AI settings also use profiles. I plan to build up and improve the profile system and this could be part of that next step. So in theory you will be able to have as many types of profiles as you like for wheel/tire effects have some WheelCollider settings in there too for adjusting friction.
Hi, I just try using the latest IKDriver on 2018.2 have a problem using in my project.
My project requires Assembly Definition files, thus I created Assembly Definition files for IKDriver and I get this error when I try to create IKD_WaypointRoute
Could you please help? Thanks.
I've never changed or used used custom Assembly Definition files in a Unity project. If you have a quick way for me to reproduce your issue I can try to find a solution.
Here's what those 2 scripts are and do.
IKDE_WaypointRoute is the custom inspector for IKD_WaypointRoute which is a standard C# unity script.
When I shipped the project to the store all editor scripts were already placed in an Editor folder, this one in specific is at:
My guess is that for some reason the IKDE_WaypointRoute editor script did not get properly adjusted... or perhaps you've moved it outside of a folder named Editor? I'm also not sure that an editor script would need to be a ScriptableObject, that's not part of my design and would also mean it has to be an object in your project folder, which I don't believe an editor script can be; something seems off with that error.
Creating Assembly Definition file is real easy.
Choose "Create"->"Assembly Definition" in IKDriver folder and also you will need to create another Assembly Definition file in the Editor folder.
That should give you the error.
Having Assembly Definition files help to compile faster and many assets have them. Perhaps you should consider it as well.
Thanks for teaching me something new
As a test I created a single definition in the Scripts directory and I checked out the project's newly generated Scripts.csproj file in the project's root. It contains all the scripts in subfolders including Editor.
I did not build or anything, but from what I've found this seem to be the way to go about creating assembly definition files for an entire system. No errors and all scripts accounted for, I attached a screenshot of my assembly references.
I think since you put one in the editor subfolder, that one does not contain the files needed to compile. If you do want them separate it looks like you only need to assign the assembly references to each other so they can include the required scripts.
I found this in the docs:
Having multiple assembly definition files (extension: .asmdef) inside a folder hierarchy causes each script to be added to the assembly definition file with the shortest path distance.
If you have an Assets/ExampleFolder/MyLibrary.asmdef file
and an Assets/ExampleFolder/ExampleFolder2/Utility.asmdef file, then:
Any scripts inside the Assets > ExampleFolder > ExampleFolder2 folder will be compiled into the Assets/ExampleFolder/ExampleFolder2/Utility.asmdef defined assembly.
Any files in the Assets > ExampleFolder folder that are not inside the Assets > ExampleFolder > ExampleFolder2 folder will be compiled into the Assets/ExampleFolder/MyLibrary.asmdef defined assembly.
I may consider doing this, but it does not seem hard to add (as you said it's only a simple menu command to install) if it's the correct way to go. I'd have to test with it installed before I would submit though.
Thanks for trying it out. I think my Unity Editor got into a bad state. Restarting seems to fix it. ^^
Yeah, having the assembly def file in your asset will be helpful so that users don't have to do it every time we get updates.
I've been in contact with a Unity support representative, the 1.7.2 fix for 2018.3.x should be available soon.
Somewhat a mixture of some good/bad news unfortunately about the 1.7.2 submission that fixes the Unity Package Manager bug that causes the project to break in 2018.3.x. The fix has been stuck pending review since Jan 25 (due to this bug now being part of the approval check is my guess).
I've discussed this bug with Unity staff and support, here's the public forum posy (I don't think this will ever be properly fixed): https://forum.unity.com/threads/no-package-manager-in-window-menu-for-2018-2.539851/#post-4163185
This bug is the root of the problem (The unity package manager manifest.json is empty in pre 2018.3 versions of unity and there's no way to omit this file when submitting a complete project, so importing to Unity's latest version which relies on the package manager manifest.json having entries causes the project break).
I've been asked to resubmit the 2018.1.6 version, but it will end in the same result. This Unity package manager import bug seems like it won't be fixed so a re submission with that version will result in the same scenario.
• I Removed 2018.1.6 version as requested by Unity support to resolve the broken unity package manager bug causing issues when importing to a 2018.3.x+ project. Uploaded 2018.3 version to resolve issues with the Unity package manager not supporting importing a previous version of the package manager. Unity 2018.3.x is now the only supported version for new content.
I apologize if this forces anyone to upgrade unwillingly.
Thank you for understanding.
Version 1.7.2 is now available
• Removed 2018.1.6 version as requested by Unity support to resolve broken the unity package manager bug causing issues when importing to a 2018.3.x+ project. Uploaded 2018.3 version to resolve issues with the Unity package manager not supporting importing a previous version of the package manager. Unity 2018.3.x is now the only supported version for new content.
• Add AI_Demo_MultipleLanes_WaypointRouteTutorial_2 scene from tutorial to project.
• Add min/max AI target look ahead values to act as a clamp.
• Add Start Driving Time for AI vehicles to use on startup as a delay when an AI vehicle is set to Start Driving On Start.
IK Driver 1.7.3 is almost done, just need to do some final testing and cleanup new variables inside inspectors a bit then I can submit..
Here's a preview of the new pit stop feature in the AI cars on race track with pit lane demo scene:
Wow, it looks great!!
Looking at the increased number of multi-lane path-points, and cars, I think it will benefit tremendously from ECS and job system in the future.
Please keep the good work. ^^
wau. looks great . I'm looking forward to testing it
Version 1.7.3 is now available - I'll post a tutorial to go over details of new pit stop demo scene setup soon.
• Added 'Go to pit stop' feature for AI vehicles.
• Added 'Race Track with Pit Lane' demo scene, configured with 12 vehicles, each has their own pit stop area.
• Improved editor scene view waypoint gizmo performance.
Hello, What is it, Can not make any changes. How so ! I have to buy something now!
If I want to create an AI settings I get the error
Sorry about that, looks like I left a version control project setting on that needs to be changed. I'll submit a fix now.
Until then.. you can go to Edit > Project Settings > Editor and set version control mode to Visible Meta Files.
ah .. thank you for the quick reply
No problem, thanks for letting me know.
1.7.3a was just submitted with the fix.