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
1
Question by m4a44 · Apr 08, 2014 at 04:45 PM · 3dparticle systemobject pool

Object Pooling vs Particle System

I am wondering which of the 2 systems above would be a better, mobile friendly choice (or if it doesn't matter). Basically pooling gameobjects, or creating custom particles (meshes) that can be manually manipulated.

I will be spawning dozens of simple objects that are to be collected by the player. For this, they must be 3D (I do know 2D would mean that a PS would be better/easier though. But for the sake of the question, they must be 3D).

I am still pretty new to optimizations, and any insight would be appreciated before I go ahead with creating a spawning system...

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 HuskyPanda213 · Apr 08, 2014 at 04:48 PM 0
Share

Probably pooling for your case. Also, you should test out both methods on an mobile device prior to release.

avatar image Owen-Reynolds · Apr 09, 2014 at 02:49 PM 0
Share

So, there will only ever be solid meshes, like yellow balls with dollar-signs written on them? There will never be anything that anyone would think of as a particle? The plan is to think of a particleSystem as a really efficient reusable list, plus particle-moving stuff you don't need. And to repurpose just the list part into pick-up storage?

avatar image m4a44 · Apr 09, 2014 at 10:48 PM 0
Share

But could it be efficient enough to warrant checking it out? I have other things I can work on until I can figure that out... Otherwise (since it seems like not many people have tested this) I'll have to test it later...

1 Reply

· Add your reply
  • Sort: 
avatar image
0

Answer by Owen-Reynolds · Apr 08, 2014 at 05:01 PM

It's not an either/or. If you're confused, just do whatever seems to look nicer, and worry about speed later.

Choice#1 is custom mesh (is this a single facing plane with a fancy shader?) vs particleSystem. Particle systems can make some cool stuff, and are easier. Easier, to me, wins for now. Single meshes are fine for small, quick things (like a single white flash; grows/dies in 3 frames) where they won't notice or care it's the exact same every time.

Choice #2 is Pool vs.Instantiate. Whether you go with custom planes or particleSystems, you can do either. Pooling means that instead of Instantiating when-ever you need whatever it is, you grab an unused one from a list (which you Instantiate once at the start.) All pooling does is maybe avoid some stutters when you spawn a lot at once.

Comment
Add comment · Show 1 · 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 m4a44 · Apr 08, 2014 at 06:19 PM 0
Share

I already have what looks nice and was easiest to set up at the beginning (object pooler), but I also want to squeeze out some more performance if I can... I know ParticleSystem supports meshes, but I don't know if switching over would give a significant enough speed boost to bother...

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

23 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

Related Questions

Particle emission : Give each particle a specific direction 1 Answer

How to make particle collide with other particle 1 Answer

How to turn object into a particle system and back? 0 Answers

Smoke Particle Not Playing Continuously 2 Answers

How can i accomplish fog at the edge of my map. 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