换装demo随手记
1 修补demo错误,使VirtualWorldExample可正常运行
CharacterGenerator.AssetbundleBaseURL 做如下修改
public static string AssetbundleBaseURL{
get{ return "file:///" + Application.dataPath + "/assetbundles/";}
}
2 场景中隐藏Gameobject ,RandomMale ,RandomFemale,排除干扰项,重点研究SpecailFemal
Character.js
CharacterGenerator.ReadyToUse里面读取了CharacterElementDatabase.assetbundle
并拿到了所有role的所有部位的CharacterElement
generator = CharacterGenerator.CreateWithConfig(character + "|" + config);
读取配置,这个在场景中写的 character=roleName config是部位和具体用哪个资源的组合
generator.ConfigReady等待所有元素加载完毕
go = generator.Generate();加载完毕后的组装过程
CharacterGenerator.Generate(Gameobject root) 这里的root是基本骨骼
-------------------------------------------------------------------------------------
导入多出的依赖资源和bonenames是怎么回事研究下
依赖已经弄清
是Texture2d图片和法线图片
方法为输出object.Type
至于多出的bonenames
根据原始demo的到处方法,暂时认为多出bonenames是正确的
-----------------------------------
组装的一些关键问题
组装与Materails合并问题
mesh合并问题
bone的处理貌似是最简单的
关于changeEq一闪的问题
其实问题主要在于材质
Q1:一个part3个材质,怎么决定用哪个
怎么对材质赋值?这个材质和模型都有问题
实际是通过
materialRequest = WWW.assetBundle.LoadAsync(name, typeof(Material));
里面这个name决定的,虽然一个partAB中包含多个materail
但是每个materail名字是唯一的
Q2:一个part只对自己合并materail还是针对整个avater进行materail合并?
关于合并貌似originalDemo只做了mesh,没做materail(因为除了法线就只有一个固定名字的materail,不需要合并了)
而且mesh的合并是对整个身体所有skinRender的合并
Q3:法线图竟然是作为依赖资源被加入到AB的,这个需要解释?
暂时不知道
Q4:OriginalDemo中所有材质都堆一起了,貌似是合并了,这个具体要怎么做要考虑下
demo的做法是materail和mesh统一都合并到了最上级,只有一个skinRender
然后里面就只有bone Transform
这种做法缺点
http://blog.csdn.net/onafioo/article/details/50705833
优点就是合并了mesh和material,
缺点是部位材质和skinRender数量必须相同,而且每次都要重建所有部位(这个就很难接受了)
所以需要为每个部位单独建立一个新的Gameobject(貌似就是不合并mesh)
-----------------------------------
换装demo随手记的更多相关文章
- 【Asphyre引擎】冒险岛换装Demo升级到最新版PXL
demo代码 (不包含Sprite代码,要Sprite代码请下载之前那个doudou的demo)
- 换装demo时美术遇到的问题详解
1.武器替换:MAX的东西进Unity,根骨骼X轴会有270度的旋转. 解决方法:由程序强制武器进入Unity后的旋转角度. 2.蒙皮问题:face和hair等脖子以上部位蒙皮的时候,导入Unity后 ...
- Unity3d 3d角色换装实现原理及步骤
http://www.cnblogs.com/dosomething/archive/2012/04/15/2450526.html 1.角色模型制作 unity3d支持Skin动画 但是不支持Ph ...
- 【Unity3d】3d角色换装实现原理及步骤
http://www.cnblogs.com/dosomething/archive/2012/04/15/2450526.html 1.角色模型制作 unity3d支持Skin动画 但是不支持Ph ...
- Unity3d 换装Avatar系统
原理就是用新造的部件和角色的骨骼进行重新对接. demo的使用方法: PartIdx设置要换那个部件[0,4],一共5个部件 EquipIdx设置要更换部件的装备索引[0,1],具体看我的Change ...
- 『HTML5梦幻之旅』 - 仿Qt演示样例Drag and Drop Robot(换装机器人)
起源 在Qt的演示样例中看到了一个有趣的demo.截图例如以下: 这个demo的名字叫Drag and Drop Robot,简单概括而言,在这个demo中,能够把机器人四周的颜色拖动到机器人的各个部 ...
- Blender建模与游戏换装(转载文)
本文转载自https://my.oschina.net/huliqing/blog/880113?hmsr=toutiao.io 如果本文涉及侵权行为,请原作者联系博主邮箱,我将及时进行删除处理 博主 ...
- Unity 之 人物换装
http://www.cnblogs.com/mcwind/archive/2011/02/18/1957453.html 原理 一. SkinedMeshRender:该对象负责网格绘制.主要数据 ...
- cocos2d下,优秀骨骼spine的换装思路
语文老师说,文章要有个好开头!!! 最近正在引入spine骨骼代替dragon bone骨骼,既然要替代,那么原先在dragon bone上的一些额外需求,不管dragon bone上能不能实现,都应 ...
随机推荐
- 在VS2015中增加JQuery引用及智能提示
打开VS2015,从"工具"菜单选择NuGet选项,搜索Jquery,并点击安装. 可以看到解决方案的scripts增加了对应文件的引用 在HTML文件中可以直接引用j ...
- PowerDesigner逆向工程,从SQL Server数据库生成Physical Model -----数据源方式
1.File-Reverse Engineer-Database 2.DBMS选择SQL Server 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 一路Next..... ...
- ElasticSearch(十一)批量CURD bulk
1.bulk语法 POST /_bulk { "delete": { "_index": "test_index", "_type ...
- A桶中有多少水?
如果你能算出桶中有多少水,我便许你下山去玩.有一天,老和尚让小和尚将A桶的水挑到B桶去,可是小和尚却想下山玩,不愿意挑水,老和尚便说:”如果你能够根据我的提示算出A桶中有多少升水,我便许你下山去玩.” ...
- java验证码问题
AuthImageServlet.java package com.util.servlet; import java.awt.Color;import java.awt.Font;import ja ...
- NSArray / NSSet / NSDictory 三者的异同点
NSArray / NSSet / NSDictory 三者的异同点 NSArray 是一个有序对象的一个集合.相当于一个队列存储,可以有重复的数进去. NSSet 比较典型的一个HASH表(集合)算 ...
- IDEA 打开多个项目
简单的说只需要以下几步: 1.将需要同时打开的模块放在一个文件夹下,e.g. AModel 和 BModel 同时放在 Project 文件夹下. 2.在 IDEA 初始导入项目页面选择 open - ...
- ReentrantReadWriteLock读写锁实现分析
排他锁在同一时刻只允许一个线程进行访问,而读写锁在同一时刻允许多个读线程访问,但是在写线程访问时,所有的读线程和其他的写线程均被阻塞.读写锁内部维护了一对锁,一个读锁和一个写锁,通过分离读锁和写锁,使 ...
- 【转载】Java的接口和抽象类
尊重作者劳动成果,转载请标明原文链接: http://www.cnblogs.com/dolphin0520/p/3811437.html 也不知道,面试为什么经常用到这个知识点—— 一.抽象类 在了 ...
- javaScrpit中NaN的秘密
NaN,不是一个数字,是一种特殊的值来代表不可表示的值,使用typeof或其他任何与之比较的处理方式,‘NaN’则会引起一些混乱, 一些操作会导致NaN值的产生.这里有些例子: Math.sqrt(- ...