User Guide
396 Chapter 17: Controlling the 3D World
Camera methods
These camera methods let you determine which models have been clicked when a user clicks the
mouse within a 3D sprite. You can also translate coordinates in 3D space to coordinates in 2D
sprite space and vice versa.
Method Description Returns
worldSpaceTo
SpriteSpace
(vector)
Returns the 2D sprite-space coordinates of a point from
a 3D world vector.
A point.
spriteSpaceTo
WorldSpace
(point)
The opposite of the worldSpaceToSpriteSpace
(vector)
, this method returns a world-space vector on
the camera’s projection plane from a sprite-space point.
Multiple world-space positions can map to the same
sprite-space point. A round-trip
y=worldSpaceToSpriteSpace(x)
z=worldSpaceToSpriteSpace(y)
won’t necessarily result in x=z.
A vector.
modelUnder
Loc(point)
Returns the first model intersected by a ray from a
location
point within the rect of the sprite using this
camera. The location
point is relative to the upper left
corner of the sprite, in pixels. The ray is cast forward in
the direction the camera is looking.
This method is useful for picking in conjunction with an
onMouseDown handler. For accuracy, be sure to subtract
the upper left corner of the sprite’s
loc from the
mouseLoc.
The first model
intersected by the ray.
A value of
void means
there is no model
under the ray.
modelsUnder
Loc(point,
optionalMax
NumberOf
Models)
Returns a list of all models intersected by a ray from a
location
point within the rect of the sprite using this
camera. The location
point is relative to the upper left
corner of the sprite, in pixels. The ray is cast forward in
the direction the camera is looking.
This method is useful for picking in conjunction with an
onMouseDown handler. For accuracy, be sure to subtract
the upper left corner of the sprite’s
loc from the
mouseLoc.
The first model
intersected by the ray
or a list of up to the
specified maximum.
If no maximum is
specified, the method
returns all models
under the ray.
A value of void
means there is no
model under the ray.
modelsUnder
Ray(location
Vector,
direction
Vector,
optionalMax
NumberOf
Models)
Returns a list of models under the ray starting at the
vector
locationVector and pointing down the vector
directionVector, with both vectors specified in world-
relative coordinates.
The first model
intersected by the ray
plus a list of up to the
specified maximum
number of models.
If the maximum
number of models
isn’t specified, all
models the ray
intersects are
returned.