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随手记的更多相关文章

  1. 【Asphyre引擎】冒险岛换装Demo升级到最新版PXL

    demo代码  (不包含Sprite代码,要Sprite代码请下载之前那个doudou的demo)

  2. 换装demo时美术遇到的问题详解

    1.武器替换:MAX的东西进Unity,根骨骼X轴会有270度的旋转. 解决方法:由程序强制武器进入Unity后的旋转角度. 2.蒙皮问题:face和hair等脖子以上部位蒙皮的时候,导入Unity后 ...

  3. Unity3d 3d角色换装实现原理及步骤

    http://www.cnblogs.com/dosomething/archive/2012/04/15/2450526.html 1.角色模型制作 unity3d支持Skin动画  但是不支持Ph ...

  4. 【Unity3d】3d角色换装实现原理及步骤

    http://www.cnblogs.com/dosomething/archive/2012/04/15/2450526.html 1.角色模型制作 unity3d支持Skin动画  但是不支持Ph ...

  5. Unity3d 换装Avatar系统

    原理就是用新造的部件和角色的骨骼进行重新对接. demo的使用方法: PartIdx设置要换那个部件[0,4],一共5个部件 EquipIdx设置要更换部件的装备索引[0,1],具体看我的Change ...

  6. 『HTML5梦幻之旅』 - 仿Qt演示样例Drag and Drop Robot(换装机器人)

    起源 在Qt的演示样例中看到了一个有趣的demo.截图例如以下: 这个demo的名字叫Drag and Drop Robot,简单概括而言,在这个demo中,能够把机器人四周的颜色拖动到机器人的各个部 ...

  7. Blender建模与游戏换装(转载文)

    本文转载自https://my.oschina.net/huliqing/blog/880113?hmsr=toutiao.io 如果本文涉及侵权行为,请原作者联系博主邮箱,我将及时进行删除处理 博主 ...

  8. Unity 之 人物换装

    http://www.cnblogs.com/mcwind/archive/2011/02/18/1957453.html  原理 一. SkinedMeshRender:该对象负责网格绘制.主要数据 ...

  9. cocos2d下,优秀骨骼spine的换装思路

    语文老师说,文章要有个好开头!!! 最近正在引入spine骨骼代替dragon bone骨骼,既然要替代,那么原先在dragon bone上的一些额外需求,不管dragon bone上能不能实现,都应 ...

随机推荐

  1. C++代码书写模板 -- 如何判断函数类型

    先说一个简单的方案. 经过验证 g++ 和 vs2010 都可以.原理就是利用函数类型可以直接转换成函数指针. template<class T> bool test( T * t ) { ...

  2. mysql 5.6 bug

    https://dev.mysql.com/doc/refman/5.6/en/account-management-sql.html USE mysql; SELECT Host,User FROM ...

  3. 【C++基础学习】引用和指针、重载、函数、内存管理

    第一部分:引用VS指针 引用的含义:变量的别名 注意:变量不能只有别名,必须有一个真实的变量与之相对应 基本数据类型的引用 对别名本身的操作和它的实体的操作是一样的 1.基本数据类型的引用 类型 &a ...

  4. Struts2页面遍历

    <s:iterator />可以遍历 数据栈里面的任何数组,集合等等 在使用这个标签的时候有三个属性值得我们关注      1. value属性:可选的属性,value属性是指一个被迭代的 ...

  5. Android Weekly Notes Issue #243

    Android Weekly Issue #243 February 5th, 2017 Android Weekly Issue #243 本期内容包括: ConstraintLayout的动画; ...

  6. __STDC_CONSTANT_MACROS和__STDC_CONSTANT_MACROS的作用

    虽然是写C++出身,但还真不知道这两个宏是什么作用.查了一下,参见这里. __STDC_LIMIT_MACROS and __STDC_CONSTANT_MACROS are a workaround ...

  7. Java8初体验(1):lambda表达式语法

    原文出处: 一冰_天锦 本文主要记录自己学习Java8的历程,方便大家一起探讨和自己的备忘.因为本人也是刚刚开始学习Java8,所以文中肯定有错误和理解偏差的地方,希望大家帮忙指出,我会持续修改和优化 ...

  8. BZOJ 1624 [Usaco2008 Open] Clear And Present Danger 寻宝之路:floyd

    题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1624 题意: 农夫约翰正驾驶一条小艇在牛勒比海上航行. 海上有N(1≤N≤100)个岛屿, ...

  9. get_extension_funcs 返回某个模块下的所有函数

    array get_extension_funcs ( string $module_name )             (参数必选) 该函数根据 module_name 返回模块内定义的所有函数的 ...

  10. [原创]java操作word(一)

    一. 需求背景 在做项目的过程中,经常会遇到要把数据库数据导出到Word文件中的需求,因为很多情况下,我们需要将数据导出到WORD中进行打印.此需求可以通过用程序填充数据到word模板中来实现.所谓模 ...