- Software : Unity, ARCore, AWS, Nodejs
- Users can experience architecture and allocate furnitures by using mobile phone (android)
- ARCore helps you to render AR
ARCore : https://developers.google.com/ar/
- Server : https://github.com/Esensia/nodejs_basic (main.js)
- AssetBundle : https://github.com/Esensia/AssetBundle
[MenuItem("Assets/ Build AssetBundles")]
static void BuildAllAssetBundles()
{
BuildPipeline.BuildAssetBundles(@"/Users/hongmingi//Desktop/AssetBundle", BuildAssetBundleOptions.ChunkBasedCompression,BuildTarget.Android);
}
- Sunflower (scene1) : https://github.com/Esensia/UnityARCore_Capstone_Scene1
- CristalView (scene2)
- Office (scene3)
UnityWebRequest www;
AssetBundle bundle;
float delayTime = 1; // time to delay
IEnumerator Start()
{
if (findObject.Curobj == "First")
{
www = UnityWebRequestAssetBundle.GetAssetBundle("http://13.125.111.193/scene1/scene_1");
}
else if (findObject.Curobj == "Second")
{
www = UnityWebRequestAssetBundle.GetAssetBundle("http://13.125.111.193/scene2and/scene_2");
}
else if(findObject.Curobj == "Third")
{
www = UnityWebRequestAssetBundle.GetAssetBundle("http://13.125.111.193/scene3/scene_3");
}
yield return www.SendWebRequest();
bundle = DownloadHandlerAssetBundle.GetContent(www);
if (www.isNetworkError || www.isHttpError)
{
Debug.Log(www.error);
}
else
{
if (bundle.isStreamedSceneAssetBundle)
{
string[] scenePaths = bundle.GetAllScenePaths();
string sceneName = System.IO.Path.GetFileNameWithoutExtension(scenePaths[0]);
//SceneManager.LoadSceneAsync(sceneName, LoadSceneMode.Single);
SceneManager.LoadSceneAsync(sceneName,LoadSceneMode.Additive);
yield return new WaitForSeconds(delayTime);
// AssetBundle Unload and Warning Scene Unload
bundle.Unload(false);
www.Dispose();
SceneManager.UnloadSceneAsync("WarningLandscape");
}
}
}