Blender进阶:着色器节点

11 着色器节点

11.1着色器

着色器Shader,负责给物体表面着色。

综合以下参数:

  • -基础色
  • -金属度、粗超度、透明度
  • -法向
  • -入射光颜色、强度、角度。。

着色器本质上是一段程序、算法,即着色器编程。

在节点编辑器中,支持算法的可视化呈现。

其中,一个节点,即为一个函数/功能。

11.2 着色点

着色点Shading Point,表面上的一个点

类似于像素点。

在着色时,要为面上的每个点着色。

着色点,是接下来要研究的目标。

  • -该点的世界坐标
  • -该点的局部坐标
  • -该点的生成坐标
  • -该点的UV坐标
  • -该点的法向
  • -该点的其他属性。。

11.3 着色点坐标

着色点的坐标,有很多种算法。

  • -世界坐标
  • -局部坐标
  • -UV坐标
  • -生成坐标
  • -屏幕坐标。。

UV坐标

通过插值算法,可以求得表面任意一点的UV坐标

比如,一个面,有4个顶点。4个顶点的UV已知。

11.4 自定义着色流程

着色流程:

  • 着色点
  • 着色点UV坐标
  • 取得UV中 的x值,此值介于【0,1】
  • 将X值转成一个颜色
  • 颜色作为基础色,完成着色。

每一个着色点,都执行一遍这套流程。最终完成整个面的着色。

在着色时,每个点的颜色根据UV坐标计算得到。

相关推荐
UnderTurrets17 小时前
A_Survey_on_3D_object_Affordance
pytorch·深度学习·计算机视觉·3d
Hao_Harrision18 小时前
50天50个小项目 (React19 + Tailwindcss V4) ✨| ThreeDBackgroundBoxes(3D背景盒子组件)
前端·3d·typescript·react·tailwindcss·vite7
溪海莘2 天前
如何部署使用uv管理依赖的python项目 ?
开发语言·python·uv
gravity_w2 天前
UV常用命令总结
经验分享·笔记·uv
zhuà!2 天前
uv-picker在页面初始化时,设置初始值无效
前端·javascript·uv
AI浩2 天前
LabelAny3D: Label Any Object 3D in the Wild
3d
学無芷境2 天前
vesselFM: A Foundation Model for Universal 3D Blood Vessel Segmentation
3d
偶信科技2 天前
ADCP钛合金材质如何提升设备的耐用性?偶信科技 3.5kg钛合金ADCP成为新宠儿
人工智能·科技·材质·偶信科技·ocean·海洋仪器·adcp
CG_MAGIC3 天前
云渲染时能否关机或断网?
3d·云渲染·建模教程·渲云渲染·3d软件
拾荒的小海螺3 天前
开源项目:Three.js 构建 3D 世界的工具库
javascript·3d·开源