[Houdini] 与UV相关的节点
什么是UV贴图
根据我们目前的了解,物体由原子组成。如果我们让电脑通过画出每一个原子的方式来绘制模型,以目前电脑的性能,估计一滴水都很费劲。用Houdini新建一个box,发现它只有8个点和6个面片,要想让它更真实,我们就需要添加更多的点。一个方式是增加细分,让点增多,与之而来的是需要的内存和计算越来越多。另一个方式就是uv贴图,如果这个正方体正好是个正方体,形状不需要变化,这些面片中间的点我们可以用一张2维图片贴上去补充,2维贴图的分辨率越高,补充的细节越多。
贴图的形状按照习惯,都是1比1大小的正方形。xyz代表的是三维空间点的位置,而uv代表的是二维空间贴图上点的位置,(0,0)是贴图的左下角,(1,1)是贴图的右上角。模型的面片根据自己点上的uv值,在贴图上切割属于自己的图案。
Cg流程一般是建模,展uv,绘制贴图,渲染。展uv就像是我们把模型面片贴到一个正方形白色图片上,然后在图片上绘制图案,再把面片组装成模型。如果这些面片一片片贴的很分散,那绘制的图案很难在组装的时候连在一起,所以展uv会尽量保持整块。(或者直接在模型上画图,这样就不用考虑连接问题,比如substance painter,但是贴图片时候还是需要整块)
UV在Houdini里也是一种属性,一般存在Vertices上。UV也可以存在Points上,但是面片共用一个点,在UV切割的地方会有问题。

Houdini提供了几种常用的方式来分uv。
UV Project。通过从设定的方向将 UV 投影到曲面上来指定 UV。


UV Texture。将纹理 UV 坐标分配给几何体,以用于纹理和凹凸贴图。这个节点的使用方式范围更广。


UV Unwrap。将 UV 分成相当平坦、不重叠的组。


UV Flatten。手动展uv,需要切割线。

UV Pelt。

UV Autoseam。

uv 初步展好后,还有一系列整理工具。对于形状复杂的模型,可以把模型分成几部分,用不同的方式来分uv,最后和并在一起,用uv整理工具整合到一起。






UV后面一般还有个W,在Houdini里的uv属性也是uv[0],uv[1],uv[2]。对于采样二维图片来说,w属性确实没什么用,这个w在其他的软件里用处也不是很多。根据网上的说法,w可以用于采样深度,比如我们把四个点根据uvw放进一个带有noise的volume里面,这样就可以在立体里截出一个图片。
UV Transform节点用到了w。UV Texture节点的相机投射方式写入了w的值。有些noise需要3d坐标,扰乱uv时这个w正好派上用场。
另一方面,对于电脑来说,uv,uvw占的内存空间都一样,多一个也不多。