カテゴリー : maya

[maya] python:関数

関数っていったい何なのか。
Maya Python 完全リファレンスには関数という用語の意味はプログラミングサイクルで違うよーみたいに書いてました。
ようは自分で設定したスクリプトのセットみたいなことだと簡単に考えてます。
melのプロシージャもそういう理解で僕の中で終了しました!
適当に理解しているので詳細はググってね!笑
続きを読む

[maya] python:リスト(1)

PythonWeb:リスト

リスト型は文字列と同じくシーケンス型の一つ。

組み込み型
  + 数値型
  |  + 整数
  |  + 長整数
  |  + 浮動小数点
  |  + 複素数
  + シーケンス型
  |  + 文字列
  |  + ユニコード文字列
  |  + リスト
  |  + タプル
  + マップ型
  |  + 辞書(ディクショナリ)
  + ファイルオブジェクト

続きを読む

[maya] python:文字列フォーマット操作、%演算子

変数を文字列に代入する際に使用すると便利な%演算子(モジュロ演算子)

Python 2.7ja1 documentation:5.6.2. 文字列フォーマット操作

↑の説明文では理解できない、頭悪いから。
チュートリアルってくらいならもう少し噛み砕いて理解しやすく書けないものなんですかね。

すぐに忘れる脳みそのためのメモ:Python で文字列中の変数をフォーマットして置き換える
Python学習日記:Cのsprintfのような文字列フォーマット
萌えるmel読本の中の人が書くブログ:【Python】文字列フォーマット操作

↑のブログ様が詳細に解説してくださってるので、勝手に拝借いたします。
続きを読む

[maya] python:文字列

引き続きMaya Python 完全リファレンスで基礎を勉強中。
下記のサイトも参考にし補足的に閲覧してます。

Python 2.7ja1 documentation
PythonWeb

melを学習したときも本やサイト、ブログとか基礎的な部分を冗長な文章で延々みていると眠くなって全然進みません。
僕は集中力が長く持たないので特にそうです。
かといって理解しないままに次に進むのが嫌で順をおってやりたいタイプなので尚更先に進まないのです…
よく学習法としてわからないものはとりあえずそのまま放置してどんどん進めた方がいいと聞きますが、
僕はもうそれが生理的に無理で駄目です。
なのでこのブログでpythonを扱う記事の順序はだいぶMaya Python 完全リファレンスの流れに近いかもしれません。
しかし内容をコピーすることは全くないですし、ググれば3秒でわかる事を備忘録として残しているだけなので文句を言いには来ないでください。(笑)

話はそれました。
pythonの文字列の扱いについてメモしておきます。
続きを読む

[maya] python:整数の負の除算

Maya Python 完全リファレンスの序盤に基本的な演算子について触れていまして
さらっと流して負の整数の除算の解を求めていたのですがちょっと解答に疑問を感じたので調べました。
まずmelの場合

int $a = -1;
int $b = 2;
int $c = $a / $b;
print $c;

ってやると解答は「0」なんです。

でpythonの場合

a = -1
b = 2
c = a / b
print(c)

ってやると解答は「-1」なんです。
ちょっと理解不能なのでググってみました。

The History of Python.jp:なぜPythonの割り算はC言語と違う方式なのか?
Story of Your Life:【算術演算小話 その二】 負の剰余について
bkブログ:こんなプログラムはいやだ 負の剰余

↑のブログ様がなんとなく参考になりました。
pythonは数値が負の場合ゼロから遠い方向に向けて丸められるようです。
正直あんま理解してませんが言語によって微妙に処理の仕方が違うようですね。

[maya] python:キーワード

Python 言語におけるキーワード、予約語。
変数の名前などに使えない。

and                    as
assert                 break
class                  continue
def                    del
elif                   else
except                 exec
finally                for
from                   global
if                     import
in                     is
lambda                 not
or                     pass
print                  raise
return                 try
while                  with
yield

また下記でリストを確認することも可能

import keyword
for kw in keyword.kwlist:
print(kw)

[maya] python:ビルトイン関数

ビルトイン関数の一覧
Python 2.7ja1 documentation:2.組み込み関数

[maya] python:バージョンの確認

Mayaで使用されてるpythonのバージョンの調べ方。

import sys
print(sys.version)

[maya] mel:コマンドモード

編集モードを使用するには「-edit(-e)」
照会モードを使用するには「-query(-q)」

melにしてもpythonにしてもCreate(作成)、Edit(編集)、Query(照会)と
複数のモードで機能するフラグもあれば特定のモードでしか機能しないものもある。
オンラインヘルプの各コマンドのプロパティを見ることでそれが確認できる。

maya_mel_command_mode_1

C:作成モードで使用可
E:編集モードで使用可
Q:照会モードで使用可
M:複数回使用可

[maya] pythonコマンド:help

半年近く更新していなかった…ブログを毎日更新してる人はすごいですね。
ここ最近はHoudiniは全く触らずMayaで仕事することばかりでした。
とくに勉強することもなく毎日CM案件をこなす事に手一杯な日々を過ごしましたが、
少し時間が取れる案件に次はなりそうなのでまた更新していこうと思います。

新しいことにチャレンジしたいと思い昔ちょろっとかじったpythonを再び勉強しようかと思いました。
目から鱗というかこんなことも知らなかったのですがmelにもpythonにも「helpコマンド」ってあるんですねー。
オンラインヘルプみれば済む話なんでとくに必要でもないですが知りませんでした。

import maya.cmds;
print(maya.cmds.help('polyCube'))

するとフラグだったりが見れたりします。

あとコマンドをハイライトにしRMBをドラッグしたままにした常態で「Command documentation」を選択するとオンラインヘルプに飛ぶことができるみたいです。

maya_python_help_1

とくに書くネタもなかったのでどうでもいいことですが書いておきました!!!!