そして一覧できるようにして見た。
Maxのシーンファイルの中からオブジェクト選択して読み込みと同じく、maファイルから欲しいものだけ選択して読み込み&上書きみたいな事ができれば良いなと考えています。
DAG階層をたどるのは難しい事では無いですが、DGをトラバースするのは厄介ですね。またアトリビュートが規定値の場合、maファイルにはそのアトリビュートは記述されないので、ちょっと一手間必要になりそうです。
そして一覧できるようにして見た。
Maxのシーンファイルの中からオブジェクト選択して読み込みと同じく、maファイルから欲しいものだけ選択して読み込み&上書きみたいな事ができれば良いなと考えています。
DAG階層をたどるのは難しい事では無いですが、DGをトラバースするのは厄介ですね。またアトリビュートが規定値の場合、maファイルにはそのアトリビュートは記述されないので、ちょっと一手間必要になりそうです。
Mac版のMayaではPySideで作成したウィンドウは「MayaQWidgetBaseMixin」をミックスインしていても、フォーカスが外れるとメインウィンドウの後ろに送られてしまいます。
self.setWindowFlags(Qt.Window | Qt. WindowStaysOnTopHint)
や
self.setWindowFlags(Qt.Tool)
などで、常に前面にすることも可能ですが、Melで作成されたウィンドウとのフォーカス処理がうまく機能しません。
さんざん探し回った結果ですが、ウィンドウへobjectNameを設定し、ウィンドウ設定の保存を許可するだけで良いみたいです。先日の例でいうと、以下の様に2行追記です。
class HtSetOutlinerColorDialog(MayaQWidgetBaseMixin,QWidget): def __init__(self, *args, **kwargs): super(HtSetOutlinerColorDialog, self).__init__(*args, **kwargs) self.closeOtherInstance() self.setAttribute(Qt.WA_DeleteOnClose, True) self.setObjectName("HtSetOutlinerColorDialog") #<- objectNameを設定 self.setProperty("saveWindowPref", True) #<- ウィンドウ設定の保存を許可 self.initUI()
objectNameを設定しないと「MayaQWidgetBaseMixin」によって「クラス名_UUID」というobjectNameが自動的に設定され、その名前が「windowPrefs.mel」へ保存されてしまいます。モジュールをインポートするたびにUUIDは変化するため、ゴミデータが「windowPrefs.mel」へ溜まることになりますので必ず設定します。
Windows版で開発していてると気づきませんが一般に配布するには気をつける必要ありですね。
問題の解決には「http://python_inside_maya.narkive.com/LwPxvddq/maya-python-qt-tool」を参考にしました。ちなみに行き着く為の検索ワードは「mac maya pyside window behind maya main window」です。
Macはバージョンが上がるたびに環境変数の設定方法が変更されますね、以前はlaunchd.confあたりで設定したような気がしますが、Mac OS Sierraではlaunchctlを使用して環境変数を読み込むようです。
で本題、Mayaを英語起動するための設定です。
「~/Library/LaunchAgents/」の中にテキストファイル「setenv.MAYA_UI_LANGUAGE.plist」を作成します。内容は以下になります。
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>Label</key> <string>setenv.MAYA_UI_LANGUAGE</string> <key>ProgramArguments</key> <array> <string>/bin/launchctl</string> <string>setenv</string> <string>MAYA_UI_LANGUAGE</string> <string>en_US</string> </array> <key>RunAtLoad</key> <true/> <key>ServiceIPC</key> <false/> </dict> </plist>;
読み込みは、
launchctl load ~/Library/LaunchAgents/setenv.MAYA_UI_LANGUAGE.plist
変更があった場合は一度アンロードしてから再度ロードします。
launchctl unload ~/Library/LaunchAgents/setenv.MAYA_UI_LANGUAGE.plist launchctl load ~/Library/LaunchAgents/setenv.MAYA_UI_LANGUAGE.plist
ひとまずこれでMayaは英語で起動するはずです。
他にも英語で起動する方法として
#!/bin/bash -f export MAYA_UI_LANGUAGE="en_US" /Applications/Autodesk/maya2017/Maya.app/Contents/bin/maya
を実行することでも可能です。
PySideでのUI作成はわかりやすくていいんですが、スライダと一体になったMayaのUIなども捨てがたく両方とも使いたい場合。
例としてアウトライナでの表示色を設定するダイアログです。下段のボタン3つはQPushButtonです。上段はColorSliderGrpでMayaの標準のUIです。PySideとMaya標準UIが混在しています。ベースはQWidgetを使って作成&レイアウトされたウィンドウになります。
厳密には両方同じQtなので「混在」ではありませんが、それはさておき、、、 続きを読む “Maya PySide.QWidgetへ標準UIを追加する”
「Javaがサポートされなくなる云々~」のあいまいな前情報は知っていて、Sierraへのアップグレードは躊躇していましたが、詳しくは「Java6」のサポートがEl Capitanを以って打ち切られるだけのようです。
現在の環境でその影響を受けるのは「Abobe Flash Builder 4.7」のみで、Macではテスト用にインストールしていただけなのでSierraへのアップグレードをしてみました。MacBook Pro (Retina, 15-inch, Late 2013)です。
アップグレード完了後は恒例のSpotlightのインデックス作成(mdworkerプロセス)が始まります。あいかわらず待たされます。
で、アップグレードした感想ですが見た目はDockにSiriが追加されただけで、それ以外なーんにも変わらず。FlashBuilderを除いて起動しなくなるようなアプリケーションはなし。Office2016、Adobe CC、Modo902SP3、AbletonLive9、etc…。Processing3はJava8を使用しているのでこれも問題なしでした。FlashBuilderも再度Java6をインストールすることにより起動もすることができるようです、サポートはされませんが。
今回のアップグレードの目玉だと思っていた「ユニバーサルクリップボード」はMacからiOSへはペースト出来るものの、iOSからMacへは出来ず。謎です。
あと「Macのストレージを最適化」する機能はオフ!。MacbookのSSDの空きが心もとないのは確かですが、iCloud Driveは無料の5GBで同じアカウントで使用しているiPhone、Mac miniもこれを使うとなるとクラウドのストレージの空きの方が気になりますからね。
空き領域がもっと欲しい。そんな時は最適化されたストレージが、それほど頻繁に使わない書類、メールの添付ファイル、写真、観終わったiTunesの映画をクラウド上に保存して必要な容量を確保します。最近使ったファイルは最適なバージョンの写真と一緒に、あなたのMac上にあります。すべてのファイルはあなたが保存した場所で簡単に見つかり、開くだけでオリジナルのバージョンをダウンロードできます。まるで、ずっとその場所にあったような感覚です。
http://www.apple.com/jp/macos/sierra/からの引用です。シンボリックリンクのようなファイルがローカル上に残るんでしょうか?そもそもクラウド上にしかないデータとどちらにもあるデータの区別がつくのかな?TimeMachineへのバックアップは?とか、疑問だらけです。
ピクチャインピクチャはSafariで再生されているHTML5の動画のみでChromeで再生しているYouTubeは不可。単純に任意のウィンドウを前面にピン留めするだけの機能でいいのに。
FlashBuilderを犠牲にした割に、アップグレードした恩恵が少ないな。今回は10GB程度ローカルストレージの空きが増えただけで良しとしますか。