- Alignment是设置文本对齐的方式的,和Qt的QLabel中的setAlignment(Qt::Alignment)作用相同,在此不详述。
- setAxisAlignment是设置文字方向的,其取值有如下几个:
XY_PLANE, // XY面
REVERSED_XY_PLANE, // xy面的反面
XZ_PLANE, // xz面
REVERSED_XZ_PLANE, // xz面的反面
YZ_PLANE, // yz面
REVERSED_YZ_PLANE, // yz面的反面
SCREEN, // 屏幕
USER_DEFINED_ROTATION // 用户自定义的旋转
- XY_PLANE
如下代码:
spText->setAxisAlignment(osgText::Text::XY_PLANE); // 设置文字方向为osgText::Text::XY_PLANE
此时绘制的X如下:文字所在平面和X、Y轴组成的平面平行,且文字所在平面法线和坐标系的Z轴平行,且指向z轴的正方向
(说明:后续所有图中,红色表示X轴, 绿色表示Y轴,蓝色表示z轴)

- REVERSED_XY_PLANE
如下代码:
spText->setAxisAlignment(osgText::Text::REVERSED_XY_PLANE);
此时绘制的X如下:文字所在平面法线和坐标系的Z轴平行,且指向z轴的负方向。

- XZ_PLANE
如下代码:
spText->setAxisAlignment(osgText::Text::XZ_PLANE);
此时绘制的X如下:文字所在平面和X、Z轴组成的平面平行且法线和坐标系的Y轴平行,且指向Y轴的正方向

- REVERSED_XZ_PLANE
如下代码:
spText->setAxisAlignment(osgText::Text::REVERSED_XZ_PLANE);
此时绘制的X如下:文字所在平面和X、Z轴组成的平面平行,且文字所在平面法线和坐标系的Y轴平行,且指向Y轴的负方向

- YZ_PLANE
如下代码:
spText->setAxisAlignment(osgText::Text::YZ_PLANE);
此时绘制的X如下:文字所在平面和Y、Z轴组成的平面平行,且文字所在平面法线和坐标系的X轴平行,且指向X轴的正方向

- REVERSED_YZ_PLANE
spText->setAxisAlignment(osgText::Text::REVERSED_YZ_PLANE);
此时绘制的X如下:文字所在平面和Y、Z轴组成的平面平行,且文字所在平面法线和坐标系的X轴平行,且指向X轴的负方向
- SCREEN
spText->setAxisAlignment(osgText::Text::SCREEN);
此时绘制的X如下:文字所在平面和屏幕所在平面平行,且文字所在平面法线从屏幕里指向屏幕外。

本文详细介绍了osgText库中Text类的setAxisAlignment方法,用于设置文字在3D空间中的方向,包括XY_PLANE, REVERSED_XY_PLANE, XZ_PLANE, REVERSED_XZ_PLANE, YZ_PLANE, REVERSED_YZ_PLANE, SCREEN和USER_DEFINED_ROTATION等选项。每个方向的解释都配合了相应的示意图,帮助理解文字在不同平面上的排列方式。
1474





