3Dモデルのパースをベクターデータとして保存する方法

仕事でパソコンの絵を含む説明図を作ることになった。説明図はIllustratorで作るのがよい。無償で使えるベクター形式のクリップアート集でパソコンを検索してみたが、これというものがなかなか見つからない。結局自分でモデリングした。

これをパースがついた2次元のベクターデータにしたい。いろいろ調べて、こんな感じの手順でできた。

  1. SketchUp形式(拡張子はskp)で保存できるソフトでモデリング
  2. SketchUpdae形式で保存
  3. daeファイルをBlenderで読み込み
  4. FreeStyleでレンダリングSVGで保存
  5. 保存されたSVGIllustratorInkScapeで編集

以下、順を追って説明していく。もっといい方法があったら教えて下さい。

まずモデリングにはSketchUpを使った。Fusion 360モデリングしてskp形式でエクスポートし、SketchUpに読み込んでもよい。

f:id:Imamura:20171111235429p:plain

キーボードの部分など、外形線を描くのにIllustratorを使った場合はDXF形式でエクスポートしてSketchUpFusion 360に読み込む。

モデリングの注意点
モデリングに際しては、線だけで表現したいところも面にすること。上のモデルでは、キーボードのキーやタッチパッドなどは直方体としてレンダリングされる必要はない。これらはキーなどの形をした板状のポリゴンで表現している。この板は本体にくっついていると輪郭線がレンダリングされない。0.1ミリほど本体より高い場所に配置した。
f:id:Imamura:20171111235430p:plain

SketchUpで[ファイル]−[エクスポート]−[3Dモデル]を選択し、「ファイルの種類」を「COLLADAファイル(*.dae)」にして保存する。このとき[オプション]で「すべての面を三角形化する」をオフにしておくと多角形のポリゴンがそのまま出力され、余分な線が作られない。

f:id:Imamura:20171111235431p:plain

エクスポートした3DモデルをBlenderに読み込む。Blenderは操作が独特なのでちょっと詳しく。(日本語表示にする方法は後述)

  1. デフォルト状態で起動したら、原点にある立方体を削除する。[X]キーか[delete]を押して[Enter]、またはマウスをクリック
    f:id:Imamura:20171111235432p:plain
  2. [ファイル]−[インポート]−[Collada(デフォルト)(.dae)]を選択してdaeファイルを読み込む
  3. 読み込んだ3Dモデルのカメラアングルを調整する。マウスポインタモデリングウィンドウ内に置き、テンキーの[0]を押す。もともと配置されているカメラからのビューになる(もう一度[0]キーを押すと元に戻る)。下の画面はマウスホイールで外側の黒い領域(ここはレンダリングされない)を狭くしている
    f:id:Imamura:20171111235433p:plain
  4. [N]キーを押して表示される「プロパティ」ペイン内、「カメラのビューをロック」をオンにする。マウスのホイールで拡大/縮小、ホイールボタンのドラッグで回転、[Shift]+ホイールボタンのドラッグで移動させることができる。これらの操作でカメラアングルを調整する
    f:id:Imamura:20171111235434p:plain
  5. レンダリング結果をベクター形式で保存するためのアドオンを追加する。[ファイル]−[ユーザー設定]で「Blenderユーザー設定」ウィンドウを開く
    f:id:Imamura:20171111235435p:plain
  6. 「アドオン」タブの左上にある検索欄に「SVG」と入力し、表示された「Render: Freestyle SVG Exporter」のチェックボックスをオンにする。変更したユーザー設定を保存するために、「Blenderユーザー設定」ウィンドウ左下の[ユーザー設定の保存]をクリックしてからウィンドウを閉じる(これをしないとBlenderを起動するたび設定が元に戻っちゃう)
    f:id:Imamura:20171111235436p:plain
  7. 「レンダーレイヤー」の「Freestyleラインスタイル」にある「ジオメトリ」−「モディファイアー」で「サンプリング」の値を「0」にする
    f:id:Imamura:20171113224613p:plain
    • これをしないと、指定した間隔で直線にアンカーポイントが追加される
      f:id:Imamura:20171111235438p:plain
  8. SVGを出力するフォルダを「レンダー」の「出力」欄に指定(「//」と指定すると.blendファイルと同じフォルダに出力される)。その下の「Freestyle」と「Freestyle SVG Export」にチェックを入れてレンダリング([F12]キーを押す)
    f:id:Imamura:20171111235439p:plain
    • レンダリング後3Dビューに戻るには[Shift]+[F5]を押すか、レンダリング領域の左下にあるエディタータイプのメニュー(「ビュー」の左)で「3Dビュー」を選択する
  9. 「0001.SVG」が出力される。IllustratorInkscapeで開く
    f:id:Imamura:20171111235440p:plain

こんな感じです。

Blenderはすごく昔からあるソフトで興味もあり、何度か挑戦している。最初にBelnderに言及したのは2001年だった。

今回は初めて仕事で役立てることができてよかった。独特な操作を覚えるのは大変だから、モデリングには慣れているFusion360SketchUpを使い、その先のテクスチャとかレンダリングBlenderでというのが自分にはよさそうだ。

Blenderを日本語表示にする方法

  1. ウィンドウ左上の[File]−[User Preferences...]をクリックする
    f:id:Imamura:20171111235441p:plain
  2. Blender User Preferences」が表示される。「system」タブ右下の「International Fonts」をクリックしてオンにする
    f:id:Imamura:20171111235442p:plain
  3. その下の「Translate:」にある[Interface]と[Tooltips]のボタンをクリック。2つのボタンは「Interface」をオンにするとそれぞれ[インターフェース]と[ツールチップ]になる
    f:id:Imamura:20171111235443p:plain
  4. 変更したユーザー設定を保存するために、「Blender User Preferences」の左下にある[ユーザー設定の保存]をクリックする
  5. Blender User Preferences」ウィンドウを閉じると、各種のインターフェースと、ボタンやメニューにマウスポインタを置いたとき表示されるツールチップが日本語化されている
    f:id:Imamura:20171111235444p:plain

参考にしたページ

(2017年11月11日記)