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

Unity图形学之法线贴图原理

1.正常贴图:RGBA 4通道 每个通道取值范围 0-255 贴图里面取值是 0-1

2.法线贴图:法线怎么存入正常贴图的过程

每个通道里面存储的是一个向量(x,y,z,w) 通常我们会对应xyzw为rgba 存储值的范围也是0-1向量的取值范围是 -1到1法线怎么存入正常贴图的过程:法线中的向量取值范围怎么变换为0-1: (-1,1) *0.5 +0.5 ==(0,1)正常贴图变成法线的过程:(0,1) -0.5 *2 == (-1,1)

3.法线贴图为蓝色:是因为法线经常是朝向Z轴的,法线倾向 Z值 ,Z值映射到贴图里面,对应的是RGBA中的B值,所以呈现蓝色

4.法线贴图从哪里来?

1.美术制作
2.U3D里设置 图片类型为 Normal Map

5.法线贴图的作用?

1.增加明暗对比度,让凸出的地方看起来更凸

法线计算:

Shader "Custom/NormalMap"
{Properties{_Color ("Color", Color) = (1,1,1,1)_MainTex ("Albedo (RGB)", 2D) = "white" {}_NorTex ("NormalMap (RGB)", 2D) = "white" {}}SubShader{Tags { "RenderType"="Opaque" }LOD 200CGPROGRAM// Physically based Standard lighting model, and enable shadows on all  light types#pragma surface surf Lambert// Use shader model 3.0 target, to get nicer looking lighting#pragma target 3.0sampler2D _MainTex;sampler2D _NorTex;struct Input{float2 uv_MainTex;float2 uv_NorTex;};fixed4 _Color;void surf (Input IN, inout SurfaceOutput o){// Albedo comes from a texture tinted by colorfixed4 c = tex2D (_MainTex, IN.uv_MainTex) * _Color;o.Normal = UnpackNormal(tex2D (_NorTex, IN.uv_MainTex));o.Albedo = c.rgb;o.Alpha = c.a;}ENDCG}FallBack "Diffuse"
}

http://www.lryc.cn/news/492395.html

相关文章:

  • 爬虫开发(5)如何写一个CSDN热门榜爬虫小程序
  • JVM系列之OOM观测准备
  • Qt | 开发技能提升档次哈
  • D79【 python 接口自动化学习】- python基础之HTTP
  • C++【日志模块中的writer类】前文中 循环队列用法
  • Linux:文件管理(一)——文件描述符fd
  • 【C++初阶】第3课—类和对象(类的默认成员函数)
  • uni-app初学笔记:文件路径与作用
  • 小程序-使用 iconfont 图标库报错:Failed to load font
  • 【计网】自定义协议与序列化(一) —— Socket封装于服务器端改写
  • 速度革命:esbuild如何改变前端构建游戏 (1)
  • 大语言模型---什么是注意力机制?LlaMA 中注意力机制的数学定义
  • LSA详情与特殊区域
  • Python爬虫能处理动态加载的内容吗?
  • Spring Boot Web应用开发:数据访问
  • 【Linux】进程控制-----进程创建与进程终止
  • 【软考速通笔记】系统架构设计师③——信息安全技术基础知识
  • AI安全:从现实关切到未来展望
  • YOLO格式数据集介绍
  • Doris 数据集成 LakeSoul
  • Navicat 预览变更sql
  • 深入理解下oracle 11g block组成
  • Qt Graphics View 绘图架构
  • 大数据-234 离线数仓 - 异构数据源 DataX 将数据 从 HDFS 到 MySQL
  • 零基础学安全--shell脚本学习(1)脚本创建执行及变量使用
  • C#对INI配置文件进行读写操作方法
  • 华为鸿蒙内核成为HarmonyOS NEXT流畅安全新基座
  • 请求响应(学习笔记)
  • JavaScript核心语法(5)
  • 2024年第15届蓝桥杯C/C++组蓝桥杯JAVA实现