osgManipulator.TrackballDragger是OpenSceneGraph库中用于场景交互的一种拖拽器,它可以用来旋转、平移、缩放三维模型。它是osgManipulator.Dragger的一个子类。
osgManipulator.TrackballDragger();
创建一个默认的TrackballDragger对象。
使用鼠标左键可以旋转模型。当鼠标左键被按下时,TrackballDragger会计算旋转矩阵,并将其应用到拖拽器所附着的节点上。
使用鼠标中键或者鼠标右键可以平移模型。当鼠标中键或者鼠标右键被按下时,TrackballDragger会计算平移矩阵,并将其应用到拖拽器所附着的节点上。
使用鼠标滚轮可以缩放模型。当滚轮向上滚动时,TrackballDragger会计算放大矩阵,并将其应用到拖拽器所附着的节点上。当滚轮向下滚动时,TrackballDragger会计算缩小矩阵,并将其应用到拖拽器所附着的节点上。
鼠标左键被按下时,同时按下Ctrl键或Alt键可以进行3D拖拽。此时鼠标的移动可以让模型在当前平面上进行平移和旋转操作。
拖拽器所附着的节点的坐标系是使用拖拽器自身的坐标系进行的,即拖拽器本身的位置和旋转会影响节点的变换。如果需要修改坐标系,则可以使用osgManipulator.TranslateAxisDragger和osgManipulator.RotateSphereDragger来构建自定义的TrackballDragger。