簡単におもちゃの写真のようなCG画像の作り方 「Ubuntu / Linux」・Photo realistic rendering with LeoCAD & Blender

![hulk02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/229807/862cedd3-9f6f-6d2e-3db3-4736d1bea1a2.png) ***写真かCG？***

##はじめに
こんにちは streampack チームのメディです。
https://cloudpack.jp/service/option/streampack.html

## Copyrights
**Sintel**
© copyright Blender Foundation | www.sintel.org

**Big Buck Bunny**
© copyright 2008, Blender Foundation | www.bigbuckbunny.org

**LEGO**® is a trademark of the LEGO Group of companies which does not sponsor, authorize or endorse the following softwares.

## 目的
LeoCADとBlenderの簡単な例を学ぶこと。
All those softwares are compatible with Linux, Windows & MacOS. As I didn't find a lot of documentation for Linux I decided to focus this tutorial on Linux.
これらのソフトウェアはすべて、Linux、Windows、MacOSと互換性があります。 Linuxインストールのドキュメントが見つからなかったので、このチュートリアルをLinuxに焦点を合わせることにしました。 

## Tools・ ツール
- LeoCAD
- ldraw-parts
- Blender & ImportLDraw plugin


####LeoCAD
LeoCAD is a free & open sources CAD software , you will be able to create scene easily with block parts using drag&drop. LeoCAD supports the [ldraw file format](https://en.wikipedia.org/wiki/LDraw).
LeoCADは無料でオープンソースのCADソフトウェアです。ドラッグ＆ドロップを使用してブロックパーツで簡単にシーンを作成できます。 LeoCADは[ldrawファイル形式](https://en.wikipedia.org/wiki/LDraw)をサポートしています。
![Screenshot at 2020-03-05 14-28-26.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/229807/ab820854-c92d-e64b-c2ce-2ee9e5985b4d.png)


####Blender
Blender is a free & open sources 3D modeler & renderer.
Movies like Sintel or Big Buck Bunny have been entirely made with Blender. 
Blenderは、無料のオープンソースの3Dモデラーおよびレンダラーです。
SintelやBig Buck Bunnyなどの映画はすべてBlenderで作成されています。
![Screenshot at 2020-03-05 14-36-31.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/229807/38ca54a2-ac31-bd2b-3e1c-b4769524a3b4.png)

####Blender plugin
Blender will use this plugin to import **.ldr** files and to setup the rendering options.
Blenderはこのプラグインを使用して**.ldr**ファイルをインポートし、レンダリングオプションを設定します。

#### Versions ・バージョン
In this tutorial I am using the following versions :
このチュートリアルでは、次のバージョンを使用しています。

| Software     |        Version   |
|:-----------------:|:------------------:|      
|Ubuntu |18.04 LTS|
|LeoCAD |18.01|
|Blender | **2.82**|
|ImportLDraw plugin |1.1.11 for blender 2.81|



## Installation and common use cases ・ インストールと一般的な使用例

### LeoCAD

```bash
sudo apt-get install leocad
```

By default, LeoCAD is provided with a limited number of block parts. We will install more parts in the next step.
デフォルトでは、LeoCADには限られた数のブロックパーツが用意されています。 次のステップでさらに部品をインストールします。

#### More block Parts ! より多くのパーツ！

The following command will install more blocks for LeoCAD.
次のコマンドは、LeoCADのブロックをさらにインストールします。

```
sudo apt-get install ldraw-parts
```

Checking the **ldraw-parts** install path :
**ldraw-parts**インストールパスの確認：

```bash
dpkg -L ldraw-parts
```

When you install this package with **apt-get**, the default block parts location will be `/usr/share/ldraw`
The **ImportLDraw** plugin is looking for parts in `~/mldraw`

このパッケージを**apt-get**でインストールすると、デフォルトのブロックパーツの場所は`/usr/share/ldraw`になります。
**ImportLDraw**プラグインは、`〜/mldraw`内のパーツを探しています。

As the paths are different we need to create a symlink.
パスが異なるので、シンボリックリンクを作成する必要があります。

```bash
ln -s /usr/share/ldraw ~/ldraw
```

LeoCAD is very easy to use and intuitive. You can easily drag & drop parts to create your scene.
Your saved scene will use the **.ldr** format.
LeoCADは非常に使いやすく、直感的です。 パーツを簡単にドラッグアンドドロップしてシーンを作成できます。
保存したシーンは**.ldr**形式を使用します。

### Blender 
In this tutorial I am using Blender v2.82.
Blender「v2.82」の静的ビルドを使用しています。
Download it from [here](https://www.blender.org/download/)
[こちらからダウンロード](https://www.blender.org/download/]してください。)

#### Blender plugin
[Download it from here](https://github.com/TobyLobster/ImportLDraw/releases).
[こちらからダウンロードしてください。](https://github.com/TobyLobster/ImportLDraw/releases)

####ステップ１・ STEP 1 
Please choose
選んでください：
 **Edit** > **Preferences**

####ステップ２・ STEP 2 
Click **Add-ons**, then **Install**
**Add-ons**、**Install**の順にクリックします
![addon_s.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/229807/a7e62daf-06a7-94bd-2982-af639842f74d.png)


####ステップ３・ STEP 3
Please select & install the plugin as shown in the screen capture.
画面キャプチャに示されているように、プラグインを選択してインストールしてください。
![Screenshot at 2020-03-05 15-12-00.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/229807/f5c6a988-642d-cb6e-1b97-d430be554a2b.png)


####ステップ４・ STEP 4 
Please activate the plugin & save the settings.
プラグインを有効にして設定を保存してください。
![save.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/229807/1e600165-1286-587d-c27d-875433eae7fc.png)

####ステップ５・ STEP 5
You should now be able to import LeoCAD files.
これで、LeoCADファイルをインポートできるはずです。
![import.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/229807/e2c18e74-4559-371d-937b-1d76591e2d85.png)

####ステップ ６・ STEP 6
Checking the imported scene.
You can use the mouse wheel to zoom in and out on your scene.
You can hold the middle button of your mouse to move around your scene.
インポートされたシーンを確認します。
マウスホイールを使用して、シーンをズームインおよびズームアウトできます。
マウスの中央ボタンを押したままにすると、シーン内を移動できます。


####ステップ ７ ・ STEP 7
Moving the camera & changing the perspective.
In order to move the camera you need to select it by clicking it, then press the **G** key and move it with your mouse.
カメラを移動し、視点を変更します。
カメラを移動するには、カメラをクリックして選択し、**G**キーを押してマウスで移動する必要があります。
![camera_tuto.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/229807/35d5b85a-e7df-7ec2-6908-f7c414105ad4.png)

#####Some Blender keyborad shortcuts ・ Blenderのキーボードショートカット
From the [Blender documentation] (https://docs.blender.org/manual/en/latest/editors/3dview/navigate/camera_view.html) 

[Blender doc](https://docs.blender.org/manual/ja/latest/editors/3dview/navigate/camera_view.html) から

**Roll**
Press **R** to enter object rotation mode. The default will be to rotate the camera in its local **Z** axis (the axis orthogonal to the camera view), which is the definition of a camera “roll”.

**Roll**
**R** を押してオブジェクトの回転モードに入ります。デフォルトでは、カメラのローカル **Z** 軸 (Camera View に直交する軸) で回転します。この動きをカメラの "Roll" と呼びます。

**Horizontal Pan or Yaw**
This corresponds to a rotation around the camera’s local **Y** axis. Press **R**, and then **Y** twice.

**Horizontal Pan または Yaw**
これは、カメラのローカル Y 軸を中心とした回転に対応します。**R** の後に **Y** を 2 回押します。

####ステップ ８ ・ STEP 8
Settings the image size.
画像サイズを選択してください。
![render.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/229807/b11cbe2b-ce01-87bb-23b4-cb0322fef1c8.png)


####ステップ 9 ・ STEP 9
CPU Rendering・CPU レンダリング
![render2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/229807/1ded45b2-0200-d535-2606-f50aa79a6244.png)

## Render faster with a GPU・GPUでより速くレンダリングする
If you have a [supported GPU](https://docs.blender.org/manual/en/latest/render/cycles/gpu_rendering.html) you can render pictures faster.
[サポートされているGPU]()がある場合は、画像をより速くレンダリングできます。

Go to :
クリックしてください :
 **Edit** > **Preferences** > **System**
![system.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/229807/c14d1503-9a19-5869-e9cc-7650293d38cf.png)
Once you selected your GPU, you need to enable it for rendering.
GPUを選択したら、レンダリングを有効にする必要があります。
![gpu_1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/229807/b2aa109e-c86f-34b4-a90d-33a63f3b0576.png)

You can now start GPU rendering.
これでGPUレンダリングを開始できます。
![render2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/229807/1ded45b2-0200-d535-2606-f50aa79a6244.png)

## Rendered pics examples ・レンダリングの例

Holiday house model can be found [here](https://www.eurobricks.com/forum/index.php?/forums/topic/48285-key-topic-official-lego-sets-made-in-ldraw/&page=31&tab=comments#comment-1529726).
ホリデーハウスのモデルは[こちら](https://www.eurobricks.com/forum/index.php?/forums/topic/48285-key-topic-official-lego-sets-made-in-ldraw/&page=31&tab=comments#comment-1529726)にあります。
This picture has been rendered in 02 min 40 sec with a nvidia GPU.
この画像をnvidia GPUでレンダリングするのに2分40秒かかりました。
![house_2min_40.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/229807/19686167-7c71-7b09-ccfa-08bc2fcdaec2.png)


Train model can be found [here](https://www.eurobricks.com/forum/index.php?/forums/topic/48285-key-topic-official-lego-sets-made-in-ldraw/&do=findComment&comment=1009702).
列車のモデルは[こちら](https://www.eurobricks.com/forum/index.php?/forums/topic/48285-key-topic-official-lego-sets-made-in-ldraw/&do=findComment&comment=1009702)にあります。
This picture has been rendered in 02 min 11 sec with a nvidia GPU.
この画像をnvidia gpuでレンダリングするのに2分11秒かかりました。
![train_2min_11.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/229807/5f5e22c1-e236-c15d-cf9f-148cc4855d82.png)


## 情報源 ・ Information sources
https://www.leocad.org/
https://www.blender.org/
https://github.com/TobyLobster/ImportLDraw
https://en.wikipedia.org/wiki/LDraw
https://www.eurobricks.com
https://docs.blender.org/manual/ja/latest/editors/3dview/navigate/camera_view.html