【Godot】プラグインのインストール方法

# 概要
今回はGodot Engineでのプラグイン(Addon)の使い方を紹介します

## プラグインのインストールと有効化の手順
新規プロジェクトを作成して、エディタ中央にある「AssetLib」をクリックします
![Godot_Engine_-_TestTrail_と_408_adv_—_docs.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/43772/ee5b16b8-451f-bdfd-db7f-d5790425bb55.png)

プラグインの一覧・検索画面が表示されるので、今回は「trail」と入力して、「Godot Trail System」をクリックします。
![Godot_Engine_-_TestTrail.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/43772/370153b9-f03b-dd1c-8e95-b02930e29a64.png)

これはオブジェクトにトレイル（動きの軌跡）を付与するプラグインとなります。
「ダウンロード」をクリックします。
![Godot_Engine_-_TestTrail.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/43772/9dca8b8f-156b-c4d8-1b0b-910cf1e44ef7.png)

ダウンロードが完了すると「成功！」と表示されます。
そうしたら「インストール」をクリックします。
![Godot_Engine_-_TestTrail.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/43772/b96ebaef-1287-489c-666e-d160f8ccaea5.png)

インストールするデータの一覧が表示されます。
最低限必要なのは「addons」のみですが、ここではチェックが入っているものすべてをインストールしておきます。
![Godot_Engine_-_TestTrail.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/43772/520c1c18-bcb7-f8ca-9da2-e994aaeab584.png)

インストールが完了すると以下のダイアログが表示されるので「OK」ボタンを押します

![Godot_Engine_-_TestTrail.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/43772/13f3d1b6-f301-95ff-3fab-20222f3be3a8.png)

次にプラグインを有効化します。
メニューから「プロジェクト > プロジェクト設定」を選びます。
![Godot_Engine_-_TestTrail.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/43772/e9cf2129-c373-931e-f737-b95e474203bc.png)

プロジェクト設定から、プラグインを選んで「Trail System」を有効化して閉じるボタンを押します。
![Godot_Engine_-_TestTrail_と_408_adv_—_docs_と_名称未設定.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/43772/3f631c96-da02-7b36-52fd-939768bbccc0.png)

これで Trail System を使うことができます。

## Trail System の使い方

Trail System の使い方としては、例えば 2D シーンをクリックして……
![Godot_Engine_-_TestTrail.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/43772/ef898738-f529-494d-378b-b51db0213d3f.png)

作成されたシーンを Ctrl+S (Cmd+S) で保存します。
![Godot_Engine_-_TestTrail____.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/43772/63861dd0-6561-fc43-bb42-3d26e82005b0.png)

Node2Dを右クリックして、「子ノードを追加」を選びます。
![Godot_Engine_-_TestTrail_-_Node2D_tscn_と_408_adv_—_docs.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/43772/bea61dae-f8b4-5370-b601-6bb1586b258f.png)

Trail2Dノードを追加します。
![Godot_Engine_-_TestTrail_-_Node2D_tscn.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/43772/9bb96792-fb72-76b0-3898-85c7ccb32db3.png)

Trail2Dノードが追加されたのを確認して「Node2D」を選択し、スクリプトをアタッチします。
![Godot_Engine_-_TestTrail_-_Node2D_tscn____.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/43772/1ec901d6-c8b1-855b-2b8c-4d31afb71b72.png)

そのまま「作成」を選択します。
![Godot_Engine_-_TestTrail_-_Node2D_tscn____.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/43772/246e63c4-651b-77b4-ccd2-d8a0dbe9004d.png)

スクリプトは以下のように記述します。

```gd:Node2D.gd
extends Node2D

func _process(delta: float) -> void:
	# マウスの位置に移動
	position = get_viewport().get_mouse_position()

```

右上のシーン実行ボタンからシーンを実行します。
![Godot_Engine_-_TestTrail_-_Node2D_tscn____.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/43772/08dd489b-bac2-0ced-ca9f-929863f1c2b1.png)

するとマウス移動に追従するトレイルが表示されます。
![trail.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/43772/d5765577-0e59-be26-8408-97160bde52ef.gif)

見た目を調整するために Trail2D を選択して、インスペクタから「Width Curve」の[空]を選択します。
![Godot_Engine_-_TestTrail_-_Node2D_tscn_と_デスクトップ_—_ローカル.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/43772/39cef32a-223e-3c76-69d5-be0ac4bc603e.png)

新規Curveを選びます。
![Godot_Engine_-_TestTrail_-_Node2D_tscn_と_-bash.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/43772/b683f716-ff9d-8f94-b217-ab8edb6cf530.png)

カーブが表示されるので、これをクリックします。
![Godot_Engine_-_TestTrail_-_Node2D_tscn_____と_-bash.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/43772/61366208-c4b4-b12a-a702-12e221ba72c4.png)

するとカーブグラフが表示されるので、右クリックで制御点を追加します。
![curve_graph.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/43772/e408d941-4b8a-a9ff-f5b1-4d7e29ea6f70.gif)

実行して動作を確認します。トレイルの終端が細くなり、少し見た目がよくなります。
![trail2.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/43772/34f3f552-7f52-b791-c3b7-1c0dc0722aad.gif)


# 参考

* [Godot Docs » プラグイン » エディタプラグイン » プラグインのインストール](https://docs.godotengine.org/ja/stable/tutorials/plugins/editor/installing_plugins.html)

## 10 addons for better game jams in Godot

https://www.youtube.com/watch?v=TXjjVpzNZac&list=WL&index=7&t=487s

ゲームジャムで使うと便利なプラグインが紹介されています

### 1. Trail System
今回紹介したプラグインです。Unityっぽいトレイルをつけることができます
![trail3.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/43772/4b1a8bdd-f847-2291-65ea-d557d2a2ff57.gif)
https://github.com/OBKF/Godot-Trail-System

### 2. 2d polygon
辺と角度が等しいポリゴンをすばやく作成する
![poly.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/43772/39d2b336-e848-6d79-b1a2-f6cab441e6b7.gif)
https://github.com/RoboYorkie/Godot_RegularPolygon2D

### 3. RNG tools
乱数の拡張

### 4. godot transitions
画面遷移演出
![transitions.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/43772/35eb6983-d016-3d3e-33ab-060bcf27f719.gif)
https://github.com/nightblade9/godot-transitions

### 5. Old style controller
FPSカメラとキャラクターコントーロール
https://github.com/0xspig/3dCharacterController

### 6. Destructible objects
2Dスプライトをバラバラに破壊する
![destructive.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/43772/42f02aa7-ced2-839e-04b2-2444640dbfa0.gif)
https://github.com/hiulit/Godot-3-2D-Destructible-Objects

### 7. Smartshape2D
なめらかな2D地形メッシュを作れる
![mesh2d.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/43772/56027fff-7d2e-a5c3-d5d6-08718ad7315f.gif)
https://github.com/SirRamEsq/SmartShape2D

### 8. Heightmap
3Dハイトマップベースの地形の生成
https://github.com/Zylann/godot_heightmap_plugin

### 9. Scatter
小物(Prop)をランダムに配置するツール
https://github.com/HungryProton/scatter

### 10. VoxelCore
Voxelを作成するツール
https://github.com/ClarkThyLord/Voxel-Core