milestone 7m + 7l + 7n: wip
This commit is contained in:
parent
a64694edc0
commit
5306f05c64
5 changed files with 42 additions and 89 deletions
|
|
@ -210,7 +210,7 @@ Instead of forcing authors to combine 3D/2D objects programmatically (publishing
|
|||
<td><code>#......</code></td>
|
||||
<td>vector3</td>
|
||||
<td><code>#room1</code> <code>#room2</code> <code>#cam2</code></td>
|
||||
<td>positions/parents camera(rig) (or XR floor) to xyz-coord/object/camera</td>
|
||||
<td>positions/parents camera(rig) (or XR floor) to xyz-coord/object/camera and upvector</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
|
|
@ -733,7 +733,7 @@ The sidecar will define (or <strong>override</strong> already existing) extras,
|
|||
<tr>
|
||||
<td><b>#</b>=room1</td>
|
||||
<td>string</td>
|
||||
<td>position camera to position of objectname <code>room1</code> (+userheight in VR)</td>
|
||||
<td>position camera to position and upvector of objectname <code>room1</code> (+userheight in VR)</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
|
@ -745,6 +745,7 @@ The sidecar will define (or <strong>override</strong> already existing) extras,
|
|||
<ol>
|
||||
<li>the Y-coordinate of `room1 identifies the floorposition. This means that desktop-projections usually need to add 1.5m (average person height) on top (which is done automatically by VR/AR headsets), except in case of camera-switching.</li>
|
||||
<li>set the position of the camera accordingly to the vector3 values of <code>room1</code></li>
|
||||
<li>set the upvector of the camera accordingly to the vector3 values of <code>room1</code> (local gravity as pioneered by Patrick Lichty)</li>
|
||||
<li>if the referenced <code>#room1</code> object is animated, parent the current camera to that object (so it animates too)</li>
|
||||
<li>in case a <code>href</code> does not mention any 3D object, the current position will be assumed</li>
|
||||
</ol>
|
||||
|
|
|
|||
|
|
@ -202,7 +202,7 @@ XR Fragments utilizes URLs:
|
|||
|
||||
| fragment | type | example | info |
|
||||
|-------------------|------------|--------------------|----------------------------------------------------------------------|
|
||||
| `#......` | vector3 | `#room1` `#room2` `#cam2` | positions/parents camera(rig) (or XR floor) to xyz-coord/object/camera |
|
||||
| `#......` | vector3 | `#room1` `#room2` `#cam2` | positions/parents camera(rig) (or XR floor) to xyz-coord/object/camera and upvector |
|
||||
| [Media Fragments](https://www.w3.org/TR/media-frags/) | [media fragment](#media%20fragments%20and%20datatypes) | `#t=0,2&loop` | play (and loop) 3D animation from 0 seconds till 2 seconds|
|
||||
|
||||
|
||||
|
|
@ -442,7 +442,7 @@ Example URI's:
|
|||
|
||||
| fragment | type | functionality |
|
||||
|----------|--------|------------------------------|
|
||||
| <b>#</b>=room1 | string | position camera to position of objectname `room1` (+userheight in VR) |
|
||||
| <b>#</b>=room1 | string | position camera to position and upvector of objectname `room1` (+userheight in VR) |
|
||||
|
||||
[» example implementation](https://github.com/coderofsalvation/xrfragment/blob/main/src/3rd/js/three/xrf/pos.js)<br>
|
||||
[» discussion](https://github.com/coderofsalvation/xrfragment/issues/5)<br>
|
||||
|
|
@ -451,6 +451,7 @@ Here's the basic **level1** flow (with optional level2 features):
|
|||
|
||||
1. the Y-coordinate of `room1 identifies the floorposition. This means that desktop-projections usually need to add 1.5m (average person height) on top (which is done automatically by VR/AR headsets), except in case of camera-switching.
|
||||
2. set the position of the camera accordingly to the vector3 values of `room1`
|
||||
3. set the upvector of the camera accordingly to the vector3 values of `room1` (local gravity as pioneered by Patrick Lichty)
|
||||
3. if the referenced `#room1` object is animated, parent the current camera to that object (so it animates too)
|
||||
4. in case a `href` does not mention any 3D object, the current position will be assumed
|
||||
|
||||
|
|
|
|||
|
|
@ -293,7 +293,8 @@ Internet-Draft XR Fragments September 2025
|
|||
| | | |(or XR floor)|
|
||||
| | | |to xyz- |
|
||||
| | | |coord/object/|
|
||||
| | | |camera |
|
||||
| | | |camera and |
|
||||
| | | |upvector |
|
||||
+-----------------------+--------------------------------------+-----------+-------------+
|
||||
|Media Fragments |media fragment |#t=0,2&loop|play (and |
|
||||
|(https://www.w3.org/TR/|(#media%20fragments%20and%20datatypes)| |loop) 3D |
|
||||
|
|
@ -332,7 +333,6 @@ Internet-Draft XR Fragments September 2025
|
|||
|
||||
|
||||
|
||||
|
||||
van Kammen Expires 5 March 2026 [Page 6]
|
||||
|
||||
Internet-Draft XR Fragments September 2025
|
||||
|
|
@ -870,14 +870,15 @@ Internet-Draft XR Fragments September 2025
|
|||
|
||||
11. Navigating 3D
|
||||
|
||||
+================+========+======================================+
|
||||
| fragment | type | functionality |
|
||||
+================+========+======================================+
|
||||
| <b>#</b>=room1 | string | position camera to position of |
|
||||
| | | objectname room1 (+userheight in VR) |
|
||||
+----------------+--------+--------------------------------------+
|
||||
+================+========+=============================+
|
||||
| fragment | type | functionality |
|
||||
+================+========+=============================+
|
||||
| <b>#</b>=room1 | string | position camera to position |
|
||||
| | | and upvector of objectname |
|
||||
| | | room1 (+userheight in VR) |
|
||||
+----------------+--------+-----------------------------+
|
||||
|
||||
Table 7
|
||||
Table 7
|
||||
|
||||
» example implementation
|
||||
(https://github.com/coderofsalvation/xrfragment/blob/main/src/3rd/js/
|
||||
|
|
@ -892,7 +893,6 @@ Internet-Draft XR Fragments September 2025
|
|||
|
||||
|
||||
|
||||
|
||||
van Kammen Expires 5 March 2026 [Page 16]
|
||||
|
||||
Internet-Draft XR Fragments September 2025
|
||||
|
|
@ -904,9 +904,11 @@ Internet-Draft XR Fragments September 2025
|
|||
headsets), except in case of camera-switching.
|
||||
2. set the position of the camera accordingly to the vector3 values
|
||||
of room1
|
||||
3. if the referenced #room1 object is animated, parent the current
|
||||
3. set the upvector of the camera accordingly to the vector3 values
|
||||
of room1 (local gravity as pioneered by Patrick Lichty)
|
||||
4. if the referenced #room1 object is animated, parent the current
|
||||
camera to that object (so it animates too)
|
||||
4. in case a href does not mention any 3D object, the current
|
||||
5. in case a href does not mention any 3D object, the current
|
||||
position will be assumed
|
||||
|
||||
Here's an ascii representation of a 3D scene-graph which contains 3D
|
||||
|
|
@ -944,8 +946,6 @@ Internet-Draft XR Fragments September 2025
|
|||
9. *level2*: after scene load: in case the scene (rootnode) contains
|
||||
an # default view with a fragment value: execute positional
|
||||
fragment via the hashbus + update top-level URL
|
||||
10. *level2*: in case of no default # view on the scene (rootnode),
|
||||
default player(rig) position 0,0,0 is assumed.
|
||||
|
||||
|
||||
|
||||
|
|
@ -954,6 +954,9 @@ van Kammen Expires 5 March 2026 [Page 17]
|
|||
Internet-Draft XR Fragments September 2025
|
||||
|
||||
|
||||
10. *level2*: in case of no default # view on the scene (rootnode),
|
||||
default player(rig) position 0,0,0 is assumed.
|
||||
|
||||
12. Top-level URL processing
|
||||
|
||||
| Example URL: ://foo/world.gltf#room1&t=10
|
||||
|
|
@ -1002,9 +1005,6 @@ Internet-Draft XR Fragments September 2025
|
|||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
van Kammen Expires 5 March 2026 [Page 18]
|
||||
|
||||
Internet-Draft XR Fragments September 2025
|
||||
|
|
|
|||
|
|
@ -137,7 +137,7 @@ But approaches things from a higherlevel feedbackloop/hypermedia browser-perspec
|
|||
<td><tt>#......</tt></td>
|
||||
<td>vector3</td>
|
||||
<td><tt>#room1</tt> <tt>#room2</tt> <tt>#cam2</tt></td>
|
||||
<td>positions/parents camera(rig) (or XR floor) to xyz-coord/object/camera</td>
|
||||
<td>positions/parents camera(rig) (or XR floor) to xyz-coord/object/camera and upvector</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
|
|
@ -612,7 +612,7 @@ The sidecar will define (or <strong>override</strong> already existing) extras,
|
|||
<tr>
|
||||
<td><b>#</b>=room1</td>
|
||||
<td>string</td>
|
||||
<td>position camera to position of objectname <tt>room1</tt> (+userheight in VR)</td>
|
||||
<td>position camera to position and upvector of objectname <tt>room1</tt> (+userheight in VR)</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table><t><eref target="https://github.com/coderofsalvation/xrfragment/blob/main/src/3rd/js/three/xrf/pos.js">» example implementation</eref><br />
|
||||
|
|
@ -624,6 +624,7 @@ The sidecar will define (or <strong>override</strong> already existing) extras,
|
|||
<ol spacing="compact">
|
||||
<li>the Y-coordinate of `room1 identifies the floorposition. This means that desktop-projections usually need to add 1.5m (average person height) on top (which is done automatically by VR/AR headsets), except in case of camera-switching.</li>
|
||||
<li>set the position of the camera accordingly to the vector3 values of <tt>room1</tt></li>
|
||||
<li>set the upvector of the camera accordingly to the vector3 values of <tt>room1</tt> (local gravity as pioneered by Patrick Lichty)</li>
|
||||
<li>if the referenced <tt>#room1</tt> object is animated, parent the current camera to that object (so it animates too)</li>
|
||||
<li>in case a <tt>href</tt> does not mention any 3D object, the current position will be assumed</li>
|
||||
</ol>
|
||||
|
|
|
|||
82
index.html
82
index.html
File diff suppressed because one or more lines are too long
Loading…
Add table
Reference in a new issue