タグ: boolian

  • Blender : Add-on 取説 ~ KJ Surface Groove Stamp

    Blender : Add-on 取説 ~ KJ Surface Groove Stamp

    Object表面に溝を掘る/突起を追加するためのカッタースタンプツール

    概要

    KJ Surface Groove Stamp は、Blender上で指定したObjectの表面に対して、別Objectをcutterとして使い、溝を掘る、または形状を追加するためのAdd-onです。

    対象Objectを Object A / Target、切削または追加に使うObjectを Object B / Cutter として指定します。
    マウスカーソルをObject Aの表面へ移動すると、cutterが表面に追随し、左クリックでBoolean処理を実行します。

    主な用途は次のとおりです。

    • 球体や曲面に溝を掘る
    • 表面に四角形・円形・スロット形状の凹みを作る
    • コーンやCubeを使って突起を追加する
    • cutterの接触面を選んで、任意の面をObject表面へ貼り付ける
    • Straight方向またはTarget表面に沿った方向でcut/addする
    Image

    基本概念

    Object A / Target

    加工される側のObjectです。
    溝を掘りたいObject、または突起を追加したいObjectを指定します。

    例:

    • Sphere
    • Body mesh
    • Panel mesh
    • 任意のMesh object

    Object B / Cutter

    加工に使うcutterです。
    このAdd-onでは、次の2種類のcutterを使えます。

    1. Add-onで作成する標準cutter

    Add-on内の Create Object B Cutter から作成します。

    使用できる主な形状は次のとおりです。

    • Box
    • Rounded Box
    • Slot
    • Capsule
    • Cylinder

    標準cutterでは、Size X / Size Y / Size ZDepth / Union Height を使って、Nパネル上から形状を調整できます。

    2. 手動で用意したObject B

    Blenderで作成したCube、Cone、CylinderなどをObject Bとして指定できます。
    この場合、Use Manual Cutter Mesh FootprintFull Manual Mesh を使うことで、実際のObject形状をcutterとして利用できます。


    オレンジ色cutterと青色footprint

    このAdd-onでは、作業中に2種類の表示が使われます。

    オレンジ色のcutter

    オレンジ色で表示されるObject Bは、実際にBoolean処理へ使われる、またはそれに近い予想形状です。

    • Cutでは、Object Aの内側へ入る部分を示します。
    • Addでは、Object Aの外側へ出る部分を示します。

    青色のfootprint

    青い表示は、Object A表面上の接触範囲を示すガイドです。
    Boolean処理そのものではなく、どの範囲にcutterが接触しているかを確認するための表示です。


    Operation Type

    Difference / Cut

    Object Aからcutter形状を差し引きます。
    つまり、溝や穴を作る処理です。

    この場合、Depth / Union Height は次の意味になります。

    Object Aの表面から内側へ掘られる距離


    Union / Add

    Object Aへcutter形状を追加します。
    突起、盛り上がり、装飾パーツの追加に使います。

    この場合、Depth / Union Height は次の意味になります。

    Object Aの表面から外側へはみ出す距離


    Source Face / Use Cutter Local Face

    Source Faceとは

    Source Face は、cutterのどの面をObject Aへ貼り付けるかを決める設定です。

    主な選択肢は次のとおりです。

    • Z Face X×Y
    • X Face Y×Z
    • Y Face X×Z

    たとえば、Cubeの寸法が次のような場合を考えます。

    • X = 2
    • Y = 4
    • Z = 8

    このとき、

    • Z Face X×Y は、X×Y面を接触面として使います。
    • X Face Y×Z は、Y×Z面を接触面として使います。
    • Y Face X×Z は、X×Z面を接触面として使います。

    つまり、cutterの長方形面、細長い面、広い面などを選んで、Object表面へ貼り付けることができます。


    Source Side

    + Source Side- Source Side は、選んだSource Faceのどちら側を表面側または外側として扱うかを決める設定です。

    特にConeなどを使う場合に重要です。

    例として、Coneの先端がlocal +Z側にある場合、

    • Z Face X×Y
    • + Source Side

    を使うと、+Z側を外側方向として扱えます。

    Coneの向きが逆の場合は、- Source Side に切り替えて調整します。


    Size X / Size Y / Size Z

    Size X / Size Y / Size Z は、cutterの基本寸法を設定します。

    ただし、cut/add方向の深さは、基本的には Depth / Union Height が担当します。

    例として、

    Source Face: Z Face X×Y

    を選んだ場合、

    • Size X は接触面のX方向の幅
    • Size Y は接触面のY方向の幅
    • Depth / Union Height は表面から内側/外側への距離

    として使われます。

    この場合、Size Z はcutter形状のZ寸法として存在しますが、実際のcut深さやadd高さは Depth / Union Height で決まります。


    Depth / Union Height

    この値は、Operation Typeによって意味が変わります。

    Difference / Cutの場合

    Depth / Union Height は、Object A表面から内側へ掘る距離です。

    Depth = 0
    → ほぼ削らない

    Depthを大きくする
    → より深く削る

    Union / Addの場合

    Depth / Union Height は、Object A表面から外側へはみ出す高さです。

    Height = 0
    → ほぼ盛り上がらない

    Heightを大きくする
    → より外側へ突出する

    Depth Direction Mode

    Straight Cutter Volume

    cutterを1つの固い立体として扱うモードです。

    CubeならCube形状のまま、ConeならCone形状のまま、指定方向へcut/addします。

    角ばった形状や、cutterそのものの形を保持したい場合に向いています。


    Follow Target Surface

    Object Aの表面に沿ってcut/addするモードです。

    このモードでは、cutterの接触footprintをObject A表面へ投影し、各点の表面法線に沿ってDepth処理を行います。

    球体や曲面に沿った自然な溝を作りたい場合に有効です。

    ただし、Follow Target Surfaceでは、CubeやConeの立体形状そのものを完全に保つというより、接触footprintを曲面に沿わせて処理する動作になります。


    Manual Cutter Options

    手動で作成したObject Bを使う場合の設定です。

    Use Manual Cutter Mesh Footprint

    Object Bの実meshからfootprintを取得します。
    手動Cube、Cone、Cylinderなどをそのままcutterとして使いたい場合にONにします。

    Respect Manual Cutter Object Scale

    Object Bのscaleを考慮します。
    Blender上でObject Bをギズモで拡大縮小している場合はONにします。

    Size X/Y/Z Deform Manual Cutter

    Size X / Y / Z スライダーで、手動Object Bの大きさも変形できるようにします。

    Sync Size From Object B

    Object Bの現在の寸法を、Size X / Y / Z スライダーへ読み込む機能です。

    Blender標準CubeやConeをギズモで変形した後、その寸法をAdd-on側のSize値に反映したい場合に使います。

    Auto Sync Size From Object B

    Object Bの寸法を自動的にSize X/Y/Zへ同期しようとする機能です。
    手動Object Bを多用する場合には便利ですが、処理を軽くしたい場合はOFFにしてもよいです。


    Projected Contact Preview

    青いfootprint表示の設定です。

    • Show Projected Contact Preview
      青い接触範囲を表示します。
    • Fill Projected Face
      footprintを面として塗りつぶします。
    • Preview Patch Grid
      曲面上のpreviewを細かく表示します。

    処理が重い場合は、まずFillやPatch GridをOFFまたは小さい値にするのがおすすめです。


    Contact Orientation on Surface

    cutterをObject A表面上で回転させる設定です。

    • Orientation Angle
    • 90°
    • 180°
    • 270°
    • Angle + / Angle –

    などを使って、接触面の向きを調整します。

    また、Cut/Add Mode中は、

    Alt + Mouse Wheel

    で角度変更できます。


    Boolean / Finish

    Apply Boolean

    左クリック後にBoolean Modifierを即Applyするかを決めます。

    ONの場合

    Boolean処理後、Object Aのmeshに結果を確定します。
    通常作業ではONが使いやすいです。

    OFFの場合

    Boolean ModifierをApplyせずに残します。
    結果を確認したい場合や、後から調整したい場合に便利です。


    Keep Temp Cutter

    Boolean用に作られた一時cutterを残す設定です。
    通常はOFFでよいですが、Boolean結果を検証したい場合にはONにします。


    Startボタンの使い方

    Start Difference Cut

    Difference / Cutモードを開始します。
    Object A上へマウスを移動し、左クリックで溝を掘ります。

    Start Union Add

    Union / Addモードを開始します。
    Object A上へマウスを移動し、左クリックで形状を追加します。

    Start Current Operation Mode

    現在選択されているOperation Typeで開始します。
    Difference / Cutが選ばれていればCut、Union / Addが選ばれていればAddとして動作します。


    基本操作手順

    1. Targetを指定する

    Object Aとして、加工したいObjectを指定します。

    Target / Cutter
    → Target Object

    2. Cutterを指定する

    Object Bとして、cutterを指定します。

    標準cutterを使う場合は、Add-onから作成します。
    手動cutterを使う場合は、Blenderで作ったObjectをObject Bに指定します。

    3. Source Faceを選ぶ

    cutterのどの面をObject Aへ貼り付けるかを選びます。

    例:

    Z Face X×Y

    4. Operation Typeを選ぶ

    削る場合:

    Difference / Cut

    追加する場合:

    Union / Add

    5. SizeとDepthを調整する

    接触面の大きさは Size X / Y / Z で調整します。
    掘る深さ/外へ出す高さは Depth / Union Height で調整します。

    6. Startボタンを押す

    Start Difference Cut
    Start Union Add
    Start Current Operation Mode

    のいずれかを押します。

    7. Object A上へマウスを移動する

    オレンジ色cutterと青いfootprintがObject A表面へ追随します。

    8. 左クリックで実行する

    左クリックすると、cutまたはaddが実行されます。


    使用例

    Cube cutterで球体に四角い溝を掘る

    推奨設定:

    Cutter Shape: Box
    Operation Type: Difference / Cut
    Source Face: Z Face X×Y
    Depth Direction Mode: Follow Target Surface
    Apply Boolean: ON

    球体の表面に沿った四角い溝を作りたい場合に使います。

    Cone cutterで突起を追加する

    推奨設定:

    Object B: Cone
    Operation Type: Union / Add
    Manual Cutter Boolean Geometry: Full Manual Mesh
    Full Mesh Depth Behavior: Move Through Surface
    Source Face: Z Face X×Y
    Source Side: + Source Side または - Source Side

    Coneの先端方向が逆に見える場合は、Source Sideを切り替えます。


    処理が重くなった場合の対策

    cut/addを繰り返すと、Object Aのmeshが複雑になり、Boolean処理に時間がかかるようになります。

    重い場合は、次の設定を見直してください。

    Fill Projected Face: OFF
    Preview Patch Grid: 小さくする
    Surface Follow Rings: 2〜4程度
    Surface Follow Edge Subdivisions: 1〜2程度
    Add Bevel: OFF
    Add Weighted Normal: OFF
    Auto Sync Size From Object B: OFF

    また、作業途中では Apply Boolean をOFFにして、後から必要なものだけApplyする方法もあります。


    よくあるトラブル

    Startボタンを押しても反応しない

    Object A上へマウスを移動してください。
    Nパネル上ではraycastできないため、Object A表面上へマウスを入れる必要があります。

    オレンジ色cutterが見えない

    Start Current Operation Mode を押した後、Object A上へマウスを移動してください。
    Object Aの表面を検出した時点で、cutterが初期化されます。

    青いfootprintが反対側に出る

    Source Sideの向きが合っていない可能性があります。
    + Source Side- Source Side を切り替えて確認してください。

    Size X/Y/Zを変えても手動Object Bが変わらない

    手動cutterの場合は、次を確認してください。

    Size X/Y/Z Deform Manual Cutter: ON
    Respect Manual Cutter Object Scale: ON

    ギズモで変形したObject Bの大きさとSize値が合わない

    Sync Size From Object B を押してください。
    自動同期したい場合は、Auto Sync Size From Object B をONにします。


    まとめ

    KJ Surface Groove Stampは、Blender上でObject表面に対して、直感的にcut/addを行うためのAdd-onです。

    重要な考え方は次の3つです。

    Object A = 加工されるObject
    Object B = cutter
    Source Face = cutterのどの面を表面へ貼り付けるか

    さらに、Operation TypeによってDepthの意味が変わります。

    Difference / Cut:
    Depth = 表面から内側へ掘る距離

    Union / Add:
    Depth / Union Height = 表面から外側へ出す距離

    直線的に形を押し込む場合は Straight Cutter Volume、球体や曲面に沿った溝を作りたい場合は Follow Target Surface を使います。