【正文】
今天的教程类似于笔记。
样条线的创建宏记录内根本不生成,一个点又对应三个数。自学根本搞不懂。
这次是找到了一个详细讲解样条线基础的文章,先吃透,再考虑举例子。
先来看看最基础的:
第一句是创建一个样条线图形并赋予给变量ss。spline是样条线,shape是图形,后面括号代表意思是默认的。
但是如果现在运行第一条脚本并不能得到一根线。因为里面没有任何内容。
第二句是添加一个新的样条线给变量ss。add添加,new新的,spline样条线
后面两句是加入两个点,一个在【0,0,0】一个在【100,0,0】
这里面值得一提的是 #corner 和 #line 这两个函数的添加。
第一个corner是角点的意思。还可以选择另外三个 #smooth 、#bezier 、 #bezierCorner
第二个#line 是直线,还可以选择 #curve
最后一句最为关键,刷新图形ss update是刷新,shape是图形。如果这句没写,有可能max会卡死。写了之后运行,会得到一根线。
稍微改动一下上面的语句:
这回我们创建了四条线,而且是首尾衔接的。
但是如果没有 close ss 1 这句,他们只是一个U型的线,有了这句才能得到闭合的矩形。
闭合与没闭合的区别。
再来调整一下,上面的语句。
这回我们是向这个变量名为ss的样条线里添加了三根线
注意这不是三条样条线,而是一个样条线里面的三个平行的子层级线段。
好创建线的基础知识我们先写到这。接下来我们来学习一些控制样条线的语句。
首先是将既有图形转换成样条线的语句和将多个样条线结合的语句。
先来敲一段脚本代码:
有了我们以前的积累,我相信看懂这段代码并不难。推测也能推个八九不离十了吧。
前面两句分别是创建一个默认的矩形和一个默认的圆,并赋予变量名a和b
第三和第四句是将a和b转换成样条线图形,convert是转换的意思
最后一句有些意思,我们先看看结果再说:
运行脚本后,可以看到一个这样的图形。也就是矩形和圆已经结合了。为啥会结合呢?
最后一句addandweld应该不难读懂,add是添加,and是和,weld是焊接
那意思就是添加a和b并焊接,那a和b后面的 0 是啥意思呢?是焊接距离的阈值。
如果两个图形之间的距离小于等于阈值,就焊接在一起。
以上这些内容,来自于飞浪脚本零起点第十一期的内容。可惜目前还无缘结识此大神,仍在努力联系中。
接下来的内容,来自于大胖死啃脚本的帮助文件。不过开启这扇窗的还是飞浪兄的教程。
这是最近一段时间来,大胖最开心的一个时刻。我似乎开窍了。我有点能看得懂脚本的帮助文件了。
下面是我死啃帮助文件记得笔记和做得测试。一期讲不完,讲到哪算哪。
帮助文件里面关于样条线图形的介绍我就不翻译了,反正就是说样条线很强大。
我们从see also 看看其他开始
帮助文件里关于样条线的其他语句有七个大类,我们一个个来说:
1、Shape Common Properties, Operators, and Methods
图形的通用参数、操作和方法
语句:numKnots
获取样条线上点的数量。
小例子:(小例子是我自己设计的,帮助文件里提供的例子实用性不强,主要是来说事的,而且总是包含其他语句,有的时候会看不懂,影响学习。)
创建一个星形:
然后编写下面这段脚本:
因为我们前面四十多期的学习和积累,这个语句不难理解。将选择的物体赋给变量xing,然后转换xing为样条线图形。然后获取xing的节点数,并赋值给变量shu,最后打印shu的值
我们点开侦听器看一下:
可以看到星的节点数被打印,是24,而且星形已经塌陷为样条线。
帮助文件的小例子,我也测试了一下,这个可以理解,摘录过来。
y 等于默认的圆环
获取 y 的节点数
返回值是 8
原来不用非得塌陷,只要是图形都可以获取。
语句:pathInterp
路径插入
小例子(这个例子来自飞浪老师)
先来编写下面这段脚本
for循环语句已经很熟了。那这个意思就是i的值是从0到1之间,每0.1个单位获取一个数。然后赋值给 i
然后在选择一根样条线,将这个样条线定义为一个路径,将它的一端作为插入的起点,另一段作为终点,插入刚才 i 的那些值。这中间的数字1,我理解为是基于点的意思。
然后再这些值所在的位置,创建一个球。
运行脚本,卡伊看到在整条曲线上创建了11个球,位置分别是0 0.1 ......0.9 1 这11个点。但他们是均匀分布的吗?
大胖手动调节了一下点的位置,因为我刚才判断他的分布是基于点的。
加大 i 的整体数量。每隔0.05就插入一个数。这样 i 里面就有21个数值了。
我们运行脚本,可以看到,创建了21个球不假,均匀分布也不假,但是均匀的是每个点之间,并不是整根线。
基于这样的特点,我们先要将样条线上的点弄均匀,再生成球体就会均匀分布了。
给样条线添加规格化样条线修改器。将点调匀。
运行脚本,可以看到球体分布均匀了。
写这个例子,并不是说将来就用它来做路径阵列了。我们只是熟悉一下语句而已。
时间原因,对于这个语句的测试我们先写到这,这几宿大胖睡得很少。已经困得不行了。先去休息了,明天继续。
联系客服