本文主要是介绍Dynamo随机地形思路分享,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
今天分享一种创建随机地形的方法,不一定是最优的,仅仅分享下思路。
首先,创建一列点,作为地形的宽度,然后通过点,生成指定向量方向的直线,作为后续控制地形起伏点的参考线,如下图:
第二步,将列表索引友移一位,然后删除索引为负数的位,此步得到了去掉首尾位置的直线列表。然后将直线等分,作为起伏的控制点。之后对点的列表索引也右移一位,并获取列表的前两项,这样就可以获得直线两端的点,和去掉两端点的列表,留给后面使用。
第三步,我们将上一步得到的去掉端点的列表拍平,然后生成每个点的球面坐标系,用于控制对应点的起伏坐标系。然后在坐标系内生成随列表,用作点的坐标。然后连入球面坐标系生成点的节点下面,作为Z值和旋转角度,然后可以用一个number slider滑块,控制原点偏移量。
第四步,将把之前生成的点,按照指定长度重新分组,并串联成曲线。
第五步,把之前去掉的首尾两条直线重新加回来,并反向移动列表的索引,使两条直线作为边线,然后进行loft放样即可,效果如图:
最后,我们可以测试调整滑块,控制曲面的起伏;调整场地大小的节点,控制地形尺寸等,效果如下:
是不是挺简单的,并没有用到太多的节点,就能生成这样的随机表皮;前半部分操作,多数是对列表进行反复的移动和提取,小伙伴儿们多进行尝试,一定也可以的!
好了,今天的思路就分享到这里,欢迎留言讨论~~
(本次教程采用Dynamo1.3.3环境下编写,其它版本请自行测试)
这篇关于Dynamo随机地形思路分享的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!