创建支持服务单
关注

Q100229:扩展Katana的ViewerModifier插件以添加图标可伸缩性

摘要

本文介绍如何修改,重新编译和注册ViewerModifier插件,以便“viewer.default.drawOptions.locatorScale”属性可用于缩放Viewer中的摄像头和灯光图标,而无需缩放对象的xform。

更多信息

这组步骤适用于使用Viewer Modifier Plug-in API 2.0版的Linux(RHEL 6)上的Katana 2.5v4。对于以前的版本,请相应地编译相应的版本。

  1. 在Katana安装目录中找到ViewerModifiers目录,例如:

    $KATANA_HOME/plugins/Src/ViewerModifiers

    并将文件夹的内容复制到方便的位置,例如:

    home/your.user/katana/ViewerModifiers


  2. 修改本地副本中CameraViewerModifier和LightViewerModifier的源代码,分别位于 ViewerModifiers / CameraViewerModifier / src ViewerModifiers / LightViewerModifier / src 目录结构下。

    具体来说,
    在两个文件 void draw(FnKat :: ViewerModifierInput&input) 函数中 添加这些行, 如下面附带的示例文件和代码所示:

    FnKat::FloatAttribute locatorScaleAttr = input.getGlobalAttribute( 
    "viewer.default.drawOptions.locatorScale");
    if (locatorScaleAttr.isValid())
    {
    GLfloat locatorScale;
    locatorScale = locatorScaleAttr.getNearestSample(0)[0];
    glScalef(locatorScale,locatorScale,locatorScale);
  3. 还修改了 两个文件中 FnKat :: DoubleAttribute getLocalSpaceBoundingBox(FnKat :: ViewerModifierInput&input) 函数,如附加的示例文件CameraViewerModifier.cpp和LightViewerModifier.cpp中所示。

    在这两个文件中,将REGISTER_PLUGIN调用中的插件名称更改为以L和C之后的字母开头,例如使用Z,如:

    REGISTER_PLUGIN(LightViewerModifier, "ZLightViewerModifier", 0, 1);
     REGISTER_PLUGIN(CameraViewerModifier, "ZCameraViewerModifier", 0, 1); 
    这是因为内部插件名称将按字母顺序排序,并按照Katana使用的插件加载顺序排序,最后一个字母输入将获胜。

  4. 保存文件并准备根据正确的Viewer Modifier Plug-in API版本编译文件。

  5. 要编译插件,请确保安装了cmake 3.2或更高版本。

  6. 在终端中,将 KATANA _HOME 环境变量设置为指向Katana安装目录,例如:

    export KATANA_HOME=/opt/Foundry/Katana2.5v4

  7. 将CMAKE_PREFIX_PATH设置为指向文件katana-config.cmake所在的位置,例如:

    export CMAKE_PREFIX_PATH = $KATANA_HOME/plugin_apis/cmake

  8. 导航到终端中的本地ViewerModifiers目录并运行以下命令:

    cmake CMakeLists.txt

    这应该在ViewerModifiers目录中创建一个Makefile。该文件可能是隐藏的,因此您可能必须在文件浏览器中启用“显示隐藏文件”选项才能看到它。

  9. 运行命令 make 来构建插件。这应该会在各自的目录中为您提供LightViewerModifier.so文件和CameraViewerModifier.so文件。

  10. 这些.so文件需要放在 KATANA _RESOURCES 目录中 名为Libs的 目录中。例如,将.so文件放入

    /home/users/yourUsername/katana/Libs

    并添加路径

    /home/users/yourUsername/katana to KATANA _RESOURCES

要使用创建的新插件,请打开Katana并在场景中使用AttributeSet节点,并在 要缩放的摄像机或灯光位置 添加名为“ viewer.default.drawOptions.locatorScale 的浮动属性 。这将允许在Viewer中缩放相机或灯光图标,而无需更改对象的属性值。

这篇文章有帮助吗?

我们很遗憾听到

请告诉我们
3 人中有 2 人觉得有帮助

评论