我正在寻找如何在不使用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开发人员门户网站上也有其他人对此提出疑问,但是仍然没有人回答答案。
或者如果我有使用Trilib Asset的更改,那么可以完成这项工作吗?我想尝试一下,但仍然没有任何预算。