新增功能Katana 3.1
介绍
本文档介绍了引入的显着更改Katana 3.1。这些更改包括:
- 完全兼容 VFX参考平台 CY2017规范,最值得注意的是包括将代码库移植到Qt 5。
- 改进了与非常大的属性。
- 已改善用户界面性能。
- 已改善Alembic读取性能。
- 实验性新的Hydra Viewer层显示来自监控标签。
技术变更
第三方软件
下表总结了对第三方软件出厂版本的更改。Katana 3.1v1旨在与视觉特效参考平台CY2017。
Katana 3.1 | Katana 3.0 | |
---|---|---|
t | 5.6.1 | 4.8.5 |
PyQt | 5.6 | 4.11.4 |
啜 | 4.18.1 | 4.17 |
打开细分 | 3.1.1 | 3.0.5 |
Ptex | 2.1.28 | 2.1.10 |
fmt | 4.1.0 | 未出货 |
字体配置 | 未出货 | 2.8.0(仅Linux) |
由于从Qt 4到Qt 5的端口,以下用户界面API已更改:
-
选择加入的所有Qt小部件Katana的“基于密钥的拖动”协议必须进行以下更新。先前, Katana会发出动态的PyQt keyBasedDragRequested当用户将鼠标悬停在小部件上并按下时,该小部件发出信号Ctrl+乙。作为Katana 3.1,您的小部件必须改写customEvent()处理方法QT4Widgets.GlobalEventFilter.KeyBasedDragEvent Qt事件。小部件应接受事件,并使用QT4Widgets.InteractiveDrag宾语。
-
任何先前将Python属性设置为的Qt小部件drawInteractiveHighlight至假现在应该设置一个布尔值Q对象相同名称的属性。此属性允许窗口小部件选择退出标准突出显示效果Katana适用于拖放操作的目标小部件。
-
任何先前将Python属性设置为的Qt小部件STOP_GLOBAL_SCROLLING要么 SKIP_GLOBAL_SCROLLING 现在应该设置一个布尔值Q对象相同名称的属性。此属性允许小部件选择退出Katana的默认“全局滚动”行为(通过按住Alt键并在光标悬停在鼠标上时使用鼠标中键拖动QScrollArea基于的小部件。
-
班级UI4.Widgets.TextInfoDialog已失效,已被删除。
查看器API的改进
-
的查看器API经过重新设计,增加了对单个OpenGL上下文的支持,所有视口。的视口小部件该类现在继承自QWidget。
-
FnViewerDelegate :: getPartialXform()已经给了3个新参数来配置哪些xform组包含在返回的矩阵中,并且默认值与现有行为一致。此更改来自3.0v2中提供的修复程序,该修复程序在处理具有多个转换组的透视摄像机时(TP 346989)。
FnAttribute的改进
Katana现在支持使用2创建属性32或每个时间样本具有更多值,并且与内部大小限制有关的错误处理已变得更加可靠。先前, Katana如果违反某些内部限制,则可能崩溃或生成格式错误的属性,并且这些限制没有正式的文档。内部数据限制FnAttribute (现在记录在C ++标头中)如下:
- 数据属性 (int,float,double,string):
- 值计数(每个时间样本):[0,263]
- 时间采样计数:[0,213]
- 元组大小:[0,216]
- GroupAttribute
- 儿童人数:[0,228]
OpScript现在可以检查和创建2个以上的属性27使用新的时间采样值getSamples()方法;在任何数据属性上可用。返回的“样本访问器”对象getSamples()支持检查时间样本数据的只读视图,并支持创建样本缓冲区的可变副本以处理现有数据。完整的文档可在Katana开发人员指南,但一个人为的示例如下:
本地myIntAttr=接口。GetAttr('myAttr') local newSamples = {} for _, sample in ipairs(myIntAttr:getSamples()) do -- Create a mutable copy of the sample buffer local buffer = sample:toArray() for i, elem in ipairs(buffer) do buffer:set(i, elem * 2) end local t = sample:getSampleTime() newSamples[t] = buffer end Interface.SetAttr(“ myAttr”,整数属性 ( newSamples))
为了向后兼容, myDataAttr:getNearestSample(时间)继续以Lua表的形式返回时间样本的副本,并且最大值为227价值观。请注意getSamples() API需要新的基于LuaJIT的OpScript后端,并且在旧式Lua 5.1后端中不可用。
性能改进
应用程序启动,用户界面交互和空闲CPU使用率的性能已通过优化Katana事件系统并删除实例Katana轮询事件。
通过使用内存映射的I / O,基于Ogawa的Alembic读取的性能也得到了提高。
新的功能
ProfilingMockRenderer
-
现在随附了一个新的示例渲染器插件Katana: ProfilingMockRenderer。该插件不渲染图片。相反,其目的是为了Katana的场景图从渲染器插件的上下文扩展,实现了用于访问场景图位置数据的不同遍历策略。该插件的源代码位于插件/ Src /。
作为添加的一部分ProfilingMockRenderer例如,现有的渲染器插件的页面Katana开发人员指南分为两部分: 总览和渲染API。新插件记录在名为的新部分中分析模拟渲染器。
实验功能
显示器前缓冲器
实验性查看器图层,可显示来自监控标签已添加到查看器(九头蛇)标签。
设定KATANA_EXPERIMENTAL_MONITOR_OVERLAY一个环境变量Katana发射环境1, 一种显示器前缓冲器切换的菜单项已添加到选项卡的视图菜单。什么时候查看>显示器前缓冲区启用后,图像层将插入选项卡的查看器层中,该图像层显示目录项目的像素数据,该数据显示为Katana的监控标签。