Skip to content

1.EazyGoing 简单制作一个骨骼布料

OneYoungMean edited this page Oct 3, 2021 · 10 revisions

1-EazyGoing

1.简单的开始

如果你是第一次开始,别担心,我们已经在场景1准备好一份标准的头发案例,它叫做 Hair Test ,是由一堆坐标点构成,只要你运行场景就可以看到它.
抱歉,在游戏窗口中你可能看不到这些点,但是实际上它们已经在sence窗口中绘制好了(笑)
(很抱歉我把动态图搞丢了,我补了一张静态的用于参考)


2.它是如何制作的

在下面的示例中,我将详细的讲解 Hair Test 的制作方式.
1.首先,你需要确定你目标的关键词,正如你所见的,图中的关键词是 hair

2.其次,在你的根物体上添加ADBruntimeController脚本,无需注意多余的控制框,你只需要把你的关键词 hair 填入识别关键词的列表当中即可

3.点击[生成节点数据],然后等待一下,脚本会自动在场景中绘制所有识别到的数据.

4.晃动你的目标!查看效果XD.

简单的节点生成


3.让我们来稍稍提高点难度...

为了更加详细讲解脚本是怎么运作的,我在旁边同时也准备了一个 skrit Test 的案例,他其实是某个裙子的所有坐标点,下面我将一步一步带你制作它.

1.在开始之前,我需要说明一些重要的讯息,及脚本是不知道你的目标是裙子还是头发的.
在制作之初,为了更加方便其他人进行效果的开发,我将运行脚本(ADBRuntimeController),效果设置文件(ADBSetting),以及 效果关联关键词文件(ADBGlobalSetting) 给分割成独立的三部分,它们的具体分工如下:

这么做的好处是你可以更方便的替换不同的效果,找到最心仪的那个,坏消息是,你可能需要花点时间来理解才行.

2.让我们继续往下走,找到 skrit Test ,按照最开始的步骤进行操作,当我们填入 SkirtBone 按下[生成节点数据]的那一刻,脚本弹出了一个提示,告诉你"我不知道这个 SkirtBone 意味着什么".

3.这个时候,你就需要手动去设置ADBGlobalSetting文件,它在Controller面板的最上方,双击打开即可看到它存储的信息.
简单来说,它实际上是一个Dictionary<>格式,你可以在其中存储多个不同的ADBSetting的文件,而每一个ADBSetting文件可以对应多个不同的关键词.

4.你需要告诉脚本, SkirtBone 应该使用裙子的效果设置文件,恰好我们在下面有一个预制的裙子效果设定文件,我们将我们的 SkirtBone 填到下面.
如果你没有多余的格子可以用了,你可以增加上面的size的值来添加新格子.

5.回到操作界面,按下[生成节点数据],这时我们已经看到,原本光秃秃的裙子已经被识别出来,并按照ADBSetting文件进行设置.

6.运行,晃动你的目标!

更详细的步骤


4.效果设置文件(ADBSetting)与效果关联关键词文件(ADBGlobalSetting)

1.如果你对上面的图仍然有些疑问,请容许我用文字简述一下:效果设置文件(ADBSetting)通过效果关联关键词文件(ADBGlobalSetting)控制运行脚本(ADBRuntimeController)

2.关于ADBSetting与ADBGlobalSetting,它们实际上都是以序列化的文件的形式存在于你的目录下,我在脚本的/Resource/ADB Setting/目录下预制了一些范例,你可以简单参考一下.

3.你可以修改一个控制运行脚本(ADBRuntimeController)匹配的ADBGlobalSetting文件,也可以修改或者更换ADBGlobalSetting中的ADBSetting文件,来跟换具体的物理效果,关于这部分,我们会在后面详细的提及.


5.最后的一步,添加你心仪的碰撞体!(已过时)

这部分内容已经过时,新的教程会在未来更新,非常抱歉,现在可能需要您自行摸索一下(笑).
新的ADBCollider脚本叫做[ADBColliderReader],你可以查看0-HelloWorld场景查看它是怎么工作的.