制作日記
前回の更新から2ヶ月ほど空きましたが、MODOを購入しずっとMODO処女作の制作に取り掛かっています。まだまだ機能の10%ほども使いこなせてないと思いますが、思いの外早く手に馴染んでいってくれてます。
MODO & Marvelous Designer
今日はずっとMarvelous Designer(MD)とMODOの連携を試していました。MDで作ったobjのMODOへのインポートとリトポの過程上の記事が大変参考になりました。共有ありがとうございます!
参考記事
独自に調べた点は以下の通り
上の記事とほぼ同じ手順の海外の方の動画。服のパターンの外周部分を残しつつブリッジでリトポしていくのが参考になりました。
- もっとリトポを簡単にしたい
- MDの粒子間隔が出力メッシュの頂点数に影響することに気づく
- 間隔を大きくするとシミュレーションは粗くなりますが頂点数も減ってリトポしやすくなります
髪の試行錯誤
ここ2ヶ月はMODOを試運転しながら、顔のバランス調整と、髪を作るフローを色々と試してました。
[ZBrush] ZSphere
- 大まかな形を作るのは便利。数が増えると途中からZSphereの配置が難しくなる
- 髪の流れは一番つけやすい
- skin化後の加工が難しめ
[ZBrush] 各種ヘアブラシ
- 一番直感的で好きな方法だけど、ぱっつんの前髪みたいな短冊型の髪の場合後処理がやや難しい
- 短冊用のブラシを自作すればいいかもしれない
[MODO] ファー
- 直方体オブジェクトのエッジをカーブに変換してファーのガイドとして使用するパターンを試しました
参考記事
この方法は自分の環境ではとにかく動作が重くて調整に時間がかかりすぎたので諦めました。
[MODO] ベベル
- トポロジペン→厚み→ベベル
- シンプルですが、最終的にはこれが一番作りたいものの路線に合っててしっくりきました
MODOスクリプト
まさかMODO内にスクリプトエディタが備わっているとは思いもせず感動しました。メタセコのSelectXシリーズをやりたかったので他のスクリプトを真似しつつ少し書いてみてます。下に挙げたものは基本的なやつで、X座標が負の頂点を選択するスクリプトですが結構よく使ってます。
select_half.py
import lx fg = lx.eval("query layerservice layers ? fg") verts = lx.eval("query layerservice verts ? all") if verts is None: lx.out("No geometry") else: for v in verts: pos = lx.eval("query layerservice vert.pos ? {0}".format(v)) if pos[0] <= -0.00000001: lx.eval("select.element {0} vertex add index:{1}".format(fg,v))
これは確か公式のスクリプト置き場かどっかで見つけたやつを逐次実行でテストしながら簡単にしたやつです。見て分かる通り、eval祭りでpythonの意味ないじゃんって感じがあります。evalするぐらいならluaとかで直接実行した方が処理も速そうだし。
と思いながら色々調べてたらTD SDKっていうのを見つけました。
MODO’s TD SDK documentation — MODO TD SDK 0.0.1 documentation
あまり調べる余裕が今はないのでそのうちやろうと思いますが、python,perl系のスクリプトをこれで全部書き換えれば幸せになれそうな気がしますね。
トゥドゥ
ブログの更新滞ると、一度に書く内容多くなりすぎて駄目な感じ。