-
Notifications
You must be signed in to change notification settings - Fork 56
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
Introduce Camera Class #2257
Comments
I think they're painted into the scene, as they're "of" the scene, rather than "about" the scene. Lights should be the same. |
|
Updated example with rotation: The third annotation has no {
"items": [
{
"id": "https://example.org/iiif/3d/anno1",
"type": "Annotation",
"motivation": ["painting"],
"body": {
"type": "Camera",
"lookAt": {
"id": "https://example.org/iiif/selectors/1",
"type": "PointSelector",
"x": 0.0,
"y": 0.0,
"z": 0.0
},
"fieldOfView": 50.0
},
"target": [
{
"type": "SpecificResource",
"source": [
{
"id": "https://example.org/iiif/scene1/page/p1/1",
"type": "Scene"
}
],
"selector": [
{
"type": "PointSelector",
"x": 100.0,
"y": 100.0,
"z": 0.0
}
]
}
]
},
{
"id": "https://example.org/iiif/3d/anno1",
"type": "Annotation",
"motivation": ["painting"],
"body": {
"type": "Camera",
"lookAt": {
"id": "https://example.org/iiif/3d-models/spaceman-1.obj",
"type": "Model"
},
"fieldOfView": 35.0
},
"target": [{ "// as above": "" }]
},
{
"id": "https://example.org/iiif/3d/anno3",
"type": "Annotation",
"motivation": ["painting"],
"body": {
"type": "SpecificResource",
"source": [
{
"id": "camera-sr-1",
"type": "Camera",
"fieldOfView": 65.0
}
],
"transforms": [
{
"type": "RotationTransform",
"x": 0.0,
"y": 90.0,
"z": 0.0
}
]
},
"target": [
{
"type": "SpecificResource",
"source": [
{
"id": "https://example.org/iiif/scene1/page/p1/1",
"type": "Scene"
}
],
"selector": [
{
"type": "PointSelector",
"x": 100.0,
"y": 100.0,
"z": 0.0
}
]
}
]
}
]
}
|
At the Basel working meeting on October 26, 2023, general consensus was present for the following:
|
Question arising from TSG meeting on November 15 2023: What happens (default expectation) when multiple camera annotations are present in a single manifest? Is it choice, or is it multiple viewports? This has implications on importing cameras from sub-manifests or scene files, if we were to possibly want to support somehow pulling those in? |
IMO:
|
Discussion: Camera(s) are optional. Where will the viewer put the camera if you don't provide one? What is the initial state of a camera placed in the scene? If we are rotating it what are we rotating it from? Can we have a "show-all" - viewer works out where to put the camera to see everything in the scene. |
See IIIF/3d#15 (comment) from Napoli
The publisher will often (usually?) wish to indicate what the user / view is looking at when the
Scene
initializes. The publisher may also wish to provide additional specific views.Cameras are added to the scene as annotations, just as model content resources are. They target a point.
items
property of the Scene?annotations
property of the Scene?cameras
property of the Scene, a separate list of annotations (with motivation…)The camera’s view is determined by two properties of the Camera class,
lookAt
andfieldOfView
(split these into individual issues? Probably not, need to be considered together)
lookAt
(from Rob’s draft)
fieldOfView
See https://threejs.org/docs/#api/en/cameras/PerspectiveCamera.fov
Camera Annotation Example
This shows two cameras in the Scene’s items property, as painting annotations:
The text was updated successfully, but these errors were encountered: