21:maya python
メッシュから頂点のリスト、UVのリストを取得する手順を明記 頂点のリストの仕方 python) import maya.cmds as cmds strings = cmds.polyListComponentConversion( 'pCube1', toVertex=1 ) vertices = cmds.filterExpand( strings, selectionMask=31 ) fo…
選択中のマテリアル(lambert)をメッシュに貼る方法を明記 (張るためには一度シェーディンググループを取得する必要がある) まずは選択中マテリアルを張るって話なので ハイパーシェードでマテリアルを選択。 そして python を実行 (listConnectionsを利用…
ナーブスカーブのエディットポイントの取得方法について明記。 それ用のコマンドもあるのだろうが、ここではgetAttrを使って取得。 (リストから座標だけでなく長さも撮れる) pythonでの取得方法) import maya.cmds as cmds editPoints = cmds.getAttr("cu…
ポリゴンを作成する方法を明記しておく これでポリゴンをひとつひとつ細かく作ることができる ※edge番号を指定する必要あり。 pythonでの実行方法) cmds.polyCreateFacet( point=[(0,0,0),(-1,0,0),(-1,0,1),(0,0,1)] )cmds.polyAppend( append=[2,(-1,0,2)…
標準機能) ・メニューバーの追加 ・maya LTのご紹介 ・maya LTついに買う mel) ・ウィンドウの複数作成禁止 ・文字列内の文字列の検索 ・ポリゴンの作成 ・nurbsCurveのエディットポイント取得 ・マテリアルをメッシュに貼る ・頂点のリスト、UVのリスト…
1.プラグインパスのいずれかに コマンドプラグインを作成(HelloWorld.py) ※筆者の場合は:C:\Users\(ユーザー名)\Documents\maya\plug-ins 2.プラグインの内容を記述 ※ -*- coding: utf-8 -*- はutfで書いてますよというおまじないなので必要 参考:…
1.プラグインマネージャの表示 メニューバー>設定/プリファレンス>プラグインマネージャ から すきなプラグインをロードできる。 2.pythonで書くならこう ※重要 quiet=True:読み込み済みでもエラー出なくなります。 import maya.cmds as cmds cmds.lo…
選択中のメッシュをリストする手順を明記しておく (親グループにはいていても使用可能) 1.メッシュを選択(親グループを選択してしまっていたも おけ) 2.選択中メッシュのリストを表示 ※グループを選択しているときのためにlistRelativesを利用し子メ…
以下をタイプする import sys for p in sys.path: print( p ) 出力成功
外部ファイルを扱いたいときは maya固有ではなく python汎用コマンドを使って読み込むとよい。 1.外部データを用意 2.外部データを読み込みプリント fp = open( u'c:/aaa.txt', 'r' ) for line in fp: print line fp.close() 3.実際に出力される 4.…
以下をタイプする import maya.cmds as cmds result = cmds.fileDialog() print( result ) これは使えるはず。
メッセージボックスは以下をタイプする import maya.cmds as cmds result = cmds.confirmDialog( title=u'メッセージ', message=u'〇〇しますか?', button=[u'Yes',u'No'] ) if result == 'Yes': print( u'Yesが選択されました' ) else : print( u'Noが選択…
以下のコードで頂点をリストしようとしても、 import maya.cmds as cmds vertices = cmds.polyListComponentConversion( 'pCube1', toVertex=1 ) print( vertices ) 省略されてしまう。 filterExpandで分解できる。 import maya.cmds as cmds vertices = cmd…
頂点が共有されている場合 頂点座標だけならまだしも、UV値も共有されており使い勝手がわるいため 頂点を分ける必要があります。 これ「コンポーネントのデタッチ」と呼びます。 1.オブジェクトを選択 2.メニューバー>メッシュの編集>コンポーネントの…
以下をタイプする。 タプル型のタプルが返る。 import maya.cmds as cmds cmds.polyEvaluate( u'pCube1', boundingBox=1 )
MAYA_SCRIPT_PATHは以下をタイプする。 import os import subprocess import maya.cmds as cmds env = os.environ["MAYA_SCRIPT_PATH"] env = env.split(";") for path in env: print( path ) MAYA_PLUG_IN_PATHは以下をタイプする。 import os import subpr…
単純なpythonによるウィンドウの表示手順を記述しておく py import maya.cmds as cmds # @brief ウィンドウ class Window( object ): # インスタンス _instance = None # @brief new def __new__( self ): if self._instance is None: self._instance = obje…
1.mayaが必ず参照されるフォルダ C:\Users\(ユーザー名)\Documents\maya\scripts に userSetup.py の名前でセットアップファイルを作成します。 2.userSetup.py の中身はメニューファイルの実行処理が入ります。 from myTool import menu utils.execut…
pythonで学んだことをもとにフォルダを作成して そこにデバッグログファイルを出力する仕組みをつくってみました。 まずフォルダの作成方法 (実際は作成済みチェックなども入れる必要があります。) import os # フォルダの作成if os.path.exists( 'deblog/…
作成したpythonのアプリが文字コードにつまづいて 動かないことがありました。 適切な文字コードで実行することで解消できます。 まずは動かない例 string.py # -*- coding: utf-8 -*- import time print( 'こんにちは' ) time.sleep(1) テキストファイルをp…
pythonでのファイルの読み書き方法メモ # -*- coding:utf-8 -*-## @file file.py# @biref file# import sysimport time # ファイル書込with open( "file.txt", "w" ) as f: f.write( 'text\n' ) # ファイル追記with open( 'file.txt', 'a' ) as f: f.write( …
pythonには運用方法がなかなかわからない機能もあるようだ。 C++の文化の人から見た場合スペシャルメソッドもその一つ それでもこれなら工夫しだいで何かに使えそう。 型を指定することですきな形式で取得できる ## @brief スペシャルメソッド#class classSp…
pythonを使用して 自作のノードプラグインを作成することができます。 HelloNode.py) # -*- coding: utf-8 -*- import sysimport maya.OpenMaya as OpenMayaimport maya.OpenMayaMPx as OpenMayaMPx kPluginNodeId = OpenMaya.MTypeId( 0x8FFFF ) # Helloノ…
maya では python を使用することができます。 従来 maya では独自の言語 mel の使用 と c++ によるプラグイン開発が可能でした。 そして「結構前から」ですが、 python を使うことで mel でできることと プラグインでできることの 両方をできるようになって…
pythonではクラスも扱うことができる。 クラスの書き方 import sysimport time ## @brief クラスの使い方#class ClassA(object): def __init__(self): self.power = 0 # # @brief パワーの増加 # def addPower(self, power): self.power += power #< メンバ…
以下main.pyから 別のファイルの関数を呼び出す方法 呼び出し先(module.py) # -*- coding: utf-8 -*-## @file module.py# @biref モージュール# import sysimport time ## @brief 引数の合計を取得する# @param[in] values 引数配列#def getSum(*values): …
pythonには配列的なものがたくさんあります。 リスト、タプル、セット、ディクショナリ ※swiftにもあります。 C++で育っていた方々からみると少々面倒です。 # -*- coding: utf-8 -*- import sysimport time # リスト ※あとからappend removeで値を編集でき…
pythonの実行ファイルは拡張子をpyで作成する。 test,py といファイルを作成し 以下のコードを書きダブルクリックで実行する。 ------------------------------------------------------------------------ # -*- coding: utf-8 -*- import sysimport time #…
基本の文法の学び方は 適当な本を本屋さんで買ってきて 教科書通りにコマンドを打っていきます。 慣れ親しんだC++とちがいリスト、タプル、ディクショナリなどの 書き方もあるのでまずは一行で書いていき学びます。 以下実験結果 Python 3.6.0 (v3.6.0:41df7…
今日はプログラミング言語pythonの紹介と 学ぶ上での環境の作り方をご紹介します。 pythonはほかの言語にくらべて短くかける。 というのがメリットです。 短くかけて 括 いろんなことができるというのが特徴です。 タブインデントが意味がある。というのも特…