2018年08月17日

ぱいそんなのです。

LW2015から搭載されたGENOMA2は意外と便利なんです。
でも複数のボーンのプロパティ変更が一度にできないのが不便。特に色が一括で変更できないのが不便すぎ。

という訳で、以前からGENOMA2の仕様がどこかにないか色々と探していたのですが、今になってLWのプラグインフォルダ内のサンプル(plugins/scripts/Python/Layout/Generic/)にある「convert_tags_to_nulls.py」内にヒントを見つけまして。
なんらかのポリゴンタグが埋め込まれてるのは分かっていたものの、タグ名がずっと不明で困っておりましたが、どうやら"GM00"〜"GM10"というタグに入っていることがわかりました。
ということで、ポリゴンタグ情報を読み書きできるPythonで、GENOMA色を一括で変更するスクリプトを作ってみました。
http://handtomouse.sblo.jp/article/184191445.html

今まで使っていたLScriptでは、色々と制約が多く断念していたものも、Pythonだと出来ると分かりましたので、ついでに選択したボーンからウェイトを選択するスクリプトも作りました。
これも昔からずっと欲しかった機能なのですが、むしろ無い訳がない機能だと思いますので、私が知らないだけで他に方法があるのかもしれません。が、まぁPythonのサンプルにはなると思いますので、一応公開しておきます。

しかし、今回初めてPythonを触ってみましたが、配列の扱いが劇的にエレガントですね。
配列処理が必ず絡んでくるCG系のソフトでスタンダートになってる意味がよくわかりました。
カッコがないのも私のように雑に組んでいく人間にはトラブルになりにくくて良いです。

なのにネットで探してもLightwaveのPythonスクリプトが本当に少ない。
結構オススメなので、皆さんも自動処理にぜひ使ってみてほしいと思います。

ただ、ドキュメントが英語のみで、しかもまとまってないんですよねぇ…
とりあえず私は、SDKの文書LWPY、あとOD ToolsのOliverさんのチュートリアルムービーが参考になりました。

タグ:python Lightwave
posted by htmmovie at 13:47| Comment(6) | CG

Lightwave Python Script

Lightwave用のPythonスクリプトです。
ご自由に使用いただいて構いませんが、これらのスクリプトにより何らかの損害が生じても、何ら責任は負えませんので、ご了承の上ご使用ください。
バグ報告や再配布ご希望の際はメールやコメント欄などでご連絡お願いします。
2015で動くものは、もしかしたら11でも動くかもしれません。(私がもう11インストールしてないので試していない) やってみたい人はソースの最初の方にある__lwver__の横を 「= "11"」に書き換えて試してみてください。
あと、Macでしか動作確認してないので、もしWinで動かなかったらご連絡ください。


##########【Modeler Script】##########


・krs_Sel_Sk_Weight (Lightwave 2015 or higher)
Download
選択したスケルゴンに割り当てられているウェイトマップを選択状態にします。
krs_Sel_Sk_Weight.jpg
複数選択した場合、最初のスケルゴンのウェイトが選択されます。
普通のスケルゴンでもGENOMAでも動作します。


・krs_Set_GENOMA_Color (Lightwave 2015 or higher)
Download
選択したGENOMAスケルゴン全てのボーンカラーを一括変更します。
krs_Set_GENOMA_Color.jpg
同時に類似のスケッチカラーを割り当てますが、ModelerのスケッチカラーはLayoutのアイテムカラーより色数が少ないので、一部を近似色で置き換えています。
Modeler上で同じスケッチカラーに見えても、LayoutのCreate RIGで変換した際は、設定したアイテムカラーになります。


・krs Rename Genoma Exp (Lightwave 2015 or higher)
Download
GENOMAボーンのリネームは標準でAdd Prefixなどの機能がありますが、エクスプレッションタグの式を一括で変える機能が無いので作った物です。
krs_renameGenomaExp.jpg
エクスプレッションタグが埋め込まれた GENOMA2ボーンを選択して(複数選択可)実行してください。”[”と”.”を目印にアイテム名を判断してリネームします。


・krs_LayerRename (Lightwave 2015 or higher)
Download
FGで選択しているレイヤーに対し、テキスト追加や連番でリネームできます。
krs_LayerRename.jpg
Modelerで開いている複数オブジェクトのレイヤーを同時に選択しないでください。特に連番で変になります。LWのpythonのAPIの都合でして、回避策を探しましたが解決できませんでした。
<v1.1>先頭と末尾から文字数で削除するモードを追加しました。
<v1.2>連番モードで2桁以上の時に並びが不正になるのを修正しました。

・krs_FGsetVisibleLayer (Lightwave 2015 or higher)
Download
モデラーのレイヤーパネルで可視アイコン(目玉マーク)が付いているものだけをFG選択表示します。
krs_FGsetVisibleLayer.jpg
図面とか作業用のレイヤーがいっぱいある時に便利かも。


##########【Layout Script】##########


・krs_Set_Item_Color (Lightwave 2018 or higher)
Download
レイアウトで複数選択でアイテムカラーを一括変更します。
krs_setItemColor.jpg
シーンエディターでも出来るのですが、ショートカットとか割り当てたい場合に。

・krs_hideItems (Lightwave 2018 or higher)
Download
選択アイテムの表示とアクティブを一度に変更します。
krs_hideItems.jpg
他のあのソフトみたいにトグル、選択のみ表示、選択以外だけ表示、全部表示などが出来ます。


##########【Modeler & Layout Script】##########


・krs_Surface_Rename (Lightwave 2018 or higher)
Download
サーフェイス名を一括でテキスト追加、置換、連番リネームします。
ModelerとLayoutどちらでも使えます。(LayoutはObjectモードでのみ起動)
krs_surfaceRename.jpg
Pythonからサーフェイスエディターで選択したリストを取得する方法が見つけられなかったので、ダイアログにリストを表示する方式にしました。
サーフェイス名は同じ名前が同時に存在できないので、リネームの結果が同じになる場合、2つ目以降が弾かれます。(スクリプトに処理を入れてるのではなく、LWに弾かれます。手抜きすんません)
Lightwave2015でも一応は動いたのですが、リネーム後にサーフェイスエディタの表記が変になったり更新されなかったりする(一度サーフェイスエディタを閉じて開き直せば更新されるのですが)ので、2018専用という事にします。
もし2015で使用したい場合は、ソース内最初の方の「__lwver__ = "2018"」を「= "2015"」に変えれば使えます。(「= "11"」にすればLW11でも使える可能性はあります)


・krs_Save_Schema_Pos_Py (Lightwave 2018 or higher)
Download
スケマティックビューのアイテム位置をファイルに保存します。
krs_saveSchemaPosPY.png
選択したアイテムの子孫全てのスケマティック位置とアイテムカラーを保存します。
選択アイテムのみの保存も可能です。


・krs_Load_Schema_Pos_Py (Lightwave 2018 or higher)
Download
ファイルに保存されたアイテムと同じ名前のアイテムのスケマティック位置をロードして割り当てます。
krs_loadSchemaPosPY.png
こちらは階層をたどるのではなく、保存されている名前と同じ名前のアイテムを探してスケマティック位置とアイテムカラーを割り当てる事に注意してください。

普通に使う分には特に難しく無いですが、キャラバリエーションに対応する機能もつけておりますので、必要な場合は以下をお読みください。
私のキャラクターネーミングルールは
CharaName-L_Leg_A2
の様にキャラ名+ハイフン+ボーン名(アンダーバー区切り)という形式なのでその場合に便利なように作られています。
選択したアイテムにハイフンがある場合、ハイフン以前をSpecific Textとして取得します。(”Satomi-Leg_L”の場合、ハイフン以前の”Satomi-”を取得)
Ignore Specific Textをチェックすると、そのテキスト(”Satomi-”)を無視して読み込みます。
ですので、ベースのリグとして”Leg_L”のようにキャラ名なしでスケマティック位置を保存しておけば、別のキャラでもそのファイルをそのまま読み込むことができます。

あと、コンテントディレクトリ直下に「_schematic」という名前のフォルダがを作り、その中に「standard_RIG.svp」で標準リグ用のスケマティック位置ファイルを保存しておけば、デフォルトでそのファイルが指定されます。
posted by htmmovie at 13:19| Comment(0) | CG

2018年05月24日

Metamorphicがすごい

以前にYoutubeのリンクを載せました、Lightwave2018レイアウトのスカルプト&デフォームプラグインMetamorphicが思った以上に凄いです。
http://jhwerks.com/

ちょっと今余裕がなくて詳しく紹介出来ませんが、スカルプトのアニメーションツールとしても、コレクティブモーフ(関節の変形を補正するためのモーフ)作成ツールとしてもめちゃめちゃ使い易いです。
完成度と安定性も高くて、さらにリリースからの怒涛のアップデートで処理速度もガンガン速くなってるという、買ってすごく嬉しくなるツールですね。



余裕ができたら詳しく紹介できればと思いますが、興味ある人は買って損のないプラグインだと思います。

しかし、ソフトの紹介ばっかりじゃなくて、絵を作らなければ…(^^;)

※ V1.2.9時点ではMac版で ShiftキーでのスムースとControlキーでの反転が動作しません。あと、タブレットの筆圧も今の所Windows版のみです。
タグ:Lightwave LW2018
posted by htmmovie at 19:31| Comment(0) | CG

2018年04月04日

LW2018.0.3 FiberFXのツヤ髪

Lightwave2018.0.3が出まして、少し前にバグレポートしていた「FiberFX+HDRI背景でつやつやの黒髪設定にするとメタリックのヘルメットみたいになる」のが修正されておりました。
ShinyBlackHair_blog.jpg
相変わらずGlossinessを100にすると急にメタリックになりますが、まぁ回避可能ということで。

サンプル画像で、前髪以外のツヤがキレイでないですが、ここはこれから私の方で要改善ということで。(MAYAのアーノルドでも同じストランド+同じHDRI背景で頭頂部が白くなるので、ストランドの形状が問題かも)

正直2015までは「遅い・汚い・落ちる」の三拍子で使い物にならなかったFiberFXですが、LW2018ではクラッシュもせず安定しているし、質感もいい感じに出そうなので、実戦で使えそうな雰囲気です。
私の場合、黒髪ができないと使いどころがなかったので、このバグが直ったことでようやく色々試していこうと思っております。

それにしても2018のバグフィックスは凄く精力的です。
そして日本語サイトにもフィックスリストができて、信頼感アップです。
http://www.dstorm.co.jp/lw2018/changelist.html
他のユーザーの皆さんも、直して欲しいバグはどんどこ送りましょう!
タグ:Lightwave LW2018
posted by htmmovie at 09:53| Comment(0) | CG

2018年04月03日

Lightwave2018.0.3 HDRI背景

ちょっといろいろ忙しくて書きたいけどなかなか書けませんでしたが、Lightwave2018でのHDRIを使った場合のお話いろいろです。
ただ、私も完全に理解しているか怪しいので参考までに。

サンプルとして、NullにShapeで球と地面の板(プレーン)を作りました。
0.jpg

地面のプレーンにはShadow Catcherを当てております。

まずはHDRIをBackdropのTextured Environmentから、Sphericalで貼り付けます。
読み込むと暗く見えると思いますので、Image Editorにてガンマ値を2.2にあげます。
01.jpg

さらに、なぜかマップは外側から貼られますので、カメラで見ると左右逆になってます。
Width Wrap Amountを-1.0にすることで、内側から見て正常な環境マップになります。


次に注意は2018から搭載されたEnvironment Lightです。
HDRIでライティングをするためにはこのEnvironment Lightを作成するのですが、これだけでは直接光の影が落ちないので、これにDistant Lightを追加します。
実はここで問題が出まして、球をMetaric100%にしてレンダリングすると、シャドウキャッチャーを当てた地面が暗くレンダリングされてしまいます。
↓こんな感じ
A-Env+Distant.jpg

これはバグだろうということでレポートしたのですが、回答が帰ってきまして、「反射にTextured Environmentの環境マップと、Environment Lightのダブルで効果がかかってるから、サーフェイスのReflection Optionを“Raytrace Only”にしてちょ」ということでした。
A0.jpg

ということでそのようにしたところ、シャドウキャッチャーが見えちゃうのが回避できました。
B.jpg

ちなみに、暗く見えていた画像では、ダブル効果のせいで明るすぎたため、サーフェイスの色はグレーにしていましたが、対策後のものは白にしています。

正直、Textured Environmentをオンにしただけで反射への影響やGI効果がちょっと有るのに、さらにEnvironment Lightが必要というのはすごくわかりにくい仕様だと思いますし、その回避のためにサーフェイスで対策が必要なのはあまりエレガントとは言えません。
(4/7追記:さらに現状Environment LightのIntensityは1.0lxでしか使えません。明るくしたくてこの値を上げると、シャドウキャッチャープレーンがまた暗く見えてきます)
そのあたり追加で報告しておきましたが、現状の回避方法ということでお伝えしておきます。

LW2018のHDRIに関しては、オブジェクトや影の色が環境マップの色の影響を受けすぎるとか、HDRIの光源としての効果が弱いとか、諸々の問題もあるのですが、これはまとめて報告しておいたので、将来改善されることを望みたいと思います。
タグ:Lightwave LW2018
posted by htmmovie at 22:26| Comment(0) | CG