Original Spec| Sample

定義

ProximitySensor { 
  exposedField SFVec3f    center      0 0 0    # (-,)
  exposedField SFVec3f    size        0 0 0    # [0,)
  exposedField SFBool     enabled     TRUE
  eventOut     SFBool     isActive
  eventOut     SFVec3f    position_changed
  eventOut     SFRotation orientation_changed
  eventOut     SFTime     enterTime
  eventOut     SFTime     exitTime
}
視点の移動を検知します。
center
検知範囲の中心
size
検知範囲の大きさ
enabled
検知を行うかどうかのフラグ
isActive
検知開始時(視点が検知範囲に入ったとき)に真、検知終了時 (視点が検知範囲から出たとき)に偽を送出
position_changed
視点の位置
orientation_changed
視線の方向
enterTime
検知開始時に時間を送出
exitTime
検知終了時に時間を送出

サンプル

円錐に近づいて行くと始めは大きさが変わるのですが、ある時大きさが 変わらなくなります. この時は上下に視点を動かしても物体も同じよう に動くので見え方は変わりません.後ろに下がってゆくとまた大きさが 変わる様になり、この時は視点を上下に動かすと物体は動かず見え方が 変わります.
#VRML V2.0 utf8
DEF OBJ Transform {
 children Transform {
   translation 0 0 -5
   children Shape { geometry Cone {}}
 }
}
DEF SENSOR ProximitySensor {
  size 10 10 10 
}
ROUTE SENSOR.position_changed TO OBJ.set_translation