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 /
avatar image
0
Question by MusicBoxx · Nov 12, 2018 at 10:05 AM · c#spawnprefabs

Enemies spawning on top of each other fix?

Hello, I want to fix my script, but I don't know exactly how to do it and I've been googling for awhile now and I haven't found any help. I want 3 types of enemies to respawn, but sooner or later the enemies are spawning on top of each other. What could I use for a solution?

Here's my script: Enemywave.cs

 using System.Collections;
 using System.Collections.Generic;
 using UnityEngine;
 
 public class Enemywave : MonoBehaviour
 {
 
     public Transform enemy1;
     public Transform enemy2;
     public Transform enemy3;
     public float SpawnCount = 3f;
 
     public float WaveCount = 3f;
 
     private int EnemyNum=0;
 
     public Transform whereSpawn;
     // Use this for initialization
     void Start () {
         
     }
     
     // Update is called once per frame
     void Update () {
         if (WaveCount <= 0)
         {
             StartCoroutine(EnemyWaveCount());
             EnemyWaveCount();
             WaveCount = SpawnCount;
         }
 
         WaveCount -= Time.deltaTime;
     }
 
     IEnumerator EnemyWaveCount()
     {
         EnemyNum++;
         for (int i = 0; i < EnemyNum; i++)
         {
             Enemy1Spawner();
             yield return new WaitForSeconds(1f);
             Enemy2Spawner();
             yield return new WaitForSeconds(3f);
             Enemy3Spawner();
             yield return new WaitForSeconds(5f);
         }
         
         
     }
 
     void Enemy1Spawner()
     {
         Instantiate(enemy1,whereSpawn.position,whereSpawn.rotation);
         
     }
 
     void Enemy2Spawner()
     {
         Instantiate(enemy2, whereSpawn.position, whereSpawn.rotation);
     }
 
     void Enemy3Spawner()
     {
         Instantiate(enemy3, whereSpawn.position, whereSpawn.rotation);
     }
 }

What can I do or use in order not to make the enemies to spawn on top of each other? Thank you

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
0

Answer by Vega4Life · Nov 12, 2018 at 02:45 PM

First why is this a thing?

              StartCoroutine(EnemyWaveCount());
              EnemyWaveCount(); // This one won't be called and should be causing a warning


Second, EnemyNum seems to be a big issue. It will eventually, create a ton of dudes, and goes against the point of the EnemyWaveMethod. Just get rid of the entire for loop.

 IEnumerator EnemyWaveCount()
      {
          EnemyNum++; // This never gets decremented and will eventually get really large



Lastly, your enemies share the same spawn point. You could make whereSpawn an array of points around a map, but you would still get spawns on top of each other. I would instead spawn your enemies randomly around the spawn point. Something like:

 float distance = 5; // whatever you want the circle size to be
 Vector3 spawnPoint = whereSpawn.Position+ Random.insideUnitCircle * distance;


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 MusicBoxx · Nov 12, 2018 at 02:58 PM 0
Share

@Vega4Life Thank you for replying. The thing is if I'll create whereSpawn as an array the enemies won't be following along the path and for whatever reason the Navmesh isn't working for me.. Thank you. I'll try it out and let you know.

avatar image MusicBoxx · Nov 12, 2018 at 03:18 PM 0
Share

@Vega4Life StartCoroutine(EnemyWaveCount()); does not cause me any warnings.

 float distance = 5; // whatever you want the circle size to be
  Vector3 spawnPoint = whereSpawn.Position+ Random.insideUnitCircle * distance;

After implementing your last script it didn't spawn any enemies at all.

avatar image Vega4Life MusicBoxx · Nov 12, 2018 at 03:36 PM 0
Share

So this doesn't work?

float distance = 5; // whatever you want the circle size to be

Vector3 spawnPoint = whereSpawn.Position + Random.insideUnitCircle * distance;

Instantiate(enemy3, spawnPoint , whereSpawn.rotation);


This should definitely work.

avatar image Vega4Life Vega4Life · Nov 12, 2018 at 03:41 PM 0
Share

Oh, you probably need to keep the Y vector of the original spawn point, or it could spawn under the map I guess. So do this:

float distance = 5; // whatever you want the circle size to be

Vector3 spawnPoint = whereSpawn.Position + Random.insideUnitCircle * distance;

spawnPoint = new Vector3(spawnPoint.x, whereSpawn.position.y, spawnPoint.z); // $$anonymous$$eep the height

Instantiate(enemy3, spawnPoint , whereSpawn.rotation);

Show more comments

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

562 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 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 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

Multiple Cars not working 1 Answer

Distribute terrain in zones 3 Answers

Players not moving properly - Network Multiplayer 1 Answer

Problem: Random Instantiating more than one prefab? 1 Answer

move gameobject into a random position and the spawn an enemy 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