電子工作
Salesforce
Blender
microbit

BlenderでSalesforce アストロくんのペーパークラフトを作る

こんにちは。co-meetingの木村です。

この記事はSalesforce Platform Advent Calendar 2018の17日目です。

今年はネタに走ることにしました:grinning:


はじめに

Salesforceには最近かわいいキャラクターがいっぱいいます。その筆頭がこのアストロくんです。

image.png

Trailblazing - Salesforce.com

今回は3DモデリングツールのBlenderでこのアストロくんの3Dモデルを作り、そこからペーパクラフトの展開図を作るというお話にしようと思います。

モデリングの仕方は軽く触れるにとどめ、今回の技術ネタとしては、主にペーパークラフトの展開図を生成するのに使用したExport-Paper-Model-from-Blenderアドオンの使い方をご紹介しましょう。

Salesforceに関係ない?いやまあ、たまにはこんなのもいいじゃないですかw

真面目なのは先月二本書いているので、よかったらそちらもどうぞ。


できたもの

こんな3Dモデルを作ると、

image.png

こんな展開図が自動生成されて、

image.png

印刷して組み立てると、こうなります。

image.png

なかなかかわいくできたんじゃないでしょうか。

なお、電源ボード薄型スピーカーをつけたmicro:bitが頭にぴったり入るサイズにしているので、しゃべらせることもできますよ。

image.png


ペーパークラフトのダウンロード

上の自動生成されたSVGをきれいに配置し直したものを置いておきます。配置し直しただけで展開図自体には何も手を加えていません。

Blenderのファイルもついでに公開しちゃいます(v2.79bで作っています)。


展開図のダウンロード

Blenderファイルのダウンロード

image.png

よかったら印刷して作ってみてください。印刷する時は100%で印刷しないとmicro:bitは入らないのでご注意ください。

私はエレコムのペーパークラフト専用紙を使いましたが、micro:bitを入れないならコピー用紙でも作れなくはないですよ。


作り方

Qiitaの記事なので、技術的?な話も書いていきましょう。


モデリング

コピペテックでチュートリアルを書いているので詳しくはそちらをご覧ください。

Blenderで作るmicro:bitペーパークラフト

ただ、手足が二つ折りのパーツはこちらにしかないなどこちらのモデルの方が複雑なので、その辺り含めこちらの記事ではポイントを箇条書きしておきます。


  • 例えば平面と円を合体させたい場合、結合ではなく[重複頂点を削除]か[辺ループのブリッジ]で連結する必要があります。じゃないとパーツが分かれてしまいます。

  • 手や足のような二つ折りのパーツはコピーして接続部にピボット(回転軸)を指定して、ちょっと回転したあとに[重複頂点を削除]で連結しています。

  • 単色は普通にマテリアルで色をつけて、顔やお腹はUVマッピングで以下の画像を貼っています。(クリックすると大きい画像が開きます)

    astro_face.png
    astro_body.png

  • パーツの接続部の穴は実際に挿した状態にして場所がわかるようにして、ナイフツールでいい感じの大きさの面を作っています。

  • 耳/手/足のように左右対称のパーツはShift+S. で原点にピボットを移動してから、Shift+D(コピー) → Ctrl+M X(X軸対称にミラー反転)で簡単にコピーできます。

  • しっぽだけベジェ曲線を使っていて、他は平面と円の組み合わせ/変形で書いています。

  • いろいろ操作してたら平面のつもりのメッシュの頂点がずれてしまうことがあります。そのときはS(拡大縮小)→Z(揃えたい軸)→0でZ座標が揃います。

  • 手は最初片面印刷にしたら、片手の親指が逆を向いてしまいました。平面に裏表を設定できないせいですね。仕方なく両面にしました。

  • 最後にCtrl+J(オブジェクトの統合)で一つのオブジェクトに統合する必要があります。後で分離したいこともあるので、分離しやすいように各パーツは接触しないようにしておいた方がよいでしょう。

  • 実寸で作ったけど小さすぎて作りにくかったので、100倍くらいで作って展開図出力時に倍率を指定する方が作りやすいかもしれません。

  • 重複頂点があったり、複雑過ぎたりするとエラーになって出力できないので、ペーパークラフトを作るんだ!と思ってモデリングした方が良いと思います。


ペーパークラフト展開図の作り方

モデルはもう完成している前提で、ペーパークラフト展開図を出力していきます。


Export Paper Modelの有効化

Blenderアドオンのaddam/Export-Paper-Model-from-Blenderを使います。

[ファイル] > [ユーザ設定]を開き、[アドオン]タブの[Import-Export: Export Paper Model]にチェックを入れ、[ユーザ設定の保存]をクリックします。

image.png

もしアドオン一覧にない場合は、以下の手順で追加してください。


  1. 上のgithubのio_export_paper_model.pyの[Raw]ボタンからファイルを保存。

  2. アドオンタブ下部の[ファイルからアドオンをインストール]ボタンでダウンロードしたio_export_paper_model.pyを選択し、インストール。


シームを付ける

展開したときに立体の切り口をどこにするかを設定します。

なお、つけなくても自動的にいい感じに切ってはくれます。


  1. [編集モード]にし、[辺選択]にします。

  2. 切り口にしたい辺をShift + 右クリックで複数選択します。

  3. ツールボックスの[Paper Model]を開き、[シームを付ける]をクリックします。

    これで以下のように切り口にしたいところが赤線で表示されます。

image.png


展開図を生成

[Export Paper Model]ボタンをクリックします。

image.png

以下の設定にして、適切なファイル名で[Export Paper Model]をクリックすると展開図がSVGファイルで出力されます。


  • フォーマット: SVG(またはPDF)

  • Create Numbers: チェックを外す

  • テクスチャ: From Materials

  • Resolution (DPI): 300

image.png

軽くオプションを解説しましょう。

名前
説明

フォーマット

PDF or SVG
PDFだとなぜか折り線も実線になってしまうので、SVGがちゃんと印刷できるツールがあるならSVGの方がおすすめです。

Scale
倍率です。モデルを実寸で作っていれば、1:1.0のままでOKです。

Create Tabs
のりしろをつけるかどうか。当然ながらつけたほうが楽ですが、のりを使わない全部はめ込み式のペーパークラフトを作る時はオフにするべきです。

Create Numbers
組み立てたときに接続する辺同士に同じ数字を表示します。
以下のようにあまりきれいに出力されないので、オフにした方がよいかと思いました。
image.png

テクスチャ

No Texture: テクスチャなしなので全面真っ白です。出力した後、別ツールで塗る場合に使えると思います。
From Materials: 各面に割り当てられているマテリアルを出力します。
フルレンダー: レンダリングしたときと同じ状態で出力します。
他はよくわかりません。

Resolution (DPI)
解像度。
印刷だと300DPIくらいがいいとよく言われます。

Colors and Styles
各線の色やスタイル(実線/破線とか)、文字色などを設定できますが、まあデフォルトで問題ないと思います。そしてPDFのときは破線にならないです。


終わりに

よかったら皆さんも作ってみてください!

来年も楽しいSalesforceライフを送りましょう!

最後に軽く宣伝を。

こんな記事も業務時間に書けちゃう株式会社co-meetingはエンジニアを募集しています。

ぜひぜひお気軽にご応募ください!


ずっとプログラマでいたいWebエンジニア募集!プロダクト開発もSIも両方できる!在宅/時短可/残業ほぼなし! | 株式会社co-meeting