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

Object3D.getWorldScale()

Object3D.getWorldScale() 是一个三维对象的方法,它返回该对象的全局缩放比例。

语法

object.getWorldScale(optionalTarget);

参数

  • optionalTarget — Object3D:可选参数。用于存储计算出来的全局缩放的目标对象。

返回值

Vector3:一个包含全局缩放比例的三维向量。

描述

全局缩放可以是一个对象的自身缩放和其所有父对象的缩放的组合。 Object3D.getWorldScale() 方法返回对象的全局缩放向量。

请注意,这个向量的每个分量都代表了对象沿相应轴的全局缩放比例。

示例

const mesh = new THREE.Mesh(geometry, material);
mesh.scale.set(2, 2, 2);
mesh.position.set(5, 10, 20);

const scale = new THREE.Vector3();
mesh.getWorldScale(scale);
console.log(scale);

在这个示例中,我们创建了一个网格 mesh。我们将它的初始缩放设置为 (2, 2, 2) 并将它的位置设置为 (5, 10, 20)。然后,我们使用 getWorldScale() 方法来获取 mesh 的全局缩放,存储在 scale 变量中。最后,我们将 scale 打印到控制台上。

注意事项

如果 optionalTarget 参数未被指定,则会返回一个新的 Vector3 对象,使用这个新对象来存储计算出来的全局缩放向量。

如果您想在运行时监视对象的全局缩放比例的变化,可以使用 Object3D.onAfterRender 方法,并在每个渲染循环结束时调用 getWorldScale() 方法。