Smoother is a Spark AR tool to let you make object follow facial feature with exponential smooth WITHOUT Any Additional Patch or Script.
-
Download Smoother.js (Right click and Save as)
-
Drag/Drop or import it to Spark AR
-
(Optional) Load in the required modules
const Smoother = require('./Smoother'); // Your script...
-
You can also Click Here to Download a Sample Project.
-
Add package with
yarn
ornpm
yarn add sparkar-smoother
or
npm i sparkar-smoother
-
Load in the required modules. If you use webpack to transpile code, you must import this module.
const Smoother = require('sparkar-smoother'); // Your script...
This tool make object follow head by naming, so you don't need to add any Patch or write any code. All you need to do is naming your scene object.
The name should follow this pattern: face<index> -s<ms> [<feature>] [-noR]
index
: 0-5. Spark AR supports detection of up to 5 faces.ms
: Smooth milliseconds, the minimum valid value is0
.feature
: Click here to look up supported feature and keyword.noR
: Follow position only, without rotation.
There are some naming example:
Name Pattern | Description |
---|---|
face0 -s500 |
Follow the face of index 0 with exponential smooth 500 millisecond. |
face1 -s300 |
Follow the face of index 1 with exponential smooth 300 millisecond. |
face2 -s0 |
Follow the face of index 1 without any smooth exponential smooth. |
face3 -s0 -noR |
Follow the face of index 3 position only, excluding rotation. |
face3 -s50 eyeL |
Follow the left eye of face 3 with exponential smooth 50 millisecond. |
face4 -s50 eyeR |
Follow the right eye of face 4 with exponential smooth 50 millisecond. |
face4 -s20 mouth |
Follow the mouth of face 4 with exponential smooth 50 millisecond. |
Please Note that you may need to add the max number of Face Tracking manually for detect more than one face: Project > Edit Properties > Capabilities
Keywords | Description |
---|---|
eyeL |
Left Eye |
eyebowL |
Left Eyebow |
eyeLOC |
Left Eye Outside Corner |
eyelidLU |
Left Eyelid Upper |
eyeR |
Right Eye |
eyebowR |
Right Eyebow |
eyeROC |
Right Eye Outside Corner |
eyelidRU |
Right Eyelid Upper |
mouth |
Mouth |
mouthlipU |
Mouth Upperlip |
mouthlipD |
Mouth Lowerlip |
mouthLC |
Mouth Left Corner |
mouthRC |
Mouth Right Corner |
foreheadT |
Forehead top |
- You can change all of these keywords in the
CONFIG
field of source code. - By default if the face of specific index in not detected, the corresponding scene object will be hidden. You can set it in the
CONFIG
field of source code. - You can set up
Smoother.enable
in your script to toggle smooth effect.
If this is useful for you, please consider a donation🙏🏼. One-time donations can be made with PayPal.