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 UnityNoob123 · Nov 14, 2017 at 12:46 AM · optimizationblockdestruction

Optamize player destruction

In my game the player shoots zombies, which are very block like, which I rigged up for their heads to have 16 separate cubes so I can explode them. As of now I spawn the zombies in as a single mesh, and upon getting shot I disable the single mesh, and activate the 16 separate cubes that make up the head. Each cube has a box collider and a rigidbody attached to it. When the bock is shot it gets the rigidbody component and adds a velocity, then destroys that block a couple seconds later. All the blocks use the same texture, but when there is a group of 10 or more zombies, all getting shot up, it dips down to as low as 15fps. My PC is a pretty high end gaming computer, so I know I need to improve upon this. Any suggestions would be appreciated, thanks.

Comment
Add comment · Show 3
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 FlyingHighUp · Nov 14, 2017 at 03:46 AM 0
Share

Are you doing something significant in your scripts on collision?

160 cubes isn't much in the grand scheme of things...

avatar image UnityNoob123 FlyingHighUp · Nov 14, 2017 at 07:23 AM 0
Share

@FlyingHighUp Ya I thought that too, for colliders all I have is a box collider on each object. And this is my script:

 public void blowChunk (GameObject chunk) {
         if (!shot) {
             for (int i = 0; i < destructParts.Length; i++) {
                 destructParts [i].SetActive (true);
             }
             skinned$$anonymous$$esh.SetActive (false);
             headColleder.SetActive (false);
             shot = true;
         } else {
             chunk.transform.SetParent (null);
             chunk.GetComponent<Rigidbody> ().is$$anonymous$$inematic = false;
             float _velocityX = Random.Range (-500, 500);
             float _velocityY = Random.Range (-500, 500);
             float _velocityZ = Random.Range (-500, 500);
             chunk.GetComponent<Rigidbody> ().AddForce (_velocityX, _velocityY, _velocityZ);
             StartCoroutine (destroyChuncks (chunk));
         }
     }
 
     IEnumerator destroyChuncks (GameObject _chunk) {
         yield return new WaitForSeconds (1f);
         Destroy (_chunk);
     }
 
avatar image TheDarkVoid · Nov 14, 2017 at 10:22 PM 0
Share

Try using a particle system with 3D particles. You can save on GC operations this way as well if you use a single particle system and Susan the cubes at the zombie's head

0 Replies

· Add your reply
  • Sort: 

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

78 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

Related Questions

SetMaterialBlock - anyone use this or know where documentation is? 2 Answers

What- if anything- is wrong with this shader (alpha/reflective/unlit)? 1 Answer

What is a fragment? 1 Answer

Differentiate an overlapping collision from just touching 1 Answer

Performance gain through recycling Objects? 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