Blenderでリトポロジー作業をする際の、いくつかの小ネタを解説します。
もくじ
リトポ向けのアドオン
いくつかあるので、便利なものは使うと効率的になる。
手にあまるようであれば分かる範囲でよい。
特にIce Tool がおすすめ。
※の付いたものはデフォルトでBlenderに入っているので、検索してチェックをオンにすること。
- リトポロジー用の空のオブジェクトを作成する
- ハイポリオブジェクトの表面上に吸着させる(Shrinkwrap Update)
- グリースペンシルのストロークにより、ポリゴンを作成する
- リラックスによりトポロジーを美しくする
F2 ※
- Fキーでの面貼りを強化をする(連続で実行したりなど)
- リトポロジー用の様々な機能がまとめられたアドオン
- CurveStretchにより、選択した頂点の流れを整える
リトポの事前設定
リトポロジー作業を始める前に、BSurfaceアドオンのためにいくつか設定しておかなければならないことがある。
1.グリースペンシルの描画設定をサーフェスにする
グリースペンシルを描画する方法を、ハイポリオブジェクトの表面上にする。
- 左側のツールシェルフ >
- グリースペンシル >
- ストロークの設定 >
- サーフェス
2.グリースペンシルをオブジェクトに設定する
- 右側のプロパティパネルシェルフ >
- グリースペンシル >
- オブジェクトに切り替える
3.リトポ用オブジェクトを作成する
- ハイポリオブジェクトを選択し、Ice Tool でリトポ用テンプレオブジェクトを作成
- ハイポリオブジェクトを選択 →
- Ice Tool で作ったリトポ用オブジェクトを選択し、アクティブにする(シュリンクラップ アップデートではハイポリオブジェクトが選択されていることが必要なため
リトポ作業の基本的な流れ
基本的にBSurfaceを利用し、Ice Tool の Shrinkwrap Updateで吸着させるという作業を繰り返して作っていく。
さらにトポロジーをより美しくしたい場合は、Loop Tool のリラックスを使って整えていく。
- BSurfaceによりポリゴンを作成する
- Shrinkwrap Updateによりハイポリオブジェクトの表面に吸着させる
必要であればプロポーショナル編集や手動で修正
さらに美しくしたい場合↓
- タテ・ヨコ別々にエッジを選択し、リラックスでポリゴンの流れを美しく整える
- エッジを選択
- リング選択
- ループ選択
- loop toolのRelaxを何度かかける
細かな注意点
リトポの際のいくつかの注意点を上げる。
BSurfaceでやりにくい所
BSurface ではやりにくい箇所は出てくるので、その際は無理に1つのツールで作らず、別の方法でポリゴンを作っていく。
- F2
- 押し出し
筒状のリトポ
腕などの筒状の場合は円を作ってから「押し出し」により作った方が早い。
穴を埋める
- BSurfaceでまわりを作成
- 内側をFill(Alt + F)、調整
- Relax
頂点の結合
普通のモデリングの場合は、ヘッダー右の方にある「重なった頂点の自動結合」でやるのが早いのだが、リトポ時はハイポリオブジェクトと重なってうまくスナップすることができない。 そのため、2つの頂点を選択し、『中央に結合』を使い結合する。
ワイヤーフレームを表示する
ワイヤーフレームを表示することで、他のオブジェクトのトポロジーも確認しながら作業する
- プロパティ >
- オブジェクト >
- 表示 >
- ワイヤーフレームのチェックを入れる
- ※ 複数のオブジェクトを一括で設定する場合は、 Altを押しながらチェックを入れる
Bsurfacsの設定をいじって効率化する
アドオン内部のソースコードをいじることにより、Bsurfacsでの作業をより快適にすることができる。
1. BSurfacesの内部をいじり、エッジ数の初期値を減らしておく
デフォルトの設定では分割数が多すぎて、必要以上に細かくなってしまう。毎度調整してもよいが、内部を適切な値にしておくと、多くポリゴンを割かなくて済む。
- 2970行あたりの、『edges_U』と『edges_V』の値を、10,3,10から3,2,3にする
修正前
self.edges_U = 10 if self.loops_on_strokes: self.edges_V = 3 else: self.edges_V = 10
修正後
self.edges_U = 3 if self.loops_on_strokes: self.edges_V = 2 else: self.edges_V = 3
2. グローバルアンドゥのチェックが外れる問題を修正
BSurfacesは、実行を失敗するとグローバルアンドゥ(やり直し機能)のチェックが外れるという『仕様』になっている。
そのため、気づかない内に失敗のやり直しができなくなっていて、データを喪失するおそれがある。
『bpy.context.user_preferences.edit.use_global_undo』を検索し、Falseの部分をTrueに修正する
修正前
bpy.context.user_preferences.edit.use_global_undo = False
修正後
bpy.context.user_preferences.edit.use_global_undo = True
その他
ちょうど参考になるリトポ動画があったのだが、2019-10-01時点では削除されてしまった。