expressed/v_dl/sdk/doc/unity_integration.html

79 lines
2.9 KiB
HTML
Raw Normal View History

2023-11-20 16:39:21 +00:00
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Introduction</title>
<link href="css/main.css" rel="stylesheet" type="text/css" />
</head>
<body>
<h1>Integrating visage|SDK into Unity project</h1>
<p>
visage|SDK allows easy integration with Unity 3D game engine using <a href="module-VisageTrackerUnityPlugin.html">VisageTrackerUnityPlugin</a>
and <a href="module-VisageAnalyserUnityPlugin.html">VisageAnalyserUnityPlugin</a>,
wrappers that expose VisageTracker's and VisageFaceAnalyser's functionalities for use in managed programming language such as C#.<br/>
In order to use visage|SDK in your own Unity project, libraries and selected data files need to be included.
Unity sample application <a href="trackerunity.html">VisageTrackerUnityDemo</a> is provided in visage|SDK as
a ready-to-build project with all necessary dependencies and can be used as a reference.<br/><br/>
Following steps are required to integrate visage|SDK in your own project:
<ul>
<p>Pre-build step:</p>
<ul>
<li>Following libraries need to be added to the project:
<ul>
<li>VisageTrackerUnityPlugin.jslib (located in <i>www/lib</i> folder)</li>
<li>VisageAnalyserUnityPlugin.jslib (located in <i>www/lib</i> folder)</li>
</ul>
</li>
<li>Following files and folders (located in <i>www/lib</i>) need to be copied to the project's assets:
<ul>
<li>tracker configuration file (e.g. Head Tracker.cfg)</li>
<li>neural net configuration file (i.e. NeuralNet.cfg)</li>
</ul>
<li>license key file</li>
</li>
</ul>
</ul>
<ul>
<p>Post-build step:</p>
<ul>
<li>The following files need to be copied to the same folder as the index.html file:
<ul>
<li>visageAnalysisData.data (located in <i>www/lib</i> folder)</li>
<li>visageAnalysisData.js (located in <i>www/lib</i> folder)</li>
<li>visageSDK.data (located in <i>www/lib</i> folder)</li>
<li>visageSDK.wasm (located in <i>www/lib</i> folder)</li>
<li>visageSDK.js (located in <i>www/lib</i> folder)</li>
</ul>
</ul>
</li>
<br><br>
<li>Modify index.html output file to expose <b>unityInstance</b> to the global variable <b>unityGame</b>:
<pre class="prettyprint source"><code>
&lt;body>
&lt;script>
...
<b>var unityGame;</b>
var script = document.createElement("script");
script.src = loaderUrl;
script.onload = () => {
createUnityInstance(canvas, config, (progress) => {
progressBarFull.style.width = 100 * progress + "%";
}).then((unityInstance) => {
loadingBar.style.display = "none";
<b>unityGame = unityInstance;</b>
fullscreenButton.onclick = () => {
unityInstance.SetFullscreen(1);
};
}).catch((message) => {
alert(message);
});
};
document.body.appendChild(script);
&lt;/script>
&lt;/body>
</code></pre>
</li>
</ul>
</body>