Blender挫折したVRC勢に捧げる3D CAD「DesignSpark Mechanical」のすすめ

#はじめに
みなさんBlenderには挑戦しましたか？　まだの人は敢えてこの記事を読む必要はありません。あれを使いこなせるならそれに越したことはないので……。
ここでは**DesignSpark Mechanical**(以下**DSMech**)を使ってVRChat用の小物を作る手順を紹介しながらDSMechの素晴らしさを伝えたいと思います。

※執筆時点のバージョン：4.0(R19.1)(2018.1.0.12131)

###まずは結論から

さて、私はVRChatのWorldを作っているので小物をたくさん作ります。全部DSMech製です。
こういう単純なものから、
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/627722/eb24d131-8da8-315c-0e48-38ec9643badd.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/627722/185e3792-e25d-0c8f-ac2c-780bacec2851.png)

これくらい複雑なものも、
![VRChat 2020-05-06 11-28-33_Moment.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/627722/d503f22f-9985-6268-8fb0-1be874c59d9e.jpeg)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/627722/02e2a8b3-c6b4-317d-2188-40309a0fb87e.png)

この大きな客車全体もDSMechで作れます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/627722/50812d71-54ff-e3aa-a1b1-45c09ca45735.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/627722/d18c58a5-a58e-9360-bc10-f5fe1c8749ee.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/627722/583e91c8-3699-a997-60fd-a9af963b1c73.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/627722/6dace303-e6d0-505e-eb5d-b5a19c2cec20.png)

慣れるとこの規模でも1個30～120分かそこらでできます。細かい寸法を先に決めておけばもっと速いです。
BlenderをNヶ月かけて練習するより今パッと作りたいんだ！という人！DSMechどうっすか！

ところで……**Blenderで初めてのモデリングを進めている間、あなたは何回ググりましたか？**
チュートリアルが終わっても何もできるようになった気がしなかったあの日……ちょっとしたことをしたいだけなのに毎回検索してはブラウザのタブをいっぱいにしていましたよね。

もうすっぱり諦めませんか。そしてDSMechを始めましょう。
私はかれこれ**半年はDSMechを使っていますが、ググったのはほんの数回**です。なぜならほとんどが**一目瞭然**なので。

### DesignSpark Mechanicalってなんなの？
>簡単！ お手軽！ 無料 3D CAD
DesignSpark Mechanical（DSMech）は非常に簡単に使える3次元CADです。
(公式ページのトップより)
>https://www.rs-online.com/designspark/mechanical-software-jp

そう、**CAD**です。CADは工業製品や3Dプリンタ用のデータを作るのに非常に適したソフトウェアです。
生き物や人物のモデリングには絶望的に向きません。そういうのを期待した人は、楽する道はありませんのでBlenderにお帰りください。

### こんな人はDSMechに向いてる！
- 芸術とか分かんない！寸法が決まっているものを**寸法通り**に作りたい！
- 自称「粘土をこねるような」とかいう~~クソ~~UIを投げ捨てて、**製図する**みたいに作りたい！
- アバターのモデリングは完全に諦めたが、せめて**アクセサリーや小物**くらいは自作したい！
- かといってもう一度モデリングを**練習する気はさらさらない**！

さて、あなたはboothで買った自分のアバターにかわいいイヤリングを作ってあげたくなったとします。
レトロでスチームパンクな時計風なんてどうですか？

<img width="256" alt="painted_clock.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/627722/f668b6a9-c6d1-8ba8-71ba-ad76348cab7b.png">

~~モデリング才能なしマンあるある：画力もカス~~
じゃあ、これを作ってみるとします。

#使ってみよう

###素晴らしいUI紹介


まずはこの新規作成直後の画面を見ていただきたいのですが、
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/627722/0cbace3d-201d-eeae-5090-16145dc28f66.png)

呆れるほどシンプル！ボタンの数はBlenderの100分の1くらい？
これだけでもう「Blender なんちゃら」でググるのに疲れた我々にぴったりです。
早速始めましょう。

DSMechの重要な特徴として、**寸法**を入力します。
まず円ツールを選んで……
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/627722/e6c49937-40cf-72d4-7028-7e6ca63c7e48.png)

なんて親切なTooltip！　言われた通りに書きます。寸法は直径10mmとします。
欲しい寸法にスナップしてくれない時はドラッグ中にスペースキーを押すと直接入力できます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/627722/796bfc9c-f01a-b3e5-c22b-1766ddfa99a3.png)


次は厚みです。プルという操作が全てを解決します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/627722/b342493e-7774-5b0c-74e4-211ede768775.png)


ああっちょっと待って！Blenderで押し出し操作にトラウマを負ったあなた！
大丈夫！DSMechの押し出しは怖くないよ！だってほら……
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/627722/9b21d591-a5f9-a99e-ffe5-67d023e87262.png)

寸法を入力できるからね。厚さ3mmです。よくわかる。助かる～。
このUIはSketchUpにも似ていますが、DSMechの方が製図としては遥かに親切です。

押し出している最中に、自分が一体何ミリ押し出しているのか、モデリングソフトが教えてくれたことがありますか？私はないです。
大抵目分量で作ってから後で意味不明な数値入力をさせられます。私はキレました。
10センチの柱の横に5センチの柱を生やしたいのに、どこが何センチやらさっぱりわかりませんしスナップもしてくれませんよね。
他のソフトでモデルをこねていると、ある部分が一体どれくらいの大きさなのかわからなくなってきます。

DSMechなら安心です。寸法がわかるので。測定ツールで円周を選んで……

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/627722/92a5a7fd-c877-d143-c88e-f285cac829b9.png)

ほらね。助かる～。
Blenderの寸法はある辺や面の情報は教えてくれますが、円の半径や任意の並行する二辺間の距離などは教えてくれません。製図ならではの機能です。寸法ツールを使って常に表示させておくこともできます。
この辺の感覚に共感してくださった方、今すぐDSMechを始めましょう。

話を戻しますが、文字盤の部分は凹んでて欲しいので凹ませます。
Blenderの場合はこの文字盤の中心に3Dカーソルを置くだけでもGoogleのお世話になりましたね。
その次は円柱の作り方を検索し、その次は拡大縮小の仕方を検索し……ああ、やめやめ、もう忘れよう。
だってこれからはDSMechがあるからね。

この面をこの形に凹ませたいです！と言うために、面を選択します。
円を書きます。ここでも寸法を正確に入力できます。やったね！

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/627722/b525583e-e7e4-70a9-062a-441b075d0421.png)

プルで好きなだけ凹ませます。もう土台完成。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/627722/62083c73-8099-3dd5-12fd-ca76d9f6e417.png)

さあいよいよ針を置いていきます。まずは軸です。もう何をすればいいかわかりますね。
真ん中に円を書いて直径を入力します。そしてプル！

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/627722/8b4a233a-e4fb-c154-cf05-e1ca157ed673.png)

はい注目！ここで寸法を入力しようとして、「ここは何ミリだな」ってすぐに出てくる人はもう作図のプロですね。
でも普通の人はここで気付くはず。寸法は手段であって目的ではない。
ここで本当にしたかったことは、

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/627722/ffe4c985-ca00-9670-44e2-97ee8ee32422.png)

この面とこの面、2つの高さを完璧に揃えるのが目的なんですよ。ですよね？
Blenderでこれをやろうとして円錐を作ってしまった人だけで街が作れると思います。
でもDSMechなら、

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/627722/114e6c62-8a46-864b-9142-b8cff43f4ace.png)

プルしようとすると左上に我々が求めていたボタンを出してくれます。
まずこの「～まで」ボタンを押し、次に揃えたい高さにある面をクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/627722/b4beddf2-1db8-b23c-48a7-9b00eaf42344.png)

たった2クリックで完璧だ……。ついでに寸法ツールで寸法を出してみました。ここは2mmだったそうです。ヨシ！

その次は針になる矢印を書きます。直線ツールでポチポチするだけです。常に寸法が出ているので安心ですね。
斜めが見づらければ平面ビューボタンを押せば描画面に対して垂直な2D風視点になります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/627722/ee2b1703-6c05-ddae-dd38-7b6b40bbe255.png)

左上の表示に注目です。「端点に正接」「グリッドに平行」……これスナップの情報です。こういう**「図形の意味に即した」スナップ**こそ必要じゃないですか？
私は必要だと思います。思いますよね？

更に、情報不足であれば先に**補助線**を引くことだってできちゃいます。
補助線は作図中にだけ表示され、モデルとして出力する時には無視してくれる便利機能です。
これを描いておけば交点などにもスナップしてくれるので安心。

短針は角度が微妙なのでこのままではスナップしてくれません。
そこで軸の接線を補助線として2本引き、そこから更に垂直な線を針の頭の長さがわかるように引きます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/627722/2c011152-8dbd-0ff1-1b38-43f7d8e9fab1.png)


これなら針はスナップの導くままに簡単に書けますね。そしたらプル！
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/627722/515410ae-2588-5237-a08c-b20cd6a8551c.png)

わーい。

### 後からの微調整も簡単

もちろん全ての寸法が最初から決まっているということはあまりありません。常に簡単に変更できるというのはかなり大切なことです。
しかしモデリングソフトは辺や面の意味を理解してくれません。
球をシーンに配置した瞬間、頂点たちは自分が球の一部だったことを忘れます。
半径を変えて欲しい……と思っても、まずは何とかして中心点を探してやらなければなりませんでした。
それどころか一体どれが曲面を構成する頂点なのか、時には1つ1つ手動で選択してやったり……。
ムカつきますね。私が自称粘土こねUIを嫌いになった理由の一つです。

DSMechはCADなので、半径という概念は曲面に残っています。
選択してプル……0.3mm薄くしてください。と言えば即座にやってくれます。簡単！！
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/627722/624ce398-15c9-64e7-de74-ce950ddf8332.png)

そもそも面をクリックした瞬間「面」を選択してくれるのが最高。
Blenderは「面を構成している1ポリゴン」を選択するからね。
Select Edge Loop/Ringが仕事をしてくれたためしもないし。
しかも頂点と辺と面をそれぞれ選択したいときには別のモードに切り替える必要があるとかホントに何なんだあいつは……いやもう忘れよう。忘れようったら。

### そしてUnityへ
出来上がったら保存します。
まずは.rsdocという独自形式でDSMechとしてのデータを残しておきます。
Unityなど外部ツールで読み出せるようにするには、obj形式でエクスポートします。

Unity直読みできるモデル形式をエクスポートしてくれる完全無料CADソフトは、私の知ってる限りDSMechだけです。最高だ！[^1]
[^1]: DSMechだけ、は言い過ぎ。一応OnshapeとかFusion360とか、ブラウザベースだけどVectaryとかはまあ含めてもいいと思う。でも商用利用はNGだったりして痒い所に手が届かながちだよね。FreeCADは正直悪くないかもしれないけど余計な機能がわさわさ付いててBlenderと同じ轍を踏み始めているように感じる
他にもいいのがあったら教えてください。マジで

Unityでインポートする時にはスケールを1000分の1にしてやる必要があります(DSMechはミリ単位、Unityはメートル単位なので)。
Import settingsのinspector内にあるScale Factorに0.001と入れてApplyしてください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/627722/bb0813da-60fc-f1ac-9bec-00be084a54ed.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/627722/5f2fbdfb-b040-6862-628b-de458a0567f5.png)

できた！

ちなみにこれはDSMechに限らない話ですが、ライティングがおかしい時は同InspectorでNormalをImportからCalculateに変更するとよいです。
static化してライトをBakeする時はGenerate Lightmap UVを有効にするのもお約束通りです。

### テクスチャを貼る……？

ここで残念なお知らせです。
DSMechはUV展開に対応していません。なんせCADなので。
よってテクスチャ作業だけはUnityでもDSMechでもない第3のツールでやってやる必要があります。

私が使っているのはというと……
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/627722/450905e0-7f25-889e-74b5-ac7bfdb0061a.png)

裏切ってすまない……。
でも**Blenderが難しいのは立体造形であって、UV展開はそんなに難しくない**。
2、3個やるうちにマスターできる程度の機能しか使わない。これは本当。
objはメタセコとか大体のソフトで読めますから、自分が挫折したソフトに立ち返ってやってみてください。
これ読んでるような人は多分立体造形の時点で挫折してUV展開まで辿り着いてないんじゃないかと思ってます。
詳しい説明は数多のページに譲るとして、とにかく立体物のモデル自体がCADで作れるっていうのが最高なところなんですよ。

それに単色マテリアルの金物やプラならテクスチャなんていらないですしね。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/627722/e6e0c898-6873-fbad-b22b-aef0f3058bf4.png)

ちなみに他の対応出力形式はこんな感じです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/627722/4e06f005-576f-da27-d42c-e1be9bac1b35.png)

AMF/DXF/OBJ/VDB/PDF/SKP/STL/XAML/JPG/PNG
※画像形式はスクショ撮るみたいな機能です

#最後に

DSMechは他にもこんなことができます。
* 角を指定してC面取り/フィレット(要するに丸みを付けたり角を削ったり)
* ミラー線を引いて左右対称な図形を作る
* ある軸の周囲を回転させて壺やドーナツのような回転体を作る
* 2辺を選択して内接する円弧を引く
* スプラインで複雑な曲線を引く
* 部品ごとに概念を分けてUnity側で別のMeshとしてImportする

よく考えられた少数の要素でできているので、ショートカットキーを覚える必要もありません。
スペースキーは頻繁に使いますが、あとはほぼ不要です。細かいメニューを辿らなくても1クリックでできるからそんなに必要もないし。
もちろんお急ぎの方は覚えて使うこともできます。

こんなに素晴らしいフリーソフトが全く知られていない[^2] のはおかしいですね。
是非とも流行らせていきたい。
やってみませんか？みましょう。
[^2]: 執筆時点で「DSMech」のGoogle検索結果が2890件しかない。なんで？

みんなもレッツDesignSpark Mechanical!


>簡単！ お手軽！ 無料 3D CAD
DesignSpark Mechanical（DSMech）は非常に簡単に使える3次元CADです。
>https://www.rs-online.com/designspark/mechanical-software-jp