Skip to content
OneYoungMean edited this page Oct 3, 2021 · 56 revisions

欢迎来到AutomaticDynamicBone的说明.
本教程含有大量的gif图,请勿在流量下观看.
如果你无法加载gif图,请换个时间段或者科学上网查看.

基础教程

AutomaticDynamicBone(ADB)的工作流程与DynamicBone有些不同,但是掌握这些并不难.
如果你是第一次接触ADB,可以下载本Github库,并通过unity进行打开,它里面包含了一些测试用例的场景. 下面我将分别介绍这些场景的使用方式,并通过它们介绍ADB的使用方式.
1.EazyGoing-简单制作一个骨骼布料
2.Change-Different-Constraint-Effect-修改不同的杆件属性
3.Change Different Effect 修改不同的效果
4 Character Physic Making 制作一个角色!
5 Character Dance Test && 6 MultiCharacter 动作测与多人测试 以及一些感谢

部分说明

· 6 ADBRuntimeController介绍
· 7 ADBEditorCollider介绍
· 8 ADBSetting&&ADBGlobalSetting介绍
· Q&A
· 细节补充

一些作者想说的话

ADB虽然名字中包含DynamicBone,但是实际上从底层原理到上层建筑与其有着本质的区别;

ADB的本质原理是将头发(布料)看成两个端点与中间的弹性杆件,通过计算两个端点的位置与杆件的受力情况,进而得出模拟的运行情况.

虽然这使得该插件的计算量很大,效果也与dynamicbone有些出入.并且骨骼在位移中会有所延长,但是这并不意味着我们不能做的更好.

为了提高性能,我们尽可能绕过了与monobehavior的交互,并提供了一个独立于unity之外的小型物理系统;
为了在多线程编程当中显得科学,我们在原理上对其进行了一些改动,包括用微元代替实际位移的距离进行迭代,杆件计算依赖质量等,并严格的审查了其稳定性;
而为了提供最大的优化,我们在其底层绕过了安全检查,所有的物理计算都采用C#指针的形式进行处理.

总而言之,通过多线程与一系列黑科技的加成,与DynamicBone相比,该插件无论是性能上,效果上,交互上,还是可操作性上,该插件都遥遥领先,甚至有些领先到匪夷所思的地步.
我们拥有多线程的优化与迭代系统,其带来的强劲性能足够你开发大型实时的多人互动.
我们拥有多个可定制的物理参数与强力的碰撞体抗穿模,足够解决你任何在物理效果与穿模上遇到的困难.
我们拥有一键生成动态骨骼一键生成全身碰撞体,抛弃传统的繁琐操作,采用全新的导入流程,节约你大量的调整时间.
我们拥有随时保存随时读取的物理效果系统;你可以在运行过程中实时动态的修改物理参数并保存,避免你反复启动编译器进行调试.
除了原理不可避免带来的骨骼延长,我们几乎在每一个方面都超越了当初的dynamicBone.

沉舟侧畔千帆过,病树前头万木春.

最后,求三连啊不,欢迎诸位前来star,毕竟我的实习作品就靠他了XD

脚本架构与细节说明

如果你要修改脚本某项功能,这张图或许对你有些帮助