生きてます

もうめっきりブログを書かなくなって久しいところです。
違う会社に入ったところで頻度は変わりません。むしろ落ちた?
でも無事です生きてます。ご飯食べてます。


書かなくなって久しいこのブログではありますが、まだまだ見てくれている(見てくれていた?)方が多いようで、memlogの小松さんですよね、と言われる機会が大変多いです。ありがとうございますありがとうございます。
その割に有益な情報何も提供出来てなくて申し訳ないですほんとに。

近況報告ではないですが、むしろ今更かよ!って言われると思うんですが、先月のCGWORLDに寄稿させて頂きました。(今更かよ!!)
今月じゃないです。先月です。8月発売の#205です。
有名アーティストがオススメする~、なんつって銘打ってるところに恐縮にも参加させて頂きました。
皆様是非お手に取ってご覧頂けると嬉しいです。出来れば買って下さいw
でも多分もう町の書店には多分ありませんので、バックナンバーを置いてある大きな街の書店で是非!w

このお話を頂いた際、僕は正直あまりプラグインって使わないので困ったなーと思ったのです。
モデラーさんやアニメータさん辺りだとあれこれお気に入りのスクリプトなり何かあれこれあるイメージなのですが、僕はないものはちょろっと書いて対処しちゃうことが多いので、あんまりあれこれないんですよね。
まぁツールにする時間がないからその時その時その場しのぎでなんとかしてるっていうアレな面もあるかもしれませんが、、

なのでちょっと別の切り口からいかがでしょうか?ということでこちらからお願いしてあんな形になりました。

SOuPはちょうど仕事で触れていたのと、弊社のSOuPマスターからあれこれ聞くことが出来たため、その内容をちょろっとアレンジして乗せました。

ほんと便利ですよ、SOuP。
ただしやはりMayaの仕様に足を引っ張られているというとアレですが、あれもこれも一緒くたにコネクトしなきゃいけないとかそういうのは正直ちょっと面倒だなと感じています。
それもこれも普段SOPを使って仕事をしているからだとは思うのですが、やはりやらないといけないことが多い。
その割にやれることも少ないので、ちょっとグギギとなってしまいます。

例えばPointノードでvectorArrayをいじろうと思ってvectorArrayだけ入れてやると何も出力されない。
実はこのノードinGeometryに何かささってないとダメみたいなんですね。
そういうノードがSOuPには結構多くて、これはまさにMayaの仕様に足を引っ張られていると感じました。

で、実はこういうのをちょいちょい書いていたら大幅に文字数オーバーしてしまいましてww
なのであふれたところを少し拾ってみます。

ではまずscatterの話から。
HoudiniではScatterというpoint cloudを発生させるノードを非常によく使うのですが、SOuPにも同等のノードが存在しています。
まさにScatterという同名のノード。その他にmesh2arraysというノードがあります。
この2つ、何が違うのかよくわかっていませんが、mesh上にpoint cloud生成したい場合はmesh2arraysを使ったほうが高機能な気がしました。relaxとか出来るし。

で、ここでpoint cloudを生成して、じゃあこれをいじるぜ!と思ってもダメだったりします。
なぜならこれはただの点群であり、もっと言うとただのvector arrayです。

これに他の情報を付加させるにはジオメトリとしてMayaに認識させることが必要です。
そこで使うのがpointCloudToMesh, pointCloudToCurveなどのノードです。
これらを使うことでMayaにmesh, またはcurveとして認識させることが可能になります。
これらをどう使い分けるのかという話ですが、meshが欲しい時、curveが欲しい時でそれぞれ、、ってのは当然として、
meshだとNormal情報を持つことが出来るのが大きな違いです。
もしかしたら他にもあれこれあるのかもしれませんが、以前しばらくcurveとしてあれこれいじって作業を進めていたのですが、全然思った通りにならなくて、しばらくノードを遡って眺めていた時に思いついてmeshに変更してみたら上手くいったという事がありました。
なのでここも注意が必要かもしれないポイントです。

また、ここでcurveやmeshを作成したからといって、それがそのままシーンに現れるということでもありません。
最終的にpoint cloudの位置など、特定の情報だけを取得したい場合などもあるので、そういう場合はほしい情報だけ取得して問題ありません。
meshにしたからシーンにmeshが出来るわけでもない、というなんともよくわからない話ですが、情報を蓄えるための器としての機能があるから体よく使っているというだけと認識すれば良いのかなと思います。

point cloudを上手く使うとparticleを使用せずにinstancerを扱うことなども出来るためあれこれ便利ですよ!

と、そんなところでしょうかSOuPに関しては。

 
そしてSOuP以外にpymelとAtomをご紹介させて頂きました。

pymelはご存知Mayaのライブラリで、非常に簡単にあれこれ記述が出来ます。
cmdsとは違いちゃんとオブジェクトを使って記述が出来るのがほんとに快適です。

で、これは完全に邪道でPythonistaの方には怒られちゃうやつなのですが、

from pymel.core import *

としてモジュール名とか無しにpymelのコマンドを使う方法が僕的にはおすすめです。

もちろん、ある程度以上大きなツールを書く際にはおすすめしません。
モジュール化してあちこちで使うライブラリであればさらに以ての外です。
ただし僕の用途はやはり捨てスクリプトが多く、タイプ数の減るこの書き方はpymelの記述の楽さと相まって非常に快適です。

とは言ったものcmdsをゴリゴリにラッピングしているため重い処理には向かないという性質もあるので、OpenMayaなどと併用する使い方がおすすめです。
OpenMayaもPythonicではないものの、OOPであれこれかけるので個人的にはcmdsよりは楽なことも多いと感じています。
それにAPI叩く方が速いですし、おすすめです。
API2.0も気になるーーー!

 
最後にAtom。
これはただのテキストエディタなのですが、最近よく使ってます。

僕はここ数年間ずっとvimばっかり使っているのですが、vimだとたまに面倒なケースっていうのがあるんですよね、、
というかゴリッと書きたい時以外はあまり使いたくないというか、、

なので気分転換でAtomを使ってみたんですが、なかなか快適。
Electronで作られているのであまり重いファイル(ゴリッとジオメトリの入ったmaファイルとか)には向かないのですが、開発速度も高く、日々進歩していってる感じがします。
パッケージシステムも便利で、Atom上からMayaやNukeにコマンドが送れるパッケージもあったりします。
それも簡単にインストール出来ますし、ほんとにあれこれ気軽で良いです。

あと最近僕はGistというGitHubのサービスによくスクリプト片をUPしていっているのですが、それもAtom上から行えるパッケージがあって、そこから行っています。

他にもvimっぽい使い勝手にするパッケージや、コードのどの位置が画面に表示されているのかを示すパッケージ、色の入力補助や自動補完等など、、様々なパッケージがある模様です。

最近は昔ほどガチでスクリプトを書いたりしない為、今の用途には非常にマッチしています。
なのでどれか決まったエディタがない方にはおすすめしたい一品です。

Sublime Textみたいだなーと思われる方も多いと思いますが、実際比較されることが多いみたいですね。見た目も似てますし。
僕も試すならどっちが良いかなーなんて思っていたのですが、Sublimeは有料だしAtomで良いか、ぐらいの気持ちで使い始めてみましたw
結果良い感じだったのでSublimeを触ることはありませんでした。
傍目に見てもAtomの方がコミュニティが元気そうだったので、もういいかな、と。

しかし世の中には無料でこういう良いツールが溢れていて、ありがたいなぁと思わずにはいられませんね。

 
と、紙面ではお伝えできなかった情報を書いてみました。
やはりおすすめする以上、こんなにも良いよ!だけよりも使ってみた人の生の感想があった方がいいのかなと思いまして、ブログでフォローアップしたいと思っていたのですが、大絶賛しんでたのでどうやっても無理でしたw
鮮度が命!の現代においてこの速度感はいけませんね。これがサンマだったら腹壊すレベルです(?)

 
さて。
忙しいのが終わったので一旦書いてみたのですが、またすぐ忙しくなりそうです。
前回に引き続き次の案件もまた楽しそうな(でも大変そうな)お話で身が引き締まります。
ありがたいことに現在回は案件多数でフル稼働中です。
なので人員募集などの話も書きたいところなのですが、それはまた別のエントリーとして書こうと思います。

今後ともよろしくお願いしまーす。

コメントを残す

メールアドレスが公開されることはありません。