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 /
This question was closed Sep 27, 2015 at 01:13 PM by RedDevil for the following reason:

The question is answered, right answer was accepted

avatar image
0
Question by RedDevil · Jan 14, 2014 at 07:58 AM · c#particleseffectsoff

C# OnBecameVisible turning of particles and effects

What im trying to do is while the object is not in view to not play animations,effects or particles.I have read a similar question with this response: " It is a reasonable option, but keep in mind the GameObject will not update during the time it is off camera view. Therefore, if say that GameObject needs to do something during update, it will not happen. Instead, you could give the GameObject an "Off" state which is activated when no longer in camera view. Allowing it to continue to run Updates if needed, but is not actually disabled. " I do not mind the objects not update since those objects dont have specific scripts i need to be using(most of them are just lights). Please help me by telling me how i can disable them while OnBecameInvisible() function is called.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

2 Replies

  • Sort: 
avatar image
0
Best Answer

Answer by GameVortex · Jan 14, 2014 at 08:16 AM

I am a little unsure of what you are trying to accomplish with turning everything off like that. Animations by default does not play while off screen and particles are not rendered.

But it seems you have mostly figured it out yourself though: Disable the object when OnBecameInvisible() is called. For that you use the gameObject.SetActive(false) function.

Example:

 private void OnBecameInvisible()
 {
     gameObject.SetActive(false);
 }

This disables everything on the gameObject though. Which means the OnBecameVisible will never be called as the objects renderer is turned off.

Maybe you only want to disable animations and particle effects explicitly?

Do that by finding the animation or particle system component and disabling them.

Example:

 private void OnBecameInvisible()
 {
     ParticleSystem ps = GetComponent<ParticleSystem>();
     if(ps)
     {
         ps.Stop();
     }
     
     //Monobehaviour already has a variable to animation
     if(animation)
     {
         animation.Stop();
     }
 }

Then you can turn them on again when the object becomes visible.

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 RedDevil · Jan 14, 2014 at 08:20 AM 0
Share

yes i only needed to turn the animation and the particles as I have a ton of torches in my scene(light+animations) thank you.

avatar image
0

Answer by getyour411 · Jan 14, 2014 at 08:11 AM

gameObject.SetActive(false)

Comment
Add comment · 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

Follow this Question

Answers Answers and Comments

19 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

Related Questions

Distribute terrain in zones 3 Answers

Multiple Cars not working 1 Answer

Get ParticleSystem (Shuriken) to play from array of game objects C# 2 Answers

Behaviour of SetActive seems to have changed. Re-firing effects now interrupts itself, breaks my effect system. 1 Answer

Very strange particle question. 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