在Unity中将3d模型动态添加(从服务器而不是Assetbundle)添加到Vuforia地平面

时间:2019-09-27 07:59:45

标签: unity3d vuforia

我正在寻找如何在不使用Assetbundle的情况下从服务器获取3D模型,然后将其下载到场景并将其分配给地平面AR。

当前,我找到了该资产:

https://assetstore.unity.com/packages/tools/modeling/runtime-obj-importer-49547

,我可以使用以下URL将Obj对象添加到场景中: https://demo1.wisdomcloud.net/3dObj/ring_butterfly.OBJ

使用ObjFromStream脚本

但是当我通过编辑ObjFromStream脚本将其分配到地平面时,该对象不可见,但已经分配为地平面舞台的子级。

这是编辑后的代码:

using Dummiesman;
using Lean.Touch;
using System.IO;
using System.Text;
using UnityEngine;

public class ObjFromStream : MonoBehaviour
{
    public string url;
    public GameObject instantiateAnchorObj;

    [System.Obsolete]
    void Awake()
    {
        instantiateAnchorObj.SetActive(false);
        //make www
        var www = new WWW(url);
        while (!www.isDone)
            System.Threading.Thread.Sleep(1);

        //create stream and load
        var textStream = new MemoryStream(Encoding.UTF8.GetBytes(www.text));
        var loadedObj = new OBJLoader().Load(textStream);
        GameObject test = Instantiate(loadedObj) as GameObject;

        test.transform.SetParent(instantiateAnchorObj.transform);
        //loadedObj.transform.localScale = new Vector3(0.5f, 0.5f, 0.5f);

        test.AddComponent<LeanPinchScale>();
        test.AddComponent<LeanDragTranslate>();
        test.AddComponent<LeanTwistRotate>();

        instantiateAnchorObj.SetActive(true);
    }
}

有人知道我做错了什么才能使模型可见吗? 我已经看到在Vuforia开发人员门户网站上也有其他人对此提出疑问,但是仍然没有人回答答案。

这里是提到的论坛: https://developer.vuforia.com/forum/ground-plane/how-dynamically-add-3d-model-ground-plane#comment-67317

或者如果我有使用Trilib Asset的更改,那么可以完成这项工作吗?我想尝试一下,但仍然没有任何预算。

0 个答案:

没有答案