粉丝306获赞388

什么碎碎力还能编成?今天教你一个不一样的,用一个小程序来控制数字模型的变化。首先我们创建一个文本和一个空对象,把空对象命名为数字控制,给数字控制新建一个用户数据,增加用户数据,用户的界面切换为辅点,滑块 单位切换为时数,点击。 ok, 这边会多出一个数字控制的选项。那如何用数字去控制文本的变化呢?给数字控制添加标签编程标签 expresso, 把数字控制和文本拖到 etc 编辑器中,点击这个红色按钮用户数据数字,再点击文本的蓝色按钮对象属性文本样条,连接一下这两个标签,就能通过数字控制选项来控制文本啦,简单吧。然后对数字进行一下 k 根动画,再检查看一下。 哎,怎么会有小数点的存在?那就要点开这个曲线按钮,再打开这个函数按钮框,选这个运动曲线,把这个变速运动改为匀速运动,再播放,我们看一下就不会出现小数点喽。怎么样,学到了吗?

下面我们看一下另外一个标签,我们也是新建了两个物体啊,一个球体,一个立方体,我们讲一下这个挨个拍手,这个把它呢加到我们这个球体上,加上去之后呢,就有有一个窗口,这个变形器,在变形器里面,你看一下啊, 他的一个用法,这功能挺强大的啊,让我们看一下啊,看这个 啊,这是一个球体,一个立方体,我们把球体跟立方体给他拉进来,就点入这个,点入这个物体,这个拉进来就可以了。 好,我们用这个,比如说他是一个绑定的啊,比如说我们用这个球体的半径大小干净,把半径呢给他拉到这个球体这边,这可以拉大一点啊。 好,这个立方体也是比如我们球体的大小来控制立方体的一个,嗯,控制立方体的一个位移吧,就这个位移是对方的一个位移, 给他拉到这边来,也可以用他大小来控制他的一个远小半径,比如这个啊,远小半径也给他拉过来,哎,这个半径都给他连上去, 你看一下啊,这个球体按到一个大小啊,球体变小了,球体的半径 半径是十三点四,是吧?这个立方体他的原有半径也是一个十三点四,他的位移呢,位移就发生变化了,立方体的一个位移也是十三点 啊,还是通过这个来控制他们两个,一个是位移,如果说不要这个了,把这个调到点一下就可以了,点一下,然后他变大,还有一个位移,对吧?他变大了,他变跑了啊,他始终碰不到,他 也可以控制这个,也可以控制他的一个旋转,比如这个立方体把他的一个旋转,比如这个旋转发给我们这个,让半径控制他的一个旋转,旋转在这里啊,好,我们动动他的大小,他就会动 用一个参数控制另外几个参数都可以,也可以控制我们的名称,比如说我们新建一个,新建一个文本啊, 比如我们给这个球体呢,这个球体啊,对一下,是吧?把这个球体这个名字, 这个名称啊,球体的名称我们选用这个,嗯,名称,这个给他拉过来啊,然后我们把这个文本也拉进来啊,我们改变这个文本的名称。 ok, 然后用这个名称点给他这个名称。连错了啊,把这个文本啊,把他的拉过来点他上面 平台上面这个就不要了啊,然后这个我们这个文本呢,就变成一个球体了,后面我们可以改这个名字,比如这个是 这样改一个吧? bc 啊, bc, 然后他就变成了 abc, 这是我们这个,然后下一个就是我们这个标屋标签,他们两个是配合用的啊。

哈喽,大家好,今天这个小教程是带领大家用这样一个自适应手尾契合的方块的一个例子来带领大家入门,快速学习一下 expresso, 也就是 cc 当中表达式的图形化表达式的这样一个功能。同时要说一下,这不是一个非常复杂的效果,我们可以通过这个例子来学习,来带大家入门入坑。这个表达式有节点的这种编辑方式啊, 目的不是说就要做这个效果,或者说,哎,今天学你看这教程之后我就学会他了,目的是为了带大家入门。那么第二个就是实现这个效果,有很多方法,你可以用插件,可以用这个编程的方式, 那么也可以使用不同的节点来实现这样效果,这不是一个唯一节哈,我们有很多方法可以实现它啊,所以你就不要说啊,我这你其他方法更好,你这个方法太差了,什么什么的,我有一个, 我有一个更好的方法什么的,那当然都是有的,这不是一加一,一加一等于二的问题,那这里我只是用这个例子来带大家感受一下 expresso 的这个编辑方式啊。好了,那么话不多说,我们来看一下这个效果是我们究竟要如何去实现怎样 那个效果。那首先这是一对收尾相接的方块,那么假如说我在做这种缩放动作的时候,我不去使用表达式,那么比如说我对最左侧这个方块对他进行 scale 变化,那么相对应的我右侧他旁边的方块我就要把它挪到新的位置,对吧?那么假如说我后面还有很多方块,那对应的后面的方块也都要挪到新的位置, 那么正如刚才演示的,那比如说我要对中间这个方块进行缩放操作,那同样我要做同样的事情,把它挪到边上来,并且要保证贴合,然后再把它后面的挪到边上来。所以这样的动作如果你不去做表达式的自动的关联的话,那我们开通话工作量是非常非常大的,非常非常大,你根本甚至没办法做到一个精确的首尾相接的燃油效果, 这就是为什么我要让他去自动去完成这件事情。所以我们这里比如说启用了表达式之后这句话,他演示的我现在可以对任何一个对象进行缩放,他后面的物体都能够自动的收尾相接,自动发生位移,其中任何一个都可以,他右侧都可以产生这样效果,这样就很方, 我们就可以一些动态的演绎一些运动图形的效果,对吧?当然这个效果用模 buff 也可以做,也可以做啊。那么我们来看一下如何去使用表达式来设置。那么这里我新建一个场景,用一个新的场景去做,建立一个方块,我把它命名为 e, 给他一个自定的颜色, 复制一个命名为二,给它一个另外一个颜色,这样我们产品当中就获得了两个不同的方块。那这里我们以 z 轴为例,让它在 z 方向上收尾相接,我们在纵向上这个这个深度的方向来进行演示。 那么这里我们来看一下我们的诉求是什么?当我在对一对象进行 scale 的时候,那因为他现目前为止是一个参数物体嘛,所以你要在 up 这个模式下对他进行非等比的缩放,我们再缩放他,那这里这个缩放改变的是物体的什么?我们可以看他的 calling 类似的属性当中,坐标属性当中的 scale, 我们在 z 方向上进行了 比例上的变化,所以它是一个几倍、几倍的关系,对吧?它是一个比例一倍或者两倍,或者说原始的一倍,好,这是缩放,当我要去缩放它的时候,比如说放大了,我旁边这个红色的叫挪动一个距离,所以挪动的话,对于红色这个对象来说的话,是它的 z 方向上的位置发生了改变,是位移。所以这就是第一个问题, 我们要实现这个效果的话,这两个变量他是不等价的。这里缩缩放我先不说,他是一个倍率的一个概念,倍率几倍、几倍,在这里比如说一点八倍,一点七倍,那他的位置要变化的话,是单位是厘米,要移动多少厘米,所以这个首先就没有办法画等号,那几倍等于多少厘米呢?对吧?这个没有办法去移化等号,所以这是我们要解决第一个问题。 而第二个问题是这个方块现在我们对他进行倍率的变化的时候,这一方向倍率变化的时候,他是以他的中心点,也就是在这个方块中间往两边翻倍,也就意味着他的右侧 最边界的这个最边界,他变化的实际的这个距离量啊,其实只有他整体变化一半,对不对?因为整体比如说往这边膨胀了这么多,假设哈他的宽度多了十,那是不是对于旁边某一边来说 是多了物,这就只有他的一半,对吧?因为就是一半嘛,用这个物体就在这个,这个红色物体又在绿色物体的其中一侧,其中一半,这第二个问题比较好解决。我到时候只要把他膨胀的这个距离变大,这个距离除以二变一半就可以了,就是他移过去的新的距离的这个位置, 所以这两个问题不要去解决它。第二个比较好解决,除以二就可以了,只做一半的变化。那对于第一个问题来说的话,如何去把这个 scale 它的比例的变化转换成一个距离的变化呢? 那这我们就要去了解概念,叫做 founding box, 叫做边界框,那么这里因为他这个方形你不太好理解,所以我们把它禁用。我这里用任何一个对象,比如说一个圆锥体,那对于任何一个形状的物体来说的话,我不管他 什么形状,什么比例,他在空间当中一定是占了一个长宽高,是有一定数值的这样一个空间,对吧?也就说他最低的地方和最高的地方都有画一下,我用这个草绘工具画一下, 它最低的地方和最高的地方一定是有一个极限值,对吧?那同理最左侧和最右侧一定是有一个极限值,所以它在 y z 平面上就构建了一个方,一个矩形的空间。它同理,因为我们这是一个三维空间嘛,所以它肯定是在三维空间上有一个范围,这里我已经提前设置好了,所以你看到是一个矩形,有人说它应该是一个圆锥形嘛,对吧?圆锥形, 所以他的横向上宽度上也有一个范围,所以三个维度上这个范围构建起来之后就应该是个矩形,对吧?就是一个矩形, 这就是他的绑定 box, 他的边界框。那你要看一个物体的边界框的话呢?你可以在他显显示当中把它模式改成 box, 你就可以看到一个圆锥体,就是说变成一个正方体,那这个不是说他形状是这样,而是我们可以通过这个显示的方式来感受什么是 他的这个 box 边界框,其实他内部就是这样一个圆锥,他在三维空间当中占了这样一个一个立方体的一个范围。啊,明白了,那为什么要有这个边界框的概念呢?就是因为我们可以通过边界框来判断一个物体,他不管比例是多少,两倍、零点五倍,一点七倍,不管比例,他在空间当中占的这个 极限值就是这个两个点之间的距离,我就能够求出来了。所以我有了这个距离的变化,是不是就可以把它转换到刚才这个方块的位置的变化上去了? 所以这是我们解决第一个问题,把一个比例的变化变成了他的一个实际的距离的变化。好了,那这里我就去做这件事情,我把刚才潮绘删掉,把原主题删掉好了,我把这个显示模式最后还原到我们的这个默认的实际的样式。啊, 我们从方块开始,那么这里我们就去使用这个 express 来做这个事情,就是可视化的图形图形表达式,那么在这里我们二对象 就是红色的对象,事实上他是被控制的对象,因为一对象他去改变了他的大小,那么旁边这物体是被动的,所以这里接受控制的就是红色的二对象。我们这里把在二对象的后面给他添加一个 program 组当中的 expresso 可视化图形的一个标签, 把它打开了窗口,我把它放到下面来,为了让大家随时看到发生了什么,那么我们这里二对象是被控制的,对吧?被控制的,所以把它丢进来,把它放到右侧, 就把界面放大一些,这样大家可以看得清楚一点好了。那么方块二这个对象他 什么东西被控制?那么在这个例子当中的话,它是 z 方向上的位移被控制,那这就是一个节点,跟大家学习的渲染器是一样的,不管是 auckton 还是 read shift, 还是那个安卓的都是一样的,那原理都一样,这里我就不做对数了。那么它被控制的是 z 方向上的偏移,所以我们 选择这里的属性方块二的属性, z 方向上的这个坐标值,把这个端口拖到右边,拖到这个节点的左侧,就是接收信息的这一栏,就是这里信息要传进去,他被控制,他的 z 方向上的 pos 线的位置被控制,所以他是一个放在最右边,他是接收信息的,被控制的,那么他被什么东西控制呢? 它事实上是被二,那这个一对象,一对象,它的 finding box 就是边界框的尺寸的变化去被控制,所以我们把一丢进来, 一丢进来,那么对于一个参,对一个物体来说的话,这里你要知道,就它的节点当中其实是不包含是没有这个 bonding box 的属性的, bonding box 我们需要去读取它,从它身上去取得这个信息。 那么这里你要注意一点,就是参数物体,参数物体,我们这里说到的参数物体,它是不具备 body box 这个属性的,因为它不是真实的连线面,它是程序合成的,所以在这里我们首先要做的是把它们 都转换成可编辑对象,所以我们在这里 c 到它,或者说这点这个按钮,把它变成这个 party 港好了,双击可以重新打开 x 拍摄的编辑界面, 那我们如何去读取它的 body box 的信息呢?在这里我们可以右键在空白的地方点一下,去创建一个新的 expresso 组当中的 general 常规选项当中的 body box, 我们可以通过这个节点来读取某一个 party 港,也就是多拼对象的边界框,他左侧是 object, 那么他去读取谁呢?读取 q 个一这个对象的信息,所以我们在这个位置打开输出的端口,找到 object, 就说我告诉他,你现在去读取 q 个一这个对象的对象, 告诉 body box 你要去杜绝他,所以我在这里两个端口画一条线,把他连在一起,他就去读他了。那这是有要的,就是边界框的尺寸,那上面两个端口没有用,我就把我们不需要啊,最大最小,我们不需要去掉他,双击就 删掉某一个端口好了。那这里边界框的 size 这个尺寸呢?事实上它是一个叫使量的概念,就是说任何物体在空间当中都有长宽高三个属性,对吧?它的尺寸也好,位置也好,都有长宽高三个属性,那么三个属性我们在这里是通过 一组数据传出来的,所以这个叫做史料数据,就说这里面传出来一些信号,这个信号其实里面是包含了三组信息的,包含 x、 y、 z 三个轴向的信息,那这些我们只需要 z 轴, 只需要 z 轴上信息,所以我们把这个 z 轴的信息把它提取出来,我们这里就要把一通过一个节点,把使量转换成实数,所以我们这里右键同样在空白地方点击 新建一个节点,那这里我们去找一下,啊,啊,是 expresso, 去找一下。使量是叫做 vector 实数,叫做 real, 那么一般来说在完整的这个三文件的这种表达平台当中都可以找到叫做使量转成属性,呃,这个实数的这样一个功能,所以我们可以在第二组当中找到这里的 vector two reels, two 它缩写嘛,就是那个 t o 那个 two 嘛,啊, vector 质量 two reels 质量转换到节点,呃,转换到实数这样一个节点,那这样我就有了一个新的节点。同样我们把刚才传进来的这个读取到的 box 的 x, y, z 上的绑定 box 的信息这一组数据丢进去,它在这里面内部处理,把它 分散开了,分成了 x、 y、 z 三种数据,那这个我只需要 z, 不需要 x、 o, y, 所以我们可以双击哦,这个因为它是一个史料,你没办法去掉这个端口,所以我们这里就保留使用 z 就行了。好了,那我们就有了 q 个一啊,这个对象的边界框,它最左到最右这个尺寸,实际的尺寸通过绑定 box 读取,然后转成了一个实数,把这个实数 通过 z, z 上面的这个数据,我们去把它传递给这个被控制的这个物体,就是它真实的位置所在了,我们先丢进去试试看对不对?丢进去你会发现, 哎,他就过去了,他过去了,现在我们去 scale 他看一下,你会发现,哎,感觉好像不对劲啊,是不是出现一个问题?就是我说的刚才说第二个,第二个问题,他的变化只是一半,但现在好像变化之后变多了,所以事实上我不是说要两边的这个范围,而是只取一半这个范围。 那么也就是说我现在这里的数据, z 方向数据不能够直接给他,而要除以一半再去给他,那这里我们就去使用一个接点,叫做计算接点计算,那这里取取一半,那这个就是简单的,小学的学的加减乘除嘛,四则运算里面的,所以我们点击空白的地方新建一个接点 expresso, 在这里我们找到计算也是 calculate 的计算组, 在这里找到 max 四组运算,加减乘除嘛,很简单。所以我们把 z 方向上进来的数据丢进来计算,怎么算呢?在这里找到计算方法,加减乘除,对吧?后面这个不用管。加减乘除,那我这里用乘 好了,乘上到乘上零点五,乘上零点五是不是就是这个边界的位置了,对吧?而不是真正的左边到右边的这一段距离,而是一半的距离,这里数据进来乘以零点五,就是得到一半,然后再给到他, 你会发现,哎,他跑到这来了,这是为什么?那这是正确的一个位置啊,对吧?这才是正确的。我再草后一下, 对于绿色的方块来说,它的边界框就是就绑定 box, 就是从这里到这里,现在我只需要一半,所以中间对分它,它到了也就是这段距离,对吧?这段距离,这段距离等同于 q 二就是绿色这个物体,而红色这个物体它的轴心的位置,所以现在它是我们才是获得正确的一个效果,对吧?正确效果好了,那同样的方法,那这个时候我想想一想哈,那如何让红色这个方块就是二这方块它的边边缘贴合 到绿色这方块边缘呢?那我先把它断开,我们感受一下,那是不是我选择红色这方块,让它位置再往这边再挪动一段距离,那这段距离是多少?这段距离事实上就是红色这个方块 身上就红色这个方块的边界, bonding box 的一半也是它的一半,对吧?所以这样我们就很清楚了,红色的这个方块它的位置,它轴心点的位置其实就是位于这两个物体的 bonding box 的一半的和对不对?一半一半, 然后加在一起就是红色这方块的位置。好了,那这样我们就非常清楚了。哎,不好意思,删错,删错了啊,那我同样事情去做一下,那我可以直接把这里的刚才设置好的这个 节点计算方式,我们直接 ctrl 按住拖拽复制一份过来复制一份。那么刚 刚才计算的是一对象的,就是绿色的对象的。把你往死里办,那现在我想去算二对象,就是红色的对象的一半,那我不需要重新连一遍吗?我只需要告诉第一个,对这个节点,你现在不要去读取一对象,而是去读取二对象,所以我选择这个节点,把他的这个对象改成二拖进来, 那这个时候读取的就是二对象的 box, 分出来 z 除以一半。好了,那这两个值我现在要把它给加起来,那加我们刚才你学过成了,那是不是加同样的做法?我们可以右键拼接,或者你按住 ctrl 复制一个刚才的计算界点,也可以总是用同样的四折运算吧,小学生都会做。最后把它的方式改成什么? 加 at 就是加,那么加是什么?两个数值 input 一,加上 input 二嘛?一一上面一个加上下面一个,最后就上面一个加上下面一个,然后输出,你看现在他是不是就位于这 的位置了?那么一对象,绿色这个对象,我现在缩放他红色这个对象就会贴合着这个位置 啊,这个就是最基本的一个逻辑的表述,那在这里我们就用到了二四六八十个节点, 那么事实上这种计算呢?我们我们可以去优化他一下,对吧?或者说节点越少越好嘛,计算就会越来越小。呃,计算代价啊,就会越来越小,效率就越来越高嘛。就比如说我两个都除以二,然后再加在一起,那是不是这里用了三个节点,那比我们是不是可以先加之后再除以二,那不是会少一个节点吗?所以我们也可以尝试这样去连试试看 断开,我们删掉一个乘法,那先加在一起嘛,先加 再除以二,是不是也可以啊?所以这里只是给大家培养一下这种逻辑思维能力啊,你怎样做都可以,能够少就去少, 那这是最好的。好了,那我们完成这个最基本的一个设置,这最基本的一个设置好了,那接下来我们再看还有什么东西没有实现。在我们这个例子当中,我们作为主控的第一个立方体,不但是可以通过 缩放来控制他后面的对象,我们也通过通过卫衣来控制他,那我们来试一下我们现在的结果,那作为主主控的这个绿色方块,他的卫衣事实上现在并不会影响右侧的二对象,因为不管他移到哪里,他的绑定 box 尺寸是不变的, 对吧?它的大小是不变的,所以这个位移并没有传递到红色的方块上来,那这里我们就要去锁定一下位移, 那在这里作为主控的是 e 对象,对吧? e 对象,所以我们要把它的位移,也就 z 方向上的位移这个端口也打开,我们希望把位移的数据也去控制 二对象,那比如说我现在把它往这边挪动一段距离,那现在红色这个方块,它的轴性的位置也应该往这边移,移动同样的距离,但是因为它现在被锁死了,因为它的 z 方向位移被这里去控制了, 所以我要在这里面再去加上绿色的方块,他移动过这个距离移动多少,我同时要给他加上去多少,让他同样移过来,对吧? 所以我们可以在加这个计算节点当中,我们可以再加,因为加是不光是一呃两个对象相加嘛,不光是 a 加 b, 我可以 a 加 b 加 c 嘛,对吧?所以我们可以点击右侧再给它新建一个 input, 所以我们可以一二三这三个数据同时加起来, 那这个我们可能就要改叫改回到原来了,因为如果把三个数据都加进来,整体再除以二的话就不对了,因为我这个微移的距离是不用除以二的,对吧?他移了多少,这个对应的叫移多少,所以就不能够这样子做,就偶尔之力返回到刚才那个做法, 先打开连接还是复制一个?就刚才只是演示一下,就说我们数学的这种思维,或者说你要养成一个意识,就是能简化就简化,不能简化那我再想别的办法,再或者说再保持 那这,哦,这有复制?错了,不好意思,应该是复制一个,复制一个乘啊乘法啊, z 减去乘以零点五,这个 z 减去乘以零点五,然后他们两个先相加, 先获得和之前一样的结果,然后这里的这个相加和这里的这个相加直接加上去就可以了,所以划等号不用除以二。 那因为现在绿对象是没有发生位移的,所以好像没有什么区别,但是我现在挪动你就可以看到红色方块它的位置 就有两个东西控制了,一个是绿色方块的位移,一个是绿色方块的边界框,这样我就获得了既可以位移也可以缩放的这样的控制。那为了让我们这边的这个线不要太凌乱,你可以去移动这个端口的方向,让他们结合起来看的更干净一些啊,线不交叉看的是不是就会很清楚,对吧? 这样我们就可以通过这里的十个节点来达到这样一个效果。那么后面如果要排序更多的话,比如说我现在再复制一个三这个对象四,我们这里就用四个对象好了,三和四挪出来 显示不同的颜色, 那么对于四对象 啊,这三对象就是黄,呃,这个蓝色这个对象,他左侧的就是红色这个对象,那么绿色这个对象跟他没有关系,跟他没有关系,只要红色这个发生变化,就会影响到蓝色,同理,蓝色这个会影响黄色这个,而绿色和红色是不会影响黄色的,所以他其实就是一个一层套一层的关系,对吧? 每一个方块都是跟他左侧这个方块发生关系,其他的跟他没关系。所以在这里我们是不是可以用一种方法,就是直接去复制这个命令给到蓝色这个对象,所以我先丢进去 按,呃,不是直接复制一个给他,只有按住 ctrl 复制一个表表达式表现给他复制过去就没有效果,这是为什么?因为这两个节点写的东西是一模一样的,我复制一个之后还是用一去控制二, 这里没有做到二去控制三,对吧?那我们有一个办法就是去替换一下。比如说我现在选择双击打开复制的这个 expresso, 那么 是不是只要把提供控制这个一改成他旁边的二就行了?所以我选择一把二丢进去, 发生,哎,发生变化了不用管,然后现在二去控制是二,那显然是错误的,对吧?应该是二去控制三,所以我们选择 里面的二,这里有个二,对吧?这是被控制的,这是,这是这个提出他自己的这个 body box, 这两个节点,我们这里倒去把它跟三,所以我可以把这两个都选中,把三丢进去,这样就实现了我们想要的效果, 那以此类推,我下面也可以第四个,也可以这样去控制,那原理就这样非常简单,每每个物体都是由它左侧这个物体去控制,那么当然这样就会稍微有点麻烦。我每一次替换,每一次复制这个 expresso, 我都要去 做对应的替换工作,对吧?复制一个给他,然后这里把二改成三,然后把三改成四,如果多了会比较麻烦,对吧?那么这里我们来看一下如何去快速的实现这个效果,或者说省掉些工作。我先把它挪到旁边的位置, 同样我们打开刚才写好这个 express so 标签,我们去稍微去优化一下它,那么我们每次都去手动替换,显得很麻烦, 那我们可以事实上是可以让它自动去做件事情的。我们比如说 q 为一这个对象这个节点默认的情况下,我们把某个物体拖线之后就叫做绝对模式,所以我们可以选择这个对象节点,可以看到它的 属属性,节点属性当中他的默认方式叫做绝对的 reverence, 参考就是说我这列表里面是谁,他就永远是谁,那么我也可以把它改成什么,改成让软件自己去, 这我们可以这里就选择第一个,我们可以去选择具体他是读取谁, 但是它发生变化了,对吧?发生变化默认情况下叫做 this object, 就是我这个标签贴给谁,它上面就会变成谁, 这显然不是我想要的,因为我们需希望这个标签他控制是二,但是这个节点他图的是一这个对象,对吧?那这个一这个对象是什么?是位于二的上面一个物体有顺序,那么这里的所有的四个方块他们都是属于同一个层级,他们没有父子关系。所以在这里的话我们可以去选择, 不是选择 this object, 而是展开来,我们可以在选择这个,选这个叫做在同一在当前这个成绩下面的这个叫做这个单词,叫做这个上一任啊,前任,或者就是说他的上一个对象,就这个列表当中上一个对象,所以我们把它改成上一 对象 pre, 就上一个对象他就过去了,就我这个标签就是说我现在这个标签贴给了二这个对象,然后这个对象一这个对象他会自动的去读取他的上一个对象,然后下面这两个对象呢?这两个节点 我们同样也是默认,就是一个绝对的参考,我里面定的是谁就是谁,但是我们可以同样把它切换成自定义,或者说用相对模式,相对模式和自定义默认的这个 diso 解释一样的,就是说我这个标签贴给谁,他里面的对象 设置成这个的,就代表是读取谁,标签贴在谁后面就是谁,最后把它改成这个或者说这个相对模式,这两者是一样的哈,就我们这里都去使用自定义模式 this object 好了,我们经过这样设置之后,就不需要再去手动做替换了,我只要把这标签复制给到下一个, 他就自动的完成这件事情,对于他来说自动的变成了二和三,上面这个自动是一和二,这么就可以很快做这件事情了,如果后面还有直接拍,直接复制下去就行了, 哪怕再多你都可以做同样的事情,名称也不重要,这个时候因为对于名称,因为我们现在是靠的是层级关系去辨认某个物体是某哪个物体,所以名称就可以不用管,但是顺序要按照我们既定的顺序排好,那这样我们就实现这个效果非常简单,对吧? 那我们可以把这个设置用在实际的例子当中,比如说我们这里的肉串,对吧?我们可以更改每一块肉的大小,改变它的角度都可以,无所谓,它都能很好的贴合在一起。那比如说你当然可以 拓展一下设置,不是说哎就死的就一定是这样。那比如说我现在要调整这个肉串的位置,比如说我想靠近一点怎么办?因为我这个每一块肉它的 位置 position z 都被锁定了,都被 express 锁定了,所以你是挪不动他的,你没有这个操作的权力的,哎。但是我们可以通过一些,或者说你加上一个设置,比如说在这里我已经做好了,我们可以添加一个 offset, 我可以去让这个每个肉串稍微的去做偏移。那事实上对于这里来说也很简单,比如说红色方块,我想左右不能够挪,挪动他,那我要做是什么? 比如说我现在想去挪动它,那么就是说我要在它的坐标的基础上,这里不是有一个添加的位置吗? c c 的变化,那我在这个 z 上面是不是可以尝试去加上一个数值,或者减去一个数值,就可以控制它的间距了嘛?对吧? 就我们可以继续去做加减乘除这种简单的事情,比如说右键我们去添加一个,继续添加一个 math, 计算我们让位置的变化,不仅仅是跟随他旁边的这个对象, 而是进去之后,比如说我们用加加是可以加一个正数,加个负数的嘛,就可以代表左和右嘛,加减嘛,经过一段处理之后再去偏移他的位置,那这个时候我只要把这个数据 变大,就是加上一段距离,变小就是减去一段距离,我就可以把这个数字称之。为什么? offset? 我可以去自定义,不一定是收尾结合,我可能要加上一点或者减去一点, 那这个数据我每次都要进入,进到这 x x press 里面去改这个数字不太方便,那我想把这个数据暴露出来。怎么暴露?我可以直接把这个数据拖拖到这侧,这里有个蓝色区域,对吧?放手。哎,没出来,放到这里他会告诉你一个列表,那这个是个什么数据? 这是一个实数,对吧?添加了多少减去多少是一个实数,所以我们把它类型选成实数。 real。 那你知道连在一起有什么好处呢?就是以后我要调这个偏移值啊,我就不需要去打开 xbox 窗口标签了,比如说关掉它,我现在来调节它,我只需要选择对 xbox 标签,它这个地方就会把刚才那个数值暴露在外面,你就可以去对它进行 outside 的处理。 那我们可以给他改个名字,右键 rename, 我们称之为偏移,比如说 off set 暴露出来, 这样我就可以获得对应的选项,如果需要做 p e 的话,那其他的直接复制就可以了, 每一个我都可以去做,便宜根据需要来,那这个就是扩展的一些内容, 那比如说,当然这里还可以扩展更多,我们可以把它改成二维的方式,那这个就同样的方法,当然会需要更多的设置,那这个就不是我们今天这个简单的教程的主旨了, 我让他变成二维的方式,对吧?一个平面,当然他的设置会复杂不少,但总体来说还是基于一样的逻辑。基于一样逻辑 好了,大家可以作为思考题,如果你对这个感兴趣的话,不妨去试试看变成二维之后你需要去注意什么事情,当然他这个就会怎么说一,一维变成二维,或者说二维变成三维,数据量和你考量的东西就完全会完全会变一个层层次啊,你可以试试看。 好了,那这个就是今天的这个小教程的完整的内容,那大家如果有兴趣要深入学习 c c d 的话,就不妨来看看我们这个 c c d 的官方认证培训啊。 那这里就是我们的官网,我们的网址是 cst a t c 点 com。 啊,好了,再见。

大家好,我是水人,很多玩 c c d 的朋友应该都听说过 c c d 的 expresso, 但是感觉 expresso 会很复杂,它这上面这些东西粘来粘去的,看到了就望而却步。那么今天我将给大家带来这样一个教程,我相信大家听完我的这个讲解之后呢,你就不会再那么的去害怕 expresso 这个东西了。 好,首先我们先来看这两个节点,时间和三角函数,相信这两个东西大家应该不陌生吧, 时间作为三角函数,也就是说是我们高中数学学的三 et, 对吧?三 et 它会输出一个周期的一样一个震荡,是吧? 所以说当我们把这个三角环处的这样一个输出连接到,比如说我们现在创建一个立方体,然后我们这边把它连接到他的一个崴轴的一个这样一个位置上面的时候,我们是不是就能够让这个立方体在崴轴的方向产生这样一个运动,对吧?当我们来播放时间 曲线,我们来看一下是不是这样,哎,是不是很神奇,他在这样上下的这样运动,那么 当我们的动画他的时间比较长,然后要这样重复性的进行运动的时候,我们是不是就可以考虑这样一种方法,而不是使用我们 k 针那种比较麻烦的方法? 好,我们再来看下面这边有个叫点击,然后有个叫长数,哎,这两个节点连上是干什么的呢?比如现在我们把我们的三角函数理解为是一个波浪的话,对吧? 然后当我们乘以一个用点击乘以个数值的时候,他是不是就对应了一个这样一个波浪,他的这样一个高度会变高,对吧?这,这就是这个长数和点击乘以这个三角函数输出的这样一个作用。好,当我们乘以一个这样一个长数之后,我们再把它测试一下,我们把它连到这个立方体 摆轴的这样一个坐标上,我们来看一下它的效果,哎,大家看是不是我们现在这个立方底下穿的好高啊?然后他下面下降的话也会很高,是不是很神奇?也确实他会很好用,对吧?如果你现在开针的话,是不是你还得去重新调整这个曲线? 好,那现在我们再来看这边,哎,这边有个节点叫绝对,那么这个绝对又是什么意思呢?哎,我们先不管他是什么意思,我们先把它粘到这个立方体的他的这样一个全局位置上面,我们来看他的一个效果,哎,大家看 他现在是不是像落在地上,然后又撞上去了这样一个效果,对吧?是不是挺好玩的?所以说我们再结合这样一个演示,绝对就是说把原来是呃反,就是他小于零的这样一个部分,我们取一个绝对值,然后他就会向上对应的我们的波浪的话,就是我们波浪在海平面以下 这样一个部分都会被翻上去,对吧?是不是很形象,很好理解?好,然后这样一个绝对呢?我们也已经明白了,大家看我们目前就这一些小小东西,我们是不是很容易就理解他的意思了,所以说我们的 express 他并不是很可怕。然后我们再来看 这边有一个叫加法,哎,这个加法又是什么意思呢?加法就是我们数学就是 a 加 b, 对吧?就是比如说一加二等于三这样一个东西,所以说这个加法其实也是一个很简单的一个节点,那么我们 比如我们现在有个加法,我们把它加上一个数值,这边我们选择一个长数,长数就是一个,呃,比如说一二三四,这样就是一个长数,我们把长数的这样一个数值,比如我们设置为二, 我们来看一下效果播放看一下。好,大家看现在这个逆方体他是不是不落在这个地面上了,对吧?他会向上有这样一个高度,对吧?大家再结合我这样一个演示, 是不是更加能更加直观的去理解这样一个东西?他其实就是说把我们的波浪这样一个他的一个数值整体的去进行了一个抬高,也就可以理解为把我们的波浪就往海平面上面又推了这样一个高度,对吧?所以说就会得到这样一个结果, 是不是也很简单?好,所以说通过我们这样一个小小的案例呢,我们可以发现其实我们的 expresso 它并不是一个特别可怕的东西,对吧?只要我们大家敢于去尝试,我相信大家可以用 expresso 做出很多效率很高并且很好玩的东西。好,我们这期分享就到这里,谢谢大家。

哈喽,大家好啊,我是雪人,很高兴又跟大家见面了,本期教程呢,给大家带来一个 expresso 的一个教程,这个教程他实现的效果是使用对象列表配合对象锁引这两个新的节点, 我们去实现这样一个对象的程序化的着色。那么为什么我们要这么做呢?大家在平时日常工作中有没有遇到这样一种情况,比如说打个比方,你现在有这么多的面,对吧?你的甲方爸爸跟你跟你讲说,他想让这些编号为偶数的这些面,比如说改为绿色编号为基数的 这样一个面改为一个,比如说蓝色,大家看是不是我们现在一共有二十五个面,那是不是如果你一个面一个面的去进行这样一个着色的话,是非常耗费时间的,但是如果我们通过,那如果我们通过对象列表配合对象锁引这两个节点 来进行操作的话,我们就能够非常轻易的达到这样的一个效果?好,那么废话不多说,我们就来看一下我们是如何去实现这样的效果的。首先我创建了一个克隆对象,克隆了二十五个圆盘,然后我在这边变换,里面我将显示改为对象的锁引, 如果我们这边改为无的话,大家看我们是没有这样一个对象编号的形式的,当我们改为索引,我们就能看到当前每个对象的这样一个编号,然后我将这个对象 c 掉了,然后将他的这样一个底下的这个圆盘隐藏,这样的话我们就能够得到这二十五个 单独的圆盘,他的编号是零到二十四。好,首先呢我先将我们的这样一个 spaceso 的一个节点面板去进行一个拉大,方便大家去进行一个观察,对于这里面的每一个对象呢,我们都在这个 节点流里面去走一遍,大家相信这样的话大家就能够很容易的去理解我们究竟发生了什么。好,首先我们先看第一个节点啊,我们的这样一个叫对象列表的这样一个节点, 在这个案例里面,我们的对象列表对象缩影,包括这边的这样一个条件,这三个节点都是一个新的节点,在之前没有给大家去进行一个介绍, 所以说大家需要进进行一个重点的关注。好,首先对于我们的对象列表节点,大家看我们这边有个有个叫迭代列表的东西,这个迭代列表里面现在是我们的这样一个二十五个圆盘,具体我们是怎样去进行一个 操作的,我们可以选中这二十五个圆盘,我们,然后,然后我们再框选这个对象列表,然后把这二十五个圆盘这样拖进去就行了。哦,现在这个有了这个对象列表,相当于我们就将当前这二十五个圆盘存储到一个容器里面, 方便我们待会去进行一个批量的操作。好,然后我们再看这边的这样一个叫对象索引的这样一个节点,这个节点呢就是相当于我们拿出其中的每一个单独的对象去对他进行一个 程序化的一个操作。打个比方,现在对于我们的这样一个零号节点来说,他通过对象列表存,他存储在我们的对象列表里面,他的这样一个缩影是零,他是排在最前面的。所以说到我们的对象缩影里面的时候呢, 我们的这样一个第一个操作的对象,就是我们的这样一个编号为零的这样一个圆盘,我们是怎么去对他进行操作的?大家再看 我们拿到了他的这样一个锁引,这个锁引呢就是我们这边每个源函上面,大家看现在最对应的这样一个序号,这边是零一、二、三、四,这样依次类推到最后一个,这边是二十四。好,拿到这个锁引之后呢,我们现在就就 判断他的这样一个,所以呢这样一个基友性,我们这边判断的方法呢,我们选择的是用一个数学松的一个叫曲模的一个方法,这个曲模是什么意思呢?大家应该都知道我们的除法,比如说我们的一个数,如我们的三,我们除以二 是不是等于一,然后余一,对吧?这个一就是我们的一个余数,也就是说是这个节点的一个作用, 他这边会定义一个我们的一个输入,我们第一个输入就是我们的这样一个被除数,第二个输入就是我们的一个除数, 我们的输出就是这样一个余数啊。那再举个例子,比如说我们的一个五除以二,那么我们是不是等于二于一,那么我们的五放到这样一个输入里面,第一个输入里面,我们的二放到第二个输入里面,让我们的这样一个输出之后,他就是一个得到的 结果就是一,所以说这个节点他是不是就能够判断我们的这样一个基友?打个比方,我们的这样一个零,现在输入进去我们的这样一个补数,是不是我们的输入二是二,对吧?那么他是不是用我们的这样一个就是我们的点序号零,这样相当于我们的这样一个锁引是不是零 除以二?那么最后的结果是不是等于零?余零,对吧?那么我们的这样一个余数就是零,所以他的这样一个输出就是零, 那么对于我们所以为一来说的话,是不是一除以二?那么是不是等于零于一?那么他的这样一个输出是不是就是余数就是一,对吧?比如对我们的二来说,他除以二是不是等于零? 是不是等于一于零,对吧?我们的三除以二是不是等于一于一?我们的四除以二是不是等于二于零?大家有没有发 发现一个神奇的现象,我们的这样一个输出的数值始终是在零和一之间进行一个跳变,所以说这个节点他是非常有用的,就是说他能够判断我们的这样一个基友性。大家看比如对我们的零二四来说,他的这样一个最终结果是不是都是零? 所以说是零的他就是一个偶数,相当于对我们的一三来说,他的这样一个余数是不是就是一?所以他就是一个基数,对吧? 所以我们只需要判断这样一个余数是不是我们就能够知道当前这样一个数是基数还是偶数,也就是说我们也能够去对他进行一个颜色的负责。大家再看我们这边,我们现在输的结果是不是始终是零和一,对吧?那么这样一个条件节点又是什么意思呢?条件节点就是说如果你当前的这样一个输入呢? 它的一个开关,开关就是我们对应我们当前的一个输入,如果开关的值是零,那么它就执行我们的输入一,如果开关的值 是一的话,那么他就执行我们的一个输入二,相当于打个比方这个开关就像我们日常生活中的这样一个开关,我们比如说我们当我们的开关去进行一个关闭的时候,他比如就对应我们的灯泡一个熄灭,如果他进行一个打开,是不是就对应我们的灯泡的一个变亮,打个比方我们的零现在输入的时候, 经过我们的开关是不是他的这样一个数值是零,是零,我刚刚说的是执行第一个输入,对吧?作为输出,所以说我们的这时候,所以说我们这个时候我们的这样一个输出就对应的我们这边的第一个输入就是一个绿色,那么当我们的这样一个 输出是一的话,也就是说当我们的这样一个序号是基数的时候,那么我们这个时候是不是他执行的就是第二个这样一个输入作为我们的输出,也就是说将我们的这样一个蓝色作为我们的这样一个输出, 所以说这边就能够实现我们这样一个判断序号的基友去输出不同的颜色的这样一个作用,将这样一个对象的这个颜色输出给我们每一个这样一个单独的这样一个圆盘的这样一个颜色。好,然后呢这边有个容易混淆的地方,比如大家现在看我们这边 刚刚讲了圆盘零去经过我们这样一个节点之后,他的一个结果相信大家已经都基本上听明白了。现在比如说我们看我们的一个圆盘一,当我们的圆盘一进入这个对象锁引的时候,我们是不是通过我们的对象锁引能够拿到他的这样一个锁引?是一作为我们的这样一个 判断基友的一个输入,我们的一除以二是不是最终的结果是零于一,对吧?所以说他的余数就是一,一作为我们的这样一个开关的输入,那么对应的我们的开关如果 是输入的值是零,那么就对应第一个输入,如果是一的话,就对应第二个输入,那么现在是不是就对应第二个输入作为我们的这样一个输出,所以说也就是说是我们的这样一个蓝色作为我们的这样一个输出,对吧?但是蓝色作为我们的输出, 细心的小伙伴可能就发现了,你现在输出的这个对象,你不是我们的这样一个圆盘一啊,你这边是我们的圆盘零啊,也就是说是我们的圆盘一的这样一个缩影,你把它的颜色还是给了圆盘零啊?所以说你怎么可能改变了我们圆盘一的一个颜色呢? 那现在是不是就出了问题啊?我想说的是能够有这样的细致的观察是很好的,因为有这些细致的观察,不断的有这些疑问,你才能够去对 expresso 有更深层次的理解。其实我为什么总是说我们的 ex freeso 是跟我们的编程是相通的,其实在我们的编程里面,我们的对象列表加对象缩影,本质上来说可以对应什么可以对应呢?我们一个叫 for 的语法, 这个负的语法相当于也是去通过某一个法则,然后对每一个这样的对象都执行相同的这样一个操作。比如说我们如果像这样的一个效果,我们用负循环就写,可以这样写,就是负我们的这样一个范围是零到二十四,也就是二十五, 我这边就是笼统的鞋啊。当然我们实际的在编程过程中是不是这样的?为了让大家更能够去很好的理解这个东西,我们内部定义的是不是就是判断他的这样一个基友,如果是基数,那么他就是一个蓝色,对吧? 如果是藕色的话,那是不是就是一个绿色?藕就是一个绿。相当于现在我们每一个对象是不是在输入进来的时候, 他都会去在循环里面有单独的这样一个迭代的数值。比如这个编号为零的这样一个对象,他在进来的时候是不是就是我们的第一次循环?也就是说我们的这样一个负等于零的时候, 如果说对于我们的二十四个第二十四号对象来说,他是不是就是最后一次循环就是负?我们的这样一个二十四的时候,他每一次是不是都会执行里面的这样一个法则?所以说理解了这样一个原理之后呢?放到我们这边其实也是一样,我们这边这些所有的 都是我们内部去定义的一个法则,所以说他并不是我们最终输出给我们圆盘零这样一个颜色,而是说我们通过这样一个给了圆盘零这样一个操作,就相当于告诉了我们的一个 play 索,我们内部的这样一个法则,对于我们的单独的每一个对象来说,他是怎 怎样去进行的?因为我们的圆盘零是不是就是其中的一个对象?所以说这边其实你在零到二十四个圆盘里面,你随便选一个就可以了。反正他的意思就是说你只要告诉我其中一个对象你是怎么去对他去操作的? 相当于有了这样一个法则,我在这个副循环的时候,我就能够对每一个对象都照搬这样一个法德给你去弄。所以说他其实最终的输出的结果是在这个内部,只不过我们每次去进行运算的时候,我们都会照搬这边的这一套法则。我们举个简单的例子就是说,比如说我们的一号圆盘现在他其实是怎么搞的? 他其实是当我们的一号圆盘输入进来之后呢?我们的一号圆盘他的这样一个缩影是不是一对吧?他经过我们的这样一个判断基友之后,他当然是一个基数,所以他这边输出的值是一,他自然而然颜色就是一个蓝色。 但是他并不是把这个值复制给复制给我们,赋予给我们圆盘零的一个颜色,而是说他借用了这个圆盘零的这些一套法则,把这个颜色呢复制给我们的这样一个圆盘一的颜色。所以说这个只是一个中间的相当一个中间的流程,对应我们的这边的这样一个内部的一个框架法则, 具体的这样一个最终的返回的结果,我们都是每一个,所以对应最终的我们这样一个每一个圆盘,比如我们一号圆盘就对应我们的这边的圆盘一,那二号圆盘就对应我们这边的圆盘二。好, 所以说要想学好 expresso, 其实编程还是要认真的去学一下,想学习编程的朋友呢,也可以去联系我,学习完编程之后呢,其实你就可以相当于能做出很多别人做不出来的效果,因为像虎丁力的 vix 啊,包括像 ccd, 其实最本质的东西都是跟编程挂过的啊。然后的话我们这边就基本上都讲完了,为了方便有些基础比较薄弱的同学去理解我们,我在这边再举两个例子,就比如说对于我们的这样一个最后两个圆盘,我们二十三号圆盘, 我们的二十四号圆盘,大家看我们的这样一个二十三号圆盘,他走过来,这不是我们的对象的这样一个,所以是二十三,然后作为他的这样一个输入,然后我们二十三除以二,是不是等于 十一余一,对吧?那么我们这个输出是不是就是他的余数就是一一放到我们这个开关里面,是不是对应我们的这样一个输入,也就是说是我们的这样一个蓝色,蓝色作为我们的这样一个输出。依据我刚刚说的,他并不是输出给我们圆盘零,而是我们的圆盘零只是一个法则,最终的话他的输出 还是在这边给他的这样一个对应的圆盘,也就是说是我们的这样一个二十三号圆盘的颜色,所以说他就是一个蓝色。同理,对于我们的这样一个二十四号圆盘,大家看 我们的二十四是不是在这边也是一样,作为一个缩影的这样一个输入给我们的这样一个魔术,我们除以二是不是等于 十二于零?所以他的余数是不是零?然后零进入我们的这个开关,那么他是不是就对应我们的第一个这样一个输入,所以说他就对应的这样我们的这样一个绿色作为我们的输出给我们的这样一个二十四号圆盘,圆盘二十四啊, 然后到这边基本上这个案例都讲完了,通过这样一个案例的学习呢,相信大家就能够理解我们批量操作的一个基本的一个套路了,就是用我们的对象列表将我们的对象锁引,然后 具体的每一步执行了什么,我们只需要告诉我们的这样一个 expresso, 就把其中一个对象拿过来,然后对他进行一些操作, 这样的话我们的这样一个对象列表加对象,所以就能够批量化的去把这边的这个法则都照搬过来,去对每一个这个对象列表里的对象都执行相同的这样一个法则的操作。好,那本期的案例就到这边,我是雪人,我们下期再见,拜拜。



嗨,我如真,嗯,这节课我们给大家讲一下这个自定义数据, 这里的这个制定数据呢,它的用途就是我们可以自己设置一个数字,然后呢我们我们可以通过这个数字呢去,嗯,控制我们粒子的半径、颜色,嗯,还可以控制我们的一个速度,等等哈。 呃,如果你学过 c c d 的那个二次分锁的话呢?呃,你就知道我们 c c d 其实也有一个要用户数据的,在这里面我们也可以去给他制定一个数据,然后呢?嗯,通过一个分数呢来驱动我们的动画,对吧?这个就是这样的, 然后我们这里也是一样它,嗯,不同的地方呢在于这个是在我们的这个,嗯,就是叉 t e 里面去用的。 我们来给大家讲看怎么用啊?嗯,首先的话呢,我在这里点击这个添加,那么下面就会多一个数据,你可以再添加他可以再多一个,这个地方可以添加很多个的。可以,如果你不要呢,我们可以点这个,呃,同志,然后点这个他就把他给删除掉了,然后我们点击一个。 呃,接下来我们来看一下下面的这个呃内容。嗯,这里呢就没有给大家做汉化,我就先给大家说一下他什么意思。这个 id 呢?就是个编号, 还有内蒙的人民在,这个你们肯定认识。呃,这个呢是,呃类型,数据类型嘛,这个翻译过来叫数据类型,然后这里面呢有福列整数,呃,还有这个局证,呃,还有这个就是,嗯,自创,然后这个翻译过来呢是 时间,然后这个是食量。呃,然后这里面你可以切换成不同的这个啊,不同的这个他控制的方式是略有不同的, 嗯,这个地方如果大家嗯想把自己给他家去偷吃呢?我建议大家去学一下些 sd 的这个用户数据啊。呃,因为我们不太涉及太多的这个 sd 的用户数据,所以说这里呢我们最常用的就是这个整数,还有这个看我们时间,所以我就用这个整数来给大家去讲。 然后下面这个,呃,再过来叫做,嗯,发水的值,你也可以把它理解为设置的一个值。 嗯,这个是变异啊,这个就不用讲了,就是我们那个诗句话,就是在很多地方这里也有,对不对?就是这个字。嗯,然后我们这个,嗯,下面这个呢?你点这个呢?他就把这个 删掉了。他为什么下面还有一个这里有个重置的位,比如说我点多个,那我不想让其中一个我点这个删,点这个删他可以单独删,如果我有多个,我点这个呢?他是全部一起删,这个就是这样的。 ok, 那这个讲完的话,我们就来给大家讲一下怎么去用这个。 首先的话你可以给你这个数据编个编号,比如说我这个是一,然后像这个名称你可以自己命名。比如说你要控制呃他的一个 形态吗?你可以输中文,也可以输英文哈,这个看你自己。比如说我要控制他的一个形态,那么我就这样输。 嗯,然后像这个类型我就是用这个整出哈,然后这里我给他设定一个值,嗯,比如说我给他设定一个数值是一百,那这我给了他一个值就是一百,然后像这个变异值,如果我给的话,比如 说我给一个二十,对吧?二十,那么他就会随机的去控制我的这个一百这个值,然后最小可能会是八十,最大的可能是一百二,这个我就不给这个了,我直接给一百,然后在我封面里面去理解。 呃,接下来呢我们,嗯要使用它的话,我们需要在这一个修改器里面找到一个,呃, 就是叫用户数据的修改器,这里哈,这个就自定义 就是这个修改器。那他跟我们刚刚新建那个纽扣插件,跟你在这个,嗯,历史里面的这个是一模一样的,我可以把这个名称复制一下,这个我把它复制成嗯,景泰啊,然后这里也给他输进去,然后这个地方我也给他输成编号一样的。这个修改期要读取数据,你需要他 读取到数据的话,就需要这个 id 跟这个名称对应到你这个里面的这个 id 跟这个名称他才能不确认到,这个是大家需要注意的。呃,然后呢我们现在来到这个发射器里面,我们找到这个问题, 我们可以在问题里面添加一个问题。然后呢在这个问题的呃,例子数据里面我们可以选择这里有一个叫做自定义数据,他刚好就是跟我们发射器里面的这个 最近数据,你看这个地方长这样的,对不对?这个问题里面你添加,你改成这个之后,下面这个地方也长一样了,你把这个地号 也给他改成一,这里也改成形态。那么修改器问题系统包括发射器他三个地方就对应到了,他又能互相读取他的一个数据。那接下来我们把下面那个地方的这个纸呢 设置一下,比如说我把这个只能改成是,那么嗯这个感情词之后,他什么意思呢?嗯,就是嗯当我的这个呃例子的速度,或者是你要控制什么,比如说要控制速度,对吧? 那当我的这个书读呃等于诗的时候呢?他就会发生改变。发生什么样的改变呢?我来给大家创建一个动作,比如说我这里给他添加个动作,然后呢我在这个动作之余,我把这个给激活一下,我就直接控制他的颜色跟形态就好了, 我把它的显示方式的改成有正常情况下我们来看,我们现在点这个播放的时候呢,你看他的整个例子,他的形态是小点,颜色呢?是这种,嗯,就是青色的,对不对?那我们 这边要通过这个用户数自定义的这个数据来控制呢?我要他的速度等于十的时候发生改变。发生什么样的改变呢?就是由我们的这个动作来去呃执行的,这边我把它改成一个呃正猫影 或者是立方体都可以看,然后颜色就改成红色的。那我现在我的问题已经设置好了,就是满足的思,然后下面这个动作 这里就是来改变它的颜色,对不对?那我现在来到这个地方,我让我们这里的这个呃就是呃,因为双方是啊,我把它选择这里有个地震地点嘛,地震地点你选择化妆。最后呢如果你这个只是负责,他就是 呃主针的减少,如果你这个地方的指是正指呢?他的主针的增加,那我现在嗯在这边的设置这个指示一百对不对?那么我要把这个数值嗯控制着,让他等于我们的问题里面的十, 那么我就需要在这个地方给他呃弄借,比如说我让他嗯一阵呢帮我减五,对吧? 那么从一百里面每过一阵他就帮我减五,就是,呃,第一针就是一百里面减五嘛,第二针呢就是九十五里面减五,对不对?就是这样子依次的持续下去。那呃这里的这个我给他设置好之后, 现在我们到这面来点这个播放,现在你们发现我们在这里你看当他到达他满足条件 到这个位置,就是我给大家看了,他们都到这里的时候,他就帮我把这个剪的呃满足了我的这个呃值,他到了我们词了,对不对?他就会改变他的一个形态以及颜色, 这个就是用户数据它的一个用途,嗯,我们可以用它来控制的东西是非常非常多的,具体你要控制什么的话,其实就在于你这个动作,这个位置就在动作这里, 嗯,我们在这边动作这里可以添加这个动作嘛?动作后面这里可以选择直接控制,这里可以通过这些来控制他的寿命也好等等阶段向都可以控制,很方便啊。等到后期我们讲到问题系统和动作系统的时候,我还会给大家去讲这一部分的内容,这里呢我们只需 需要了解他,嗯是怎么去通过呃问题系统来读取他用数据,然后呢设置问题条件之后呢执行一个动作,然后再通过我们的这个自定义数据 来去控制他的这个数字的一个递增或递减,然后呢从而呢慢度超降之后形成一个变化,这个就是这样去使用的。 ok, 那关于这个,嗯,资金数据我就给大家讲完了。嗯,下去之后自己尝试,咱们下次再见。