To be more specific, I want to change the color really fastly (like, 60 times a second) and I want to change it from blue, to red, to green, then back again and repeat that over and over
C# - Rapidly change unity3d skybox color
2.1k Views Asked by will0956 At
1
There are 1 best solutions below
Related Questions in UNITY-GAME-ENGINE
- Using arrow keys to rotate an object
- know object behind another object is fully visible
- Unity3d AudioSource not creatable
- Unity3d - Input.GetKey returns true more than once
- Flurry Ads on Unity3D with Prime31 plugin
- Make screenshot of DirectX window that is hidden and doesn't have focus
- Coroutine being detected as inactive despite being active
- Unity3D: Adding charged force in relation to position
- Unity - Particles emitting non-random
- 3d mouse aim camera 3rd person vertical C#
- Unity: How would I go about creating a power up system?
- Unity - Gui Button issues (Android)
- Unity3d strange Collider behaviour
- Start() function doesn't work properly after Application.LoadLevel
- Gravity works weird
Related Questions in SKYBOX
- Panorama picture to Cubemap algorithm
- Unity C#- dynamic skyboxes, get no errors but doesn't work
- Change Skybox Material Programmatically (c#)
- C++ OpenGL cubeSampler returns black
- How to make radial gradient skybox in Unity?
- Three.js: Combine materials on a single face of cube (that uses multiple materials)
- How can I load a skybox dds file into paint.NET for editing?
- Unity - Setting Skybox from script makes strange color
- Unity custom skybox like Unity skybox
- webgl skybox textures artifacts on cube edges
- Opengl Skybox Depth Buffer Hides the scene
- webgl - babylonjs skybox texture not showing
- C# - Rapidly change unity3d skybox color
- Three.js Unculled SkyBox
- Cubemap skybox in Shader Graph
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
If you really want to do this, (and I see no practical application for it at all as shown in my javascript demo) the following code will rapidly transition the background colors of the scene (once per frame).
Under camera properties, change the
Clear FlagstoSolid Color. This disables the skybox background and instead just clears the background to a color.Then, create a new C# behaviour with the following code and attach it to your camera:
Explanation:
The script has an array
skyColorscontaining three colors, red, green and blue.At every update (once per frame) the variable cycleIndex is incremented.
Then, by calling
cycleIndex %= skyColors.Length, whenever cycleIndex is equal to the length of the colors array it resets to zero. (This way if you add more colors to the array it will cycle through them too).Finally, we change the camera's background color to the color in the array indexed by cycleIndex.
The default frame rate will probably be locked to the refresh rate of your monitor at around 60-100Hz but if you disable vsync you can probably set the target frame rate higher. Note however, that the updates will only run as fast as your graphics hardware can handle, and with vsync off you will experience that ugly "tearing" effect.
Alternative approach via Skybox Tinting
If for some reason you want to change a preset skybox's tint rather than changing the clear color of the active camera, you can use this version of the Update method:
Note that this assumes you've applied the skybox to all cameras via RenderSettings as opposed to a per camera Skybox. With this version the active camera's clear flags need to be set to skybox, and you're just changing the tint of the skybox, so some of the skybox texture may still be visible (ie. it won't be a pure red, blue and green background)