2015/09/17

maya : HIKでFKのつま先を選ぶ

いま働かせてもらっている会社は、mayaにてHIKリグでモーションを作ってます。
MotionBuilderと同等の機能を持ちますので、習得において非常に短時間で作業に入れます。
MotionBuilderに比べると非常に激重ですが…(笑)
そのあたりはさておき、作業をしている上でふとした疑問が浮かびました。

『あれ?FKのつま先が選べないのでは…?』

もちろんGUIはIKのつま先ならありますが、FKはありません。
ビューポートにも黄色いリグが見当たらない。

少し調べてみるとHIK Joint AttributesのLookはNoneになっており、Radiusも0が入ってました。

LookをStickにし、Radiusを0.1にしてあげれば、黄色いFKの球が現れます。
これで選べるように一応なりました。

ですが、この方法はまどろっこしいので、ここはシンプルに

FootFKリグを選んで、キーボードの↓を押す。

てのが一番いい方法かなと思いました。

2015/09/11

maya : Point & Orient vs Parent

セットアップにて、骨同士をコンストするのは良くある光景です。
mayaのセットアッパーは、Parentじゃなくて、Point&Orientを
良く多用します。
そこは、Parentでいいのでは…?と思うこともしばしば。
ノード数が多いほうが、処理が重くなるんじゃないかなー?
と思ったので、少し実験してみました。



簡単なスクリプトで、2個ロケーターを出して、1000回それぞれに
コンストして試すと

FPS

1049.1 空のシーン
147.6  Point & Orient Constraint
165.1  Parent Constraint

という結果が出ました。

やっぱりParentのみのほうが軽いですね。
Parentを使ったほうが良さそうです
ヽ(´▽`)ノワーイ♪

2015/08/27

maya : 揺れ物モーションを作るツール YUREMONO.py

公開するのどうしようか迷ったんですが、公開しちゃいます。
髪の毛や服、マントなどの揺れ物モーションを作るツールです。
数珠繋ぎの階層であればほぼ使えます。

現在は、transformとjointノードのみ対応です。



使い方は
1.)
C:\Users\[User]\Documents\maya\scripts
C:\Users\[User]\Documents\maya\[version]\scripts
もしくは
PYTHON_PATHが通っている場所に、YUREMONO.pyを置く

2.)
以下を実行
import YUREMONO;YUREMONO.Execute()

で、UIが立ち上がります。
ヘルプもつけてあるので、見ながらいじってみてください。

Frequencyの値の1/8を目処にElasticityの値をいれれば
なんとなく揺れているような感じになります。

こちらからダウンロードしてください。


2015/08/24

maya : pymelをScriptEditorで日本語を入れて書く方法

久しぶりの記事更新となります。
Softimageが完成したことによる余波で、Mayaへ移籍しました。
やっと一年くらい。主にMotionをやっておりますが、未だにMayaが
やりにくいです(笑)

SIと比べると基本的に出来ることがかなり少なく、ツールを作らないと
使えないソフトという印象があります。
Mayaでも、pymelを使ってツールを作っていってますが、こちらも
環境構造がかなり複雑で、配布ですらとてつもなく敷居が高いものに
なってます。

よくこんなソフト使えるなーと思いつつ、みんな使っているから
仕方なく使うという現実に耐えながら、今回はMayaでpymelに
日本語を入れて書く上で気をつけたほうがいいことを書きます。

pymelを日本語で書いた人なら一度は経験すると思いますが
コーデックの壁にぶち当たるかと思います。


import pymel.core as pm

def t():
    print u"あいうえお"


こんなファイルをttttt.pyとして、scriptフォルダへ入れてmayaを起動させます。

import ttttt
# Error: SyntaxError: file line 1: Non-ASCII character '\x82' 
in file C:/Users/****/Documents/maya/2014-x64/scripts\ttttt.py on line 4,
but no encoding declared; see http://www.python.org/peps/pep-0263.html
for details #

ふぁっきんエラー。

webを見てまわると大体コードの1,2行目に

# -*- coding: utf-8 -*-

の文を書いて、このコードはutf-8で書かれていますとすれば解決します。
なんちゃらなんちゃら。
ということが書いてありますが、MayaのScriptEditorで
保存したものは、コーデックが選べず、恐らくWindows7日本語版なら
cp932というコーデックで保存されます。
ですので、cp932のコーデックなのにも関わらず、このコードは
utf-8で書かれています。と書いてもおかしな結果になるだけです。

なら、コーデックの文章を追加してテキストエディタで
utf-8で保存してやればいけるやろ。



ってことで、この一行を追加して、utf-8で保存します。


mayaを再起動。
もう一度インポートを試みます。

import ttttt
ttttt.t()

これは成功の様子。

しかし、このutf-8コーデックのファイルをScriptEditorで読み込むと

ふぁっきん文字化け。

今の時代なかなか出会えない文字化けですが、mayaでは出会えます。

実は、ここでしばらく諦めていたのですが、なんでもないことで
この問題を解決しました。

コーデックがcp932で保存されるなら、そう指示すればいいのです。
次の一行を変更しました。


# -*- coding: cp932 -*-
import pymel.core as pm

def t():
    print u"あいうえお"


こうすることで、気軽にmayaでpymel日本語を使うことが出来ます。

melだったらこんなこと考えなくてもいいのに…。
ここまで来るのに、一年かかたよorz

これから、mayaのいろんなワナを解除して行こうかと思います。
基本pymelになるかと思いますけど。

Perforce: 複数のワークスペースを更新するバッチ

batを叩けば全部更新。 @echo off set P4PORT=x.x.x.x:xxxx set P4USER=user set P4PASSWD=password echo %P4PORT% echo %P4USER% echo %P4PASSWD% echo %P4PAS...