Add ability to change player clipping plane values during runtime.
tracked
AltCentauri
It would be amazing to be able to dynamically change player's max and min clipping plane distances, as currently if you would like to have a large clipping distance in a large exterior area of a map, you need to keep that distance in mind in other parts of the map, such as interiors. This can be mitigated using baked occlusion culling, but there are some situations where this isn't enough or feasible.
(Example : In a current project of mine, I have a weather system that changes fog distance during events such as blizzards, and it would be a massive performance boost to change the max clip distance to match the limited visibility)
Log In
__BT__
In my specific use case it has to be by layer.
Fax
Merged in a post:
Camera udon behaviour support ( in my case - Per layer view distance)
__BT__
Can we please get udon support for the camera? I need to set layer based view distances and am unable to. There are numerous other things that can be done with the camera, so i believe this will bring more freedom to the sdk.
Fax
Merged in a post:
Dynamic far clipping plane in Udon
Hitori Ou
If we in Udon had access to dynamically adjusting the "Reference Camera" in the World "VRC Scene descriptors" and have the rendering settings updated.
We could use that for some genuine performance improvements by coding a dynamic farplane clipping into Udon worlds that require a large population but does not require sight of everyone inside the default range.
For example stage performances.
Or adjusting depending on other requirements.
The image shows a case where you have a central point that you want everyone to see "stage" but people beyond this point are intentionally not rendered to improve performance (imagine this with 80 players in un-optimiced avatars).
This means that people with garbage PC's can get more framerate by simply moving closer to the stage but players on the opposite end of the stage are still not rendered, even if the normal case would be that people outside of the default clipping range gets rendered if you move closer due to the non-dynamic clipping.
To get some further numbers with this image as a example.
There is 7 people including your self.
The maximum potential people seen including your self by anyone is 6, the minimum is 3.
If you use dynamic farplane clipping these numbers become maximum 5 and minimum 2.
This amounts to 17-33% performance gain in this scenario.
But if we also take into account the total area seen compared to default, the amount of area seen is around 33-66% less depending on where your standing (closest vs furthest).
So this would in many cases yield a significant performance improvement depending on the world/player layout.
naqtn
for the dev, possibly mergeable post: https://feedback.vrchat.com/feature-requests/p/dynamic-far-clipping-plane-in-udon
naqtn
Momo the Monster
tracked
Apologies - I misunderstood the request and available implementations. Moving back...
Momo the Monster
Merged in a post:
Whitelist Camera.layerCullDistances
Faxmashine
I'd like to use a low far clipping plane value, but still be able to show certain geometry.
For example, of of my worlds has players separated by large distances, so a low far clipping plane value would help me. However, this would also cull certain geometry visible from anywhere in the world.