Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fundamentals to decide on for 1/31 #2276

Open
azaroth42 opened this issue Jan 30, 2024 · 4 comments
Open

Fundamentals to decide on for 1/31 #2276

azaroth42 opened this issue Jan 30, 2024 · 4 comments
Labels
3d presentation Ready-for-Eds Editorial changes ready for Editorial review

Comments

@azaroth42
Copy link
Member

Target: a static view of multiple models in a single scene

  • Scenes

    • Properties (including defaults)
    • Transform model
  • Camera [sensors] -- SHOULD define, ????? clients support?

    • Types / Properties (echo-locator sensor? infrared? stereoscopic?)
    • Transform model
    • default camera details -- which way is default "forwards"? positive z?
  • Lighting [emitters]

    • Types / Properties
    • Transform model
    • default lighting details
  • Models

    • Multi-file models (is this an issue?)
  • Precedence of cameras and lights from multiple models/scenes

    • ignore by models/manifest? behavior / annotation feature to specify? x3d default? gltf has no default?
    • scene in scene complications
    • options for ignore imported
  • DirectionTransform -- details

  • Produce a huge manifest that demonstrates all the possibilities

@azaroth42
Copy link
Member Author

Properties of Scenes:

  • General: Turning on and off features of different entities; possibly via behaviors
  • Camera constraints sensible -- don't zoom into the middle of a model; don't look at the back/bottom of an incomplete model
  • What should be possible/impossible to describe/define?
  • navigationMode as a (synthetic?) property
  • collision detection? model to look at vs space to move through
  • Difference between publisher saying "don't show this scene other than from this point" vs "this camera can only do this"
  • "inheritance" on/off
  • Scene with duration can't go into non-duration scene
  • +Z is front

Transform model:

  • Transform model okay
  • No need to move pivot point
  • Can't have multiple pivots without multiple scenes/models

Cameras

  • Types: Perspective, Orthographic/Orthogonal
  • Camera is optional ; the first camera found in order in the manifest, then that is the default camera
  • Multiple cameras are choices
  • Cannot scale a camera
  • Initial state: at the origin, looking at -INF in Z
  • (Question: orbit of camera / interaction)
  • Properties: field of view - angle in degrees, bottom to top
  • Properties: near and far, each floating point value in units of scene's dimensional space, optional

General Notes:
Orthographic camera isn't "in" the scene, like directional light.

@azaroth42
Copy link
Member Author

azaroth42 commented Jan 31, 2024

  • +Y is up for scenes
  • follow and orbit are similar but distinct
  • Scale on cameras does make sense, as you're scaling the local coordinate space (an otherwise empty scene apart from the camera) to then map into the target scene's coordinate space
  • lookAt on camera object -- value is a reference to a point, either by a point selector or an annotation that has a target in the scene (not a model)
  • Question about multiple target painting annotations -- disallow or not?
  • Order of operations -- lookAt is the last thing, so cannot rotate/translate after looking at something
  • Origin or Centroid -- behavior on camera to swap between

@azaroth42
Copy link
Member Author

Lights

  • Properties: color, RGB space
  • Properties: intensity, array of construct {"value": float, "unit": "relative"} (or "lumens" or "whatever"), multiple equivalents possible
  • Directional Light default is straight down. Then rotate from there with a RotateTransform. Don't use explicit vector, yes to lookAt with a pointSelector to calculate the vector from.
  • Position is ignored for Ambient or Directional, so annotate the scene.
  • Don't specify decay (at least for now)
  • Spotlights - no decay, no penumbra, angle property on the light with degrees. maximum of 180 degrees.
  • Lights are optional, viewer should make sure there's some way to see the scene.
  • behavior around objects casting shadows -- light has casting flag, annotation has a 'receives shadows' flag for whether it should show shadows from objects.
  • Note about hidden
  • default color is white and intensity is viewer dependent (reasonable)

@azaroth42
Copy link
Member Author

Turning on/off:

  • Flag on annotation of whether to include the cameras or lights that are in the scene or model in the body, e.g. no-cameras, no-lights
  • Note that you can't selectively import lights or cameras from within a model/scene

@mikeapp mikeapp added the Ready-for-Eds Editorial changes ready for Editorial review label Jan 31, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
3d presentation Ready-for-Eds Editorial changes ready for Editorial review
Projects
None yet
Development

No branches or pull requests

2 participants