Bitbybit Docs
    Preparing search index...

    Class BabylonTransforms

    使用 BabylonJS 数学库构建用于移动、旋转和缩放几何体的变换矩阵。一个变换是按列主序排列的 16 个数值组成的 4x4 矩阵;大多数方法返回一个按顺序应用的短矩阵列表,因此绕一点的旋转就是移到原点、旋转、再移回。角度以度为单位。base 包上的 transforms 服务不依赖引擎即可构建相同的矩阵。

    Index

    Constructors

    rotation

    • 构建绕经过某中心点的轴的旋转,以按顺序应用的三个矩阵表示:将中心移到原点、旋转、移回。角度以度为单位。

      Parameters

      Returns TransformMatrixes

      按顺序应用的矩阵列表

      const turn = bitbybit.babylon.transforms.rotationCenterAxis({ angle: 90, axis: [0, 1, 0], center: [5, 0, 0] });
      
    • 构建绕经过某中心点且平行于 X 轴的直线的旋转,以按顺序应用的三个矩阵表示:将中心移到原点、旋转、移回。角度以度为单位。

      Parameters

      Returns TransformMatrixes

      按顺序应用的矩阵列表

      const turn = bitbybit.babylon.transforms.rotationCenterX({ angle: 90, center: [0, 0, 0] });
      
    • 构建绕经过某中心点且平行于 Y 轴的直线的旋转,以按顺序应用的三个矩阵表示:将中心移到原点、旋转、移回。角度以度为单位。

      Parameters

      Returns TransformMatrixes

      按顺序应用的矩阵列表

      const turn = bitbybit.babylon.transforms.rotationCenterY({ angle: 90, center: [0, 0, 0] });
      
    • 构建绕经过某中心点且平行于 Z 轴的直线的旋转,以按顺序应用的三个矩阵表示:将中心移到原点、旋转、移回。角度以度为单位。

      Parameters

      Returns TransformMatrixes

      按顺序应用的矩阵列表

      const turn = bitbybit.babylon.transforms.rotationCenterZ({ angle: 90, center: [0, 0, 0] });
      
    • 由绕某中心点的三个角度构建旋转:偏航绕 Y,俯仰绕 X,翻滚绕 Z,以度为单位。结果是按顺序应用的三个矩阵:将中心移到原点、旋转、移回。

      Parameters

      Returns TransformMatrixes

      按顺序应用的矩阵列表

      const turn = bitbybit.babylon.transforms.rotationCenterYawPitchRoll({ yaw: 90, pitch: 0, roll: 0, center: [0, 0, 0] });
      
    • 构建每个轴有自己系数的缩放,从一个保持不动的中心点度量,以按顺序应用的三个矩阵表示:将中心移到原点、缩放、移回。

      Parameters

      Returns TransformMatrixes

      按顺序应用的矩阵列表

      const stretch = bitbybit.babylon.transforms.scaleCenterXYZ({ center: [5, 5, 5], scaleXyz: [2, 1, 0.5] });
      

    scale

    • 构建每个轴有自己系数的缩放,从原点度量;[2, 3, 1] 使 X 加倍、Y 变为三倍、Z 保持不变。

      Parameters

      Returns TransformMatrixes

      只含一个缩放矩阵的列表

      const stretch = bitbybit.babylon.transforms.scaleXYZ({ scaleXyz: [2, 3, 1] });
      
    • 构建在每个轴上使用相同系数的缩放,从原点度量,因此 2 使一切变为两倍大并且距原点两倍远。

      Parameters

      Returns TransformMatrixes

      只含一个缩放矩阵的列表

      const double = bitbybit.babylon.transforms.uniformScale({ scale: 2 });
      
    • 构建在每个轴上使用相同系数的缩放,从一个保持不动的中心点度量,以按顺序应用的三个矩阵表示:将中心移到原点、缩放、移回。

      Parameters

      Returns TransformMatrixes

      按顺序应用的矩阵列表

      const half = bitbybit.babylon.transforms.uniformScaleFromCenter({ scale: 0.5, center: [5, 5, 5] });
      

    translation

    • 构建按向量的移动;[10, 5, 0] 沿 X 移动 10、沿 Y 移动 5、沿 Z 不移动。

      Parameters

      Returns TransformMatrixes

      只含一个平移矩阵的列表

      const move = bitbybit.babylon.transforms.translationXYZ({ translation: [10, 5, 0] });
      

    translations

    • 为每个向量构建一个移动,用于按各自的向量变换许多对象,顺序相同。

      Parameters

      Returns TransformMatrixes[]

      每个向量一个变换,顺序相同

      const moves = bitbybit.babylon.transforms.translationsXYZ({ translations: [[1, 0, 0], [0, 2, 0]] });