Coder Social home page Coder Social logo

Comments (6)

ctrlaltdavid avatar ctrlaltdavid commented on August 23, 2024

If auto, which level URL should be passed onto the engine - always URL 0?
Load priority values:

  • 0 could mean "don't care".
  • The range 0 - 255 will nicely fit into a single byte in the protocol.

from vircadia-native-core.

digisomni avatar digisomni commented on August 23, 2024

I think loadPriority should be from lowest to highest, so 0 means load first, 255 means load last. And yup, I picked that range because it fits well for optimized networking. 😊

Auto means use automatic LOD systems, with Nanite that means it automatically scales assets, with Babylon.js it will do the same. There may be systems that try to auto select based on URLs, that would be documented so the user knows to fill in URLs as well as set it to "auto" if they want that feature to work in that specific client/engine.

from vircadia-native-core.

Aitolda avatar Aitolda commented on August 23, 2024

Kalila asked me to move this from another issue I made.

This is how LOD would work ideally for creators who use tools like blender. I've created 4 LODS for an object (two objects technically), with LOD0 having the full amount of polygons (full detail), and LOD3 having the least. They way LOD typically works is at a certain threshold (specific distance) from the camera (not to be confused with the avatar) the system would automatically choose to render a lower LOD, and even further beyond a lower LOD until it reaches LOD3.

LOD

Notes on implementation can be found here

Why do we want this? I already have a simple script that will generate these LODs with 1 click on any object in blender. If our system can be made to simply recognize the "_LOD1, _LOD2, _LOD3, _LOD3 of any objects in the glb it will make it VERY easy to create large detailed environments.

from vircadia-native-core.

digisomni avatar digisomni commented on August 23, 2024

I've updated the spec accordingly, so it should be able to handle both cases now.

from vircadia-native-core.

Aitolda avatar Aitolda commented on August 23, 2024

LOD example prototyped in Blender
Video is 2 minutes long. Be sure to unmute

LOD_Prototype.mp4

from vircadia-native-core.

stale avatar stale commented on August 23, 2024

Hello! Is this still an issue?

from vircadia-native-core.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.