MotionBuilder,pythonこんにちは、TD室の森本です。import*TestWindow=FBCreateUniqueTool("TestWindow")ShowTool(TestWindow)これをMB上のPythonEditorで実行するとTestWindowという名前のウィンドウができあがりました。次はウィンドウにボタンを追加しますがここでUIの配置のやり方について以下のようなやり方があります。Topウィンドウを表示ShowTool(TestWindow)以上のスクリプトを実行するとボタンが配置されたウィンドウが立ち上がります。Topウィンドウに縦、横、高さ、幅を指定してRegionを設定してボタンを登録します。ここで縦、横などを指定するときにFBAttachType.kFBAttachNoneという記述がありますがこのAttachTypeを切り替えることで色々なRegionの指定ができます。右側からのアタッチ、数値が右側からみた数値として配置されるなどがあります。これらのFBAttachTypeを切り替えることでウィンドウのサイズを変更したときに変更に合わせてUIの配置も変わる配置を作れます。複数のUIを配置する際に一つ一つRegionを指定して配置するのが面倒な場合にLayoutクラスを使用して簡単にUIを整列させた状態で並べることが出来ます。ここでは縦方向に並べるLayoutであるFBVBoxLayoutについて説明します。200ShowTool(TestWindow)上記スクリプトの記述では幅を指定して配置していますがAddRelativeメソッドを使用することでBoxLayout内で設定された幅に合わせて追加したUIの幅が調整されます今回は例としてFBVBoxLayoutを使用しましたが他にも横方向のFBHBoxLayoutやグリッド配置のFBGridLayout等がありLayout関係のクラスの使い方はMB内のSampleスクリプトがあるのでそちらも参考にしてくださいボタンにイベントを追加これでUIにボタンを配置することが出来ましたがこのままではボタンを押しても何も反応しません。300ShowTool(RootWindow)このスクリプトを実行すると9行目に設定したアドレスの中にあるpythonファイルをボタン名にしたUIウィンドウが立ち上がってボタンを押すとPythonファイルが実行されますスクリプトの中身としてはフォルダの中からPythonファイルのリストをつくって先ほどの説明のFBVBoxLayout()を使用して縦にリストのボタンを並べていますまた、ボタンを押した際にボタンの名前からスクリプトのパスを取得して実行するイベントが設定されています自分用のスクリプト一覧のランチャー等の使い方ができるので使ってみてくださいまとめ今回は前回の初心者向けの続きとしてMotionBuilderでのUI初級編として簡単なUIの作り方を説明しましたが単純に少しボタンを配置したUIがつくれるだけでも組み合わせてスクリプトの利便性があがりますMotionBuilderにも様々なサンプルUIが用意されているので中身を見てもらって参考にすればより様々なタイプのUIが組めるようになると思いますまた、PySide等を使用するとより高度なUIがつくれますのでさらに興味が出た方はそちらを調べるのもいいかもしれません以前にでたPyQTのMotionBuilderの記事です*MotionBuilder2012のGUIはQtで作られてるのにスクリプトでPyQtが使えないっておかしくね?https://dftalk.jp/cp-bin/wordpress/?p=4018UI以外の処理部分についても以前の記事も参考になるので是非どうぞ*モーションビルダースクリプトTipshttps://dftalk.jp/cp-bin/wordpress/?p=4700*MotionBuilderでツールをより使ってもらうためにhttps://dftalk.jp/cp-bin/wordpress/?p=6539*MotionBuilderをカスタマイズしようhttps://dftalk.jp/cp-bin/wordpress/?p=7339*MotionBuilderでScript!!便利なコンストレインの活用術!!(初級編)https://dftalk.jp/cp-bin/wordpress/?p=9135*MotionBuilderのPythonスクリプトを始めたい方へhttps://dftalk.jp/cp-bin/wordpress/?p=12696今回はこの辺りで、ではまた。公開している全ての手法の有用性、安全性について、当方は一切の保証を与えるものではありません。これらの手法を実施したことによって引き起こる直接的、間接的な損害に対し、当方は一切責任を負うものではありません。(※必須):Website:Comment:コメントは承認制ですので、即時に反映されません。上に表示された文字を入力してください。月別アーカイブ2018年5月2017年1月2月3月4月6月10月11月2016年1月2月3月4月5月6月7月8月10月11月12月2015年1月2月3月4月5月6月7月8月9月10月11月12月2014年1月2月3月4月5月6月7月8月9月10月11月12月2013年1月2月3月4月5月6月7月8月9月10月11月12月2012年2月3月4月5月6月7月8月9月10月11月12月2011年1月2月3月4月5月6月7月8月9月10月11月12月2010年12月Footer。