static LookRotation()

in src/math/Quaternion.ts [156:170]


    static LookRotation(direction: Vector3): Quaternion {
        const forward = new Vector3(0, 0, 1);
        const dot = forward.dot(direction);

        if (Math.abs(dot - -1.0) < 0.000001) {
            return new Quaternion(0, 1, 0, Math.PI);
        }
        if (Math.abs(dot - 1.0) < 0.000001) {
            return new Quaternion();
        }

        const rotAngle = Math.acos(dot);
        const rotAxis = forward.cross(direction).normalize();
        return Quaternion.FromAxisAngle(rotAxis, rotAngle);
    }