unity5怎样正确导入FBX,unity fbx模型下载大小为什么会发生变化

unity3D 动态导入FBX、obj模型-爱编程
unity3D 动态导入FBX、obj模型
公司项目的需求,需要动态的从本地导入FBX模型于是花了一天时间翻墙找到了一点可怜的资料。
1、这个可以动态加载OBJ模型,这个的话unity自带的有这个函数,当然OBJ模型是不带贴图的,对于一些场景是无法创建的。
http://download.csdn.net/detail/xiaomuzi
2、这个比较实用的,可以动态载入多种模型,特别是FBX模型,在创建场景时候很好用,不过这个是试用版本,贴图会有问题,如果要更好的还是推荐买正版
http://download.csdn.net/detail/xiaomuzi
3、我同时还想让它加载到场景之后自动做成prefabs,这样就节省了每次加载的时间,但是最终也没找到方法
因为总要用到using UnityEditor,这个编辑类只能在unity中使用,导出就报错,最终我也没找到解决办法
using UnityE
using System.C
#if UNITY_EDITOR
using UnityE
public class creatPrefabs : MonoBehaviour {
//public GameO
// Use this for initialization
void Start () {
GameObject kk = GameObject.Find (&Cube&);
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?&,
c/*ateNew(kk, localPath);
} else {*/
createNew(kk, localPath);
static void createNew( GameObject obj,string
localPath) {
= PrefabUtility.CreateEmptyPrefab(localPath);
PrefabUtility.ReplacePrefab(obj, prefab);
AssetDatabase.Refresh();
DestroyImmediate(obj);
GameObject clone = PrefabUtility.InstantiatePrefab(prefab) as GameO
// Update is called once per frame
void Update () {
希望有大神来指导
版权所有 爱编程 (C) Copyright 2012. . All Rights Reserved.
闽ICP备号-3
微信扫一扫关注爱编程,每天为您推送一篇经典技术文章。本博客为一个屌丝程序猿的学习笔记。希望能给更多同样在进步的屌丝程序猿有所帮助--QQ群: --->>战斗卡牌视频教程发布(网游)
3dmax导入unity的资料比较少。我当时也花了不少时间才搞定这问题。下面分享一下:
首先用之前分享的 神雕侠侣 模型为例:
1.先打开skin文件。也就是蒙皮文件。目录如下:
2.打开后。先解冻模型。这点很重要!用鼠标拖动选中整个模型。然后右键解冻就可以了。
3.导出设置。如下:
去掉灯光和摄像机。其他比例什么的。自己根据需求调整。
4.保存为GuoJin.fbx后。打开一个动作。同样先解冻。然后和上一个步骤一样的保存。但是命名有要求。如下
如上就可以。
5.导入unity。如下图:
6.对蒙皮参数进行设置:
设置这两个即可。记得保存。
7.导入动作。设置参数的话。只需设置 Rig即可。动画部分无需设置。默认即可。
8.最后效果图如下:
将动画拷贝一份出来。放到动画剪辑文件夹(自己建立).导入贴图文件。自己贴上去。
9.shader引用,自带的shader有点问题。重新引用下shader即可。贴图贴上去。
模型小缺点解决办法:这套模型的骨骼有两个 000 我们可以选中最低下的 xyz那里。将 000 改成 自己想要的名字。防止重命名而导致动作不生效问题。
示例模型:链接:/s/1hqKPFne 密码:ax0o
转载请注明: &
or分享 (0)
本站所有内容如未标明转载的内容,均为原创内容。转载请注明来源!
发表我的评论程序写累了,就来玩玩酷跑小游戏吧,嘿嘿。
雨松MOMO送你一首歌曲,嘿嘿。
Unity3D研究院之预设的使用细节(五十一)
Unity3D研究院之预设的使用细节(五十一)
围观21605次
编辑日期: 字体:
今天有个刚入门的朋友问我了几个问题,大概都是有关预设的问题,我想想我还是在博客里面总结一下吧,预设的原理我就不说了它比较简单而且网上例子也很多。
1.预设怎么取消
如下图所示,创建一个普通的立方体对象Cube ,Hierarchy视图中名子的颜色是“白色”的。同样在创建一个Prefabe ,你会发现此时立方体对象在Hierrchy视图中名子的颜色成“蓝色”了。
接着问题就来了,这个朋友就问怎么才能让Prefab(蓝色名子)的游戏对象还原成Cube(白色名子),这确实是个很细节的问题,他目前的作法是把Cube(预设)删除,从新在创建一个新的Cube对象。这样的作法确实没问题,但是多少让人感觉有点不符合逻辑。如下图所示,正确的作法应该是先选择预设的Cube对象,然后在Unity导航菜单栏中选择GameObject-& Break Prefab Instance 。
继续如下图所示,立方体对象的名子是不是变成“白色”拉? 此时如果说你想将预设还原,那么在导航菜单栏中选择GameObject -& Apply Changes To Prefab ,在看看你的Cube的名子就由变成“蓝色”。仔细观察还是有问题,请看右侧Inspector视图中下面有一个“Prefab”的标志,这说明它并没有清理干净。
如果你想彻底的还原Cube对象,那么只有一个办法就是在Project视图中删除原始Prefab对象。此时删除你会发现你的立方对象已经和新创建的没什么两样了,还有一种情况是你并没有先将立方体对象Break Prefab Instance
而是直接在Hierarchy视图中删除。如下图所,此时你会发现你的Cube颜色成红色,它表示你的Prefab已经丢失。
此时选中“红色的”Cube对象,继续在Unity导航菜单栏中选择GameObject-&Break Prefab Instance ,你会发现你的立方体对象已经和新创建的完全一样拉。
然后是Prefabe的批量应用,在Hierarchy视图中可能会有很多相同的Prefab对象,此时如果想给所有的Prefabe对象添加或删除一个组件该如何?在Project视图中找到Prefabe原始对象,直接在这个对象上添加或删除组件,它会全部应用所有Hierarchy视图中的Prefab对象们。但是这样还有问题,就是Project视图中的Prefab原始对象它并不可以在Scene视图中去预览,所以我推荐大家使用另外一种方式来批量应用Prefabe对象。
先在Hierarchy视图中选择Prefab对象中的其中一个。在右侧Inspector视图中,如下图所示,Prefab对象都有三个常用的按钮.
Select:点击后会立即定位到Project视图中的原始Prefab对象。
Revert:如果你不小心破坏了Hierarchy视图中当前这个Prefab对象,点击它可以还原至Project视图中原始Prefab对象。
Apply: 主要想说的就是这个, 如果你想批量修改所有Prefab对象,比如添加一个新的组件后,点击这个按钮可以把所有对象还有原始Prefabe对象都应用成你现在编辑的对象。还有一种方法也可以达到这种效果,就在在Unity导航菜单栏中选择GameObject -& Apply Changes To Prefab 。
立方体、球体、圆柱体、胶囊体、面这几个是Unity自身提供的原始模型,如果你的模型是由美术自行创建的Fbx文件该如何?
.Fbx模型属于资源对象,和贴图、材质、声音属于同样类型的资源。。但是.Fbx更加的特殊,因为它可以直接拖入Hierarchy视图中并生成游戏对象。此时你会发现Hierarchy视图中它也是蓝颜色的字,但是它并不是Prefab对象,它是Mode对象。它也可以使用导航菜单栏中的 Break Prefab Instance ,我建议使用的时候最好把.fbx模型对象转成Prefab对象来使用。
上面说的很多都是在编辑器模式下,下面在说说程序运行时。在脚本中可以这样动态的生成Prefab 。
Instantiate (prefab);GameObject go = (GameObject)Instantiate(prefab, transform.position, transform.rotation);
也可以通过Resource动态的加载Prefab原始对象,AssetBundle.load()也可以。。
Resources.Load("Prefab")
如果你想编辑器拓展Prefab插件的话可以使用 PrefabUtility类,它属于Editor下的类,只能在编辑时运行。比如创建Prefab对象, 替换Prefab对象,克隆Prefab对象。等等,都可以使用它。 使用起来有问题的话欢迎留言给我。
2.运行时修改游戏对象
我们知道游戏在运行的时候你在编辑器中对游戏对象做的任何操作,等停止运行时会自动重置。比如你运行的时候把某个对象的坐标重新调了一遍,停止运行的时候你会发现这个坐标又重置了。有一个比较巧妙的办法能处理这个问题, 当游戏运行的时候你把坐标调节完以后,这时Command + c 复制需要修改的所有游戏对象。然后关闭运行,Command + v 粘帖对象。 (但是要把之前的对象删除)。
最后欢迎大家一起讨论与学习。
本文固定链接:
转载请注明:
MOMO与MO嫂提醒您:亲,如果您觉得本文不错,快快将这篇文章分享出去吧 。另外请点击网站顶部彩色广告或者捐赠支持本站发展,谢谢!
作者:雨松MOMO
专注移动互联网,Unity3D游戏开发
如果您愿意花10块钱请我喝一杯咖啡的话,请用手机扫描二维码即可通过支付宝直接向我捐款哦。
,,,,,
您可能还会对这些文章感兴趣!如果您查看本文后有所收获,欢迎您永久收藏到自己的账号中,同时也欢迎您分享给您的朋友
(Ctrl+Enter提交) &&
已有0人在此发表见解
&在& 11:14收藏到了
版权所有,转载本站文章还请保留本站文章或作者地址。 &&
· 蜀ICP备号-1
点击名称选择存放文件夹}

我要回帖

更多关于 unity3d导入fbx模型 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信