[unity3d]加载模型资源

将模型资源加载到场景中显示

1.从本地加载

void OnGUI()
    {
        if (GUILayout.Button("click"))
        {
            StartCoroutine(getmodel());
        }
    }

    IEnumerator getmodel()
    {
        WWW w = new WWW("file://"+Application.dataPath+"/ok.unity3d");
        yield return w;
        Instantiate(w.assetBundle.mainAsset);

    }

2.从服务器端加载

这里我已经将资源模型加载到百度云盘上,然后获取一个url下载地址:(直接模型就是ok.unity3d格式的)

中间是搭建的sqlserver服务器和asp.net服务器:

using UnityEngine;
using System.Collections;
using System.Text;

public class NewBehaviourScript : MonoBehaviour
{

    string s;
    private GameObject obj;
    private WWW www;
    private string url = @"http://192.168.1.6/plusFile/Test.aspx";
    private string url1 = @"http://114.92.247.6/xiaowei/ok.unity3d";

    void Start()
    {

    }

    private bool isCompleted = false;

    void Update()
    {

        if (www == null)
        {
            return;
        }
        if (!isCompleted && www.isDone)
        {
            print("Download completed");
            isCompleted = true;
            print("6");
            obj = GameObject.Instantiate(www.assetBundle.mainAsset) as GameObject;
            obj.transform.position = new Vector3(0, 1, 20);
            print("7");
        }

    }

    void OnGUI()
    {
        if (GUI.Button(new Rect(20, 20, 100, 40), "加载"))
        {
            StartCoroutine(getHtml(url));
            print("2");
        }
    }

    IEnumerator getHtml(string url)
    {
        print("3");
        WWW web = new WWW(url);
        yield return web;
        print("1");
        //Encoding e1 = new ASCIIEncoding();
        //this.s = e1.GetString(web.bytes);
        //print("web" + e1.GetString(web.bytes));
        this.s = web.text;
        StartCoroutine(getModel(s));
    }

    IEnumerator getModel(string str)
    {
        print("s:" + str);
        this.www = new WWW(str);
        yield return www;
        print("5");
    }
}

同样的效果:

直接从网上获取资源:

using UnityEngine;
using System.Collections;

public class NewBehaviourScript : MonoBehaviour {

    string url1 = @"http://114.92.247.6/xiaowei/ok.unity3d";
    GameObject obj;
	void Start () {

	}

	void Update () {

	}

    void OnGUI()
    {
        if (GUI.Button(new Rect(20, 20, 100, 40), "加载"))
        {
            StartCoroutine(getHtml(this.url1));
            print("2");
        }
    }

    IEnumerator getHtml(string url)
    {
        print("3");
        WWW web = new WWW(url);
        yield return web;
        obj = Instantiate(web.assetBundle.mainAsset) as GameObject;
        obj.transform.position = new Vector3(0,1,20);
        print("1");

    }
}
时间: 2024-09-22 03:44:46

[unity3d]加载模型资源的相关文章

unity3d-关于Unity3d WWW 加载本地资源的问题

问题描述 关于Unity3d WWW 加载本地资源的问题 WWW www = new WWW (""file://E:/项目/Assets/StreamingAssets/Actor.assetbundle"");WWW www = new WWW (""file:///E:/项目/Assets/StreamingAssets/Actor.assetbundle"");两种都试过都不行总是提示 You are trying t

[Unity3D]异步加载游戏场景与异步加载游戏资源进度条

摘要: 异步任务相信大家应该不会陌生,那么本章内容MOMO将带领大家学习Unity中的一些异步任务.在同步加载游戏场景的时候通常会使用方法 Application.LoadLevel("yourScene"); 这句代码执行完毕后程序会干什么呢??如下 ...     异步任务相信大家应该不会陌生,那么下面介绍一下Unity中的一些异步任务.在同步加载游戏场景的时候通常会使用方法 Application.LoadLevel("yourScene");  这句代码执行

mfc-求大神解答,在MFC中如何通过代码将本地的图片加载到资源中并分配ID?

问题描述 求大神解答,在MFC中如何通过代码将本地的图片加载到资源中并分配ID? 求大神解答,在MFC中如何通过代码将本地的图片加载到资源中并分配ID? 解决方案 资源是编译时候的概念,加载是运行时候的概念. 资源被资源编译器编译,再通过链接器附加到可执行文件上.程序运行的时候它是只读的. 解决方案二: 不知道你为什么要怎么做,不可以直接在程序中调用资源吗 解决方案三: 用CXImage等类库可以加载文件 解决方案四: 用CImage加载本地图片就不要放到资源视图中了,也就没有资源ID的概念了.

WebGL 加载模型时,javascript 解析结果的调试转成 JSON 查看确认数组结构

WebGL 加载模型时,javascript 解析结果的调试转成 JSON 查看确认数组结构 太阳火神的美丽人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致"创作公用协议 转载请保留此句:太阳火神的美丽人生 -  本博客专注于 敏捷开发及移动和物联设备研究:iOS.Android.Html5.Arduino.pcDuino,否则,出自本博客的文章拒绝转载或再转载,谢谢合作. 这么长一个大标题,其实就一个主题,javascrip

osg-OSG中动态加载模型,并动态显示??

问题描述 OSG中动态加载模型,并动态显示?? 比如我想先显示一个奶牛模型,显示完之后我又要在牛模型不消失的情况下再加载一个飞机模型并显示,相当于显示了两个模型,怎么实现???? 解决方案 动态加载模型 解决方案二: http://www.cnblogs.com/mazhenyu/p/3522056.html

java-springmvc不能加载静态资源

问题描述 springmvc不能加载静态资源 ,用default servlet直接访问jsp页面可以,经过一个controller跳转到页面,页面又不能加载静态资源了, 解决方案 <mvc:resource也不合适,好像是路径有问题,有人能帮我看一下吗

[IOS]UIWebView 请求网络页面或者加载本地资源页面

UIWebView是一个能够显示网页的IOS视图控件,我们可以用它来访问一个网站.下面是具体的实例: 操作步骤: 1.首先在xib文件中拖放一个UIWebView控件到view中 2.将下载的页面以及页面资源加载到项目中,但必须选择Create folder references for any added folders,然后知道文件在项目中是蓝色显示,而不是黄色显示 3.将webView的Delegate拖到File's Owner,继承UIWebView的Delegate协议,并且实现他的

AndroidStudio 实现加载字体资源的方法_Android

AndroidStudio 实现加载字体资源的方法 在android中字体的格式总是不能尽善尽美的显示出来 ,  于是要求我们使用一些有美感的字体,加载的方式(就像HTML的字体一样),我们需要通过加载字体的方式来使用android中不曾提供的字体; 首先在androidstudio中找到assets文件夹 , (位于serc/main/java下,与res在同一个文件里面) , 找到之后将字体文件(*.ttf)放入这个文件夹下(当然为了规范起见,我们可以再asseets下建立一个font文件夹

SpringBoot加载静态资源

在SpringBoot中加载静态资源和在普通的web应用中不太一样.默认情况下,Spring Boot从classpath下一个叫/static(/public,/resources或/META-INF/resources)的文件夹或从ServletContext根目录提供静态内容.下面我们来写个例子看一下就会一目了然了:首先看一下项目的目录结构: 我们在resources下面的templates目录下建一个home.html的文件,完整目录为:src/main/resources/templa