Hubs-Foundation / hubs

Duck-themed multi-user virtual spaces in WebVR. Built with A-Frame.
https://hubsfoundation.org
Mozilla Public License 2.0
2.13k stars 1.41k forks source link

Simple LOD for avatars #2258

Open broehl opened 4 years ago

broehl commented 4 years ago

In order to support more avatars in a room even on devices with limited performance, replace a distant user's avatar with a very low-poly generic model. You would still see their name so you could distinguish them, and the body would tell you where they are in space. When they move close enough, use their chosen avatar instead of the generic one.

Alternatively, take eight "snapshots" of the user's avatar at 45 degree increments. Beyond a certain distance, select whichever one matches the avatar's orientation relative to the user and apply that image to a quad.

LODs could also be chosen based on frame rate, so on high-end systems you get the full avatar all the time and on low-end systems you always get the simple version..

┆Issue is synchronized with this Jira Task

lalalune commented 4 years ago

+1 for this

Imposters (what OP is calling snapshotting) would be an efficient solution, but even before that, being able to specify basic LOD levels inside models similar to Unity, with a naming convention of _LOD0, _LOD1, etc and then set distances for those groups. LOD scaling can be managed with a global distance multiplier -- high for PCs, low for mobile.

takahirox commented 3 years ago

Related: #3565