在这个视频里我们会涉及,究竟什么是(程序)生成的贴图及如何灵活地在着色器里使用它
你可能已经听过procedural(程序的)和procedural generated(程序生成)这两个词,它们实际上是同义的,程序生成(贴图)就是说利用计算机图形学的算法来生成的贴图,基本上,这种贴图不单单非常灵活,而且可以说是可以无限拉伸的,它们有无限的分辨率,它们没有像素点的概念,
它们完全是基于算法的,而且对于控制文件大小非常有用它们不需要占有非常多的数据空间,如果你想要创建你自己的(程序)生成贴图,那你就的学习有关它的基础,让我赶紧开始吧
这是voronoi(维诺)贴图,也是中很基础的,让我们使用下维诺贴图,快速向你展示一下它的样子,我现在按shift+"Z"来向你展示这个图案的样子
你可以看到这个像水底下的材质
就像你在水底下往上看时候得反射之类的,这就是维诺的样子,你可以把它放大一些,我能把这个参数调到10,你会注意到每一片都变小了
这个比例并不会影响到贴图的大小,但改这个参数的确会影响到生成的贴图,它并不是直观的变大或者变小,而是内部一些更复杂的计算,你会注意到每个小格子在我拖动这个参数时候确实改变了,但不是简单的放大或者缩小,所以你可以给这个参数加上动画,创造一种随机的感觉,这里还有个选项是intensity(强度)与cells(格子),这只是维诺的一个分区域,这个样子看起来挺酷的
就像这样流动,这些都是些调整你的生成的贴图的一些有用的方式,你可以用不同的方式把它们组合起来,让我们快速进入节点编辑器,
先按shift+z
可以让贴图有一点小小的突出,你可以用贴图做许多很酷的事情,它们也都很灵活,以上就是Blender里程序生成的贴图
blender的纹理节点就那么几个
noise / voronior / wave / Musgrave / magic...以及我个人很少用的 brick checker~
what??blender你逗我呢???人家 C4D 光是 noise 那么多种变化都超过你的纹理数量了~你让我们怎么用???
事实上
blender 看似寥寥几个纹理,其实可以组合出无穷无尽的变化。
第一个,我们首先要了解的是
颜色无穷尽,纹理无穷尽
blender 的 cycles 渲染器中,
我们有一个 texture coordinate 节点
可以用于控制纹理的映射方式。
如果把这个节点的各个出口链接上 emission 节点,再 链接 output(此处强烈推荐开启 “node wrangler” 插件)
就会看到一些很丑的渐变色。
就是纹理无穷尽的秘密 —— cycles(事实上,是绝大多数渲染器) 把所有的映射信息都以颜色的方式,储存在节点当中。
所以当我们改变颜色,就可以改变纹理的映射。
OK~自然知道了这个 “秘密” 那就来试试看吧。
把一个 noise 链接到 noise 上 会怎么样?
嘶~(黑人问号脸~)似乎跟提高 noise 的 distortion 没什么区别啊???
别灰心,再试试看~把作为控制映射的 noise 节点(就是第一个noise)节点的 detail 提到最大试试看?
同样是扭曲~我这里可以提供更丰富的细节是吧?除此以外,我还能通过 scale distortion 等来控制扭曲的大小,以及双重扭曲。
ok,开始制作程序纹理木桌。
我希望这一张木桌有很紧密细腻的竖纹。
一开始我试着用这个 wave 解决。加点 distortion 加点 detail 。。。
结果就是丑到没法看~
接下来我试着用一个拉伸的 noise 作为映射坐标链接到 wave 上
效果不错~
可是单纯这样的纹理也太过单调。
我想加一点年轮木纹在里面。如下图
利用一个拉伸的 voronoi 链接到 wave 即可得到拉伸的木纹(这里为了大家能够看得清楚,我减小了拉伸数值,事实上,我的拉伸更强)
什么?你问我中间的一个 colorramp 有什么用????
记住 颜色无穷尽,纹理无穷尽
在调节中间的 colorramp 。可以在不影响 voronoi 数量的情况下,控制每一个 voronoi 的大小
即
在不影响年轮数量的情况下,控制每一个年轮的大小。
但是。。。。这个年轮怎么这么干净啊哈???人家真实的年轮可是张酱紫的啊?
想想~我们刚刚试一下什么纹理作为坐标进行映射会造成扭曲?
noise 对不对 ??
在 voronoi 的基础上,mix 一个 noise
对不对?这就是一个扭曲的木纹了~
抱歉,我想再重申一遍
颜色无穷尽,纹理无穷尽~~!!
不要被 “一个纹理链接另一个纹理” 这种思路限制死了。
我只要它的年轮木纹,
我们所有的木纹位置都是基于前面的 voronoi 生成的
所以
我们可以用前面的 voronoi 作为遮罩提取年轮。
回头这个年轮叠在刚刚做出来的木纹上就ok了~
接下来做木桌的划痕污渍~
先来几个
高强度拉伸
不同旋转角度
高密度的
noise
然后给他们分别加上 colorramp 修剪掉大部分的黑色
只留下寥寥几条黑色
然后把他们 multi 在一起
然后分别用一点点noise 和一点点 wave 做污渍,
也是 multi 在一起
再把污渍划痕 multi 再一起
叠在刚刚做好的纹理上,
你的桌子就做好~~~
场景中其他事物,我也是以这样的方法
做一下纹理污渍上去,如下图
顺便说一下。
在金属材质中
最影响质感的 其实是 roughness
其次才是 bump(如果你有bump 的话)
2018-04-19
您好,这样的:k=20
x=rand(k,1)
y=rand(k,1)
z=rand(k,1)
figure('Color','w')
plot3(x,y,z,'Marker','.','MarkerEdgeColor','r','MarkerSize',10, 'LineStyle', 'none')
xlabel('X')
ylabel('Y')
zlabel('Z')
axis([0 1.5 0 1.5 0 1.5])
axis vis3d
X=[x y z]
[V,C]=voronoin(X)
V
for k=1:20
disp(C{k})
end
for k=1:length(C)
if all(C{k}~=1)
VertCell = V(C{k},:)
KVert = convhulln(VertCell)
patch('Vertices',VertCell,'Faces',KVert,'FaceColor','g','FaceAlpha',0.5)
end
end
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)