Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 13 Next capture
2021 2022 2023
1 capture
13 Jun 22 - 13 Jun 22
sparklines
Close Help
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
  • Asset Store
  • Get Unity

UNITY ACCOUNT

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account
  • Blog
  • Forums
  • Answers
  • Evangelists
  • User Groups
  • Beta Program
  • Advisory Panel

Navigation

  • Home
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
    • Blog
    • Forums
    • Answers
    • Evangelists
    • User Groups
    • Beta Program
    • Advisory Panel

Unity account

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account

Language

  • Chinese
  • Spanish
  • Japanese
  • Korean
  • Portuguese
  • Ask a question
  • Spaces
    • Default
    • Help Room
    • META
    • Moderators
    • Topics
    • Questions
    • Users
    • Badges
  • Home /
avatar image
0
Question by Grady · Apr 30, 2011 at 09:44 AM · aicarfollow

how to make an ai car follow player car

Hey everyone, I am making a car game, where you can drive around a city, I am using the seeksteer script for my ai cars. As this script works using waypoints, i am finding it difficult to find a way to make the ai car follow the player around (basically this ai script will be applied to a police car, which will chase the player around the city), the seeksteer script looks like this:

//SeekSteer.js

var waypoints : Transform[]; var waypointRadius : float = 1.5; var damping : float = 0.1; var loop : boolean = false; var speed : float = 2.0; var faceHeading : boolean = true;

private var targetHeading : Vector3; private var currentHeading : Vector3; private var targetwaypoint : int; private var xform : Transform; private var useRigidbody : boolean; private var rigidmember : Rigidbody;

// Use this for initialization function Start() { xform = transform; currentHeading = xform.forward; if(waypoints.Length<=0) { Debug.Log("No waypoints on "+name); enabled = false; } targetwaypoint = 0; if(rigidbody!=null) { useRigidbody = true; rigidmember = rigidbody; } else { useRigidbody = false; } }

// calculates a new heading function FixedUpdate() { targetHeading = waypoints[targetwaypoint].position - xform.position;

    currentHeading = Vector3.Lerp(currentHeading,targetHeading,damping*Time.deltaTime);

}

// moves us along current heading function Update(){

    if(useRigidbody)
        rigidmember.velocity = currentHeading * speed;
    else
        xform.position +=currentHeading * Time.deltaTime * speed;
    if(faceHeading)
        xform.LookAt(xform.position+currentHeading);

    if(Vector3.Distance(xform.position,waypoints[targetwaypoint].position)&lt;=waypointRadius)
    {
        targetwaypoint++;
        if(targetwaypoint&gt;=waypoints.Length)
        {
            targetwaypoint = 0;
            if(!loop)
                enabled = false;
        }
    }

}

// draws red line from waypoint to waypoint function OnDrawGizmos(){

    Gizmos.color = Color.red;
    for(var i : int = 0; i&lt; waypoints.Length;i++)
    {
       var pos : Vector3 = waypoints[i].position;
        if(i&gt;0)
        {
            var prev : Vector3 = waypoints[i-1].position;
            Gizmos.DrawLine(prev,pos);
        }
    }

}

Also, I didn't want to put the script that allows the driver to drive their car because then this question might be a bit too long... But if anyone would like, i can post the player car script, because i was wondering if anyone could provide a good script for allowing a player to drive a car, because the one that i got at the moment is not the best...

Many Thanks

-Grady

Comment
Add comment
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

1 Reply

· Add your reply
  • Sort: 
avatar image
1
Best Answer

Answer by Muzz 1 · Apr 30, 2011 at 09:53 AM

IDEA 1 : I'm coming to the conclusion that I don't like SeekSteer. It adds external forces, and so isn't great. However...if you want to use it, then why not put one waypoint at the start, and the other as a child of the player car? Then it should drive towards the player car. (I haven't tested this, so it might be wrong.) Idea 2 : Why not use pathfinding (check the forums for A*, search 'path' in the asset store). That will find a path to the car, so it'll go around buildings!

Comment
Add comment · Show 5 · Share
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users
avatar image Grady · Apr 30, 2011 at 10:06 AM 0
Share

yeah, i tried that, but then the car goes directly towards the player car, and doesn't go around buildings or anything... do you know a better ai script? or maybe a way to make the player car spawn waypoints behind it for the car to follow or something....?

avatar image Muzz 1 · Apr 30, 2011 at 10:24 AM 0
Share

That second one sounds like a pretty good idea, but it would be hard to then make them pick those up and use them as waypoints. I've had another idea ... look at my post!

avatar image Grady · Apr 30, 2011 at 10:29 AM 0
Share

when you say it'll follow the path, does that mean i can have my player car create that path, or do i have to pre make the path for the car to follow...? Thanks!

avatar image Muzz 1 · Apr 30, 2011 at 11:13 AM 0
Share

It'll calculate a path around the buildings to the player car. It will then go along this path. (Hint: press upvote or accept!)

avatar image Grady · Apr 30, 2011 at 11:35 AM 0
Share

ok thanks, i'll check that out!!! :)

Your answer

Hint: You can notify a user about this post by typing @username

Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.

Follow this Question

Answers Answers and Comments

1 Person is following this question.

avatar image

Related Questions

car follow ai 1 Answer

How can I make the CarController (a gameobject) follow my currentCar 0 Answers

unitysteer with car model and ai 1 Answer

Following AI - Similar to Snake Game 2 Answers

How I can make a simple follow AI in Unity 5? 1 Answer


Enterprise
Social Q&A

Social
Subscribe on YouTube social-youtube Follow on LinkedIn social-linkedin Follow on Twitter social-twitter Follow on Facebook social-facebook Follow on Instagram social-instagram

Footer

  • Purchase
    • Products
    • Subscription
    • Asset Store
    • Unity Gear
    • Resellers
  • Education
    • Students
    • Educators
    • Certification
    • Learn
    • Center of Excellence
  • Download
    • Unity
    • Beta Program
  • Unity Labs
    • Labs
    • Publications
  • Resources
    • Learn platform
    • Community
    • Documentation
    • Unity QA
    • FAQ
    • Services Status
    • Connect
  • About Unity
    • About Us
    • Blog
    • Events
    • Careers
    • Contact
    • Press
    • Partners
    • Affiliates
    • Security
Copyright © 2020 Unity Technologies
  • Legal
  • Privacy Policy
  • Cookies
  • Do Not Sell My Personal Information
  • Cookies Settings
"Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Default
  • Help Room
  • META
  • Moderators
  • Explore
  • Topics
  • Questions
  • Users
  • Badges