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 Ouija · Mar 22, 2014 at 11:37 PM · randomwaypointwander

Onclick Waypoint Wander

Hello guys,

I see scripts and info about wandering AI. But nothing really to what I am aiming for. If anyone has any ideas or solution that would be great to hear from you.

My mission here is, when you click on an object, say a character, it will wander to one of say, 5 waypoints. I'm hoping that the object will pick the waypoint to go to by random.

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

2 Replies

· Add your reply
  • Sort: 
avatar image
0

Answer by Tyyy1997 · Mar 23, 2014 at 12:13 AM

If I understand what you are looking for, you should try this:

Create an 2D array of coordinates, and on whatever method you are using to accept input, have it generate a random number, and then have the object move to that location..

f.e.

     float[,] coordinates = {{1.3f, 45}, {54, 22}, {12, 1.1}};
     
     void SomeMethod() {
         int randomIndex = Random.Range(0, 3);
     
         moveObjectTo (coordinates[randomIndex]);
     }

It's no copy and paste method, but hopefully you get it.

Comment
Add comment · Show 2 · 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 Ouija · Mar 23, 2014 at 12:46 AM 0
Share

I see what you are getting at, but what do you mean by create a 2d array? like a grid of sort? I'm a noob LOL

Edit: I was playing with Navmesh, I was hoping to just scatter the waypoints on that.

avatar image Tyyy1997 · Mar 23, 2014 at 12:58 AM 0
Share

Navmesh is awfully complicated for the task at hand, according to $$anonymous$$icrosoft's documentation you declare a 2D array like: int[,].

The array is the first line of code in my example.

  float[,] coordinates = {{1.3f, 45}, {54, 22}, {12, 1.1}};
avatar image
0

Answer by Fappp · Mar 24, 2014 at 06:10 PM

This might work, did not test it. It's a quick (old, crappy) mod of something I built for random wander once.

     var target : Vector3;
     var moving : boolean;
     var wandering : boolean;
     var waypoints : GameObject[];
     
     function Awake(){
     
         wandering = true;
     
     
     }
     
     
     function Update(){
     
         if (moving){    
             transform.Translate(Vector3.forward / 10 * Time.deltaTime);    
             targetRotation = Quaternion.LookRotation (target - transform.position);
               transform.rotation = Quaternion.Lerp (transform.rotation, targetRotation, 1);
         }
         if (distance  < 1 ){
             arrived = true;
             targetSet = false;
         }
         
         if (wandering && !targetSet){
                     var randomWaypoint = Random.Range(0, waypoints.Length);
                     waypoint = waypoints[randomWaypoint];
                     target = waypoint.transform.position;
             targetSet = true;
             moving = true;
         }
 }
Comment
Add comment · 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

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

22 People are following this question.

avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image

Related Questions

Is this a good way to make a basic random waypoint system? 1 Answer

Make object move in random directions 1 Answer

Keep rotation at (0,0,0) while transforming? 1 Answer

Moving an object a specific distance 1 Answer

Random Running and Follow at Certain Distance 0 Answers


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