BufferGeometry
Object3D
Raycaster
Camera
CubeCamera
PerspectiveCamera
OrthographicCamera
StereoCamera
Clock
Curve
CurvePath
Path
Shape
ShapePath
ArrowHelper
AxesHelper
BoxHelper
Box3Helper
CameraHelper
DirectionalLightHelper
GridHelper
PolarGridHelper
HemisphereLightHelper
PlaneHelper
PointLightHelper
SkeletonHelper
SpotLightHelper
Light
PointLight
RectAreaLight
SpotLight
DirectionalLight
HemisphereLight
LightShadow
PointLightShadow
AnimationLoader
AudioLoader
BufferGeometryLoader
CompressedTextureLoader
CubeTextureLoader
DataTextureLoader
FileLoader
ImageBitmapLoader
ImageLoader
Loader
LoaderUtils
MaterialLoader
ObjectLoader
TextureLoader
LoadingManager
Material
Box2
Box3
Color
Cylindrical
Euler
Frustum
Interpolant
Line3
MathUtils
Matrix3
Matrix4
Plane
Quaternion
AnimationAction
AnimationClip
AnimationMixer
AnimationObjectGroup
AnimationUtils
keyframeTrack
PropertyBinding
PropertyMixer
BooleanKeyframeTrack
QuaternionKeyframeTrack
StringKeyframeTrack
Audio
AudioAnalyser
AudioContext
AudioListener
PositionalAudio

Camera.getWorldDirection()

Camera.getWorldDirection() 方法返回相机所朝向的世界空间方向向量。这个向量是一个三维的向量。用法如下:

camera.getWorldDirection( optionalTarget );

参数

  • optionalTarget (可选): 一个可选的 Vector3 向量,用于存储计算结果。如果未传递,将会自动创建一个新的向量。

返回值

返回一个 Vector3 向量,表示相机所朝向的世界空间方向。返回的向量会被改写,因此传递一个目标向量作为参数会很有用。

示例

以下示例展示了如何使用 getWorldDirection 方法来获取相机朝向的方向向量。

var camera = new THREE.PerspectiveCamera( 90, window.innerWidth / window.innerHeight, 0.1, 1000 );
var direction = new THREE.Vector3();

// 更新相机方向
camera.lookAt( new THREE.Vector3( 0, 0, 0 ) );

// 获取相机朝向的方向向量
camera.getWorldDirection( direction );

console.log( "Camera direction:", direction );

注意事项

  • 获取相机朝向的方向向量前,需要先使用 lookAt 方法更新相机的朝向。
  • getWorldDirection 方法返回的是一个世界空间中的向量,因此考虑到场景中可能存在旋转变换,相机所朝向的方向可能不是向量坐标系本身的 z 轴方向。因此,不要直接将该向量与向量坐标系的某个轴相比较,而应该使用向量的方法(如 Vector3.dot)来对比。