【Mac】アバターを受肉してZoomに参加してみる方法あれこれ【Zoom】

# はじめに
世はまさにテレワーク戦国時代！！！

ということで、皆様いかがおすごしでしょうか。

Zoomの普及が進み、画面越しでの打ち合わせや飲み会が増えてきている中、~~ちょっと飽きてきたので~~どれだけ遊べるかというのをいろいろ試してみたのでメモっておきます。

WindowsだとFaceRigとかを使って簡単にアバターを受肉できるみたいですね。

[(Win参考)ZoomでFaceRig使ってバーチャル参加する方法](https://qiita.com/warapuri/items/7ec5f92fc96563c8b39e)

Macで同等のことをしようと思うと少し手間がかかるのですが、それでも受肉したい！という方は参考にしてください。僕はどうしてもMacで美少女になりたかったんです。

とりあえず無料でできる範囲で書いていきます。

~~※)20/04/09 追記
途中まで書いてさ、Zoomのアップデートで使えなくなってしまった・・・
悲しいのでとりあえず供養がてらアップしておきます・・・
古いバージョンのZoomなら使えますがセキュリティ的にオススメはできません・・・~~

~~※)20/05/26 追記
Mac版Zoomのアップデートにより仮想カメラが再度使えるようになりました！！！
これで勝つる！！！
と、思ったんですが、
Snap Camera：○
CamTwist：×
[OBS Virtual Camera](https://github.com/johnboiles/obs-mac-virtualcam/releases)：×
という感じでなんでもは読み込んでくれないような感じ・・・
[ターミナルで署名外しちゃえば](https://qiita.com/soh19/items/f50b74a05e500a4c1884#自己責任zoomの署名を外して無理やり仮想カメラを認識させる526追加)使えるっぽいけど、なんだかなぁ・・・
OBS Virtual Cameraがリリースされていたので仮想カメラが使えればOBSも配信できるはず~~

**※)20/07/14 追記
@ytooyama さんからコメントをいただき確認したところ、
Zoom 5.1.2
では、SnapCamera、CamTwist、OBS Virtual Cameraが使えるようになっていました。
ということで、この記事の方法は現時点で有効な方法となります！ありがとうございます！！！**


# こんな感じ

![ai2.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/268331/482ece38-b1c5-6f8f-605b-9d494a29b2f3.gif)
＜(c)Kizuna AI＞

公式サイトでキズナアイさんのモデルが配布されていたので[こちらから](https://kizunaai.com/download/)拝借いたしました！


# 利用環境
MacBook Pro (13-inch, 2018, Four Thunderbolt 3 Ports)
- OS：macOS 10.14.6（多分10.15でも大丈夫）
- CPU：2.7 GHz Intel Core i7
- メモリ：16 GB 
- GPU：Intel Iris Plus Graphics 655

ある程度のマシンスペックは必要なのでご注意ください。
これでもファンが結構まわります・・・

Zoom 4.6.6

~~※)20/04/09 追記
Zoomのアップデートであらかた使えなくなりました・・・~~

**※)20/07/14 追記
Zoom 5.1.2で再度使えるようになりました！！！**


# 【簡単】SnapCameraを使う
SnapCameraというアプリを使うのが一番お手軽で簡単です。
使えるアバターに限りがありますが、負荷も少ないのでまずはこの辺から遊んでみるといいと思います。
やり方についてはすでにたくさん記事があるのでググってください.
僕のお気に入りは、

- カエル(Frog Puppet)とGrass(デフォルトバーチャル背景)
<img width="1264" alt="スクリーンショット 2020-04-09 10.40.57.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/268331/a8d3154a-5b59-30c7-9c1a-ce222e5cac3d.png">

- ペンギン(ping UWU)とEarth(デフォルトバーチャル背景)
<img width="1264" alt="スクリーンショット 2020-04-09 10.42.06.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/268331/201bcb99-0745-9be7-9ff3-b36a0e87b7b8.png">

- ペンギン(Ping UWU)とNorthen Lights(デフォルトバーチャル背景)
<img width="1264" alt="スクリーンショット 2020-04-09 10.44.53.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/268331/95d21a44-a53d-81e4-73eb-30578e1513c8.png">


# 【本命】CamTwistを使う
[OBS](https://obsproject.com)は直接Zoomで認識してくれないのでCamTwistというアプリを利用します。
こちらを利用して仮想カメラとして認識させることで、アバター系のアプリをZoom上に表示させていく、といったイメージです。


## 準備

### CamTwistのインストール
[こちらから](http://camtwiststudio.com/download/)CamTwistのアプリをダウンロードします。
dmgを開くとpkgファイルがあるのでダブルクリックで道なりにインストールしてください。

### 写すアバターの準備
なにかしらの形で動かせるアバターを用意します。
フェイスキャプチャなどを利用せずにキーボードで操作するだけでOKであれば、[メイアライブ雛乃木まや](https://materializer.co/lab/mayalive-hinanogimaya-download)ちゃんとか可愛いですよね。

私は最終的に、
ブラウザで動かせる[FaceVTuber](https://facevtuber.com)にモデルを読み込ませる形にしました。

その他の方法で動かせる方はなんでもOKだと思います。(CamTwist越しに映すだけなので)

#### キズナアイちゃんのダウンロード
利用規約をよく読んで[こちらから](https://kizunaai.com/download/) ダウンロードできます。

### FaceVTuberにモデルを読み込ませる
FaceVtuberにアップロードするためには、モデルをzip形式に圧縮する必要があります。
キズナアイちゃんの場合は、ダウンロードしたフォルダ内にある`kizunaai`というフォルダをzipに圧縮しておきます。
Macの場合はフォルダを右クリックして`"~"を圧縮`でOKです。

[FaceVTuber](https://facevtuber.com)を開いて`ファイルを選択`から先ほど圧縮した`kizunaai.zip`をアップロードします。(ドラック&ドロップでもOK)
アップロードすると、注意事項などのポップアップが表示されるのでOKを押して進めてください。

読み込むとこんな感じです。
<img width="1111" alt="スクリーンショット 2020-04-27 15.08.50.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/268331/b8a805e1-a921-bcf3-f2fd-f039b994e886.png">

### FaceVTuberの細かい設定

手の操作の使い勝手が悪いので`moveLeftHandByMouse`と`moveRighotHandByMouse`のチェックを両方外して、`ResetPose`でニュートラルに戻します。

グリーンバックの方が綺麗に抜けるので`Green`ボタンを押しておきます。
<img width="1064" alt="スクリーンショット 2020-04-27 15.11.37.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/268331/fb09e858-b8e7-593b-8a61-72aed78561da.png">

`Start`ボタンを押してフェイスキャプチャーの設定をします。
カメラアクセスの許可を求められた場合は許可してあげてください。
あなたの顔をセットして`Set`ボタンを押してね！

<img width="444" alt="スクリーンショット 2020-04-27 15.14.39.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/268331/39cac754-73f0-1060-a95a-e7d1a9ad84fb.png">

<img width="1044" alt="スクリーンショット 2020-04-27 15.18.47.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/268331/4f1bdaad-6d35-c328-f080-9b722ba0e0a9.png">

`popWindow`ボタンを押して単独画面表示にしておきましょう。

<img width="912" alt="スクリーンショット 2020-04-27 15.15.20.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/268331/7efcba90-004a-c71c-5d09-e92655d8e407.png">

### CamTwistの設定
先ほどインストールしたCamTwistを起動します。

`Video Source`のところから`Desktop+`をダブルクリックします。
`Settings`のところから、`Confine to Application Window`にチェックをいれます。
`Select form existing windows`のしたのタブから`Google Chrome(無題)`を選択します。(他のブラウザを使ってる場合はそれっぽいやつを選んでください。)
`Command + P`でプレビュー画面が立ち上がるので確認してください。
`Do not scale`にチェックをいれるといい感じのサイズ感になると思います。


<img width="775" alt="スクリーンショット 2020-04-27 15.22.27.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/268331/9e55474f-3f88-988a-d0e7-237979c8bbf7.png">

## Zoomの設定
Zoomを起動します。
メニューバーの`Zoom.us > 設定`または、`Command + ,`から、`ビデオ`の選択して、カメラのタブから`CamTwist`を選択します。
<img width="795" alt="スクリーンショット 2020-04-27 15.28.20.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/268331/86792c4c-ad8a-e44b-f4e0-5f50512cde5b.png">


または、ここからでも設定が可能です。
<img width="1149" alt="スクリーンショット 2020-04-27 15.28.39.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/268331/ebd7c6e5-4736-e048-d672-35ae9d3b21b8.png">

アバターの近さや遠さはFaceVtuber画面から`Front`、`Back`などで調整してください。

バーチャル背景を使う場合は、Zoomの`設定 > バーチャル背景 > グリーンバックがあります`にチェックを入れて、グリーンのところを押してあげると、綺麗に抜けると思います。

<img width="569" alt="スクリーンショット 2020-04-27 15.33.30.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/268331/5aadf9ad-b5c4-507a-e2aa-431b42108e45.png">


# おまけ１ - 声を変える方法
この辺をダウンロード、インストールして組み合わせます。

[SoundFlower](https://github.com/mattingalls/Soundflower/releases/tag/2.0b2)
仮想マイク設定が可能になるやつです。

[LadioCast](https://apps.apple.com/jp/app/ladiocast/id411213048?mt=12)
複数のインプットアウトプットの調整ができるやつです。ミキサーみたいな。

[GachikoeCore](https://booth.pm/ja/items/1236505)
声変えるやつです。他に良さげなやつがあったら教えてください！

内部の接続イメージとしては、

外部マイク→Gachikoe→SoundFlowerの2ch→LadioCast→SoundFlowerの64ch→Zoom
というような感じです。

GachikoeCoreの設定：
<img width="683" alt="スクリーンショット 2020-04-27 15.45.07.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/268331/7441f238-8d34-a629-51e1-41d064357751.png">
外部マイクが文字化けしてしまっていますがInputは外部マイクです。
PitchやFormantはご自由に調整してください。

LadioCastの設定：
<img width="741" alt="スクリーンショット 2020-04-27 15.45.16.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/268331/62649b4d-3ced-a062-f098-7334dbc4dd59.png">
Gachikoeで変換した自分の声をモニターしておきたいので出力Aux1に外部ヘッドフォンを設定しています。

Zoomの設定：
<img width="794" alt="スクリーンショット 2020-04-27 15.49.00.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/268331/c42c0ca1-2cf3-2bb2-5a0a-15b9e2cb5a5a.png">
`設定 > オーディオ > Microphone`で`Soundflower(64ch)`に設定するか、
<img width="1153" alt="スクリーンショット 2020-04-27 15.49.19.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/268331/8b6eb6bb-a794-05c9-7784-bfce78aacacf.png">
マイクのところから`Soundflower(64ch)`に設定することで変更した声を配信することができます。


# おまけ２ - WebExでバーチャル背景を使う
ほら、WebExってMacからバーチャル背景使えないじゃん？
Zoom会議に慣れてしまい油断してる中、打ち合わせが始まってしまい部屋の汚さに絶望したんですよ。
慌ててとった手法が、
OBSでZoomの画面をキャプチャ→WebExに表示
だったんですけど、今起動してみたらWebExもOBS使えなくなってたのでこれもできなくなってました・・・


# (自己責任)Zoomの署名を外して無理やり仮想カメラを認識させる(5/26追加)
Xcodeをインストールして、ターミナルで下記コマンドを入力してZoom.appの署名を外します。
自己責任でよろしくお願いします。あまりイケてる方法だとは思わない・・・

```
codesign --remove-signature /Applications/zoom.us.app/
```

# おわりに
あーかわいい。幸せな気分になれますね。
~~使えなくなっちゃったの悲しい。~~
使えるようになったみたいなのでまたいろいろ遊ぶぞー！！！