tool conf

yurlungur tool scripting tips.

Log

print statement is not available in Python3. Also IronPython is not bind with __future__ modules.

print 文は Python3 ではエラーになり、それを回避するための __future__ モジュールも Unity Asset 内の IronPython ではサポートされないため、 yurlungur.log(*args) の使用をお勧めします。

yurlungur.log(*args)

内部処理に pformat を使っているため、ログが見切れるような 長いリストでも視認性は損なわれません。

LogHandler をそれぞれのアプリケーションから継承し、一貫したインターフェースで 出力レベルの制御をします。

UndoGroup

contextManager で制御されたUndoGroup で アプリケーション側のUndoで操作を巻き戻すことが出来ます。

with yr.UndoGroup:
    yr.YNode("hoge").delete()

もしUndoGroupでインデントを囲わないスクリプト処理をした場合、 ひとつひとつ undo で戻さなければなりません。

GUI

Qt.py をラッピングしているので、Maya/Houdini といった 大型スタジオで使われるアプリケーションのバージョンを気にすることなく Python から Qt を使うことが出来ます。

widget = QWidget()
yr.qt.show(widget)

ゲームエンジンはQtライブラリを内蔵しません。 別途 pip インストールするか、env モジュールでアプリケーションを切り分けて、 meta モジュールからネイティブの各 ui モジュールを参照して下さい。