向安宇知识库 向安宇知识库
  • 读书向
  • 学习向
    • AI工具
    • AI研究
    • 笔记
    • AIP:克丽丝AI日志
  • 创作向
    • 写作
      • 非虚构
      • 剧本
      • 小说
      • 文言
      • 随笔
      • 日记
    • 视听
      • 纪录片
      • 设计
      • 视频
      • 摄影
    • 课程
  • 影视向
    • 创意策划
    • 前期拍摄
    • 后期制作
    • 影像实验
    • 影像设备
    • 大师镜头
    • 电影赏析
    • 视频论文
    • 项目复盘
  • 折腾向
    • 穿越机
    • 户外
    • 代码
    • 手工
    • 书法
    • 篆刻
    • 绘画
首页 › 创作向 › 课程 › AE表达式|16、如何理解随机数方法?@ random
  • 12
  • 1
  • 0

AE表达式|16、如何理解随机数方法?@ random

向安宇
2018-08-29 18:06:23

这回没有案例,比较枯燥,但是我觉得只有知其所以然,才能举一反三。

@ random()

random的返回值为数值或数组,在一定范围内随机取值,且计算时候会将time计算进去,也就是说,返回的随机值会随时间变化。

random后面括号里有三种情况:

1、为空:

random()括号里不填入数值时候,默认返回值为0~1之间。

2、填入一个数值,或数组:

填入的这个数值或数组为最大值,默认最小值为0,如random(80),返回值为0~80之间。

3、填入两个数值或数组:

填入两个数值或数组时候,第一个数值或数组为最小值,第二个数值或数组为最大值,如random(20,80),其返回值为20~80之间。

@ gaussRandom()

所谓高斯随机,官方文档解释为:“结果有一个高斯(钟形)分布。大约 90% 的结果都处于范围 0–1 内,其余 10% 在此范围之外。”
AE表达式|16、如何理解随机数方法?@ random-向安宇知识库

我们可以利用给文字层的Source Text添加表达式来观察返回值:
AE表达式|16、如何理解随机数方法?@ random-向安宇知识库

另外,如图中的小圆球,我们给Position添加表达式

value + gaussRandom(20, 80)

我们发现小球的位置只有x轴发生了变动。这里Position是一个二维数组,而gaussRandom(20, 80)返回的是一个数值,在两个输入数组的维度不匹配时候,将用零填充较短数组的更高维度的值。

如果我们希望小球在x轴和y轴都发生随机位移,除了直接使用wiggle,使用random怎样写表达式?

AE表达式|16、如何理解随机数方法?@ random-向安宇知识库
给random填写数组就行。

@ noise(valOrArray)

valOrArray是数值或数组,其返回值是-1~1之间。官方文档解释说:“噪声实际上不是随机的;它基于柏林噪声,这意味着相邻的两个输入值的返回值往往也是相邻的。此类噪声在您需要看似随机且相差不会很大的数值序列时(在对任何明显随机的自然运动进行动画制作时通常就如此)非常有用。”

另外,noise()在计算时候是没有把time计算进去的,也就是说,给noise输入一个值,noise就会返回一个-1到1之间的随机值,并且不会随值时间改变。下面图中的例子,noise(time)的返回值,是在-1和1之间的随机值,为了便于观察在后面乘以了80。
AE表达式|16、如何理解随机数方法?@ random-向安宇知识库
我的理解是,因为相邻的输入值返回值相邻,比如我们输入time这种线性变化的值的时候,每一个输入值都是上一个值的相邻值,所以返回的值会在范围内连续的随机变化。
AE表达式|16、如何理解随机数方法?@ random-向安宇知识库
相比于Math.sin(time)在-1和1之间的有规律的变化,noise(time)提供了一个-1到1之间的随机的连续变化的曲线。

比如官方文档举例的用法:
AE表达式|16、如何理解随机数方法?@ random-向安宇知识库
这个图形的随机旋转是连续的,如果使用random,则是跳跃的:
AE表达式|16、如何理解随机数方法?@ random-向安宇知识库

@ seedRandom

seedRandom(offset, timeless=false)参数类型:offset 是数值,timeless 是布尔值。seedRandom必须和random一起使用。

举例来理解这个表达式。如果我们新建图层后,希望复制这个图层,并且每个复制出来的图层都拥有不同的位置和透明度,怎么做?

给Position添加表达式,让每一层位置发生300左右的偏移:

seedRandom(index, true);
value + random([300,300])

给Opacity添加表达式,是每一图层透明度在10%~100%之间随机取值:
seedRandom(index, true);
random(10, 100)

之后command/ctrl + D复制图层,每一图层都会有随机的改变。

timeless的值默认是false,我们可以对 timeless 参数使用 true 以便不使用当前时间作为随机种子的输入。也就是说,将此参数改为true,复制出来的图层不会随着时间重新取随机值,相当于将返回的随机值固定下来。

AE表达式|16、如何理解随机数方法?@ random-向安宇知识库

< 返回目录

AE表达式
12
1
AE表达式|15、如何用音频驱动动画?@ linear
上一篇
AE表达式|17、怎样做一对扇动的翅膀? @ Math.sin
下一篇

评论 (0)

登录后可发布~
立即登录
暂无评论

向安宇

痴迷文字,醉心影像
446
文章
5
评论
325
喜欢

聚合文章

克丽丝是谁?(人物设定1.0)
AIP克丽丝的构想
wordpress也要拥抱AI
AI时代我们如何学习

近期评论

跨境电商案例太真实了!我们公司也在用数字人,转化率确实提升了25%左右
—— 沉香救母 21 分前 普通人如何用AI赚钱?
ima知识库还没用过,求推荐几个优质共享库
—— 夸父追日 2 小时前 AI时代我们如何学习
YouTube的自动字幕现在确实准多了,学外语很方便
—— 夜语灵 3 小时前 AI时代我们如何学习
要是AI有自我意识,第一件事是不是裁掉老板?
—— 岁寒松柏 10 小时前 AI治理会带来乌托邦还是暴政?
有些平台把简单内容包装成高价课,真是服了
—— SnuggleMuffin 10 小时前 如何选择优质学习平台?

猜你喜欢

AE表达式|04、如何制作一个简单的时钟?@ index , time

AE表达式|04、如何制作一个简单的时钟?@ index , time

2018-07-10 16:04:03
3,245 1 4
MG动画教程004|不用插件实现三维文字

MG动画教程004|不用插件实现三维文字

2018-03-12 14:45:20
827 0 0
AE表达式|随机单个文字跳跃效果

AE表达式|随机单个文字跳跃效果

2018-02-01 9:39:25
2,712 0 3
AE表达式|36、怎样做一组循环的圆?

AE表达式|36、怎样做一组循环的圆?

2018-10-24 11:05:46
4,677 0 1
12 1

关于我:

想要读万卷书,行万里路,看万部电影。

推荐栏目:

视频论文 课程 后期制作 非虚构 照片 视频

特色专题:

专题汇总 宜看一侃 帧影帧画 重读文学史 青玉记
Copyright © 2016-2025 向安宇知识库. 鄂ICP备16005400号-1 鄂公网安备42050602000017号
  • 读书向
  • 学习向
    • AI工具
    • AI研究
    • 笔记
    • AIP:克丽丝AI日志
  • 创作向
    • 写作
    • 视听
    • 课程
  • 影视向
    • 创意策划
    • 前期拍摄
    • 后期制作
    • 影像实验
    • 影像设备
    • 大师镜头
    • 电影赏析
    • 视频论文
    • 项目复盘
  • 折腾向
    • 穿越机
    • 户外
    • 代码
    • 手工
    • 书法
    • 篆刻
    • 绘画
  • 剪辑
  • 转场
  • 纪录片

向安宇

痴迷文字,醉心影像
446
文章
5
评论
325
喜欢