問題タブ [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.
python - ウィンドウに動的ボタンを作成する
シーンに存在するライトの数に応じて、ウィンドウにボタンを作成しようとしています。作成ボタンを押すと、このエラーが発生します ( # RuntimeError: オブジェクト名が指定されていません。 # ) :
トレースバック (最新の呼び出しが最後): ファイル "C:\Program Files\Autodesk\Maya2015\Python\lib\site-packages\pymel\internal\factories.py"、779 行目、コールバック内 res = origCallback( *newargs )
ファイル ""、31 行目、lightLst 内
ファイル ""、17 行目、updateList 内
ファイル「C:\Program Files\Autodesk\Maya2015\Python\lib\site-packages\pymel\internal\factories.py」、806 行目、newUiFunc で beforeUiFunc(*args, **kwargs) を返す
ファイル「C:\Program Files\Autodesk\Maya2015\Python\lib\site-packages\pymel\internal\factories.py」、行 947、newFuncWithReturnFunc res = beforeReturnFunc(*args, **kwargs)
ファイル「C:\Program Files\Autodesk\Maya2015\Python\lib\site-packages\pymel\internal\pmcmds.py」、134 行目、wrappedCmd res = new_cmd(*new_args, **new_kwargs)
RuntimeError: オブジェクト名が指定されていません。#
私はちょっと行き詰まっており、自分に合った答えが見つかりません。コードは次のとおりです。
誰かがそれに光を当てることができれば、私は本当に感謝しています!
python - Pymel / Python でテキスト フィールドを更新または「リフレッシュ」する
現在、Maya 内でカメラ情報を取得して GUI に表示する簡単なスクリプトを作成しています。スクリプトは、選択したカメラのカメラ データを問題なく出力しますが、ボタンを押したときにテキスト フィールドをデータで更新できないようです。単純なコールバックだと確信していますが、その方法がわかりません。
コードは次のとおりです。
ありがとう!
python - PyMEL コアをインポートするにはどうすればよいですか?
をインポートしmaya.standalone
て初期化し、pymel.core as pmc
PowerShell で実行されている Maya Python インタープリターにインポートしています。この時点で、多くの警告が表示されます。呼び出した後: xform, shape = pmc.polysphere()
、警告が表示されます:name 'xform' is not defined
これは pymel インポートからの出力です
私は本「Practical Maya Programming」に取り組んでいます。本からのテキストは次のとおりです。
それでは、Maya と PyMEL について掘り下げていきます。mayapy インタープリタで Maya を初期化することから始めて、標準の Python 機能以上のものを使用できるようにします。次のコードに示すように、maya.standalone.initialize を呼び出してこれを行います。
pymel.core のインポートは暗黙のうちに maya.standalone.initialize を自動的に呼び出しますが、ここでは明示的に行うので、何が起こっているのかは明らかです。将来的には、通常は maya.standalone.initialize の呼び出しをスキップして、pymel.core だけをインポートできます。
基本的な Python を使用して、Maya ノードを表すこれらの PyMEL オブジェクトについて多くのことを発見できます。たとえば、いずれかのオブジェクトのタイプを確認するには、組み込みのタイプ関数を使用できます (この章の後半でタイプについてさらに深く掘り下げます)。
インタープリターで発生しているエラーを説明し、解決策を提供できる人はいますか?
python - Maya のスクリプトからデフォーマの重みを変更する方法は?
Maya のスクリプトからデフォーマの重みを変更する方法は?
この質問は の場合に理想的ですPymel
がMaya 2013
、それが不可能な場合でもPython
、 、MEL
、または を使用して答えを知りたいと思いC++ Maya-API
ます。
python - ベクトルを印刷するときに str(vector) が暗黙的に呼び出されるのはなぜですか?
この段落より下のすべては、Practical Maya Programming という本からのものです。最後から 2 行目で、著者は、print
引数を含むステートメントがt
暗黙的に を呼び出すと述べています。そのstr(t)
理由を知りたいです。また、著者が作成して値にvect
代入する2 番目のコード ブロックでも、に割り当てられているのはどれですか?xform.translate.get()
t
xform.translate.get()
強調表示されている球変換の移動値は、リストのように見えます。そうではありません。変換値は pymel.core.datatypes.Vector のインスタンスです。より積極的にオブジェクトを内省する必要がある場合があります。これは、PyMEL が間違いを犯した数少ない領域の 1 つだと思います。str(t) を呼び出すと、Vector から取得したように見えるのではなく、リストから取得したように見える文字列が返されます。正しいタイプであることを確認してください。リストの代わりにベクトルを使用していたバグ、またはリストの代わりにベクトルを使用していたバグを探すのに何時間も費やしました。
python - Maya Pymel: fileDialog2 のリターンを UI テキストフィールドに渡す
fileDialog2 の「optionsUICommit」フラグの使い方がわかりません。ユーザーがファイルダイアログボックスで「保存」を押したときに、コマンドを実行したいon_save_dialog_file
. しかし、ヘルプ ファイルから、MEL コマンドを使用する必要があるようです。
http://help.autodesk.com/cloudhelp/2016/ENU/Maya-Tech-Docs/CommandsPython/index.html
メルのみ。文字列は MEL コールバックとして解釈され、ダイアログが正常に閉じられたときに呼び出されます。ユーザーがダイアログをキャンセルしたり、ウィンドウのタイトル バー コントロールやその他のウィンドウ システムの手段を使用してウィンドウを閉じたりすると、呼び出されません。コールバックの形式は次のとおりです。 global proc MyCustomOptionsUICommit(string $parent)
親引数は、optionsUICreate フラグを使用してコントロールが追加された親レイアウトです。
これは...複雑なようです。
これが私のコードです。
変なMel->Pythonコマンドを試してもうまくいきませんでした。ocm="python \"on_save_dialog_file()\";"
ダイアログで保存ファイルを設定した後、コマンドを実行するためのより簡単で簡単な方法はありますか?
math - 2 つのオブジェクト間の等距離にある点を見つけるにはどうすればよいですか?
3D 空間内の他の 2 つの点の間で等距離にある点を見つけようとしています。たとえば、シーンに 2 つの立方体があります。Pymel を使用して、これら 2 つの球の間に等距離に 5 つ (または 3 つ、または 80...) のロケーターを追加したいと考えています。
次のように、球の中間点を簡単に見つけることができます。
ただし、2 つの球の間の線上に複数の点を取得する方法がわかりません。
私はこのようなことを試しました:
これにより、2 つの球の間に 5 つのロケータが追加されますが、それらは 3D 空間の 2 つの点を結ぶ線上にはありません。
誰かが私を正しい方向に向けることができますか?