モーリーのメモ

アプリ開発等(プログラミング、CG作成)、興味を持ったことを実践してまとめるブログです。

モーリーのメモ

BlenderとInkscapeでパネルを作る その2(完) - Blender編

 下記の記事の続きです。
mmorley.hatenablog.com

 その1で作成したInkscapeのファイルをBlenderにインポートして下図のように加工します。
 f:id:mmorley:20160118170947p:plain
 飾り枠を立体化し、面部分と組み合わせています。

使用環境

1.Blenderを起動

 下記の記事の設定(カメラ、照明の位置等)を流用します。
mmorley.hatenablog.com
 上記のBlenderファイルです。
https://github.com/githubmorley/blog-files/blob/master/160106/blender.blend
リンク先のページ内の『Raw』を右クリックして、『リンク先を別名で保存』をクリックするとダウンロードできます。

  1. Blenderを起動
  2. 上記のファイルを選択し、『Open Blender File』をクリック

2.カメラの非表示

 作成中にカメラが邪魔なので非表示にします。

  1. カメラを右クリックして選択
  2. キーボードの『h』を押下し、カメラを非表示
補足 非表示したオブジェクトを再表示するには、キーボードの『option + h』を
押下します。

3.オブジェクトの削除

 最初から配置しているオブジェクトは不要なので削除します。

  1. オブジェクトを右クリックして選択
  2. キーボードの『x』→『d』を順に押下して削除

4.Inkscapeファイル(プレーンSVG)のインポート

 "その1"で作成したInkscapeファイル(プレーンSVG)をインポートします。
 ここから作業する場合は下記のファイルを使用して下さい。
blog-files/panel.svg at master · githubmorley/blog-files · GitHub
リンク先のページ内の『Raw』を右クリックして、『リンク先を別名で保存』をクリックするとダウンロードできます。

  1. 『File』- 『Import』-『Scalable Vecter Graphics(.svg)』をクリック
    f:id:mmorley:20160121121948p:plain
  2. "上記のInkscapeファイル(プレーンSVG)を選択し、『Import SVG』をクリック

5.原点の設定

 インポートしたオブジェクトはサイズがかなり小さいので、ホイールスクロール等で3DViewの表示を拡大して下さい。
 青色のオブジェクトが面用、黄色のオブジェクトが枠用となります。
 
 下図のように原点がオブジェクトの中心にないので、それぞれのオブジェクトの中心に設定します。
f:id:mmorley:20160121181636p:plain

  1. 面用のオブジェクトを右クリックで選択
  2. キーボードの『shift』を押しながら、枠用のオブジェクトを右クリックして追加選択
  3. キーボードの『shift + control + option + c』を押下(または画面左の『Tools』シェルフの『Edit』の『Set Origin』をクリック)
  4. キーボードの『o』を押下(または『Origin to Geometry』をクリック)
補足:原点設定の種類
  • Geometry to Origin:"頂点の平均位置"を原点に移動
  • Origin to Geometry:原点を”頂点の平均位置”に移動
  • Origin to 3D Cursor:原点を3Dカーソルの位置に移動
  • Origin to Center of Mass:原点を重心に移動
    f:id:mmorley:20160122113746p:plain
    『Geometry』は頂点の平均位置なので、図のように頂点が密な方に偏ります。

6.面用と枠用のオブジェクトのサイズを拡大

  1. 面用のオブジェクトを右クリックして選択
  2. キーボードの『shift』を押しながら、枠用のオブジェクトを右クリックして追加選択
  3. キーボードの『s』を押下して拡大縮小を開始
  4. キーボードの『return』を押下
  5. 画面左下の『Resize』の『Vector』に下記のように入力
    • X:35.4
    • Y:35.4
    • Z:1.0
      f:id:mmorley:20160126173456p:plain
  6. キーボードの『control + a』→『s』を順に押下して、拡大縮小を適用

7.Meshに変換

  1. 面用のオブジェクトを右クリックして選択
  2. キーボードの『shift』を押しながら、枠用のオブジェクトを右クリックして追加選択
  3. キーボードの『option + c』→『m』を順に押下してMeshに変換

8.枠用オブジェクトの重複した頂点を削除

 不要な頂点が含まれているので削除します。

  1. 枠用のオブジェクトを右クリックで選択
  2. キーボードの『tab』を押下して、エディットモードにする
  3. キーボードの『a』を押下して、頂点を全て選択
  4. キーボードの『w』→『r』を順に押下して、『Remove Doubles』を適用

9.枠用のオブジェクトの面を結合

 エディットモードにするとわかりますが、下図のように面が細かく張られています。
 f:id:mmorley:20160122162538p:plain
 このままだと、後で行う予定のBevelの処理がうまく処理されないので面を結合します。

  1. キーボードの『tab』を押下して、オブジェクトモードにする
  2. 画面右の『Properties』ウインドウの『Modifiers』の『Add Modifier』をクリック
  3. 『Decimate(ポリゴン数削減)』をクリック
    f:id:mmorley:20160122235426p:plain
  4. 『Decimate』の設定で『Planer』を選択し、『Apply』をクリック
    f:id:mmorley:20160123011008p:plain
    『Faces』に適用後の面の数が表示されます。

f:id:mmorley:20160123011613p:plain
上図のように面が結合されています。

補足:『Decimate』の種類
  • Collapse:メッシュの形を考慮しつつ、徐々に頂点を合成します。
    • Ratio:『Decimate』適用前後の面の数の比率です。『Ratio』が1だと面の数はそのまま、0だと0です。
  • Un-Subdivide:『Subdvide(細分化)』で作られるであろうエッジを削除します。
    • Iteration:『Un-Subdivide』処理を実行する回数です。通常、偶数を指定します。
  • Planar:同一平面とみなした平面を溶解します。溶解は、対象となる複数の面を取り除いた後1つの面で埋める処理です。
    • Angle Limit:ここで指定した角度より小さい面を溶解します。
    • All Boundaries:有効にすると、面の境界に沿ったすべての頂点を溶解します。『Angle Limit』の値が大きい場合、より良い結果が得られます。
    • Delimit:特定の場所の面を溶解しないようにします。
      • Normal:面の法線が逆になった場所の境界のエッジを溶解しません。
      • Material:異なるマテリアルが割り当てられた境界のエッジを溶解しません。
      • Seam:シームとしてマークされたエッジを溶解しません。
補足:穴の空いた形状への『Decimate』

 枠用のオブジェクトには、あえて切れ目を入れています。
 切れ目を入れなかった場合、『Decimate』を適用すると下図のように思わぬ位置にエッジが残ります。
f:id:mmorley:20160126125819p:plain
 穴の空いた形状だと面が2つになるのは仕方ないようですが、問題はエッジの位置です。
 『Bevel』を適用すると下図のようになります。
f:id:mmorley:20160126161744p:plain
 枠のオブジェクトは、先に切れ目を入れておくことでエッジの位置を決めています。

10.枠用オブジェクトの切れ目をつなげる

  1. キーボードの『tab』を押下して、エディットモードにする
  2. キーボードの『a』を押下して、頂点の選択を全て解除
  3. キーボードの『c』を押下して、サークル選択を開始
  4. マウスの左ボタンドラッグで頂点をなぞって下図のように選択して、右クリックで終了
    f:id:mmorley:20160126171323p:plain
  5. キーボードの『w』→『e』を順に押下して、『Bridge Edge Loops』を適用

11.掃引で枠用オブジェクトに厚みを付ける

 引き続きエディットモードで作業します。

  1. キーボードの『a』を押下して、頂点の選択を全て解除
  2. キーボードの『a』を押下して、頂点を全て選択
  3. キーボードの『1』を押下して、『Front View』にする
  4. キーボードの『e』を押下して、掃引を開始
  5. キーボードの『return』を押下
  6. 画面左下の『Extrude Region and Move』の『Vector』に下記のように入力
    • X:0
    • Y:0
    • Z:0.025
      f:id:mmorley:20160126173511p:plain
  7. キーボードの『7』を押下して、『Top View』にする

12.枠用オブジェクトにBevelを適用

 引き続きエディットモードで作業します。

  1. キーボードの『control + b』を押下し、Bevelを開始
  2. キーボードの『return』を押下
  3. 画面左下の『Bevel』を下記のように入力
    • Amount:0.019
    • Segments:3
      f:id:mmorley:20160126203214p:plain

13.枠用オブジェクトにSmoothを適用

 引き続きエディットモードで作業します。

  1. キーボードの『w』→『a』を順に押下して、『Shade Smooth』を適用

14.面、枠用オブジェクトの位置の調整

 面、枠用オブジェクトを原点に配置します。

  1. キーボードの『tab』を押下して、オブジェクトモードにする
  2. キーボードの『shift』を押しながら、面用のオブジェクトを右クリックして追加選択
  3. キーボードの『option + g』を押下

15.Lamp(照明)のトラッキング

 Lampが常に面用オブジェクトのほうを向くようにします。
 Lampは上の方にあります。

  1. Lampを右クリックして選択
  2. キーボードの『shift』を押しながら、面用オブジェクトを右クリックして追加選択
  3. キーボードの『control + t』→『t』を順に押下して、『Track To Constraint』を適用

16.Lampの設定

  1. Lampを右クリックして選択
  2. 画面右の『Properties』ウインドウの『Data』タブの『Lamp』を下記のように設定
    1. 『Type』を『Point(点光源)』に設定
    2. 『Energy(光の強さ)』を3に設定

17.面用オブジェクトの色を調整

  1. 『Properties』ウインドウの『Materials』タブの『Diffuse』を下記のように設定
    • 『Intensity』を1に設定

18.枠用オブジェクトの色を調整

  1. 『Properties』ウインドウの『Materials』タブの『Diffuse』を下記のように設定
    1. 色設定をクリックし、カラーボックスで下記の色を設定
      • 『R』:1
      • 『G』:0.6
      • 『B』:0
    2. 『Intensity』を1に設定
  2. 『Properties』ウインドウの『Material』タブの『Specular(反射)』の『Intensity』を1に設定
  3. 『Properties』ウインドウの『Material』タブの『Shading』の『Emit』を0.5に設定

19.レンダリングの実行

  1. キーボードの『F12(またはfn + F12)』を押下し、レンダリングを実行

20.画像ファイルの保存

  1. キーボードの『F3(fn + F3)』を押下
  2. ”保存先のフォルダ”と"ファイル名"を入力し、『Save As Image』をクリック

下図は出来上がった画像です。
f:id:mmorley:20160118170947p:plain
Gimp(画像編集ソフト)で余白を削除し、サイズを縮小しています。

今回の成果物

 作成したBlenderファイルです。
https://github.com/githubmorley/blog-files/blob/master/160127/blender.blend
リンク先のページ内の『Raw』を右クリックして、『リンク先を別名で保存』をクリックするとダウンロードできます。

あとがき

 今回は、Bevelを適用したいエッジを選択した後にキーボードの『control + b』でBevelを適用しています。別の記事で使用した『Modifiers』の『Bevel』を適用する方法だと思い通りに出来ませんでした。前者は『Bevel Tool』、後者は『Bevel Modifier』というみたいです。