从服务器获取3D模型并统一显示

时间:2018-12-24 06:04:17

标签: c# unity3d

模型存储在000webhost服务器中。我想使用脚本统一获取它。我是一个团结的新人,我无法理解。如果有人帮我,我会很感激

1 个答案:

答案 0 :(得分:0)

首先,您必须从模型中制作AssetBundle。

在您的项目中创建此脚本:

#if UNITY_EDITOR
using UnityEngine;
using UnityEditor;
public class AssetbundleCreator : MonoBehaviour
{
[MenuItem("Assets/Build Assetbundle")]
 static void Create()
 {
    BuildPipeline.BuildAssetBundles("Assets/", // path where your assetbundle will be saved
                                    BuildAssetBundleOptions.None,
                                    BuildTarget.Android); // or any platform you want.
 }
}
#endif

保存此代码后,“ Build Assetbundle”将出现在Assets中。

您必须输入资产束的名称,选择要用来制造资产束的预制件,在检查器选项卡的底部添加名称中

enter image description here

然后按我之前提到的Build AssetBundle。

在服务器上上传Assetbundle之后,您可以使用以下方法轻松地在场景中下载并实例化它:

void Start()
{
    string url = "your url here";

    StartCoroutine(DownloadModel(url));
}

IEnumerator DownloadModel(string url)
{
    WWW www = new WWW(url);
    yield return www;

    if (www.error == null)
    {
        AssetBundle assetBundle = www.assetBundle;
        GameObject gameObject = Instantiate(assetBundle.LoadAsset("model name")) as GameObject;
    }
    else
    {
        Debug.Log(www.error);
    }
}