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 /
avatar image
0
Question by z0code0z · Jun 29, 2018 at 07:46 PM · c#instantiatespawntimerspeed up

[c#] Increase speed of instantiating over time!?

So i need this object that im instantiating to spawn faster over time. Simple but i just can't figure it out, ive only just started on unity and so far its much simpler and easier than UE4 for what i need but i just cant figure this one thing out!

If you fellas have any other tips or perhaps a better way to do my code PLEASE share, im at a stump and i need help, thanks!!

also this may come of use, i have another script applied to something else that has a timer so that i could keep track of how long the games been going and perhaps thought i could use that timer and increase the speed as the number goes higher.

Some of this code i got from other sources and just edited a few bitty lines to my needs

 using System.Collections;
 using System.Collections.Generic;
 using UnityEngine;
 
 public class Spawner : MonoBehaviour {
 
 
     //Spawn this object
     public GameObject spawnObject;
 
     public float maxTime = 2;
     public float minTime = .01f;
 
     public float maxOffset = 10;
     public float minOffset = -10;
 
     private Vector3 NewPos;
 
     
 
     //current time
     private float time;
 
     //The time to spawn the object
     private float spawnTime;
     private float RandomOffSet;
 
     void Start()
     {
         SetRandomTime();
         time = minTime;
         SetRandomOffSet();
     }
     private void Update()
     {
 
         
     }
 
     void FixedUpdate()
     {
 
         //Counts up
         time += Time.deltaTime;
 
         //Check if its the right time to spawn the object
         if (time >= spawnTime)
         {
             SpawnObject();
             SetRandomTime();
             SetRandomOffSet();
         }
 
     }
 
 
     //Spawns the object and resets the time
     void SpawnObject()
     {
         time = minTime;
         NewPos = new Vector3(transform.position.x + RandomOffSet, transform.position.y, transform.position.z);
         Instantiate(spawnObject, NewPos, transform.rotation);
     }
 
     //Sets the random time between minTime and maxTime
     void SetRandomTime()
     {
         spawnTime = Random.Range(minTime, maxTime);
     }
 
     void SetRandomOffSet()
     {
 
         RandomOffSet = Random.Range(minOffset, maxOffset);
 
     }
 
     
 
 
 }

Comment
Add comment · Show 1
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 Vicarian · Jun 29, 2018 at 08:00 PM 0
Share

A few things you can think about while designing this:

  • What's the rate at which you want the spawn timer to increase in frequency?

  • What's the base frequency of spawns over time?

  • How much time has elapsed since the last spawn?

  • How do you normalize things for both framerate and real time?

If you can answer those questions, you can write the code yourself.

1 Reply

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

Answer by binaryuniverse · Jun 29, 2018 at 08:05 PM

I have no reason to think that this won't work as is, but generally speaking the purpose of the Time.deltaTime function is for the Update function (as opposed to fixedUpdate.) Unless you have any reason for not doing so, I would move all of this to Update, especially since some frames will definitely take more time than others with your setup.

Your issue is that you need the time increments to get smaller while still being random. Just use a function for setting the random value that is designed to get lower with time (or count)

EDIT: I just noticed, you do use a minTime and maxTime. You just don't update them.

A simple version would be that each time (time >= spawnTime) evaluates to true, you lower a new variable called maxTime. Start it at 1 and drop it by .025 each time. That will give you a linear drop. You can use exponential functions instead to make it start fast and slow down or start slow and speed up (Something like Mathf.sqrt(1 - maxTime) perhaps.)

As an example, in Update, in the code block:

      if (time >= spawnTime)
      {
          maxTime -= 0.025f;
          SpawnObject();
          SetRandomTime();
          SetRandomOffSet();
      }
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 binaryuniverse · Jun 29, 2018 at 08:32 PM 0
Share

I would also add that you should look into the concept of object pools if you're going to do this a lot.

avatar image z0code0z binaryuniverse · Jun 29, 2018 at 08:36 PM 0
Share

i definitely will, ive just started so anythings helpful at this point XD

avatar image z0code0z · Jun 29, 2018 at 08:36 PM 1
Share

I dont know why i didnt think of that! Im going to see if it works how i need it but in the meantime do you know how i could implement a max low point? so that will keep going lower and lower but i dont want it to past a certain point?

THAN$$anonymous$$S!!

avatar image z0code0z · Jun 29, 2018 at 09:27 PM 0
Share
 if (time >= spawnTime)
         {
             SpawnObject();
             SetRandomTime();
             SetRandomOffSet();
 
             if (maxTime > .5)
             {
                 maxTime -= 0.075f;
             }
         }
     }

That makes it that when the max time until something else spawns hits .5 it will stop decreasing time.

Thanks for the help!

avatar image binaryuniverse z0code0z · Jun 30, 2018 at 09:47 PM 0
Share

Looks like you answered your own question. Glad to help. :-)

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

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

How can I make an object clone in the time that I indicate it to appear? 0 Answers

Spawn enemies so they aren't instantiated on top of each other (C#) 2 Answers

Spawn a random object on more than one position 1 Answer

Problem with Instantiated clones 1 Answer

What is the most efficient way to spawn in a lot of cubes, like 10k? [c#] 2 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