Add Slates:

添加了对SSplitter的支持

G006_widget_SSplitter

添加对SExpandableArea的支持

G006_widget_SExpandableArea

  • ChameleonData 添加API:
  • bool GetIsExpanded(const FName AkaName)
  • void SetIsExpanded(const FName AkaName, bool bExpanded, bool bAnimated=false)

添加了Outline中的右键菜单

现在可以在MenuConfig.ini文件中,通过OnOutlineMenu字段,给outline的添加右键菜单

    "OnOutlineMenu": {
        "name:": "Python Menu On OutlineMenu",
        "items":
        [
            {
                "name": "Print selected actors",
                "command": "print(unreal.get_editor_subsystem(unreal.EditorActorSubsystem).get_selected_level_actors())"
            }
        ]
    },

G009_context_menu_in_outline

菜单项文字前可以添加图标

024_icons_in_menus

自动读取Icon图片,并添加到ChameleonStylevs

插件Resource目录中的.png 和.svg 会被自动添加到chameleonStyle中。用于在菜单项前添加图标

  • 可以通过指定图标在插件Resource目录中的相对路径设置菜单项的图标
    {
        "name": "Chameleon Shelf Tool",
        "ChameleonTools": "../Python/ShelfTools/Shelf.json",
        "icon": {
            "ImagePathInPlugin": "Resources/briefcase_32x.png"
        }
    },
  • 也可以通过指定Style中的ImageBrush。例如FEditorStyle, FCoreStyle 等中的图标
    {
        "name": "Minimal Example",
        "ChameleonTools": "../Python/Example/MinimalExample.json",
        "icon": {
            "style": "ChameleonStyle",
            "name": "Flash"
        }
    }

界面json文件可以引用其他的json文件

现在一个编辑器的UI Json文件,可以引用其他json文件。支持嵌套引用,但需要避免循环引用 好处: - 减少单个json文件的复杂度和大小 - 可以复用部分界面代码 坏处: - 界面代码变得不那么直观,变得晦涩 - Console窗口报的Widget路径,和在PyCharm中显示的Json Crumb路径不一致。因为PyCharm不可能知道在这里会插入另外一个json的内容 建议: - 将大量重复的控件代码(比如16x16个地图按钮)或者由代码生成的界面代码放到“外部”json文件中。

    {
        "autoWidth": true,
        "SBox": {
            "WidthOverride": 480,
            "Content": {
                "ExternalJson": "ZeldaWorldMapEditor_Buttons.json"
            }
        }
    }

将快捷键数量添加到10个

现在在ExitorSetting中可以配置的快捷键数量增加到了10个

SBorder组件,添加设置"BorderBackgroundColor"的功能

PythonBPLib 添加API:

  • GetViewportPixels 现在我们可以通过这个功能,截取视窗中的内容,并显示在界面上

025_snap_in_editor

或者将画面内容发送给其他设备,比如下面这个MacroKeyboard

G008_ue_screen_image_to_pico

  • ViewportRedraw Force the viewport Redraw

  • GetObjectFlags

026_object_flags

  • GetLevelViewportCameraFov

  • GetActorsFromFolder 获取Outline的目录中的物体

  • FindActorsByLabelName

Config.ini

  • 添加LogOnTickWarnings配置项
  LogOnTickWarnings=True

该选项控制是否在用户使用OnTick关键字时输出警告。 ChameleonTools中,有一个没有在提到过的隐藏关键字:“OnTick”。其中的代码会在编辑器Slate Update时被执行,界面的Update次数比viewport的Update频率要高很多,所以在这里执行代码很容易造成编辑器卡顿。 之所以是隐藏项是因为99.9%的时候不需要用到它,如果有实际的需要,其实也有更好的其他方法来实现。所以我不建议使用OnTick,和修改LogOnTickWarnings设置项

Fixed:

  • 修正chameleon dock到其他窗口之后,requestClose失效的问题。(FindExistingLiveTab找不到dock之后的tab

  • 修正unreal.PythonBP.get_all_objects Crash

  • 修正ObjectDetailViewer右侧Breadcrumb组件显示错误等

  • 修正ChameleonData.get_float_value对SSpinBox失效的问题

  • 修正SBox中的Padding值设置不正确的问题


Share On
Reddit