問題タブ [pymel]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
639 参照

scripting - Maya レンダー レイヤをファイルに分割する

レンダー レイヤーを別のファイルにエクスポートするスクリプトを Maya で作成しようとしています。スクリプトに適用されるロジックについては明確ではありませんが。手順だけのコードは必要ありません。誰でも助けてください。すべてに前もって感謝します。

0 投票する
2 に答える
1253 参照

multithreading - クラッシュの原因となる Maya スレッド

自動保存スクリプト エディタ スクリプトを開始しました (Maya 2014 を使用) が、非常に不安定で、保存と同時に何かが発生するとクラッシュする可能性があります。また、保存していなくてもクラッシュが発生することに気付いたので、実際の問題が何であるかを見つけようとしたところ、ほとんどコードが残っていませんでしたが、それでも複製できました。

コードの私の考えは、バックグラウンド スレッドを実行し、スクリプトを一定間隔でループしてバックアップしますが、値を毎秒チェックして、一時停止またはキャンセルされていないことを確認します (キャンセルするとループが停止します)。

問題は Maya でのバックグラウンド スレッドの動作に関係していると思われます。スクリプト エディタ ウィンドウをロード/クローズするか、レンダー ビュー設定でタブを切り替えるとクラッシュする可能性があるためです (少なくとも Mental Ray が選択されている場合は、時間がかかるように見えるため)。デフォルトのレンダラーよりも読み込みタブが長くなります)。他の方法もあると思いますが、それらは本当に簡単に見つけられる方法です。

while ループに落とし込んだ後time.sleep()は、なぜクラッシュが発生するのか、私にはまったく意味がありません。また、それが時間モジュールでないことを確認するために、別のスリープ機能を使用しましたwhile time.time()>startTime+1が、それでもクラッシュが発生しました。

誰かがそれを試してみたい場合は、ここに短縮されたコードがあります. でスレッドを開始するとAutoSave.start()、スクリプトエディタウィンドウを継続的にロードして閉じると、最終的にランタイムエラーが発生するはずです (R6025 純粋仮想関数呼び出しを意味します)。複数回の試行が必要になる場合がありますが、最終的には常に発生するようです。

十数個のタブを開いているので、タブがない場合よりもロード/クローズに少し時間がかかります。これにより、クラッシュが発生する可能性のある時間枠が長くなる可能性があります。

記録として、スクリプト エディタ ウィンドウを閉じるたびに常に実行される、Maya に組み込まれたコードを次に示します。変更したバージョンの保存と関係があるのではないかと思いましたが、これは同時に保存しようとしましたが、ループで何も起こらずにまだクラッシュしています。

0 投票する
1 に答える
7492 参照

python - Maya Python モジュールの完全なドキュメント?

学校のプロジェクトで Python を使用して Maya のスクリプトを作成し始めましたが、ドキュメントの問題に直面しています。Maya API のすべてのモジュール クラスと関数の完全なドキュメントがどこにも見つかりません。

PyMEL モジュールの Python スタイルのドキュメントは既に見つかりましたが、残りはどこにありますか? たとえば、maya.cmdsモジュール ?

ありがとう。

0 投票する
4 に答える
764 参照

python - Python 2.7/pyMel で Excel から情報を抽出しますか?

私はこれが多くのことを求めていることを知っていますが、Excelドキュメント内でpythonを使用して列を検索したり、行を検索したりする方法をかなり調べました。

ただし、これらのソリューションでは、アクセスできない場合に別のパッケージをインポートする必要があります。これに対する私の主な動機は、ドキュメント内にシェーダーがリストされている既製の Excel ドキュメントを利用し、簡単な検索に基づいてそれらを抽出することです。

python を使用して Excel ドキュメントを読み取ることに成功した人はいますか? もしそうなら、名前付きの行と名前付きの列を一致させることができましたか?


編集:必ずしも私の質問に答えるとは限りませんが、それが最も近い解決策であるため、回答が選択されました。ただし、ユーザーとそのExcelドキュメントが同じ列と行を使用して使用可能なデータベースを取得するというコンテキストを考えると、それでも非常に合理的なソリューションを提供します.

TL;DR:

外部パッケージを使用せずに列と行を比較してデータ セットを取得する簡単な方法はありません。データを配列として抽出し、どの「列」がどれであるかを指定する方が簡単です。

0 投票する
1 に答える
497 参照

python - SublimeREPL の Python インタープリターとしての Mayapy.exe

default_extend_env を設定するための SublimeREPL の指示に従ってみました。

私は試した:

"default_extend_env": {"PATH": "{PATH}:C:/Program Files/Autodesk/Maya2016/bin/mayapy.exe"}

私も試しました: "default_extend_env": {"PATH": "{PATH}:C:/Program Files/Autodesk/Maya2016/devkit/other/pymel/extras/completion/py"}

default_extend_env と python_virtualenv_paths の違いがわからなかったので、「python_virtualenv_paths」の下にもそれらのファイルパスを追加してみました。

これらの組み合わせのいずれを使用しても、SublimeREPL で使用できる python インタープリター オプションを取得して pymel モジュールをロードすることさえできませんでした。

Tools>SublimeREPL>Python> の下のオプション "Python - virtualenv" も何もしません。python/ipython オプションを試すと、期待どおりにウィンドウがポップアップします。

自動補完が機能するように、崇高なプロジェクトを Jedi と sublime-code-intel で適切にセットアップしました。

これについて何か助けていただければ幸いです。

0 投票する
1 に答える
964 参照

python - Maya/Python: 複数の選択したアニメーション カーブをそれぞれの特定のピボット ポイントからスケールするにはどうすればよいですか?

それぞれが最も低いキーをピボット ポイントとして使用して、複数のアニメーション カーブのスケール操作を実行しようとしています。ネストされた for ループ構造にする必要があると考えていますが、適切に機能させることができませんでした。

スケーリングは単純です。

私はそれが似たようなものであるべきだと考えていますか?

前もって感謝します。