说真的,刚上手几何节点做散布那会儿,我最抓狂的不是连线,而是撒完一堆物体之后那种浓浓的"假"——明明加了随机值节点,怎么看都像复制粘贴出来的方阵。后来折腾明白一个点才算开窍:随机值到底是整体取一个数,还是每个实例各取各的,差别就在这儿。
先说个我踩过的坑。我把"随机值"(Random Value)节点接到实例化节点的缩放上,范围也拉得挺大,结果整片物体要么一起变大、要么一起变小,像被同一只手捏过一样。问题就在于取值的"粒度"。如果一个随机值在整张图里只算一次,那它就是个全局数字,所有实例共用同一个结果,自然谈不上差异。
真正让一片相同模型活起来的,是逐点取值——也就是每个散点、每个实例单独摇一次骰子。很多随机值节点本身就支持按点取值,关键是你得让它运行在"点"这个层级上,而不是在还没分布之前就被当成一个固定常数塞进去。这种一人一个随机数的差异,才是"自然散落"的来源。
搞清楚逐点之后,旋转和缩放我是分别处理的,因为它俩该随机的"幅度"完全不一样。
旋转可以放得很开。让每个实例绕着垂直方向自由转一圈,哪怕是同一个模型反复出现,朝向错开了也不容易被一眼看穿。这是性价比最高的一步,几乎不费劲就能把"阵列感"打散。
缩放就得收着点。我的习惯是范围开得很窄,让物体之间只有细微的大小差别。一旦范围拉大,画面立刻变成忽大忽小的乱炖,比不加随机还难看。你可以把它想成现实里的草或石头——有高有矮,但不会一棵比旁边大上好几倍。
还有个小动作值得养成习惯:如果觉得当前这版排布就是别扭,先别急着改范围,去动一下随机种子。它不改变你设定的随机逻辑,只是换一套结果,运气好换一下布局就顺眼了。
等你把逐点取值这件事玩顺了,再往上叠一层会更有意思:让随机的"依据"也跟着位置变化。思路和控制密度是一样的,把一个会随位置变化的值接进去,参数就不再是一个死数字,而是顺着地形、顺着区域走。
我现在做散布基本不再纠结"为什么看起来假"了,因为问题几乎都能归到同一个地方——随机到底有没有落到每一个点上。把这件事想清楚,剩下的无非是旋转放开、缩放收紧,再反复试种子找手感。前期这道坎有点磨人,但过了之后,一片自然散落的草地和一个僵硬的方阵,差的真就只是取值的那一点点讲究。
参与讨论
暂无评论,快来发表你的观点吧!