This component defines nodes to detect some changes in the environment.
ProximitySensor
, the only currently implemented node,
alows to detect when user is inside a defined 3D space.
See also X3D specification of the Environmental sensor component.
Contents:
For demos and tests of these features,
see the sensors_environmental
subdirectory inside our VRML/X3D demo models.
ProximitySensor
(Pascal API: TProximitySensorNode
)
TODO: centerOfRotation_changed
are not generated. Rest works Ok, according to spec. Timestamps
for isActive, enter/exitTime are not interpolated (they are simply
timestamps when this was detected), this shouldn't be a problem in
typical uses.
VisibilitySensor
(Pascal API: TVisibilitySensorNode
)
Works fully.
For now, visibility is determined only by whether
the box fits within a view frustum. We don't use
occlusion query yet for this, which means that visibility is not
as conservative as it could be. For example, box hidden behind a wall
within frustum will still be visible (according to this sensor).
We have occlusion query (even two approaches for it) implemented in our engine,
so integration of VisibilitySensor
with it will
definitely happen one day (please report if you badly need this :).
TODO: TransformSensor missing.