osg视角按的shift+ctr禁止代码
时间: 2023-12-09 10:03:40 浏览: 62
要禁用掉OSG视角中的Shift+Ctrl锁定功能,你需要在你的代码中添加以下代码:
```cpp
osgViewer::Viewer viewer;
// 禁用Shift+Ctrl锁定功能
viewer.setKeyEventSetsDone(0);
```
这个函数会告诉OSG视角,在处理完一个按键事件后,不要将事件标记为“完成”,这样就可以禁用Shift+Ctrl锁定功能了。
相关问题
osg视角按的shift+ctrl锁死怎么禁止代码
要禁用掉OSG视角中的Shift+Ctrl锁定功能,你需要在你的代码中添加以下代码:
```cpp
osgViewer::Viewer viewer;
// 禁用Shift+Ctrl锁定功能
viewer.setKeyEventSetsDone(0);
```
这个函数会告诉OSG视角,在处理完一个按键事件后,不要将事件标记为“完成”,这样就可以禁用Shift+Ctrl锁定功能了。
osg视角按的shift+ctrl不要锁死代码
如果你使用的是OSG内置的FirstPersonManipulator,那么你可以使用setLockRoll方法来解除按住Shift和Ctrl键时的视角锁定。你可以按以下方式使用该方法:
```c++
osg::ref_ptr<osgViewer::View> view = viewer->getView(0);
if (view.valid())
{
osg::ref_ptr<osgGA::CameraManipulator> manipulator = view->getCameraManipulator();
if (manipulator.valid())
{
osgGA::FirstPersonManipulator* firstPersonManipulator = dynamic_cast<osgGA::FirstPersonManipulator*>(manipulator.get());
if (firstPersonManipulator)
{
firstPersonManipulator->setLockRoll(false);
}
}
}
```
这将会解除Shift和Ctrl键按住时的视角锁定。
阅读全文