Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 12 Next capture
2021 2022 2023
1 capture
12 Jun 22 - 12 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 /
  • Help Room /
This question was closed Apr 22, 2019 at 02:04 PM by Nosmo for the following reason:

Other

avatar image
0
Question by Nosmo · Apr 16, 2019 at 06:21 PM · movementrigidbodyboxcolliderclampboundary

Im having trouble clamping enemies to the game area, can anyone help?

My game has enemies coming down a platform with barriers on both sides. But they use evasive maneuvers and sometimes go beyond the barrier. I have added a box colliders on the barriers and on the enemy which are set to trigger to kill enemies - a 2nd box collider can be added but due to the rigidbody attached this causes them to go spinning off when they come in contact with each other or the barriers.


Here is the youtube video I've made so you get an idea what the game is like: https://www.youtube.com/playlist?list=PLyWpXjiYnxF3kLBe89_FbQ4rgmxHDGAVV


all tutorials so far have been for 2D games has anyone got suggestions how i can clamp them to the platform area or make the enemies move without a rigidbody attached?


  • this is the evasive maneuver script

public class EvasiveManeuver : MonoBehaviour {

 public float dodge;
 public float smoothing;
 public Vector2 startWait;
 public Vector2 maneuverTime;
 public Vector2 maneuverWait;
 public Boundary boundary;

 private float targetManeuver;
 private Rigidbody rb;
 private float currentSpeed;

 void Start()
 {
     rb = GetComponent<Rigidbody>();
     currentSpeed = rb.velocity.z;
     StartCoroutine(Evade());
 }

 IEnumerator Evade()
 {
     yield return new WaitForSeconds(Random.Range(startWait.x, startWait.y));

     while (true)
     {
         targetManeuver = Random.Range(1, dodge) * -Mathf.Sign(transform.position.x); //does the opposite, done to keep the enemy inside the screen and not hug the edge  
         yield return new WaitForSeconds(Random.Range(maneuverTime.x, maneuverTime.y));
         targetManeuver = 0; //set it back to zero
         yield return new WaitForSeconds(Random.Range(maneuverTime.x, maneuverTime.y)); //startWait for a period of time
     }
 }

 void FixedUpdate()
 {
     float newManeuver = Mathf.MoveTowards(rb.velocity.x, targetManeuver, Time.deltaTime * smoothing);
     rb.velocity = new Vector3(newManeuver, 0.0f, currentSpeed);
      rb.position = new Vector3
      (
          Mathf.Clamp(rb.position.x, boundary.xMin, boundary.xMax),
          0.0f,
          Mathf.Clamp(rb.position.z, boundary.zMin, boundary.zMax)
      );
  }

}

  • This is the enemy movement script

public class Mover : MonoBehaviour

{

 public float speed;

 public Rigidbody rb;

 void Start()
 {
     rb.velocity = transform.forward * speed;
 }

}

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

0 Replies

  • Sort: 

Follow this Question

Answers Answers and Comments

247 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 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 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 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 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 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 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 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 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 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 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 avatar image avatar image avatar image avatar image avatar image

Related Questions

2D Rigidbody Object Moving Partially Into Barriers 0 Answers

Space Shooter Tutorial, Player Movement and Boundaries 0 Answers

Everything that moves need an Rigid Body? 1 Answer

Realistic Soccer Ball Dribbling? 1 Answer

Movement is inconsistent 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