unity加载flt模型文件

unity加载flt模型文件,第1张

一开始creator中模型是拥有纹理的,纹理的文件夹和flt文件是有关联的

Unity是实时3D互动内容创作和运营平台。包括游戏开发、美术、建筑、汽车设计、影视在内的所有创作者,借助Unity将创意变成现实。

Unity平台提供一整套完善的软件解决方案,可用于创作、运营和变现任何实时互动的2D和3D内容,支持平台包括手机、平板电脑、PC、游戏主机、增强现实和虚拟现实设备。

一、使用工具:unity 3d、3D MAX。

二、导入方法及步骤:

第一步:创建新的工程文件

创建一个名为“Turret”的项目文件夹。然后打开Unity3D软件,选择file  ——> new project ,创建一个新工程项目,在项目路径中点击 Browse找到我们刚才创建的“Turret”文件夹,并点选我们需要导入的包文件,然后点击 create 来创建一个新的工程文件。

需要注意的是,以上步骤千万不能乱,因为Unity3D是无法以非空的文件夹作为工程文件夹来创建项目的。

第二步:制作一个炮塔模型

打开3D

MAX软件制作一个炮塔模型,并将制作好的模型保存在“Assets”资源文件夹下面。3D MAX中的模型样图如图所示:

第三步:将炮塔模型放入场景。

重新来到Unity3D的软件环境中,这时大家已经能在Project项目文件栏看到我们刚才用3D

MAX导出的模型文件和材质贴图文件了。接着我们在地形场景中找到一个合适的位置,将我们的炮塔拖拽进去。如图所示:

但是我们发现,这样似乎太小了一点。在改变外部模型尺寸的时候,有一个技巧,您不必在场景中修改它。儿科一道该模型的属性面板中去修改它的“Scale

Factor”大小。如图所示:

它的默认值都是001,我们在这里将它改为01,并在属性面板的最下方找到  按钮,点击它让模型尺寸在Unity3D中得到改变。如图84所示:

第四步:将炮塔模型导出。

在3D

MAX中,点击File文件——>Export导出,将模型文件导出为FBX文件,保存到我们创建的文件夹中的“Assets”资源文

件夹下面。注意一下d出的“FBX

Export”面板,这里包含了模型动画、骨骼工具、材质等等一系列的导出设置。如果您没有在模型中添加这些东西,就需要将不必要的复选框勾选掉。

第五步:将炮塔模型再次放置到场景中。

回到Unity3D的软件环境,在Hierarchy层次清单栏中选中原先的炮塔模型,按下“Delete”键将其删除。然后在Project项目

文件栏中找到刚刚导入的FBX模型,点击选中,用前面修改模型尺寸的方法来修改FBX模型的尺寸。然后将其放置在场景中合适的位置上。于是从3D

MAX中导出的模型就顺利的导入到Unity3D的场景中了。

三、注意事项:建议您将做好的模型导出成为FBX格式的模型文件 给Unity3D使用。也许这样会使模型在Unity3D中的运行速度得以提高吧。

用于资源加载,常用ResourceLoad<泛型>(加载文件名字)得到asset下的Resource文件中的目标文件,搜索方式是以asset目录下子目录为Resource名字的文件夹,再找需要加载文件的名字。返回的是泛型的对象。

值得一说的是 如果加载文件名字在整个资源中有两个的话,是加载目录路径层次高的那个Resource文件夹中的资源 ,给我的感觉这个是逐层遍历的,Resource文件夹下面还有可以有Resource文件夹。可以在Resource文件夹下添加文件夹然后可以指定搜索某一个文件夹中的文件。

这里文件夹路径必须是斜杠,而不是反斜杠 ,unity中的路径好像都是斜杠,如果你直接写路径的话,从外部输进来好像是可以的。

看这个名字就知道了,这个是去搜索目标路径内所有的泛型内容。返回一个数组

这是用来释放内存用的,在使用Destroy后其实是没有把内存释放的。在destroy后再使用这个方法就释放了。值得注意的是 如果你的ResourceLoad()赋值给一个变量后,然后Destroy这个实例对象,在使用这个方法是无法在内存中删除的,需要把这个变量制为空就可以了 ,因为这个变量是一直引用着ResourceLoad的,所以 ResourceLoad最好不要添加引用 。在使用Destroy实例对象后没有使用此方法,再次实例新的对象是不会增加内存的消耗的。

刚学unity的时候就听教程上说用这个方法好,可以优化资源,unity打包的时候可以把Resource文件夹的资源都打包。但是如果你在场景中引用的话也可以在打进包里啊,我知道这个时候你就会说像是texture2d这种不可能在场景中都用到嘛,这样的可以用这种方法,但是为啥要把场景所有的东西都动态加载呢?像场景模型这些固定的为什么也要动态加载呢?是要创建自己的对象池吗?但是这样的动态加载感觉很鸡肋啊,直接在场景中把这些固定的放好不就好了吗?还要自己去实例化,不是很明白。如果你换场景,不再用这个固定的模型,没去卸载他,岂不是有增加了内存的消耗。而且美术,策划那边如果要改场景中的一些东西也很不方便啊,有没有那个大神带发个车?

今天问问大哥知道了用这个方式是为了后面打包的时候方便分包用。

2018年11月11日更新

unity官方不推荐我们使用Resources加载方式,更加推荐使用AssetBundle的加载。给出的几个原因是:

也不是说我们完全不能使用Resource文件夹,我们在快速开发中使用或者模型项目中使用,或者是小型项目。或者我们可以在开发是使用Resource然后在打包的时候把这里面的文件打包成AssetBundle并删除。

关于Resource文件夹下的序列化:

在unity打包时,Resource文件夹下的文件会生一个类似AssetBundle打包时的依赖文件,这个文件存储的资源文件的一些信息,其中有File GUID和Local ID这个两个id来代表那个文件及文件位置。然后再运行中的时候会生成一个Instance Id,我们在游戏中加载时,就是使用的该id。但是File GUID的效率并不高,这也是为了兼容不同平台。这个过程就是我们打开应用时黑屏的哪个阶段,官方给出的时间复杂度是O(n log(n))。关于unity的序列化可以看看这篇文章 >

1如果是骨骼动画,要SKIN蒙皮,PHY蒙皮是不行的2只支持关键贞和骨骼动画,其他比如控制器动画等不直接支持,最好先转换为关键贞动画再输出3。把fbx格式动画重导入3dMAX你也许会有所发现

以上就是关于unity加载flt模型文件全部的内容,包括:unity加载flt模型文件、unity 3d中怎么导入模型、【Unity】Resource加载浅析等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/10118705.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存