Live2D + Electron でデスクトップマスコット作って同人誌即売会で頒布してきました
標題の通りです。まずはこちらをご覧ください。
10/30 の 京都秘封で頒布予定の、宇佐見蓮子さんデスクトップアプリのモデルを動かしてみました。 pic.twitter.com/Y1F0ykMDXG
— さい@京都秘封 倶04 (@saigyojiyu) 2016年10月2日
宇佐見蓮子さんのデスクトップマスコットアプリできた。クリックでランダムに5種類の反応してくれる。Mac/Windows 両対応。10/30 の京都秘封オンリーで頒布予定。 pic.twitter.com/5E1ZUJqrTT
— さい@京都秘封 倶04 (@saigyojiyu) 2016年10月9日
東方Project という同人ゲームに登場する「宇佐見蓮子」さんの
デスクトップマスコットアプリを作りました。デスクトップ上で動きます。
クリックすると、何かしらの色々な反応をしてくれます。
2016/10/30 の科学世紀のカフェテラスという同人誌即売会で頒布してきました。
Live2D
Live2D WebGLとNW.jsでデスクトップマスコット
Live2D については上記の記事を参考に実装させていただきました。
公式サイトで WebGL 用 SDK が提供されているのでそれを使用しました。
Live2D Cubism SDK 2
Live2D WebGL SDK の解説については下記のスライドがわかりやすいと思います。
Electron
デスクトップマスコット用に、ウィンドウ表示を無くし、
背景を透過して、常に最前面に表示する方法ですが、
mainWindow = new BrowserWindow({ "transparent": true, // ウィンドウの背景を透過 "frame": false, // 枠の無いウィンドウ "resizable": false, // ウィンドウのリサイズを禁止 "hasShadow": false, // 残像が残らないようにする(Mac only option) "alwaysOnTop": true, // 常に最前面 });
BrowserWindow 作成時に、上記のオプションを設定することで、
簡単に実現することができます。
なお、hasShadow
オプションですが、Mac ではデフォルトで、
ウィンドウに影が付くようになっており、このオプションがオンのままだと、
Live2D モデルのモーションに残像のようなものが残ってしまいます。
オフにしましょう。
上記 Qiita の記事では、NW.js を使ってデスクトップアプリ化しているため、
XMLHttpRequest でなく、fs を使ってモデルファイルをロードしていますが、
Electron においては XMLHttpRequest でロードできます。
このため、Electron のメインプロセスのAPIを使用する必要がなく、
レンダラプロセスのみで完結するため、開発中はブラウザ上でマスコットを表示し、
完成後に Electron で build して完成としました。
ライセンス
Live2D のライセンスは結構ややこしいです。下記の内容は 2016/10/30 時点のものです。
最新の内容は、公式サイトをご確認ください。
本デスクトップマスコットアプリは、同人サークルとして頒布したものです。
直近売上高が1000万未満の同人サークルであるため、「一般ユーザー」として
使用することになります。
一般ユーザーであれば「iOS, Android, Flash, DirectX, Unity, Cocos2d-x, WebGL」のSDKを、
商用/非商用問わず利用することができます。
インディークリエーター向けにLive2D Cubismを無償提供。商用利用も可能
DLカード
同人誌即売会での頒布は、DLカード(ダウンロードカード)を
作成して頒布する方法を取りました。
対面電書という Webサービスにて、
ファイルのアップロード及びシリアルコードの発行を無料で行うことができます。
こうして発行したシリアルコードを、バリアブル印刷対応の印刷所(印刷のウェーブ様等)にてカードの印刷を発注しました。
ポストカード(オンデマンド、両面フルカラー)+バリアブルテキスト印字オプションで、
200部だいたい8000円くらいのお値段です。
メール便に対応しているので、注文から手元に届くまで
だいたい4営業日くらいというスピード感です。
きゃーい。DLカードも届いたぞー!(これはおまけでもらったシリアルコードがついてないやつ) pic.twitter.com/EC18qC7J7S
— さい@京都秘封 倶04 (@saigyojiyu) 2016年10月29日
感想
Mac を会場に持ち込んで、実際に動いてる様を展示していたのですが、
「すごい」「こんなことができるんだ」といった反応をたくさん頂けました。
(エンジニア冥利につきます)
Live2D を使った作品を作る上での課題は、
やはり元のイラストをどう用意するか、
そしてそのイラストをどうやってモデル化するかだと思います。
今回はそのどちらもを他の人にお願いしてしまったので、
私はモデルとモーションを組み合わせただけなのですが、
逆に言うと、モデルさえ用意してしまえば、このような
デスクトップマスコットアプリを作ることは結構サックリとできます。