您需要 登录 才可以下载或查看,没有账号?注册
x
本期内容我们深入讨论了正弦和余弦节点,我们简单地讨论过它们的使用对uv调整。今天再深入一点我们将在一个场景中使用uv旋转,我们先来创建几个例子,我们将从旋转数学开始。我们的纹理坐标向量2代表中心点或者说轴心点,我们还需要值表示旋转的大小,为此我们将从这里的值0开始
虽然已有了内置节点,但是我们应该明白背后的数学原理
那么好我们开始创建uv旋转的数学,我首先需要的是一个正弦节点和一个余弦节点,我们将把它们放在这里像这样,我将把我的旋转量值传递到这两个正弦-余弦节点
接下来我需要做的事情减去中心坐标值,从uv坐标开始我要添加这里有个减法节点,现在我用的值是(0.5,0.5)但是我们可以确定些中心值,不管我们之后想要我都要减去我的中心价值,把uv分开使用组件遮罩节点将坐标转换为各自的坐标。红色和绿色但它们实际上代表u和v坐标
好的,现在我来取余弦值乘以u我要把它乘以我的u坐标,然后我要用正弦做同样的事情,我要把正弦乘以我的v坐标,所以我要做的是创建一个u和一个v,这上面一行代表我的u,然后我要做另一个表示我的V接下来我要做的相加两个值合在一起
但这次我将取余弦,并将其乘以我的 v 我将取正弦并将其乘以我的 u ,所以在第一行我做了余弦和 u 和正弦和 v ,现在我正在做余弦 u 和 余弦 v 反正我把它们倒过来,而不是把它们加在一起我这次要减去结果
现在我算出了u坐标,我需要做的最后一件事,我需要把这两件事加在一起,所以现在我有了UV,最后我需要做的把我的中心值加进去,所以这里我减去了我的中心值现在我需要把它加进去,我要在这里加一个加法把中心值连起来好了现在我们有旋转uv的公式,是我的纹理样本我要把它连接到基底上颜色
我们添加一个时间节点这将更清楚展示发生了什么
它的工作原理传递旋转值使用正弦和余弦乘以u和v值,乘以u和v值然后把它们倒过来表示v,然后把它们加在一起再加回到中心点,你就得到了你的旋转,你可以把中心点设为你想要的任何位置(1,0)左上角(0,1)左下角
另一种玩法:漩涡流效应修改中心坐标位置改变漩涡中心点,通过长度节点给出不同的时间对于你经过的每像素
回到我们之前状态下一个我想坐下做一些动画树枝,我们带入一个树枝纹理一根树枝和树叶,找到树枝所在位置(0,0.5)中心位置,将棋盘格纹理替换成树枝可以看到他在中心点旋转。实际我想做是沿着中心摆动
完整节点
接下来移动uv坐标,我们需要使用“添加”我们要给u和v加上一些东西,来左右移动我们的uv坐标,我们需要为这个项目增加价值v上下移动它们。所以我要按住2键然后鼠标左键点击,这将添加一个常数向量两个节点,在这里你可以看到我们有两个值,第一个价值将被添加到U第二个值将被加到v上,如果我想偏移或移动我的uv坐标让我们加上0.1现在让我们加上1点和0点,所以你可以注意到这里我们的UV已经移动了十分之一0.1设为0.2移动十分之二
如果我们将u和v分别设置为任意值,向上移动0.3,向下移动0.5现在有了移动。但下一个问题是,我们如何将旋转其结合在一起,我们是先旋转在移动还是先移动在旋转?
经过测试因此,我们在一开始就进行了平移显然是行不通的,所以我们应该先旋转在移动,不同类型的行为,取决于我们先做什么。在这种情况下首先进行旋转是有意义的
接下来我们需要做的是缩放,所以我们要在这里取纹理坐标我们将把它们乘以一个值,我们可以在u轴和v轴上进行缩放,输入不同的数值进行非均匀缩放,我们也可以输入单个数值使得我们uv坐标均匀缩放
我们已经有了缩放现在问题是我们将他放在什么地方,缩放需要一个轴心就跟我们旋转一样需要一个围绕的轴心,我们要么在这里旋转前做或者我们需要在旋转后再做,测试后顺序为旋转缩放平移
接下来我们将其做成材质函数,方便我们在材料中运用,新建材质函数叫做uv变换,将我们制作好的节点拷贝粘贴到我们材质函数中,然后我们为每个参数设置输入值记得勾选默认参数
看下我们设置好的效果
位移,旋转,缩放,坐标位置
我们将构建一个随机变换我们的 uvs 的材质函数这会随机改变我们的UV,我们建立了这个物质函数改变我们的UV,那么你能用这个函数做什么呢?可以应用位移旋转并缩放到uv坐标
如果我们想对UV应用随机变换呢?随机旋转比例和偏移这个物体我们怎么做得好我们需要创建一个新函数生成随机数,然后使用这些随机数传递给我们的偏移旋转和缩放这就是我们今天要做的。让我们从创建一个全新的物质函数,打开材质函数带入我们上节课自定义函数并将其插入输出结果
01-我们需要生成随机数之前我们制作过一个材质函数哈希23 02-我要应用一个拆分组件节点并将其分为不同的部分红绿,因为这些是我可以使用的随机数用于生成偏移旋转和缩放 03-所以下一步我们需要做的是添加几个输入,首先添加uv输入这是我们的uv坐标直接进入我们的mf transform UV节点 04-我需要设定一个上限和下限我的缩放和旋转只需复制和粘贴此输入即可创建另一个输入我们要把它变成一个标量输入因为这只是一个值我会把这个称为“小”在复制一个称“大”我们目的定义哈希23最大最小规模 05-继续复制定义旋转最大最小 06-为哈希23创建一个随机种子 07-所以我的红色和绿色将成为我的偏移值我要把它直接连接到mf transform UV偏移端口
08-接下来混合我们的旋转信息,使用我的蓝色通道随机值首先我要把它乘以16然后我要取过程值。我这么做的原因是我需要四个随机数一个用于我的旋转一个用于我的比例
我要取我的最小值和最大值在最小刻度和最大刻度之间混合基于随机值的蓝色通道(随机缩放)
整体节点
接下来我们带入一个随机噪波节点,这个节点在之前案例我们应用过不同的通道拥有不同的遮罩范围
我们可以看到随机变换后还需要对边缘进行融合处理,这样可以减少平铺带来的重复感。同时我们制作一个程序化的随机噪波下期分享
视频版
原帖地址:https://mp.weixin.qq.com/s/tZn10_K6yBiM8-J8BfhxiQ
|