3D-coatのプリミティブにあるおっさんモデルや手足の素体を、好みの体形に整えた後、筋肉や手のシワなどを細かく書き込みます。
まだ3D-coatの扱いに慣れていない頃、Sculptrisを併用して彫りました。(2枚目以降のスクリーンショット)マイクロ頂点編集とボクセルを行ったり来たりする間にだんだん顔面のディテールがつぶれていきます…全身のバランスや手指の長さは後々弄繰り回されます。
また、顔面に関してはスカルプトモデリングでの口内の作成の難しさ(この時点では唇がくっついてます)、3dcのマイクロ頂点モデリングの特性上、瞼のような薄くて鋭いエッジのある有機的な物を彫るのが難しかったので、顔面はのちにBlender上で一から作成しました。
軍服モデルでは素体は手だけ使用しています。胴体や足部分は半裸や短パンモデルとかを作る時に使う…かもしれません。
よく見るとプリミティブおっさんの面影が残ってるような気がしますね…
スカルプトモデリングソフトで作られたモデルは恐ろしいほどの頂点数で表面のディテールを書き込んでいきます。あの指先のデコボコは全てポリゴンによって表現されています。(3dcは一部異なる方法で同様の表現をしています)
そのためそのままのモデルではMMDどころかBlenderに持っていくのも厳しいので、"リトポロジー"を行って頂点数を減らします。
3dcのリトポロジー機能は強力で自動リトポロジー機能を使えばわりとすばやく(理解に数日かかった)目的の形状を得ることができます。そして、同時にUVも設定されます。リトポされたモデルはそのままメッシュとして出力できます。
UVはマテリアル分けがこの時点で全く理解できていなかったので1枚のUVに展開されていますが、Blender上でマテリアルを分け、UVアイランドを維持してマテリアルごとにパックしました。
1枚目は素体用のトポロジー、2枚目は衣類用のトポロジーです。パーツの分け方、膝や腹のトポロジーが異なっています。
頭もリトポされていますが、結局使いませんでした。
素体を彫った後飽きてしまったのか数か月開いています…。
ついでにデモ版の期限も切れたのでゲーマーお馴染みのSteamでコンシューマー版を購入しました。
公式ページから直接購入するよりも安く、また、Steamなので簡単に買うことができました。お値段約1万円です。
先ほどのトポロジー済みのモデルをBlenderにインポートし、衣類用のモデルを変形しながら衣類を作っていきます。
ここら辺はかなりサクサクと作業が進んでいきました。(以下オブジェクト名のスペルミスを探さないで下さい!)
襟などの厚みのあるものは板ポリゴンに厚み付けモディファイアを使い、靴紐は曲線を使って編んでいきます。(ここら辺でPCがぶっ壊れて発狂しています)
いきなり最近のスクショになります。途中のスクショを紛失したみたいですね。
はっきり言ってポリ割りダメです。マネしない方がいいポリ割りです。何も考えないでやるとこうなります。Nゴンで面を組み立てながらナイフツールやループカットスライドで必要な頂点を出していきます。四角ポリ化はサブサーフに任せ、一部Nゴンを残したままの形状です。赤線はクリース、サブサーフの頂点の鋭さを指定しています。眉毛、睫毛は皮膚と繋がっていませんが、モーフは皮膚も動くように作ってあります。
おすすめ枠のモディファイアは、特に作業をしなくてもノーマル(陰のつきかた)をまろやかにします。便利です。顔面だけ設定してみました。
めちゃくちゃ古いスクショですが、そこそこいいポリ割りができた(当社比)うさぷちゃんの顔面も参考までに置いときます。主な違いは鼻と口です。
カーブを使って作りました。そんなに難しい事はしていない感じです。毛束の本数は100本ちょいでしょうか?2日くらいかけて植えました。(他の作業に比べたらわりと早く終わった方です…)
最終的にこのカーブをポリゴンに変換して使用するのですが、上のスクショを見てわかるように解像度が高すぎます。このままだとポリゴン数がやばい事になります。それにマテリアルも設定されず、マッピングにUVを使用も外れており…このままだと100本の毛束を手動で再設定…は嫌なので物臭系スクリプトをこしらえていっぺんに設定できるようにしました。使い方は次のスクショをご覧ください。
だから何だって話ですが、手動とかしんどい事この上ないのでよかったら使ってください。
バグで無限ループに陥ってPCがただの暖房機になったり、モデルがぶっ壊れても一切関知できませんが…
python、MMDをやりはじめてから初めて触りました。プログラミングってしんどいですね…こっち方向の能力は私にはありませんでした…こんなきれっぱしみたいなコードにもバグを仕込む程度の能力とは重々承知しています…がっくり…
import bpy
import sys
obj = bpy.context.selected_objects
def console( s ):
sys.stdout.buffer.write(s.encode('cp932'))
sys.stdout.buffer.write("\n".encode('cp932'))
sys.stdout.buffer.flush()
if bpy.ops.object.mode_set.poll():
bpy.ops.object.mode_set(mode='OBJECT',toggle=True)
#解像度
res=8
#ベベル解像度
bres=4
#マテリアル名
matname='CurveMesh'
mat = bpy.data.materials.new(matname)
for ob in obj:
if ob.type == 'CURVE':
console(ob.name)
ob.data.use_uv_as_generated=True
ob.data.resolution_u=res
ob.data.bevel_resolution=bres
ob.data.materials.append(mat)
歯ってめんどそうだな?と思ったのですが、サブサーフをかけた立方体の形を弄るだけでそんなに難しくありませんでした。
ちなみに親知らずは全部生えています。
モーフの都合上(?)口内で歯が開いてしまっています。ほぼ不具合ですねこれは…
次章、テクスチャペイント編