• 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
Question by tcn5150 · Apr 24, 2016 at 07:31 AM · scripting problemlightingrenderingreflection

Is it possible to rotate the environment's reflection source at runtime? (C#)

Using Unity 5.4 and C#, I'm trying to script swapping out / rotating lighting environments at runtime. It's fairly easy to swap the skybox in the render settings (and rotate it via the skybox material). However, the reflection source does not update.

I can change the reflection source via RenderSettings.customReflection, however this will replace the reflection environment with a skybox at its default rotation, which will not match the (runtime) rotation set in the skybox material. And it seems that custom reflection source can't be rotated.

From reading the docs, it seems that I might need to call DynamicGI.UpdateEnvironment() after changing the skybox, but this does not update the reflection environment. (Which makes sense, as GI is not reflection.)

DynamicGI.UpdateMaterials() might also (not) be of use, but the function requires passing it a renderer, which I'm unsure of. Would that be the renderer for each mesh in the scene?

Has anyone been able to rotate an environment lighting skybox with corresponding environment reflections at runtime?

Any hints would be great!

Thanks!

Comment

People who like this

0 Show 0
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

Answer by SuppleTeets · Jul 02, 2016 at 02:42 PM

In order to get the world reflection cubemap updating in realtime I ended up in C# generating a cubemap, connecting it to RenderSettings.customReflection, and then running camera.RenderToCubemap to update it when things are changing, in your case rotating, in my case it was blending/fading between two cubemaps. It's a performance hit(especially with higher res cubemaps), but it works! You can do whatever you want with the skybox and it'll update the reflections.

I tried to use a RenderTexture with .isCubeMap set, thinking that might be perform better, but I couldn't figure out how to connect it to the lighting custom reflection cubemap slot.

Comment

People who like this

0 Show 0 · 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

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.

Welcome to Unity Answers

If you’re new to Unity Answers, please check our User Guide to help you navigate through our website and refer to our FAQ for more information.

Before posting, make sure to check out our Knowledge Base for commonly asked Unity questions.

Check our Moderator Guidelines if you’re a new moderator and want to work together in an effort to improve Unity Answers and support our users.

Follow this Question

Answers Answers and Comments

5 People are following this question.

avatar image avatar image avatar image avatar image avatar image

Related Questions

Unity iOS Rendering Standard shader issue 0 Answers

Instantiated light not working properly 0 Answers

Outdoor Reflection Probes 0 Answers

Skybox reflections stopped working. 0 Answers

Set emission for Realtime GI separately from rendered material 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