(转)Unity3d使用心得(2):Unity3d 动态下载动画资源——AnimationClip 的使用 - 斯玛特琦
引言:
在使用 Unity3d 开发微端、或者网页游戏的时候常常须要将资源打包成 AssetBundle ,然后通过 www 的方式动态的下载资源。今天要分享的是我再动态下载 Animation 骨骼动画的时候走的一些弯路和自己最后的解决方式。
我们的项目中的动画资源有上百套之多,每一套动画大概在300KB 到 900KB 之前,所以有一个非常重要的需求就是动态的下载须要的动画。
错误的方法:
我看到需求后想到的第一种方法是将 FBX 倒入的 Prefab 实例化,将当中的 Animation 通过 ScriptObject 保存成Asset文件,然后导出成 AssetBundle 文件。
在游戏执行的时候将下载回来的 Animation 组件赋值给相应的 GameObject 的 Animation 变量中。
悲剧的是我在这个时候才发现 Animation 存取器是仅仅读的。
正确的做法:
导出 Animation 中的 全部AnimationClip 对象作为数组加入到 ScriptObject 中,保存成Asset文件,然后导出成 AssetBundle 文件。在游戏执行时,将下载回来的Clip对象加入到 Animation组件其中完毕动画的动态载入。
AnimationClip 中包括了动画的数据,能够灵活的从Animation中加入删除。
还有一个看似可行的方法:
将 Fbx 倒入的 Prefab 实例化的游戏对象中。占用空间较大的数据 —— SkinnedMeshRenderer 组件中 Mesh(网格数据)、Shader 中的 Texture 分别导出成AssetBundle。将删除了这两个数据的剩余的 GameObject 连同动画一起打成一个Prefab。在执行的时候动态的拼装。
假设项目中的动态下载角色资源的方式是这样的方式的话。能够在一定程度上的绕开前文中遇到的问题。可是前一种解决方式是比較准确解决这个问题的一种方案。
(转)Unity3d使用心得(2):Unity3d 动态下载动画资源——AnimationClip 的使用 - 斯玛特琦的更多相关文章
- unity3d动态加载资源
在Unity3D的网络游戏中实现资源动态加载 分类: 最新学习2012-06-14 13:35 1127人阅读 评论(0) 收藏 举报 网络游戏nullvectorjson游戏string 用Unit ...
- [unity基础教程]Unity3D实现动态载入游戏资源(转)
用Unity3D制作基于web的网络游戏,不可避免的会用到一个技术-资源动态载入.比方想载入一个大场景的资源,不应该在游戏的開始让用户长时间等待全部资源的载入完成.应该优先载入用户附近的场景资源.在游 ...
- 【Unity3D】Unity3D之 Resources.Load 动态加载资源
[Unity3D]Unity3D之 Resources.Load 动态加载资源 1.Resources.Load:使用这种方式加载资源,首先需要下Asset目录下创建一个名为Resources的文件夹 ...
- unity3d Resources.Load动态加载资源
初步整理并且学习unity3d资源加载方法,预计用时两天完成入门学习Unity3d常用两种加载资源方案:Resources.Load和AssetBundle Resources.Load就是从一个缺省 ...
- (转)Unity3d使用心得(1):ModelImporter的使用、在代码中添加动画片段。
在使用 Unity3d 倒入Fbx模型的时候,动画的动画片段需要自己手动添加模型多了以后会是一个不小的工作量. Unity3d支持 编辑器脚本来控制资源导入的过程.添加一个 AssetPostproc ...
- Unity3D 入门 游戏开发 Unity3D portal game development
Unity3D 入门 游戏开发 Unity3D portal game development 作者:韩梦飞沙 Author:han_meng_fei_sha 邮箱:313134555@qq.com ...
- Struts2实现文件的上传与动态下载功能。
本篇主要使用Struts2实现文件的上传与动态下载功能.出于安全考虑,所以,在硬盘上存储上传的文件的时候,统一都重新命名为随机字符串.用数据库存储真实文件名与随机文件名称之间的关联. 下面的是实体类 ...
- WPF路径动画(动态逆向动画)
WPF 中的Path.Data 不再多介绍,M开始坐标点 C弧度坐标点 L 直线坐标点 <Path x:Name="path0" Data="M 10,100 C ...
- 从高德 SDK 学习 Android 动态加载资源
前不久跑去折腾高德 SDK 中的 HUD 功能,相信用过该功能的用户都知道 HUD 界面上的导航转向图标是动态变化的.从高德官方导航 API 文档中 AMapNaviGuide 类的描述可知,导航转向 ...
随机推荐
- Spring Cloud Zuul的一个坑
Spring Cloud 版本: Dalston.SR5 今天使用Zuul发现一个和动态刷新相关的问题,动态刷新使用的是 /bus/refresh,即我的Zuul连着一个Rabbitmq,我这里是使用 ...
- C# 多线程并发锁模式-总结
开篇: 互斥还是lock Monitor Mutex 模式! Muex Monitor lock AutoEventSet ManualEventSet 后续的 ReaderWriterLock ...
- Ubuntu18.04, WPS表格生成中文大写数字的script
=IF(ROUND(J9,2)<0,"无效数值",IF(ROUND(J9,2)=0,"零",IF(ROUND(J9,2)<1,"" ...
- 在Listener(监听器)定时启动的TimerTask(定时任务)中使用Spring@Service注解的bean
1.有时候在项目中需要定时启动某个任务,对于这个需求,基于JavaEE规范,我们可以使用Listener与TimerTask来实现,代码如下: public class TestTaskListene ...
- 命令行登录远程Mysql
mysql -h主机名(如:www.awbeci.com) -P3306 -u用户名 -p密码
- 阿里云ecs配置辅助网卡绑定公网ip地址
EIP直通车 前置条件:1.大家的实例是从经典迁移到VPC里面的,上古时期,经典实例大家购买实例的时候都是买了带宽的.而这种带宽一般情况下都是包年包月的,而且这种绑定在实例上的IP,我们把它叫做公网I ...
- (原+译)pytorch中保存和载入模型
转载请注明出处: http://www.cnblogs.com/darkknightzh/p/8108466.html 参考网址: http://pytorch.org/docs/master/not ...
- Swift3 文件操作常用方法汇总
基于swift3的一些常用文件操作方法: 1.创建文件(文件夹) 2.读取文件(根据名称) 3.读取文件(根据路径) 4.判断文件是否存在(根据名称) 5.判断文件是否存在(根据路径) 6.删除指定名 ...
- linux shell 脚本攻略学习8---md5校验,sort排序,uniq命令详解
一.校验与核实 目前最为出名的校验技术是md5sum和sha1sum,它们对文件内容使用相应的算法来生成校验和. 举例: amosli@amosli-pc:~/learn$ md5sum text.t ...
- .net获取当前url各种属性(文件名、参数、域名、端口等)的方法(转)
假设当前页完整地址是:http://www.test.com:80/aaa/bbb.aspx?id=5&name=kelli "http://"是协议名 "www ...