Whitelist LOD Group component
a
alareis
There is no reason not to. And no, impostors are not a valid substitute for actual authored LODs, though they could be a decent pre-cull step; neither is distance culling. Relying on occlusion is also not an option, as layouts vary greatly, often not bringing camera close enough to targets.
We're currently stuck between two extremes: either you run on eleven-and-a-half vertices, or you rock LOD0 and effectively output microtriangles for anyone two or more meters away; more often than not it's the latter, and given commonly used fragment shader complexities (and their "quality") the performance impact grows exponentially. I guess this needs to be said: it's not 1996, and we can have more than 512 verts per scene. Especially in VR, where detail is paramount.
Previously stated excuses for not whitelisting the component were laughable at best. Just because few people will make use of it doesn't mean no-one should be able to use it. Safety system accommodates for LOD meshes under the mesh visibility umbrella.
Existing solutions rely on safety system allowing animator evals, as well as relying on contact receivers. It is janky, unreliable, and takes too much time to set up.
There is no need for implementing some magical automatic LOD generator either. Most automatic generators tend to mangle topology and related attributes beyond reasonable level even for flatscreen. If an author doesn't want to properly author LOD meshes, they can choose to use existing automatic generators themselves.
Log In
橘花【きつか】
The one issue with LOD components on their own is that people that care about optimizing their avatars to such a degree that they want LOD components, don't need it. The people that need LOD components won't add them.
For this to work it should be combined with some sort of incentive.
One obvious incentive that makes thematic sense is that if your LODs are properly set up, only LOD at size 0.5 (totally random number) counts towards your triangle limit, essentially rewarding you with more triangles. This incentive would work well on android where triangles are so limited.
However, given the amount of very poor avatars out in the wild, even for PC, perhaps a more drastic measure would be required; if your avatar is very poor due to drawcalls or triangles you HAVE to add a LOD component where LOD at size 0.5 passes the requirements or your avatar gets rejected.
a
alareis
橘花【きつか】: the don't need it part is incorrect. Of course, there are cases where LODs won't have much use, but those are the minority, or are geared towards mobile. Even then, user-made avatars that "wouldn't need" LODs can still take one step further.
A vast majority of avatars would greatly benefit from LOD support. Modern topology guidelines have changed since the introduction of GCN architecture, and with new shader tricks one can use use very dense meshes, especially in hero props--which characters themselves fall under. Denser meshes also allow for much better interpolations for morph target normals, as well as allowing for vertex-based distortions without the needs for trickery like mesh swaps or tessellation. Simply put, mobile quality is rare, at least on PC, and I'd like to not be constrained by mobile limits at all when making something high quality.
Incentives like that may be harmful, though. At one point VRC used to limit total triangle count allowed for upload to 20k. Arguably, a bad idea, and it absolutely didn't incentivise anyone to keep their assets under 20k tris.
Not counting any LOD tris is a bad idea, as it opens the road for nasty surprises. Counting totals everywhere is ideal, just that it has to be handled differently, not just "total tri count > 70k = bæd, guh". Counting current LOD contribution would probably be a decent middle ground, and would actually make sense for performance impact listing for once. This is where LOD1+ having current approach to performance limits would work, as LOD0 would only be seen up close.
Mobile limitations are a... nasty topic. Mobile GPUs are rather limited, bringing LODs to them may do more harm than good, as all LOD levels have to be loaded in VRAM to operate smoothly. Like, quest 1 used to crash when too many snowflake thingies were spawned in their view. Raising tri counts risks turning it into a bomb lol
Either way, mobile limits should stay in mobile land. I'm only concerned with PC side of things, frankly.
As for "have to": see the mention of 20000 tris. We're in a weird state between going there, what with all that jazz involving impostors. But unlike impostors, UGC isn't guaranteed to be consistent, and requires manual, deliberate labour. Besides, existing content can't be retroactively upgraded that way. It's best left as an option, rather than a requirement. Most player's aren't savvy when it comes to CG, and will most likely bodge it.
Fax
Merged in a post:
Allow users to create their own custom LOD models for avatars
Ophaque
I would love to have the ability to optimize my avatars even further by using hand-made Level of Detail models at a distance. This sounds like it could be easily exploited, but with enough restrictions, avatar creators who want to go the extra mile could optimize their avatars to a ludicrous degree.
Perhaps the polygon count on LOD models could be rigidly locked to a percentage value of the avatar's original polycount. For example, LOD1 could be 75%, LOD2 could be 50%, and so on. If I have an avatar that's 70k triangles, then LOD1 would have to be 52,500 triangles or less, and LOD2 would have to be 35,000 triangles or less.
Perhaps LOD models past LOD1 could be forced to only have 1 skinned mesh.
LOD models could require that you use the same textures and materials as the main model, to prevent the exploitation of swapping to unoptimized materials. Perhaps the number of custom materials could be reduced to 2, maximum.
Maybe the Quest fallback version of a model could just be the lowest custom LOD model instead, if the LOD model in question is optimized enough.
If there was a separate Performance Ranking System for LOD models that restricted the ability to upload them if they went over the limit, I don't see this feature being exploited. At worst, most users would ignore it, and automatically generated LODs could be used instead. At best, an avatar could be optimized massively, which could lead to improved performance across the board, especially on Quest or Android.
The only downside would be an increased download size, but if the LOD models are forced to use the same textures and materials as the main model, the impact would be negligible.