ニッチなblender手記

世の中には自分に似た人が3人いるとされています。その人達へと情報共有するために主にblenderの記事を書いていきます。

loose usage about hardOps (hops sort tests)

主旨

hardOps の hops sort 機能の挙動が気になったのでテストしてみた結果の記事です。

本編はこっち

minorblender.hatenablog.com

ソートルール実験

読んでもルールが分からないので、観察してみることに。
観察方法は パターン網羅 で行う。
全て off の場合はソートなしと同じなので、まずは当然のように全ての条件を on にする。

テストケース1:全部のせパターン(昇順)

まずは全てのモディファイアを、 オプション設定の順序に沿って 積み上げる

f:id:r9aArrowhead:20201014140904p:plain

f:id:r9aArrowhead:20201014140910p:plain

f:id:r9aArrowhead:20201014140922p:plain

f:id:r9aArrowhead:20201014140928p:plain

f:id:r9aArrowhead:20201014140935p:plain

処理前後のスタック部分だけ抜粋。

f:id:r9aArrowhead:20201014140944p:plain

f:id:r9aArrowhead:20201014140940p:plain

上の結果から確実に判明した部分だけを記載すると、以下の通り。

  • Cast モディファイアは HardOps経由のboolean を実行すると、最初に実行する
  • boolean モディファイアは Cast モディファイアよりも後に実行する
  • Sort と Sort Lastに指定したモディファイアは、boolean モディファイアの後へとソートされている
  • Weight Normal モディファイアは最後に実行する

その他にはソートや Last Sortの On / Offで変わる可能性はあるが、全部のせからは判断できない。

テストパターン2:全部のせパターン(降順)

次は全てのモディファイアを、 オプション設定とは逆の順序に沿って 積み上げる。

f:id:r9aArrowhead:20201014140949p:plain

f:id:r9aArrowhead:20201014140955p:plain

f:id:r9aArrowhead:20201014141001p:plain

処理前後の比較

f:id:r9aArrowhead:20201014141011p:plain

f:id:r9aArrowhead:20201014141006p:plain

上の結果から確実に判明した部分だけを記載すると、以下の通り。

  • Cast モディファイアは HardOps経由のboolean を実行すると、最初に実行する
  • boolean モディファイアは Cast モディファイアよりも後に実行する
  • Sort と Sort Lastに指定したモディファイアは、boolean モディファイアの後へとソートされている
  • Weight Normal モディファイアは最後に実行する

テストパターン3:Arrayのみソート(昇順)

まずは Sort Modifier のみ確認していく。

array のソートについては以下の法則が記述されている。

sort array - ensures array is last so it shows booleans in all subparts

では実験

f:id:r9aArrowhead:20201014141016p:plain

f:id:r9aArrowhead:20201014141022p:plain

f:id:r9aArrowhead:20201014141032p:plain

f:id:r9aArrowhead:20201014141028p:plain

処理前後から確実に分かる内容は以下の通り

  • Cast モディファイアは Sort に関わらず HardOps経由のboolean の前に配置された
  • Array モディファイアは Sort と Sort Last の影響を受けて 後ろにソートされた
    • Sort Last を選択したモディファイアであっても、必ず最後になるわけではない
  • Weight Normal モディファイアは最後に実行する

テストパターン4:Arrayのみソート(降順)

テストパターン3とはモディファイアの順序を逆にして実行する。

f:id:r9aArrowhead:20201014141037p:plain

f:id:r9aArrowhead:20201014141045p:plain

f:id:r9aArrowhead:20201014141055p:plain

f:id:r9aArrowhead:20201014141050p:plain

処理前後から確実に分かる内容は以下の通り

  • Cast モディファイアは Sort に関わらず HardOps経由のboolean の前に配置された
  • Array モディファイアは Sort と Sort Last の影響を受けて 後ろにソートされた
    • Sort Last を選択したモディファイアであっても、必ず最後になるわけではない
  • Weight Normal モディファイアは最後に実行する

テストパターン5:Arrayのみソートで Sort Lastはしない(昇順)

次は Sort Last を外して Sort Modifier だけの状態にした Array モディファイアを確認していく。

f:id:r9aArrowhead:20201014141100p:plain

f:id:r9aArrowhead:20201014141107p:plain

f:id:r9aArrowhead:20201014141118p:plain

f:id:r9aArrowhead:20201014141112p:plain

処理前後から確実に分かる内容は以下の通り

  • Cast モディファイアは Sort に関わらず HardOps経由のboolean の前に配置された
  • Weight Normal モディファイアは最後に実行する

挙動から不明な点が一つ

  • Sort Last を選択していないにも関わらず、 Sort 対象となった Array モディファイアが後ろにソートされた
    • HardOpsの Array ソートルールに従えばあっているようにも見えるが・・・?

テストパターン6:Arrayのみソートで Sort Lastはしない(降順)

次は テストパターン5の逆パターン。

f:id:r9aArrowhead:20201014141122p:plain

f:id:r9aArrowhead:20201014141129p:plain

f:id:r9aArrowhead:20201014141140p:plain

f:id:r9aArrowhead:20201014141135p:plain

処理前後から確実に分かる内容は以下の通り(テストパターン5と同じ)

  • Cast モディファイアは Sort に関わらず HardOps経由のboolean の前に配置された
  • Weight Normal モディファイアは最後に実行する

挙動から不明な点が一つ(テストパターン5と同じ)

  • Sort Last を選択していないにも関わらず、 Sort 対象となった Array モディファイアが後ろにソートされた
    • HardOpsの Array ソートルールに従えばあっているようにも見えるが・・・?

テストパターン7:全てのモディファイアをソートし、 全てのモディファイアのSort Lastはしない(昇順)

テストパターン5およびテストパターン6で発生した不明点の確認ケース。
全てのモディファイアをソートする条件下でもArray モディファイアがWeigh Normal を除いた最後へと配置されるのかテスト。

f:id:r9aArrowhead:20201014141145p:plain

f:id:r9aArrowhead:20201014141152p:plain

f:id:r9aArrowhead:20201014141202p:plain

f:id:r9aArrowhead:20201014141158p:plain

処理前後から確実に分かる内容は以下の通り(テストパターン6と同じ)

  • Cast モディファイアは Sort に関わらず HardOps経由のboolean の前に配置された
  • ソートを選択したモディファイアは全て後ろにソートされた
  • Weight Normal モディファイアは最後に実行する

ここまでから推測できる内容は以下の通り

  • boolean を実行すると、 booleanモディファイアを一番最後に配置する
    • これはblenderの通常仕様と同等なので、仕様通り
  • boolean を実行した際、 Cast モディファイアがあればそれをbooleanの直前へ並び替える
    • これは HardOps のソートルール通り
  • Sort Modifier でソートを On にしているモディファイアは、 boolean の後へと回される
    • テストパターン5、テストパターン6、テストパターン7の結果から判断
    • ソート対象とした場合とそうでない場合で boolean 実行後の並び順が変わったため

テストパターン8:Sort 設定の奇数は On、偶数は Offにする、全てのモディファイアのSort Lastはしない(昇順)

テストパターン7から、ソートは モディファイアに関係なく Onならば booleanの後、Offならば移動なし となるのではないかと推測したためテスト。

ちなみに奇数をOn にしたのは、Weight Normalが偶数番号の設定だったため。 これをoff に含めた場合も順番はそのままか見たかった。

f:id:r9aArrowhead:20201014141206p:plain

f:id:r9aArrowhead:20201014141212p:plain

f:id:r9aArrowhead:20201014141222p:plain

f:id:r9aArrowhead:20201014141218p:plain

処理前後から確実に分かる内容は以下の通り(テストパターン6と同じ)

  • Cast モディファイアは Sort に関わらず HardOps経由のboolean の前に配置された
  • ソートを選択したモディファイアは全て後ろにソートされた
    • このことから、 Sortで選択したモディファイアは、 boolean モディファイアの後へソートされる と分かる
  • Weight Normal モディファイアは最後に実行する
    • Sort の選択 On / Off には関わらない

テストパターン9:全てのモディファイアをソートし、 全てのモディファイアのSort Lastはしない(順不同)

これまでのテストから、ソートを on にしたモディファイアは boolean 実行後、 boolean モディファイアの後ろにソートされるのが分かっている。
しかし、複数の対象が存在する状態でソートを実行した時に、モディファイアの並び順は実行前と同じであるかは観察できていない。

このテストパターンでは、それを確認する。

f:id:r9aArrowhead:20201014144725p:plain

f:id:r9aArrowhead:20201014144730p:plain

f:id:r9aArrowhead:20201014144739p:plain

f:id:r9aArrowhead:20201014144735p:plain

処理前後から確実に分かる内容は以下の通り

  • Cast モディファイアは Sort に関わらず HardOps経由のboolean の前に配置された
  • ソートを選択したモディファイアは全て後ろにソートされた
    • このことから、 Sortで選択したモディファイアは、 boolean モディファイアの後へソートされる と分かる
  • Weight Normal モディファイアは最後に実行する
    • Sort の選択 On / Off には関わらない
  • Cast, Weight Normal といった特殊なルールに従うモディファイアを除き、ソートを選択したモディファイアはソート前の順序を守っている
    • このことから、パネルの並びと実際のモディファイアの並びに関連性はないことが分かる

テストパターン10:Sort Modifier を Offにした上で全てのモディファイアをSort 設定をonにし、 全てのモディファイアのSort LastをOnにする(昇順)

ここまでのテストで、 Weight Normal モディファイアはソートの On / Off に関わらず、boolean 実行後は最後にソートされる ことが分かっている。

しかしこれまでは ソートの Off はパネルのみで実行してきた。
ソートを Off にする方法は Sort Modifier のチェックボックスを Off にすることでも選択できる。

このテストパターンでは、 Sort Modifier のチェックボックスを Off にした状態を観察する。
ただし、通常のUI設計から考えれば親元の sort modifiers の on にしなければ 詳細設定は参照しないはずなので、詳細設定側は全て On にする。

設定から考えれば、チェックボックス Off でもWeight Normal がソートされた場合はバグに近いわけだけど・・・

f:id:r9aArrowhead:20201014144744p:plain

f:id:r9aArrowhead:20201014144749p:plain

f:id:r9aArrowhead:20201014144753p:plain

f:id:r9aArrowhead:20201014144802p:plain

f:id:r9aArrowhead:20201014144758p:plain

処理前後から確実に分かる内容は以下の通り

  • Cast モディファイアは Sort に関わらず HardOps経由のboolean の前に配置された
  • 詳細設定で全て ON にしていたソートは、 一部の例外を除いて Sort Modifiers をOff にすると実行されない
  • sort modifiers の選択 On / Off には関わらず、Weight Normal モディファイアは最後に実行する

テストパターン11:Sort Modifier を Offにした上で全てのモディファイアをSort 設定をoffにし、 全てのモディファイアのSort LastをOffにする(昇順)

テストパターン10の結果が予想と大きく異なっているため、それの確認を行うテスト。

UI設計的には親の設定の On / Off があれば子の設定はそれに影響を受ける。
しかし、Cast および Weight Normal モディファイアは Sort Modifiers の設定に関わらずソートが発生した。

ここでのテストは、子の設定も全て off にしても上記2つのモディファイアはソートが発生するかの確認を行うためのテストとなる。

f:id:r9aArrowhead:20201014144806p:plain

f:id:r9aArrowhead:20201014144812p:plain

f:id:r9aArrowhead:20201014144817p:plain

f:id:r9aArrowhead:20201014144827p:plain

f:id:r9aArrowhead:20201014144823p:plain

処理前後から確実に分かる内容は以下の通り

  • Cast モディファイアは Sort に関わらず HardOps経由のboolean の前に配置された
  • 詳細設定で全て Off にしていたソートは、 一部の例外を除いて Sort Modifiers をOff にすると実行されない
  • sort modifiers の選択 On / Off には関わらず、Weight Normal モディファイアは最後に実行する

テストパターン12:全てのモディファイアが必ず複数個存在し、全てのモディファイアをソートし、 全てのモディファイアのSort Lastをする(昇順)

ここからは別パターンのテスト。
ソートの対象となるモディファイアが複数個存在した場合、ソートはどのような挙動をするかのテスト。

f:id:r9aArrowhead:20201014144831p:plain

f:id:r9aArrowhead:20201014144837p:plain

f:id:r9aArrowhead:20201014144847p:plain

f:id:r9aArrowhead:20201014144843p:plain

処理前後から確実に分かる内容は以下の通り

  • 多重化しているモディファイアは、一つだけがソートの対象となる
  • sort modifiers の選択 On / Off には関わらず、Weight Normal モディファイアは最後に実行する
    • このモディファイアのみ、多重化は関係ない。 存在する全ての Weight Normal モディファイアは最後に回される

もしかすると、モディファイアのスタック内に同一種が複数あることは想定していない?

loose usage about hardOps (W.I.P)

注意

現在進行形で記事更新中

この記事はまだ調査中の内容を含んでいるが、モチベと記憶のキューから飛び出さない内に現在までで調査した内容をメモとして残す。

概要

一言で言えば ハードサーフェイスモデリングでよく使う処理を簡略化してくれる アドオン。

そのため、ブーリアンモデリング処理やエッジ処理に特化している。
同じ作者が公開している boxcutter とは機能を相互補完するが、それぞれ単品でも操作に不自由はない。

とはいうものの、二つセットでバンドル販売されているので資金的に余裕があるなら買って損はしない。 少なくとも boxcutterの購入によって、本アドオンの CSharp 機能の利便性はかなり変わる。

注意

これは hardops の全機能を網羅的に紹介するものではなく、基本的な操作方法をその設定内容のみ記載している。
また、ブーリアンモデリングやハードサーフェイスモデリングの手法についても記載はしない。

もしこの記事を見てより高度な操作を覚えたいという場合は下記の公式リンクや紹介動画を参照することをお勧めする。

利用バージョン

0.9.86.17 (MercuryX)

販売サイト

Gumroad - Hard Ops / Boxcutter Ultimate Bundle (2.8)

Blender Market - Hard Ops / Boxcutter Ultimate Bundle

HardOps と BoxCutterのバンドル販売。個別に購入するより安く購入できる

Gumroad - HardOps

Blender Market - HardOps

参照

公式ドキュメント

youtube - HOPSCutter

利点

  • アドオンとしての歴史が長いため、基本的な操作が非常に安定している
  • ブーリアンモデリングとハードサーフェイスモデリングに必要な手続きをほぼ網羅しているため、細々としたアドオンを入れる必要がなくなる。
  • アップデートペースが早いため、最新のblender(β版にさえ)対応する
  • boolやエッジ関係の処理を一括でやってくれるので、モデリングが捗る

欠点

  • オーガニックなモデリングのアドオンとしては向かない
  • 開発者によって改良が進んでいるため、機能の追加や修正が頻繁に行われている。一見欠点のように思えないかもしれないが、頻繁なアップデートは追加・修正・削除される操作も頻繁であるためある日突然操作が変わる可能性が大きくなる
  • もはやアドオンというよりはプラグインとかblenderのフォーク版みたいな操作性となっていて、バニラ状態のblenderから大きくワークフローが変わる
  • 色んな操作をワンステップにまとめているため、本アドオンを使い慣れるとアドオンが入っていない環境で作業する際には混乱するかもしれない

その他

ツールの内容とか説明そのものではないが、 公式ドキュメント - Boolean Tipsブーリアンモデリングのコツを記載しているので一読の価値がある。

基本操作

起動方法

f:id:r9aArrowhead:20201014141551p:plain

f:id:r9aArrowhead:20201014141556p:plain

f:id:r9aArrowhead:20201014141601p:plain

f:id:r9aArrowhead:20201014141606p:plain

f:id:r9aArrowhead:20201014141611p:plain

f:id:r9aArrowhead:20201014141617p:plain

f:id:r9aArrowhead:20201014141622p:plain

f:id:r9aArrowhead:20201014141628p:plain

f:id:r9aArrowhead:20201014141633p:plain

Sharpening

hardops のシャープ処理は SSharp CSharp に大別できる。

blender固有の用語ではないので先にこれらの違いを書くと、それぞれが以下の役割となる。

  • Sharp : shortened Sharp。お手軽シャープ処理。Shading のシャープ処理。だから S(hading) Sharp
  • CSharp: コーナーのシャープ処理。だから C(orner) Sharp

SSharp と CSharp の大まかな処理の差異

双方の処理の説明が長くなるので、先に両者の差異を記載する。

共通の注意事項

どちらも処理実行後は少なからずメッシュが破壊される

これは hardops の Sharpennig がオブジェクトに対してではなく、メッシュに対して実行する仕様となっているため。 完全な非破壊作業とはならないので、特にブーリアンモデリングで作業している時は実行タイミングに注意すること。

シーケンス

以下の設定は SSharp CSharp 共に共通の設定となっており、処理内容も共通している。

  • Additive Mode
  • Sharpness
  • Global
  • Auto Smooth Angle

上記の共通処理については 本家に処理シーケンスが記載されているので、まずは原文を引用する。

  1. sharpness
  2. edge angle to witch sharpening is applied - default 30
  3. auto smooth angle
  4. value for autosmoouth angle for selected object - default
  5. additive mode
  6. ON - apply defined sharpness and keeps other already existing sharp edges
  7. OFF - clears all sharp edges before applying its own sharpness
  8. global
  9. ON - ensures the options set here will be repeated next time
  10. OFF - uncheck this to use these setting only once this instance.

日本語的には以下のようになる。なお、固有名称のそれぞれの挙動については後述。

  1. SSharp or CSharp実行
    1. それぞれの処理については、後述
  2. エッジ角度がプロパティの Sharpness に設定している角度以上の場合は エッジ立てるための設定を追加する
  3. オートスムージング実行
    1. Auto Smooting Angle で設定している値でオートスムーズを設定する
  4. additiveオプションの実行
    1. ONの場合、処理を実行する前にオブジェクトへ設定していたエッジウェイト等の情報を残したままにして、ウェイト設定を追加する。
    2. OFFの場合、処理実行前に設定していたエッジウェイト等の情報を削除し、ウェイト設定を追加する。
  5. globalオプションの実行
    1. ONの場合、 今回設定した Auto Smooth Angle を次回以降も引き継いで利用する
      1. より正確には、 Auto Smooth Angle のグローバル設定を変更する
    2. OFFの場合、今回の設定の内容は引き継がずに処理する
      1. Auto Smooth Angle のグローバル設定を変更しない

SSharp

シーケンス

SSharp のシーケンスも 本家 にて公開されている。

  • set shading to smooth from flat
  • enables autosmooth / sets angle to 60
  • marks edges as crease / sharp / seam / bevel weight based off of sharp parameter.

日本語的には以下のようになる。

  • シェーディングを smooth へ変更する
  • autosmooth -> Angle を hardops の autosmooth で設定している値にする
  • パラメータ(Sharpness)に合わせて crease / sharp / seam / bevel weight を実行する

操作

f:id:r9aArrowhead:20201014141227p:plain

f:id:r9aArrowhead:20201014141232p:plain

f:id:r9aArrowhead:20201014141237p:plain

f:id:r9aArrowhead:20201014141242p:plain

f:id:r9aArrowhead:20201014141247p:plain

f:id:r9aArrowhead:20201014141252p:plain

f:id:r9aArrowhead:20201014141258p:plain

f:id:r9aArrowhead:20201014141303p:plain

f:id:r9aArrowhead:20201014141309p:plain

f:id:r9aArrowhead:20201014141314p:plain

f:id:r9aArrowhead:20201014141319p:plain

f:id:r9aArrowhead:20201014141325p:plain

f:id:r9aArrowhead:20201014141330p:plain

f:id:r9aArrowhead:20201014141335p:plain

f:id:r9aArrowhead:20201014141340p:plain

f:id:r9aArrowhead:20201014141345p:plain

f:id:r9aArrowhead:20201014141350p:plain

f:id:r9aArrowhead:20201014141355p:plain

f:id:r9aArrowhead:20201014141400p:plain

f:id:r9aArrowhead:20201014141406p:plain

f:id:r9aArrowhead:20201014141412p:plain

プロパティ

CSharp

基本的な処置はSSharpと変わらないが、 処理の大前提としてboolモディファイアを使っているオブジェクトが対象 な点に注意。
つまりは、ブーリアンモデリングをしているオブジェクトに対して実行する機能。

シーケンス

CSharp のシーケンスも 本家 にて公開されている。
CSharp の処理は本家の画像がかなり分かりやすいのでそっちを参照した方がいい。

  • set shading to smooth from flat
  • enables autosmooth / sets angle to 60
  • marks edges as crease / sharp / seam / bevel weight based off of sharp parameter.
  • applies boolean modifiers and other non hard surface modifiers
  • adds a bevel modifier (segements: 3 / profile 0.7 / weight not angle)
  • sets menu behavior to be for objects that are bevelled via changing sstaus

f:id:r9aArrowhead:20201014141417p:plain

日本語的には以下のようになる。

  • シェーディングを smooth へ変更する
  • autosmooth -> Angle: を hardops のautosmoothで設定している値にする
  • パラメータ(Sharpness)に合わせて crease / sharp / seam / bevel weight を実行する
  • 選択したオブジェクトに boolean モディファイアを適用 (Apply) して、bool処理を確定する
    • ここでメッシュが破壊される点に注意
  • bevel モディファイアを segements: 3 / profile 0.7 / weight not angle で適用する
    • bevel モディファイアは設定で適用するかどうかを変更可能
  • sstaus を利用して CSharp を実行したオブジェクトにメニューをセットする
    • Csharpを実行した時に左下にプロパティを表示するということ

操作

f:id:r9aArrowhead:20201014140739p:plain

f:id:r9aArrowhead:20201014140744p:plain

f:id:r9aArrowhead:20201014140749p:plain

f:id:r9aArrowhead:20201014140753p:plain

f:id:r9aArrowhead:20201014140800p:plain

f:id:r9aArrowhead:20201014140805p:plain

f:id:r9aArrowhead:20201014140811p:plain

f:id:r9aArrowhead:20201014140816p:plain

f:id:r9aArrowhead:20201014140822p:plain

f:id:r9aArrowhead:20201014140828p:plain

f:id:r9aArrowhead:20201014140833p:plain

f:id:r9aArrowhead:20201014140839p:plain

f:id:r9aArrowhead:20201014140845p:plain

f:id:r9aArrowhead:20201014140852p:plain

f:id:r9aArrowhead:20201014140858p:plain

プロパティ

仕組みが同じなので Sharpenning Parameters の項目は割愛し CSharp 特有の処理のみ記載する。

Sstatus

hardops の用語の一つで、 hardOps が保持している Sharpening を実行する時にエッジウェイト等の設定、 詳しくは 公式ドキュメント - sstatus 参照。
Sstatus の全体的な内容は helper や ツールバー

f:id:r9aArrowhead:20201014141417p:plain

General Options

Workflow

https://hardops-manual.readthedocs.io/en/latest/faq/#how-do-you-use-sorting-the-sort-tickbox-doesnt-do-anything

Sharp Options

このグループに関しては図示するまでもなく公式が仕様をほぼそのまま載せている。
以下 公式ドキュメント からの引用

Sharp options pertain to markings. 
On edges meeting the "sharpness" threshold, the following edge markings will be performed. 
- crease (crease at 1 to resist sub-d) - seam (easy region selection with L in face mode) - bweight (bevel weighted workflows where bevel is able to be controlled) - sharp (shading override for sharp shading)

日本語的には以下のような感じになる。

  • Sharpening 処理実行時に Sharpness で設定している角度以上のエッジは、シャープ化する対象とみなす
  • Apply Crease は Sub-D向けにエッジを edge crease = 1.0 にする
  • Apply Seam は L (= Select Link) しやすいようにエッジを Mark Seam する
  • Apply bweight は ベベルを調整できるようにエッジを Bevel Weight = 1.0 にする
  • Apply Sharp はシャープな見た目にするために Auto Smooth を上書きする

要するに、各項目でエッジを立てるためのプロパティ on/off を切り替える

f:id:r9aArrowhead:20201014141422p:plain

f:id:r9aArrowhead:20201014141427p:plain

f:id:r9aArrowhead:20201014141434p:plain

f:id:r9aArrowhead:20201014141442p:plain

f:id:r9aArrowhead:20201014141448p:plain

f:id:r9aArrowhead:20201014141456p:plain

f:id:r9aArrowhead:20201014141503p:plain

f:id:r9aArrowhead:20201014141510p:plain

f:id:r9aArrowhead:20201014141515p:plain

hops sort

モディファイアはスタックの順番によってオブジェクトの結果が変わってくる。
hardOps は操作によってモディファイアを追加する際、モディファイアのソートを実行する機能が存在する。

f:id:r9aArrowhead:20201014141522p:plain

f:id:r9aArrowhead:20201014141527p:plain

f:id:r9aArrowhead:20201014141534p:plain

sort Last

hops sort の右側にある を押すと表示する機能。
名前の通り、 ソート処理が発生した時に、選択しているモディファイアをスタックの最後へソートする

f:id:r9aArrowhead:20201014141540p:plain

f:id:r9aArrowhead:20201014141546p:plain

ソートルール

公式ドキュメント によると、ソート対象モディファイアはそれぞれ以下のルールに従ってソートしている。

  • sort bevel modifiers - move bevel mods to bottom of stack
    • bevel モディファイアはスタックの最下段へ配置する
  • non vgroup / only vert mode bevel is left unchanged
    • 頂点グループベベルの Only Vertices がない場合はベベル(の順序)を変更しない
  • sort array - ensures array is last so it shows booleans in all subparts
    • arrayがサブパーツ全ての boolean を表示するように確保する
  • sort mirror - using modifier mirror at the end of the stack will mirror all cuts
    • 全てのカットをミラーリングするために一番最後のスタックでmirrorを使う
  • sort solidify - keeps solidify later in the stack. Off by defaults. Only used in certain situations.
    • 特定の状況でのみ、スタックの後半を維持し続ける
  • sort weighted normal - keeps weighted normal at the end of the stack (maintains shading)
    • スタックの最後でノーマルウェイトを維持する
  • sort simple deform - keeps simple deform at the end of the stack before the rest.
    • 残りのスタックの直前の位置を保持する
  • sort triangulate - keeps triangulate after boolean to allow for iterative working on an exportable mesh
  • sort decimate - moves decimate at the end of the stack (useful for rare situations)
    • スタックの最後へ移動する
  • recommended off for smart shapes and situations where the mod order is crucial.
    • モディファイアの順序が形状に影響を及ぼす場合はoffにすることを推奨する
  • sort remesh - ensures remesh is kept at the end of the stack
    • スタックの最後を保持する
  • sort cast - ensures cast is not placed after the boolean modifier
    • boolean モディファイアの後には配置されないようにする
    • しかし、 sortオプションの中に Cast モディファイアは存在しない
  • sort weld (2.82) - ensures weld is kept at the end of the modifier stack.
    • スタックの最後を保持する

うん、よくわからないね。

hops sort のテスト

テスト結果はこっちに移動しました。

minorblender.hatenablog.com

ソートルール(私家版まとめ)

テスト結果から、ソートルールは以下のようになる。

  1. HardOps を boolean を実行すると、booleanはモディファイアを一番最後へ追加する
  2. Sort Modifiers で ソートを Onにしたモディファイアは、 boolean モディファイアの後ろへ並べ替えられる。この時、ソート前の順序を基本的には維持する。
    1. 同一モディファイアのソートは1つだけがソートされる
  3. モディファイアに Cast モディファイアが存在した場合、 Sort Modifiers の On / Off に関わらずCast モディファイアは必ず boolean モディファイアの直前へ並び替えられる
  4. モディファイアに Weight Normal モディファイアが存在した場合、 Sort Modifiers の On / Off に関わらずWeight Normal モディファイアは必ずモディファイアの一番最後へ並び替えられる
    1. Weight Normal モディファイアに限り、 すべてのWeight Normal モディファイアが最後へ回される

うん、結構面倒な感じが・・・

loose usage about boxcutter

概要

一言で言えば blenderにbooleanモードを追加する アドオン。
あるいは non-destructive Edit mode 用アドオン。

矩形を作成してboolean専用のオブジェクトを作成し、既存のオブジェクトへbool処理を連続して行う。

2.7時代から存在するアドオンで、歴史はかなり長い。
長寿アドオンのためかなりドキュメントが充実している。

利用バージョン

blender : 2.83.5

boxcutter : 7.16.15 (Catlin)

アドオンを購入できるサイト

BlenderMarket - BoxCutter

BlenderMarket - Hard Ops / Boxcutter Ultimate Bundle (2.8)

Hard Opsとのバンドル販売版。まとめ買いだとちょっと安い

Gumroad - BoxCutter

Gumroad - Hard Ops / Boxcutter Ultimate Bundle (2.8)

Hard Opsとのバンドル販売版。まとめ買いだとちょっと安い

参考サイト

開発者ブログ

公式ドキュメント

公式ドキュメントに操作方法を説明した動画へのリンクが大量にある

日本語解説サイト

日本語の記事はほぼないが、基本的な操作が載っている下記サイトを見れば使い方は十分理解できる

MODELING HAPPY - BoxCutterの基本的な使い方

所感

blenderは2.8からブーリアンモデリングがかなり脚光を浴びるようになったが、バニラ状態では操作は必ずしもやりやすい状態ではない。
blenderを使ったブーリアンモデリングをする場合、このアドオンを利用することでかなりモデリング時のステップ数を減らすことができる。

欠点

目的に対する機能が十分に備わっているので使う分には問題ないが、良い意味での欠点が存在する。

  • 作者によるアップデートがかなり頻繁に実施されているために追いかけるのが大変。
  • 作者がアクティブ過ぎて情報量が非常に多い

2.7系時代から連綿と開発が続いているため、ドキュメントなどもこうしたアドオンにしては非常に充実している。
正直、英語が理解できるのであればわざわざ日本語の情報を探すよりも開発者本人のyoutubeチェンネルと公式ドキュメントを参照するだけでこのアドオンに対する大抵の問題は解決する。

反面、開発が非常に活発なので更新頻度が高く、常に最新の情報を追いかけるためにはそれなりに体力が必要になる。

アドオンの起動方法

f:id:r9aArrowhead:20200915092405p:plain

f:id:r9aArrowhead:20200915092411p:plain

機能紹介

コマンド覚書

  • Alt + w でアドオン起動
  • 編集中に x を押すと、bool処理の方法が different -> slice -> intersect -> inset -> different ... という風に切り替わる
  • ナイフツールは k
  • Array機能は v
  • tab で編集中にdot表示
  • Ctrl 押しながらでスナップ機能

基本操作

f:id:r9aArrowhead:20200915092417p:plain

f:id:r9aArrowhead:20200915092421p:plain

f:id:r9aArrowhead:20200915092426p:plain

f:id:r9aArrowhead:20200915092431p:plain

f:id:r9aArrowhead:20200915092435p:plain

f:id:r9aArrowhead:20200915092439p:plain

f:id:r9aArrowhead:20200915092444p:plain

f:id:r9aArrowhead:20200915092449p:plain

f:id:r9aArrowhead:20200915092454p:plain

スナップ機能

f:id:r9aArrowhead:20200915092217p:plain

f:id:r9aArrowhead:20200915092222p:plain

f:id:r9aArrowhead:20200915092228p:plain

f:id:r9aArrowhead:20200915092235p:plain

f:id:r9aArrowhead:20200915092240p:plain

f:id:r9aArrowhead:20200915092248p:plain

f:id:r9aArrowhead:20200915092253p:plain

f:id:r9aArrowhead:20200915092258p:plain

f:id:r9aArrowhead:20200915092303p:plain

編集

編集の基本操作

f:id:r9aArrowhead:20200915091525p:plain

f:id:r9aArrowhead:20200915091530p:plain

f:id:r9aArrowhead:20200915091536p:plain

f:id:r9aArrowhead:20200915091541p:plain

f:id:r9aArrowhead:20200915091546p:plain

f:id:r9aArrowhead:20200915091551p:plain

f:id:r9aArrowhead:20200915091556p:plain

f:id:r9aArrowhead:20200915091601p:plain

f:id:r9aArrowhead:20200915091606p:plain

f:id:r9aArrowhead:20200915091611p:plain

f:id:r9aArrowhead:20200915091616p:plain

f:id:r9aArrowhead:20200915091621p:plain

f:id:r9aArrowhead:20200915091626p:plain

f:id:r9aArrowhead:20200915091631p:plain

f:id:r9aArrowhead:20200915091636p:plain

編集点表示

f:id:r9aArrowhead:20200915091455p:plain

f:id:r9aArrowhead:20200915091500p:plain

f:id:r9aArrowhead:20200915091505p:plain

f:id:r9aArrowhead:20200915091509p:plain

f:id:r9aArrowhead:20200915091514p:plain

f:id:r9aArrowhead:20200915091519p:plain

bool処理切り替え

f:id:r9aArrowhead:20200915091948p:plain

f:id:r9aArrowhead:20200915091954p:plain

f:id:r9aArrowhead:20200915091959p:plain

f:id:r9aArrowhead:20200915092004p:plain

f:id:r9aArrowhead:20200915092009p:plain

f:id:r9aArrowhead:20200915092014p:plain

f:id:r9aArrowhead:20200915092019p:plain

f:id:r9aArrowhead:20200915092026p:plain

Edit modeでの編集

f:id:r9aArrowhead:20200915091641p:plain

f:id:r9aArrowhead:20200915091647p:plain

f:id:r9aArrowhead:20200915091651p:plain

f:id:r9aArrowhead:20200915091656p:plain

f:id:r9aArrowhead:20200915091701p:plain

f:id:r9aArrowhead:20200915091707p:plain

f:id:r9aArrowhead:20200915091712p:plain

f:id:r9aArrowhead:20200915091717p:plain

スライス(編集中にX)

f:id:r9aArrowhead:20200915092122p:plain

f:id:r9aArrowhead:20200915092126p:plain

f:id:r9aArrowhead:20200915092131p:plain

f:id:r9aArrowhead:20200915092136p:plain

f:id:r9aArrowhead:20200915092141p:plain

f:id:r9aArrowhead:20200915092147p:plain

f:id:r9aArrowhead:20200915092151p:plain

f:id:r9aArrowhead:20200915092156p:plain

f:id:r9aArrowhead:20200915092201p:plain

f:id:r9aArrowhead:20200915092207p:plain

f:id:r9aArrowhead:20200915092212p:plain

ベベル(編集中にB)

f:id:r9aArrowhead:20200915091248p:plain

f:id:r9aArrowhead:20200915091252p:plain

f:id:r9aArrowhead:20200915091257p:plain

f:id:r9aArrowhead:20200915091301p:plain

f:id:r9aArrowhead:20200915091307p:plain

join(編集中にJ)

f:id:r9aArrowhead:20200915091749p:plain

f:id:r9aArrowhead:20200915091754p:plain

f:id:r9aArrowhead:20200915091759p:plain

f:id:r9aArrowhead:20200915091804p:plain

f:id:r9aArrowhead:20200915091810p:plain

f:id:r9aArrowhead:20200915091815p:plain

f:id:r9aArrowhead:20200915091820p:plain

f:id:r9aArrowhead:20200915091825p:plain

Solidify (編集中にT)

f:id:r9aArrowhead:20200915092308p:plain

f:id:r9aArrowhead:20200915092314p:plain

f:id:r9aArrowhead:20200915092319p:plain

f:id:r9aArrowhead:20200915092324p:plain

f:id:r9aArrowhead:20200915092329p:plain

f:id:r9aArrowhead:20200915092334p:plain

f:id:r9aArrowhead:20200915092339p:plain

f:id:r9aArrowhead:20200915092344p:plain

f:id:r9aArrowhead:20200915092349p:plain

ナイフツール(編集中にK)

f:id:r9aArrowhead:20200915091830p:plain

f:id:r9aArrowhead:20200915091836p:plain

f:id:r9aArrowhead:20200915091842p:plain

f:id:r9aArrowhead:20200915091849p:plain

f:id:r9aArrowhead:20200915091855p:plain

Array / Radial Array機能(編集中にV)

f:id:r9aArrowhead:20200915091238p:plain

f:id:r9aArrowhead:20200915091242p:plain

Mirror機能(編集中に1, 2, 3)

f:id:r9aArrowhead:20200915091900p:plain

f:id:r9aArrowhead:20200915091905p:plain

f:id:r9aArrowhead:20200915091911p:plain

f:id:r9aArrowhead:20200915091916p:plain

f:id:r9aArrowhead:20200915091921p:plain

f:id:r9aArrowhead:20200915091926p:plain

f:id:r9aArrowhead:20200915091931p:plain

f:id:r9aArrowhead:20200915091936p:plain

f:id:r9aArrowhead:20200915091942p:plain

シェイプ変更

BoxCutterは矩形以外の形で編集することもできる。

Circle

f:id:r9aArrowhead:20200915092033p:plain

f:id:r9aArrowhead:20200915092039p:plain

f:id:r9aArrowhead:20200915092044p:plain

Ngon

f:id:r9aArrowhead:20200915092049p:plain

f:id:r9aArrowhead:20200915092055p:plain

f:id:r9aArrowhead:20200915092100p:plain

f:id:r9aArrowhead:20200915092106p:plain

f:id:r9aArrowhead:20200915092111p:plain

f:id:r9aArrowhead:20200915092117p:plain

f:id:r9aArrowhead:20200915092354p:plain

f:id:r9aArrowhead:20200915092359p:plain

Custom Shape

f:id:r9aArrowhead:20200915091335p:plain

f:id:r9aArrowhead:20200915091340p:plain

f:id:r9aArrowhead:20200915091346p:plain

f:id:r9aArrowhead:20200915091352p:plain

f:id:r9aArrowhead:20200915091356p:plain

f:id:r9aArrowhead:20200915091401p:plain

f:id:r9aArrowhead:20200915091406p:plain

f:id:r9aArrowhead:20200915091411p:plain

f:id:r9aArrowhead:20200915091417p:plain

f:id:r9aArrowhead:20200915091423p:plain

f:id:r9aArrowhead:20200915091428p:plain

f:id:r9aArrowhead:20200915091433p:plain

f:id:r9aArrowhead:20200915091438p:plain

f:id:r9aArrowhead:20200915091444p:plain

f:id:r9aArrowhead:20200915091449p:plain

Extract あるいは Copy(編集中にY)

f:id:r9aArrowhead:20200915091722p:plain

f:id:r9aArrowhead:20200915091727p:plain

f:id:r9aArrowhead:20200915091732p:plain

f:id:r9aArrowhead:20200915091738p:plain

f:id:r9aArrowhead:20200915091744p:plain

バグ?

f:id:r9aArrowhead:20200915091313p:plain

f:id:r9aArrowhead:20200915091318p:plain

f:id:r9aArrowhead:20200915091325p:plain

f:id:r9aArrowhead:20200915091330p:plain

loose usage about MESHmachine

概要

既存のメッシュを別のメッシュへ埋め込んだり、ベベルの編集に特化したアドオン。

欠点

欠点というよりはアドオンのスタンスで、基本的に Edit mode でのみ機能する。
既存メッシュを埋め込む機能はブーリアン演算の機能だが、メッシュを直接編集するので非破壊編集とはならない。

利用バージョン

blender : 2.83.5

MESHmachine : 0.6.11

リファレンス

Gumroad - MESHmachine

blender market - MESHmachine

公式Doc

動画に比べれば情報量が少ないけれど要点は押さえているので、英語に抵抗なければ参照可能

Youtube - MESHmachine - Documentation

メインのリファレンス。機能別に解説してくれているけど動画数がかなり多いので一気見はお勧めしない。

所感

基本的には面取りやboolean処理、kitbash機能に特化している。対抗馬かかなり多い機能に対するアドオン。
plugによるライブラリ機能については他のアドオンでも独自に同様の機能を実装しているパターンが多いので、複数のアドオンを利用している場合は注意が必要になりそう。

後からベベルのFuse機能がかなり便利なので、面取り作業が多いならば一考の余地あり。

MESHmachineの基本操作

インストールした後に3Dビュー上で Y キーを押すと、コンテキストメニューを表示するようになる。
object Mode と Edit modeでコンテキストメニューの内容が変わるので注意。

他のアドオン入れていたり、キー設定弄っていたら競合するかもしれない

機能紹介

Change Width

ベベルなどで面取りした後にその傾斜の幅を修正する機能。
ベベルしたメッシュを選択する必要はなく、面選択可能であればコマンド実行可能となっている。

f:id:r9aArrowhead:20200914152402p:plain

f:id:r9aArrowhead:20200914152407p:plain

f:id:r9aArrowhead:20200914152412p:plain

Fuse

このツールで一番使うことになるであろう機能。
一言で言えば 面取り専用Sub-D
選択している面のみを対象にして面取りを実行してくれる。

f:id:r9aArrowhead:20200914152417p:plain

f:id:r9aArrowhead:20200914152422p:plain

f:id:r9aArrowhead:20200914152427p:plain

Flatten

選択した面を対象として平坦化する。
面選択バージョンと点選択バージョンがあり、それぞれ微妙に挙動が異なる。

面選択バージョン

f:id:r9aArrowhead:20200914152432p:plain

f:id:r9aArrowhead:20200914152437p:plain

f:id:r9aArrowhead:20200914152444p:plain

f:id:r9aArrowhead:20200914152450p:plain

f:id:r9aArrowhead:20200914152456p:plain

点選択バージョン

f:id:r9aArrowhead:20200914152501p:plain

f:id:r9aArrowhead:20200914152505p:plain

Unf*ck

選択しているエッジ(とその間)に含まれている頂点のみを利用して再度面取りのような処理をする。
Merge などのオプションを指定すれば、面取りの取りやめみたいな処理も可能。

f:id:r9aArrowhead:20200914152604p:plain

f:id:r9aArrowhead:20200914152609p:plain

f:id:r9aArrowhead:20200914152614p:plain

f:id:r9aArrowhead:20200914152619p:plain

f:id:r9aArrowhead:20200914152624p:plain

f:id:r9aArrowhead:20200914152629p:plain

f:id:r9aArrowhead:20200914152634p:plain

f:id:r9aArrowhead:20200914152639p:plain

Plug

Object modeでのみ実行可能。
パーツ(≒オブジェクト)を指定して、対象となるオブジェクトへ 選択したパーツを差し込む。
挙動としては bool: different の結果に近い。

利点としてはパーツはライブラリ形式で保存できるので再利用しやすいのでkitbashのような使い方ができる。

f:id:r9aArrowhead:20200914152752p:plain

f:id:r9aArrowhead:20200914152759p:plain

f:id:r9aArrowhead:20200914152805p:plain

f:id:r9aArrowhead:20200914152811p:plain

f:id:r9aArrowhead:20200914152817p:plain

f:id:r9aArrowhead:20200914152824p:plain

f:id:r9aArrowhead:20200914152829p:plain

f:id:r9aArrowhead:20200914152835p:plain

stash

選択したオブジェクトの形状をそのまま保存し、後から呼び出したりできる機能。
Plugに近いが、Plugと異なりスタック中にも形状の変更ができるので、パーツそのものの再利用がしやすい。

Plugも形状を変更できるが、ライブラリに登録する際に専用の設定が必要。 対するstashはライブラリ登録のようなことはできないので別ファイルへの再利用はしにくいが、登録中にメッシュの編集ができる。 用途によって使い分けが必要そうな機能。

注意点としては、 stashそのものには他のオブジェクトへ干渉する機能はない点。
再利用したいオブジェクトをstashへ登録しても、それを別のオブジェクトと融合させたりしたい場合はPlugやblender デフォルトの bool 機能を利用する必要がある。

f:id:r9aArrowhead:20200914152842p:plain

f:id:r9aArrowhead:20200914152847p:plain

f:id:r9aArrowhead:20200914152853p:plain

f:id:r9aArrowhead:20200914152858p:plain

f:id:r9aArrowhead:20200914152903p:plain

f:id:r9aArrowhead:20200914152909p:plain

f:id:r9aArrowhead:20200914152916p:plain

f:id:r9aArrowhead:20200914152921p:plain

f:id:r9aArrowhead:20200914152926p:plain

f:id:r9aArrowhead:20200914152931p:plain

f:id:r9aArrowhead:20200914152937p:plain

f:id:r9aArrowhead:20200914152943p:plain

f:id:r9aArrowhead:20200914152949p:plain

作例

作例1

f:id:r9aArrowhead:20200914152511p:plain

f:id:r9aArrowhead:20200914152516p:plain

f:id:r9aArrowhead:20200914152521p:plain

f:id:r9aArrowhead:20200914152526p:plain

f:id:r9aArrowhead:20200914152531p:plain

f:id:r9aArrowhead:20200914152537p:plain

作例2

f:id:r9aArrowhead:20200914152542p:plain

f:id:r9aArrowhead:20200914152547p:plain

f:id:r9aArrowhead:20200914152552p:plain

f:id:r9aArrowhead:20200914152558p:plain

作例3

f:id:r9aArrowhead:20200914152644p:plain

f:id:r9aArrowhead:20200914152649p:plain

f:id:r9aArrowhead:20200914152654p:plain

f:id:r9aArrowhead:20200914152659p:plain

f:id:r9aArrowhead:20200914152706p:plain

f:id:r9aArrowhead:20200914152712p:plain

f:id:r9aArrowhead:20200914152717p:plain

f:id:r9aArrowhead:20200914152723p:plain

f:id:r9aArrowhead:20200914152728p:plain

f:id:r9aArrowhead:20200914152733p:plain

f:id:r9aArrowhead:20200914152738p:plain

f:id:r9aArrowhead:20200914152746p:plain

loose usage about DECALmachine

概要

名前の通り画像をデカールに見立ててオブジェクトへ貼り付けるアドオン。 その上でノーマルマップなどをつかって立体的な形状を貼り付けることもでき、オブジェクトへ別のオブジェクトを融合させたような処理もできる。

最大の特色はそれらが非破壊編集となっていること。
デカールを貼り付けたオブジェクトの形状に影響を与えることがなく、モデリング完了後には貼り付けた先のオブジェクトのUVへ合成してテクスチャとして保存できる。

利用したバージョン

blender : 2.83.5

DECALmachine : 1.9.4

既に2.0.0が公開されているので後日更新予定

リファレンス

blender matker - DECALmachine

Gumroad - DECALmachine

公式Doc

機能について一言書かれている程度のものが多く、使い方を調べるには動画を参照した方がよい

Youtube - DECALmachine - Documentation

メインのリファレンス。機能毎に動画で説明している。

所感

ハードサーフェイスモデリングというよりは、メカメカしいモデルの作成に向けたアドオンな印象。

kitbashのテクスチャ版みたいな感じで元のオブジェクトへパーツをペタペタ貼り付けることができるので、ディテール後から追加することができる。
利用するのはテクスチャ形式だから、Substanceとかでテクスチャを作成して追加していくこともできる。

欠点

欠点というか、デカールを3Dへ落とし込んだようなアドオンなのでメッシュに対してどうこうするアドオンではない。つまり完全に非破壊なので、メッシュの形状そのものに落とし込むような機能が存在しない。

メッシュそのものを変形させずにノーマルマップやAOマップで対応するため、接写や凹凸が強調させるような視点に弱い。
これはアドオンの欠点というよりはノーマルマップの欠点なので、メッシュを変形させるMESHMachineとの使い分けが重要になってくる。

メッシュを変形させて作業していく機能は作者が作成している別アドオンの MESHMachineを使えと言うことだろう。

f:id:r9aArrowhead:20200914142428p:plain

初期にしておいた方がいい設定

DECALMachineはデフォルトではコンテキストメニューへは出てこない。
他のアドオンと競合する可能性はあるが、基本的にはインストールした後にアドオンの設定画面でコンテキストメニューを表示させるようにした方が便利。

f:id:r9aArrowhead:20200914142423p:plain

DECALmachineの基本操作

アドオンをインストールした後にショートカットキー D でメニューを表示する。

f:id:r9aArrowhead:20200914142436p:plain

f:id:r9aArrowhead:20200914142443p:plain

f:id:r9aArrowhead:20200914142449p:plain

f:id:r9aArrowhead:20200914142455p:plain

機能紹介

Decals

本アドオンの基本にして最大の機能。対象オブジェクトへデカールを貼り付ける。 使い方は基本操作でデカールを貼り付ける操作を説明しているので割愛。

以下は貼り付けたデカールのノーマルマップの反映タイプ(?)を変更して、デカールの見た目を変える設定となる。

f:id:r9aArrowhead:20200914142501p:plain

Height

f:id:r9aArrowhead:20200914142525p:plain

f:id:r9aArrowhead:20200914142532p:plain

Width

f:id:r9aArrowhead:20200914142539p:plain

f:id:r9aArrowhead:20200914142545p:plain

Parallax

視差効果(=ノーマル)を調整する。

仕様により、3D view上でOrthographic(平行投影)を選択している場合は効果が表示されない。 レンダリング時の平行投影では反映される。

f:id:r9aArrowhead:20200914142505p:plain

f:id:r9aArrowhead:20200914142512p:plain

f:id:r9aArrowhead:20200914142519p:plain

AO

f:id:r9aArrowhead:20200914142552p:plain

f:id:r9aArrowhead:20200914142559p:plain

f:id:r9aArrowhead:20200914142605p:plain

Stretch

f:id:r9aArrowhead:20200914142611p:plain

Slice

Decal機能は画像を元にするタイプだが、Sliceは他のオブジェクトを画像の代わりとして利用する。
名前の通り、オブジェクトのエッジに沿って切れ目のようなデカールを作成する。
プラモ的に言えば、Sliceに使ったオブジェクトのエッジに沿ったモールド(=溝)用のデカールを作成する。

機能の性質上、必ず2つのオブジェクト(スライスされるオブジェクトと、スライスするオブジェクト)が必要となる。

f:id:r9aArrowhead:20200914142651p:plain

f:id:r9aArrowhead:20200914142656p:plain

f:id:r9aArrowhead:20200914142700p:plain

f:id:r9aArrowhead:20200914142706p:plain

f:id:r9aArrowhead:20200914142712p:plain

f:id:r9aArrowhead:20200914142719p:plain

f:id:r9aArrowhead:20200914142725p:plain

f:id:r9aArrowhead:20200914142731p:plain

f:id:r9aArrowhead:20200914142737p:plain

f:id:r9aArrowhead:20200914142744p:plain

f:id:r9aArrowhead:20200914142750p:plain

f:id:r9aArrowhead:20200914142755p:plain

f:id:r9aArrowhead:20200914142800p:plain

f:id:r9aArrowhead:20200914142807p:plain

f:id:r9aArrowhead:20200914142814p:plain

f:id:r9aArrowhead:20200914142821p:plain

f:id:r9aArrowhead:20200914142827p:plain

f:id:r9aArrowhead:20200914142833p:plain

Project

f:id:r9aArrowhead:20200914142619p:plain

f:id:r9aArrowhead:20200914142624p:plain

f:id:r9aArrowhead:20200914142631p:plain

f:id:r9aArrowhead:20200914142637p:plain

f:id:r9aArrowhead:20200914142645p:plain

GPanel

Grease Pancilを使って描いたオブジェクトを元にしてデカールを作成する機能。
メッシュ編集しなくてもフリーハンドで形状を作成できるので、かなり便利。

f:id:r9aArrowhead:20200914142839p:plain

f:id:r9aArrowhead:20200914142845p:plain

EPanel

メッシュのエッジを元にしてデカールを作成する、GPanelのメッシュ版みたいな機能。
モデリングでエッジに沿ってデカールを作成する時は、GPanelよりもこっちを利用した方が早い。

f:id:r9aArrowhead:20200914142851p:plain

f:id:r9aArrowhead:20200914142857p:plain

f:id:r9aArrowhead:20200914142901p:plain

f:id:r9aArrowhead:20200914142906p:plain

f:id:r9aArrowhead:20200914142910p:plain

f:id:r9aArrowhead:20200914142914p:plain

f:id:r9aArrowhead:20200914142921p:plain

f:id:r9aArrowhead:20200914142931p:plain

f:id:r9aArrowhead:20200914142938p:plain

f:id:r9aArrowhead:20200914142943p:plain

f:id:r9aArrowhead:20200914142949p:plain

f:id:r9aArrowhead:20200914142956p:plain

f:id:r9aArrowhead:20200914143004p:plain

f:id:r9aArrowhead:20200914143012p:plain

f:id:r9aArrowhead:20200914143018p:plain

Matches

デカールへマテリアルを設定する機能。

f:id:r9aArrowhead:20200914143025p:plain

f:id:r9aArrowhead:20200914143033p:plain

f:id:r9aArrowhead:20200914143040p:plain

f:id:r9aArrowhead:20200914143047p:plain

f:id:r9aArrowhead:20200914143053p:plain

f:id:r9aArrowhead:20200914143100p:plain

f:id:r9aArrowhead:20200914143106p:plain

f:id:r9aArrowhead:20200914143113p:plain

f:id:r9aArrowhead:20200914143119p:plain

f:id:r9aArrowhead:20200914143125p:plain

f:id:r9aArrowhead:20200914143131p:plain

f:id:r9aArrowhead:20200914143137p:plain

f:id:r9aArrowhead:20200914143142p:plain

f:id:r9aArrowhead:20200914143147p:plain

Panel Cutting

f:id:r9aArrowhead:20200914143153p:plain

f:id:r9aArrowhead:20200914143158p:plain

f:id:r9aArrowhead:20200914143203p:plain

Bake

その名の通り、貼り付けたデカールをテクスチャへベイクする。

f:id:r9aArrowhead:20200914143208p:plain

f:id:r9aArrowhead:20200914143214p:plain

loose usage about MACHIN3tools

概要

blenderの基本UIを拡張したり、よく使う操作へのショートカットを追加するアドオン。

利用バージョン

blender : 2.83.5

MACHIN3tools : 0.3.15

リファレンス

Gumroad - MACHIN3tools

こちらは希望金額は書いているが、最低金額は0ドルで設定できる

Blender Market - MACHIN3tools

販売ページ。最低金額として1ドルを設定している。 blender marketの仕様で、最低でも1ドル必要だとのこと

公式Doc

動画リンクは多いけどあまり記載がない。動画見てねということなのか、手が回っていないのか・・・

Youtube - MACHIN3tools

操作方法を知るためのメイン 機能単位ではなくバージョン単位で機能を説明している

基本機能

  • バニラのblenderでは便利だがショートカットが用意されていない機能に対する、ショートカット・Pieメニューの割り当て
  • メッシュやUVへの整列(Align)機能の拡充

所感

  • 基本無料ということを考えれば、バニラでは数ステップ必要な操作を簡略化してくれたりと極めて有用。
  • Curveに関連する機能は搭載されていないので、 Curve編集は別途アドオンを搭載する必要がある。
  • 問題点としては、けっこうな数のショートカットを登録することになるので他アドオンと競合しやすい。

基本操作(ショートカット編)

すごくながくなったので、ショートカット編とPieメニュー編に分ける

f:id:r9aArrowhead:20200914120912p:plain

f:id:r9aArrowhead:20200914120917p:plain

f:id:r9aArrowhead:20200914120922p:plain

Smart Vert

Merge Last

f:id:r9aArrowhead:20200914120926p:plain

f:id:r9aArrowhead:20200914120931p:plain

f:id:r9aArrowhead:20200914120937p:plain

f:id:r9aArrowhead:20200914120943p:plain

f:id:r9aArrowhead:20200914120948p:plain

Connect Paths

f:id:r9aArrowhead:20200914120953p:plain

f:id:r9aArrowhead:20200914120957p:plain

f:id:r9aArrowhead:20200914121002p:plain

f:id:r9aArrowhead:20200914121006p:plain

f:id:r9aArrowhead:20200914121011p:plain

f:id:r9aArrowhead:20200914121016p:plain

f:id:r9aArrowhead:20200914121021p:plain

f:id:r9aArrowhead:20200914121026p:plain

f:id:r9aArrowhead:20200914121031p:plain

Slide Extend

f:id:r9aArrowhead:20200914121036p:plain

f:id:r9aArrowhead:20200914121041p:plain

f:id:r9aArrowhead:20200914121046p:plain

f:id:r9aArrowhead:20200914121051p:plain

f:id:r9aArrowhead:20200914121056p:plain

f:id:r9aArrowhead:20200914121101p:plain

f:id:r9aArrowhead:20200914121106p:plain

f:id:r9aArrowhead:20200914121111p:plain

f:id:r9aArrowhead:20200914121116p:plain

f:id:r9aArrowhead:20200914121121p:plain

f:id:r9aArrowhead:20200914121127p:plain

f:id:r9aArrowhead:20200914121133p:plain

f:id:r9aArrowhead:20200914121139p:plain

Smart Edge

f:id:r9aArrowhead:20200914121144p:plain

f:id:r9aArrowhead:20200914121149p:plain

f:id:r9aArrowhead:20200914121155p:plain

f:id:r9aArrowhead:20200914121200p:plain

f:id:r9aArrowhead:20200914121206p:plain

f:id:r9aArrowhead:20200914121211p:plain

f:id:r9aArrowhead:20200914121216p:plain

Toggle Edge

f:id:r9aArrowhead:20200914121222p:plain

Smart Edge

f:id:r9aArrowhead:20200914121227p:plain

f:id:r9aArrowhead:20200914121232p:plain

f:id:r9aArrowhead:20200914121237p:plain

Smart Face

f:id:r9aArrowhead:20200914121242p:plain

f:id:r9aArrowhead:20200914121247p:plain

f:id:r9aArrowhead:20200914121252p:plain

f:id:r9aArrowhead:20200914121258p:plain

f:id:r9aArrowhead:20200914121304p:plain

f:id:r9aArrowhead:20200914121309p:plain

f:id:r9aArrowhead:20200914121314p:plain

f:id:r9aArrowhead:20200914121320p:plain

f:id:r9aArrowhead:20200914121326p:plain

f:id:r9aArrowhead:20200914121331p:plain

f:id:r9aArrowhead:20200914121336p:plain

f:id:r9aArrowhead:20200914121342p:plain

f:id:r9aArrowhead:20200914121348p:plain

f:id:r9aArrowhead:20200914121353p:plain

f:id:r9aArrowhead:20200914121358p:plain

Clean Up

f:id:r9aArrowhead:20200914121403p:plain

Focus

f:id:r9aArrowhead:20200914121408p:plain

f:id:r9aArrowhead:20200914121413p:plain

f:id:r9aArrowhead:20200914121419p:plain

Mirror

f:id:r9aArrowhead:20200914121425p:plain

f:id:r9aArrowhead:20200914121431p:plain

f:id:r9aArrowhead:20200914121437p:plain

f:id:r9aArrowhead:20200914121443p:plain

Align(Objectのみ)

f:id:r9aArrowhead:20200914121449p:plain

f:id:r9aArrowhead:20200914121455p:plain

f:id:r9aArrowhead:20200914121500p:plain

f:id:r9aArrowhead:20200914121505p:plain

f:id:r9aArrowhead:20200914121511p:plain

基本操作(Pieメニュー編)

f:id:r9aArrowhead:20200914121516p:plain

3D View

f:id:r9aArrowhead:20200914121521p:plain

Image Editor

Image Editorとあるが、UV Editor画面でも有効

f:id:r9aArrowhead:20200914121526p:plain

Save Pie

f:id:r9aArrowhead:20200914121532p:plain

Shading Pie

f:id:r9aArrowhead:20200914121537p:plain

Views Pie

f:id:r9aArrowhead:20200914121542p:plain

Align Pie

基本設定(3D View)

f:id:r9aArrowhead:20200914121549p:plain

f:id:r9aArrowhead:20200914121555p:plain

f:id:r9aArrowhead:20200914121600p:plain

f:id:r9aArrowhead:20200914121605p:plain

基本設定(Image Editor)

f:id:r9aArrowhead:20200914122033p:plain

f:id:r9aArrowhead:20200914122038p:plain

基準軸設定

f:id:r9aArrowhead:20200914121610p:plain

f:id:r9aArrowhead:20200914121614p:plain

f:id:r9aArrowhead:20200914121619p:plain

f:id:r9aArrowhead:20200914121624p:plain

f:id:r9aArrowhead:20200914121629p:plain

f:id:r9aArrowhead:20200914121635p:plain

f:id:r9aArrowhead:20200914121640p:plain

f:id:r9aArrowhead:20200914121645p:plain

f:id:r9aArrowhead:20200914121650p:plain

f:id:r9aArrowhead:20200914121655p:plain

f:id:r9aArrowhead:20200914121700p:plain

f:id:r9aArrowhead:20200914121705p:plain

f:id:r9aArrowhead:20200914121711p:plain

f:id:r9aArrowhead:20200914121717p:plain

f:id:r9aArrowhead:20200914121722p:plain

f:id:r9aArrowhead:20200914121727p:plain

f:id:r9aArrowhead:20200914121733p:plain

f:id:r9aArrowhead:20200914121738p:plain

f:id:r9aArrowhead:20200914121743p:plain

f:id:r9aArrowhead:20200914121748p:plain

f:id:r9aArrowhead:20200914121753p:plain

f:id:r9aArrowhead:20200914121758p:plain

f:id:r9aArrowhead:20200914121803p:plain

Center設定

f:id:r9aArrowhead:20200914121808p:plain

f:id:r9aArrowhead:20200914121813p:plain

f:id:r9aArrowhead:20200914121818p:plain

f:id:r9aArrowhead:20200914121823p:plain

f:id:r9aArrowhead:20200914121828p:plain

f:id:r9aArrowhead:20200914121834p:plain

f:id:r9aArrowhead:20200914121838p:plain

f:id:r9aArrowhead:20200914121846p:plain

f:id:r9aArrowhead:20200914121851p:plain

f:id:r9aArrowhead:20200914121857p:plain

f:id:r9aArrowhead:20200914121902p:plain

f:id:r9aArrowhead:20200914121907p:plain

f:id:r9aArrowhead:20200914121914p:plain

f:id:r9aArrowhead:20200914121919p:plain

Align Object

f:id:r9aArrowhead:20200914121925p:plain

f:id:r9aArrowhead:20200914121930p:plain

f:id:r9aArrowhead:20200914121937p:plain

f:id:r9aArrowhead:20200914121944p:plain

f:id:r9aArrowhead:20200914121949p:plain

f:id:r9aArrowhead:20200914121955p:plain

f:id:r9aArrowhead:20200914122000p:plain

f:id:r9aArrowhead:20200914122005p:plain

f:id:r9aArrowhead:20200914122011p:plain

f:id:r9aArrowhead:20200914122016p:plain

f:id:r9aArrowhead:20200914122021p:plain

f:id:r9aArrowhead:20200914122028p:plain