2013-03-06 21:23:22 tanmengwen 阅读数 1384
  • unity3D-游戏/AR/VR在线就业班

    本套课程是一套完整的 Unity3D-游戏/AR/VR 学习课程,具体的课程内容包括《C#语言》、《Unity引擎》、《编程思想》,《商业级项目实践》等开发课程,引导您一步步循序渐进、由易到难,终获得Unity 3D/游戏/AR/VR工程师的岗位技能。

    13039 人正在学习 去看看 宋晓波

方法1:1.将模型拖动到场景中 ,调整好位置。(制作prefab需要)。

2.新建Resources(如果工程中有的话 就不用新建了,Resource.Load调用的就是该文件夹下的资源),在该文件夹下建一个prefab,将上面的模型拖动到这个prefab上。

3.删除场景中的该物体模型。

4.编写脚本,把它仍随便一个GameObject。

代码如下:

using UnityEngine;

using System.Collections;

public class LoadFBX : MonoBehaviour {

// Use this for initialization

void Start () {

GameObject gFbx=(GameObject)Instantiate( Resources.Load("che"));

}

// Update is called once per frame

void Update () {

}

}


 

方法2:

1.按方法1 制作prefab 注意调整好位置。

2.然后使用AssetBundle导出包选项 create single AssetBundle(这之前需要在工程文件夹中新建一个叫做“Dynamic_Asset”的文件夹)。

3.这时可以看到导出的.AssetBundle文件了。

4.编写代码如下:

public string url;

void Start () {

string Scname = "scene1_part2.assetbundle";

url = "file://F:/EZGUI/Dynamic_Asset/";

StartCoroutine(DLAsset(url,Scname));

}

void Update () {

}

public IEnumerator DLAsset (string url,string Scname) {

WWW www = new WWW(url+Scname);

yield return www;

GameObject GO = (GameObject)Instantiate;

}


 

2016-04-08 17:17:45 ldkcumt 阅读数 6670
  • unity3D-游戏/AR/VR在线就业班

    本套课程是一套完整的 Unity3D-游戏/AR/VR 学习课程,具体的课程内容包括《C#语言》、《Unity引擎》、《编程思想》,《商业级项目实践》等开发课程,引导您一步步循序渐进、由易到难,终获得Unity 3D/游戏/AR/VR工程师的岗位技能。

    13039 人正在学习 去看看 宋晓波

方法1(已测试过)
1 将模型拖动到场景中 ,调整好位置。(制作prefab需要)
2 新建Resources(如果工程中有的话 就不用新建了,Resource.Load调用的就是该文件夹下的资源),在该文件夹下建一个prefab,将上面的模型拖动到这个prefab上
3 删除场景中的该物体模型
4 编写脚本,把它仍随便一个GameObject
主要代码如下

 

[csharp] view plain copy
  1. using UnityEngine;  
  2. using System.Collections;  
  3.   
  4. public class LoadFBX : MonoBehaviour {  
  5.   
  6.     // Use this for initialization  
  7.     void Start () {  
  8.     GameObject gFbx=(GameObject)Instantiate( Resources.Load("che"));  
  9.     }  
  10.       
  11.     // Update is called once per frame  
  12.     void Update () {  
  13.       
  14.     }  
  15. }  

 

搞定

方法2:(没测试过,应该可以,因为之前能成功加载GameObject对象)

1 按方法1 制作prefab 注意调整好位置

2 然后使用AssetBundle导出包选项 create single AssetBundle(这之前需要在工程文件夹中新建一个叫做“Dynamic_Asset”的文件夹)

3 这时可以看到导出的.AssetBundle文件了
4 编写代码

如下

[csharp] view plain copy
  1. public string url;  
  2.     void Start () {  
  3.         string Scname = "scene1_part2.assetbundle";  
  4.         url = "file://F:/EZGUI/Dynamic_Asset/";  
  5.         StartCoroutine(DLAsset(url,Scname));  
  6.     }  
  7.     void Update () {  
  8.   
  9.     }      
  10.     public IEnumerator DLAsset (string url,string Scname) {  
  11.         WWW www = new WWW(url+Scname);  
  12.         yield return www;  
  13.         GameObject GO = (GameObject)Instantiate(www.assetBundle.mainAsset);  
  14.     }  


========================================================================================
如何动态加载模型-0
如何动态加载模型   1,加载封装好的内部文件。 var aaa : Material;//空材质   
var bbb : GameObject;//要绑定材质的模型

[csharp] view plain copy
  1. function Start()     
  2. {     
  3.         aaa.mainTexture = Resources.Load("你的资源名,例如“pic1”不需要文件扩展名");     
  4.        bbb.renderer.material = aaa;     
  5. }  2,加载磁盘文件 var bbb : GameObject;     
  6. function Start () {     
  7.        var www = new WWW ("file://D:\\pic1.jpg"这里也可以是网络图片地址);     
  8.        yield www;     
  9.        bbb.renderer.material.SetTexture("_MainTex", www.texture);     
  10. }   
2011-09-23 10:22:16 Tecna 阅读数 53
  • unity3D-游戏/AR/VR在线就业班

    本套课程是一套完整的 Unity3D-游戏/AR/VR 学习课程,具体的课程内容包括《C#语言》、《Unity引擎》、《编程思想》,《商业级项目实践》等开发课程,引导您一步步循序渐进、由易到难,终获得Unity 3D/游戏/AR/VR工程师的岗位技能。

    13039 人正在学习 去看看 宋晓波

用射线检测法的可行性和优点。射线检测  射线碰到碰撞体后会返回一个检测信息 包含碰到的物体的名字之类,就是返回一个引用型的变量,这个变量就可以当做你射到那个物体来用。1、使用Camera.ScreenPointToRay得到一条射线,2、然后使用射线检测函数Physics.Raycast,然后会得到RaycastHit 信息,根据信息可以判断你到底点中了什么。Camera.ViewportPointToRay 也行不过这个是基于视口的,超出了你的程序框框就无效。不过这个我没试,由于时间仓促,等有空再试吧。

修改后:

1 var gui : GUITexture;
2  var find : GUITexture;
3  //var GameObjectName;
4 function Awake(){
5    find=GameObject.Find("guiTexture").GetComponent(GUITexture);
6    find.enabled=false;
7 }
8
9 function OnMouseDown()
10 {
11    //find=GameObject.Find("guiTexture").GetComponent(GUITexture);
12    find.enabled=true;
13    Debug.Log(gameObject.name);
14    www(gameObject.name);
15 }
16
17 function www(Cubename){
18 // Store the original pixel inset
19 // and modify it from there.
20 var originalPixelRect = gui.pixelInset;
21
22 // Update the progress bar by scaling the gui texture
23 // until we reach the end
24 var stream=new WWW(""+Cubename+".unity3d");
25 while (!stream.isDone)
26 {
27 gui.pixelInset.xMax = originalPixelRect.xMin
28 + stream.progress * originalPixelRect.width;
29 yield;
30 }
31 // Update it one last time before loading
32 gui.pixelInset.xMax = originalPixelRect.xMax;
33 stream.LoadUnityWeb();
34 }
35 @script RequireComponent (GUITexture)

2014-12-31 09:42:21 xiaomuzi0802 阅读数 7506
  • unity3D-游戏/AR/VR在线就业班

    本套课程是一套完整的 Unity3D-游戏/AR/VR 学习课程,具体的课程内容包括《C#语言》、《Unity引擎》、《编程思想》,《商业级项目实践》等开发课程,引导您一步步循序渐进、由易到难,终获得Unity 3D/游戏/AR/VR工程师的岗位技能。

    13039 人正在学习 去看看 宋晓波

公司项目的需求,需要动态的从本地导入FBX模型于是花了一天时间翻墙找到了一点可怜的资料。

1、这个可以动态加载OBJ模型,这个的话unity自带的有这个函数,当然OBJ模型是不带贴图的,对于一些场景是无法创建的。

http://download.csdn.net/detail/xiaomuzi0802/8316215

2、这个比较实用的,可以动态载入多种模型,特别是FBX模型,在创建场景时候很好用,不过这个是试用版本,贴图会有问题,如果要更好的还是推荐买正版

http://download.csdn.net/detail/xiaomuzi0802/8316229

3、我同时还想让它加载到场景之后自动做成prefabs,这样就节省了每次加载的时间,但是最终也没找到方法

因为总要用到using UnityEditor,这个编辑类只能在unity中使用,导出就报错,最终我也没找到解决办法

using UnityEngine;
using System.Collections;
#if UNITY_EDITOR
using UnityEditor;
#endif
public class creatPrefabs : MonoBehaviour {

	//public GameObject kk;
	// Use this for initialization
	void Start () {
		GameObject kk = GameObject.Find ("Cube");
		string  localPath= "Assets/StreamingAssets/"+ kk.name + ".prefab";
		Debug.Log (localPath);
		/*if (AssetDatabase.LoadAssetAtPath(localPath,  GameObject) ){
			if (PrefabUtility.DisplayDialog("Are you sure?",
			                                "The prefab already exists. Do you want to overwrite it?",
			                                "Yes",
			                                "No"))
				c/*ateNew(kk, localPath);
		} else {*/
			createNew(kk, localPath);
		//}
		
	}
	static void createNew( GameObject obj,string  localPath) {
	Object  prefab  = PrefabUtility.CreateEmptyPrefab(localPath);
		PrefabUtility.ReplacePrefab(obj, prefab);
	AssetDatabase.Refresh();
	
	DestroyImmediate(obj);
		GameObject clone = PrefabUtility.InstantiatePrefab(prefab) as GameObject;
}

	// Update is called once per frame
	void Update () {

	}
}

希望有大神来指导

2018-01-11 11:51:03 lldbuaa 阅读数 3260
  • unity3D-游戏/AR/VR在线就业班

    本套课程是一套完整的 Unity3D-游戏/AR/VR 学习课程,具体的课程内容包括《C#语言》、《Unity引擎》、《编程思想》,《商业级项目实践》等开发课程,引导您一步步循序渐进、由易到难,终获得Unity 3D/游戏/AR/VR工程师的岗位技能。

    13039 人正在学习 去看看 宋晓波

相关技术文档下载:网盘技术宣传文档
请大家先看过文档之后再来咨询 我不是销售而是技术人员
FQA
能不能直接转换? 不能!不能!不能!重要的事情说三遍!需要转中间格式(svz,公司自有)
中间格式那么多为什么用你们的?因为我们的中间格式效果好!加载速度快(obj加载的20-50倍),同体积下模型精度好(dwg的3%-5% obj的50%以下)
经过之前一段时间的折腾
支持了小模型显示,位置,动画,模型树的开发
最近几天,2017.3更新
貌似更改了对大模型的支持
修改了IndexFormat=Uint32
支持了轮胎这种复杂模型的显示
unity包的网盘链接(感兴趣的朋友可以下载看看转换效果)
链接:https://pan.baidu.com/s/1H8I_cmlChigpbx0bIEablg 密码:d40u
上个图

主视图位自行车模型,右面是模型树

代码是商用了,前期可以参考之前的创建物体的blog,至于物体管理,模型树,动画管理等就需要自己进行设计了

毕竟我这里用的格式不是通用的FBX这种通用格式,公司内部的编码方法,不想找麻烦。

真的是很开心啊,发个blog,找个时间,把2017.3开发uwp那部分搞定一下就算这部分完整了!

最后还是给公司打个小广告

**

如果你有CAD模型,无论是Pro/E Catia Solidworks还是UG,现在都可以转到Unity3D中了! 公司提供良好的模型转换解决方案的同时,也有良好的AR开发基础(Hololens),支持模型显示和动画播放(就是我写的,笑)**

联系方式:815615000@qq.om 可邮件可加好友 可讨论技术可咨询软件销售,另外一个客户是航天5院(已经实用),可靠性还是相对比较好的

没有更多推荐了,返回首页