You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In Rerun, pinhole cameras are also treated as spatial relationships that define projections from 3D spaces to 2D subspaces.
@@ -173,6 +175,9 @@ With the right setup, pinholes allow a bunch of powerful visualizations:
173
175
* 3D in 2D: if the pinhole is at the origin of the view, 3D objects can be projected through pinhole camera into the view.
174
176
* Both the [nuscenes](https://rerun.io/examples/robotics/nuscenes_dataset) and [arkit](https://rerun.io/examples/spatial-computing/arkit_scenes) examples make use of this
175
177
178
+
If a transform frame relationship has both a pinhole projection & regular transforms (in this context often regarded as the camera extrinsics)
179
+
the regular transform is applied first.
180
+
176
181
### Example: 3D scene with 2D projections
177
182
178
183
Here's how to set up a 3D scene with pinhole cameras that create 2D projections:
@@ -206,14 +211,47 @@ WARNING: unlike in 3D views where `rr.ViewCoordinates` only impacts how the rend
206
211
207
212
For 2D spaces and other entities, view coordinates currently have currently no effect ([#1387](https://github.com/rerun-io/rerun/issues/1387)).
208
213
209
-
## Poses & instancing
214
+
## Pose transforms
215
+
216
+
[`InstancePoses3D`](https://rerun.io/docs/reference/types/archetypes/instance_poses3d) defines geometric poses relative to an entity's transform frame.
217
+
Unlike with [`Transform3D`](https://rerun.io/docs/reference/types/archetypes/transform3d), poses do not propagate through the transform hierarchy
218
+
and can store an arbitrary amount of transforms on the same entity.
219
+
220
+
An entity that has both [`Transform3D`](https://rerun.io/docs/reference/types/archetypes/transform3d)
221
+
without `child_frame`/`parent_frame` as well as `InstancePoses3D`,
222
+
the [`Transform3D`](https://rerun.io/docs/reference/types/archetypes/transform3d) is applied first
223
+
(affecting the entity and all its children), then [`InstancePoses3D`](https://rerun.io/docs/reference/types/archetypes/instance_poses3d)
224
+
is applied only to that specific entity.
225
+
(This is consistent with how entity hierarchy based transforms translate to transform frames.)
226
+
227
+
### Instancing
228
+
229
+
Rerun's [`InstancePoses3D`](https://rerun.io/docs/reference/types/archetypes/instance_poses3d) archetype is not only used
230
+
to model poses relative to an Entity's frame, but also for repeating (known as "instancing") visualizations on the same entity:
231
+
most visualizations will show once for each transform on [`InstancePoses3D`](https://rerun.io/docs/reference/types/archetypes/instance_poses3d)
232
+
in the respective place.
210
233
211
-
TODO: briefly explain poses, how they're relative to their entity's frame, how they can be used for instancing. Use a viewer embed of the instancing example.
0 commit comments