您的位置:首页 > 其它

换装demo随手记

2016-03-19 14:53 274 查看
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)

-----------------------------------
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: