LoginSignup
3
0

More than 3 years have passed since last update.

Spark AR Studioのスクリプトで口の開閉を認識するカメラエフェクトの作成

Last updated at Posted at 2019-12-29

Spark AR Studio

Spark AR StudioとはFacebook・Instagramアプリ内のカメラで使用できるエフェクトが制作できるツールです。
スクリーンショット1.png

ポイント

  • 顔認識に特化しており、誰でも簡単にカメラエフェクトを作れる
  • Facebook・Instagramで公開できる

Spark AR Studio公式サイト・ダウンロード

スクリプトでエフェクトを操作

ツール上でアセットの適用、ScriptもしくはPacthエディタで動きを制御できます。
この記事では2DのエフェクトをScriptで操作する方法を説明していきます。

基本のエフェクトの作成

基本になる顔をトラッキングするエフェクトを「Spark AR Studio」で設定します。
スクリーンショット 2019-11-23 12.11.59.png
Scene -> Focal Distance にFace Trackerを追加
Face TrackerにPlaneを追加

スクリーンショット 2019-11-23 12.20.28.png
Add AssetからPlaneにセットするマテリアルを追加します。
次にマテリアルに適用させるテクスチャを追加します。

スクリーンショット 2019-11-23 11.49.52.png
今回はGIMPで適当なpng画像を作っておきます。
テーマは「ポンコツAI」です。

スクリーンショット 2019-12-31 12.24.24.png
開口後のエフェクト用画像も作ります。

スクリーンショット 2019-11-23 12.29.37.png
Add Asset -> Import From Computer から作成した画像を追加します。

スクリーンショット 2019-11-23 12.34.12.png
マテリアルのProperties -> Textureから先ほど追加したテクスチャを選択します。

スクリーンショット 2019-11-23 12.39.11.png
Scene -> Focal Distance -> faceTracker -> planeのメニューからテクスチャを適用したマテリアルを選択します。

スクリーンショット 2019-12-31 12.48.04.png
同じ手順で開口後のテクスチャの追加、新規マテリアルからテクスチャを選択、新規planeにマテリアルを適用します。
このときplaneを顔に合わせてリサイズ・移動します。
※開口後の画像が上にくるようにします。
※開口後の画像はデフォルトのVisibleをFlaseにします

スクリプト

スクリーンショット 2019-12-31 13.03.35.png
Add Assetからスクリプトを追加します。

以下が口の開閉を認識してエフェクトの表示・非表示を切り替えるスクリプトです。

open_mouth.js
// How to load in modules
const Scene = require('Scene');
const FaceTracking = require('FaceTracking'); //FaceTrackingモジュール
const Diagnostics = require('Diagnostics'); //ログをConsoleに出力する為のモジュール


const faceTracker = Scene.root.find('plane1');

var face = FaceTracking.face(0);

// gt(0.20)が閾値
var mouthIsOpen = face.mouth.openness.gt(0.20).and(FaceTracking.count.gt(0));

mouthIsOpen.monitor().subscribe( function(e) {

    if (e.newValue == true) {
        Diagnostics.log("Mouth open");
        faceTracker.hidden = false; // 表示
    }
    else {
        Diagnostics.log("Mouth close");
        faceTracker.hidden = true; // 非表示
    }

});

動作例

スクリーンショット 2019-12-31 13.08.16.png

スクリーンショット 2019-12-31 13.08.50.png

随時更新中(19.12.29)

終わりに

制作物は実在の人物及び団体とは一切関係無く、特定のものへの批判中傷ではありません。
皆様もぜひARを使い楽しくSNSを利用しましょう。

参考サイト

sparkAR Studio Scripting Object Reference
https://sparkar.facebook.com/ar-studio/learn/documentation/reference/scripting/summary
COLE!COLE! news collection
https://colecole.jp/2018/08/10/ar-studio-tips2/

3
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
0