打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
maxscript脚本语言的(四十五)【图文教程】

【正文】

今天的教程类似于笔记。

样条线的创建宏记录内根本不生成,一个点又对应三个数。自学根本搞不懂。

这次是找到了一个详细讲解样条线基础的文章,先吃透,再考虑举例子。

先来看看最基础的:

第一句是创建一个样条线图形并赋予给变量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个球不假,均匀分布也不假,但是均匀的是每个点之间,并不是整根线。

基于这样的特点,我们先要将样条线上的点弄均匀,再生成球体就会均匀分布了。

给样条线添加规格化样条线修改器。将点调匀。

运行脚本,可以看到球体分布均匀了。

写这个例子,并不是说将来就用它来做路径阵列了。我们只是熟悉一下语句而已。

时间原因,对于这个语句的测试我们先写到这,这几宿大胖睡得很少。已经困得不行了。先去休息了,明天继续。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
一文带你解读​JavaScript的基本用法
【免root脚本制作教程】判断语句使用(Auto.js使用教程
Cadence SKILL语言学习历程全记录
30个Python程序员需要知道的编程技巧,可以让你的工作事半功倍!
php
php中的include()的使用技巧
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服