坐标系

nothing-sy2024-04-01babylonjs

在babylon中有世界坐标系和局部坐标系,世界坐标系是左手定位,默认情况下是 大拇指向右,食指向上。即Z轴是指向屏幕方向的。且只会有一个世界坐标系 局部坐标系则是每个mesh都会存在,原点在中心,会随着网格的位置变更而变更。同时也可以通过调用transformnode和矩阵方式去改变原点在局部坐标系中的位置。此篇中我们不做详细介绍

ArcRotateCamera坐标系和旋转的关系

在ArcRotateCamera中,被观察的物体被设置在某个位置,而相机则围绕着这个物体进行旋转。

在这类相机中引入了alpha和beta两个参数,分别代表相机绕Y轴和X轴旋转的角度。详情看图: image

创建辅助坐标系

在babylon中没有内置的坐标系创建功能,需要通过其他方式创建。比如:

// 通过创建线条系统来创建坐标系,参数就是XYZ三条线的起始点和终点,以及对应的颜色,此处对应为RGB三原色,

MeshBuilder.CreateLineSystem("Axis", {
      lines: [
        [new Vector3(100,0,0), new Vector3(0,0,0)],
        [new Vector3(0,100,0), new Vector3(0,0,0)],
        [new Vector3(0,0,100), new Vector3(0,0,0)]
      ],
      colors: [
        [new Color4(1,0,0,1),new Color4(1,0,0,1)],
        [new Color4(0,1,0,1),new Color4(0,1,0,1)],
        [new Color4(0,0,1,1),new Color4(0,0,1,1)]
      ]
    },scene)
Last Updated 2025-02-20 03:36:19