当前位置: 首页 > article >正文

【ASE】第一课_双面着色器

今天我们一起来学习ASE插件,希望各位点个关注,一起跟随我的步伐

今天我们来学习双面着色器,对颜色和贴图进行差值,双面显示不同的效果

最终效果:

思路:

1.先确定前后面的贴图和颜色

贴图(Albedo)颜色(color)相乘(Multiply)得到最终的效果,通过Register Local Var节点进行输出。

2.确定前后面的法线贴图,根据法线贴图来呈现凹凸不同的效果

加载法线贴图,通过Register Local Var节点进行输出。

3.通过差值来对前后面呈现不同的效果

Get Local Var节点来接收Register Local Var节点输出的结果,然后通过差值Lerp节点来确定最终的前后效果

4.添加遮罩效果

注意:加载一个png半镂空的贴图,连接Opacity Mask节点

5.根据不同方向都可以呈现双面的效果

1.视野方向与物体的世界法线的点乘,呈现渐变的圆效果

2.标志节点来达到亮的最亮,暗的最暗的效果

3.通过remap节点进行映射把(-1,1)映射到(1,0)

ASE最终效果:

节点:

1.Texture:贴图,法线贴图。快捷键是T。

2.Color:颜色。快捷键5。

3.Multiply:两种数据的混合,即乘积操作。快捷键M。

4.Lerp:通过一个参数t来决定两个值(A和B)之间的混合程度。当t为0时,结果为A;当t为1时,结果为B;当t为0到1之间的任意值时,结果为A和B的线性混合。快捷键是L。

5.Register Local Var:通过该节点进行输出,快捷键是R。

6.Get Local Var:接收本地节点信息,快捷键是G。

7.Sign:Sign函数的基本作用是返回一个数值的符号,通常是以整数形式表示,其中:

  • 如果数值为正(大于0),则返回1(或正数表示)。
  • 如果数值为0,则返回0。
  • 如果数值为负(小于0),则返回-1(或负数表示)。

8.View Dir:在处理光照和材质时,代表观察者或相机看向物体表面的方向。这个方向向量对于正确计算光照效果至关重要,因为它决定了光线从物体表面反射到观察者眼中的方式。具体来说,view Dir的作用体现在以下几个方面:

  1. 定义观察方向‌:view Dir定义了观察者或相机的位置和方向,这对于模拟真实世界中的视觉体验至关重要。在渲染过程中,view Dir帮助确定光线如何从物体表面反射到观察者的眼中,从而产生正确的视觉效果。

  2. 影响颜色和亮度‌:不同的角度下,光线反射进眼睛的强弱不同,导致颜色和亮度有所变化。view Dir帮助计算这些变化,使得渲染结果更加真实。

  3. 纹理映射‌:在纹理映射中,view Dir还帮助确定纹理如何根据观察者的视角进行变换,从而实现更加自然的视觉效果。

  4. 高级光照模型‌:在更复杂的光照模型中,如Blinn-Phong模型,view Dir与其他向量(如光源方向、法线向量等)一起使用,以计算物体的漫反射和高光反射,从而模拟出更加真实的光照效果。

  5. 表面着色器补充‌:在表面着色器的编程中,view Dir作为输入变量之一,允许开发者根据观察者的视角调整材质的外观,实现更加动态和灵活的视觉效果。

综上所述,view Dir在Shader编程中扮演着关键角色,它不仅定义了观察者看向物体的方向,还影响了材质的颜色、亮度以及纹理映射方式,是实现高质量渲染效果不可或缺的一部分‌

9.Remap:用于将值从一个范围重映射到另一个范围。

10.Dot:用来计算两个向量的点积,我们知道向量归一化以后向量点乘的值是向量的夹角的Cos值(简单理解)

11.World Normal:‌World Normal指的是物体表面法线在世界坐标系中的方向向量。

今天我们学了这么多节点,勤加练习哦!!


http://www.kler.cn/news/321459.html

相关文章:

  • 增量式编码器实现原理
  • 使用python爬取豆瓣网站?如何简单的爬取豆瓣网站?
  • FPGA中系统门数和逻辑门数的理解
  • 智视臂传-AI视觉触感未来丨OPENAIGC开发者大赛高校组AI创作力奖
  • 计算机毕业设计 基于Hadoop的智慧校园数据共享平台的设计与实现 Python 数据分析 可视化大屏 附源码 文档
  • 性能设计模式
  • 1.6 判定表
  • 【C++与数据结构】搜索二叉树(BinarySearchTree)
  • 数据仓库-数据质量规范
  • 问:聊聊JAVA中的共享锁和独占锁?
  • 了解针对基座大语言模型(类似 ChatGPT 的架构,Decoder-only)的重头预训练和微调训练
  • 前端Vue 基础学习1
  • 暗黑破坏神4新资料片憎恶之躯即将上线,第六赛季暗黑破坏神4搬砖如何获得最大收益?
  • 响应式的几种解决方案——媒体查询、flex、grid、多列布局、瀑布流和数据可视化屏幕的缩放处理
  • 极狐GitLab 17.4 重点功能解读【三】
  • crontab -e 修改为vim 编辑
  • Jenkins 2.477版本升级
  • 嵌入式学习——进程间通信方式(1)——有名管道和匿名管道
  • 高频 SQL 50 题(基础版)| 180. 连续出现的数字
  • The Open Group 2024生态系统架构·可持续发展年度大会全面解读
  • 企业微信AI社群助手:赋能企业私域运营的新引擎
  • JAVA集成Jasypt进行加密、解密(SpringBoot)
  • 【ARM 嵌入式 编译系列 10.4 -- GNU Binary Utilies】
  • python测试开发---前后端交互Axios
  • 利用 ARMxy边缘计算网关和 BLiotlink 软网关,实现工业智能化升级
  • VB.NET中如何利用ADO.NET Entity Framework进行ORM(对象关系映射)
  • 在Mac电脑上安装adb环境
  • npm 安装newman时idealTree:vue: sill idealTree buildDeps卡住了(实测成功)
  • 初识C语言(三)
  • VC++同时处理ANSI和Unicode字符集,除了使用TCHAR和_T()宏外,还有其他方法可以实现吗?