搜索
查看
编辑修改
首页
UNITY
NODEJS
PYTHON
AI
GIT
PHP
GO
CEF3
JAVA
HTML
CSS
搜索
小蓝xlanll
这个屌丝很懒,什么也没留下!
关注作者
热门标签
jquery
HTML
CSS
PHP
ASP
PYTHON
GO
AI
C
C++
C#
PHOTOSHOP
UNITY
iOS
android
vue
xml
爬虫
SEO
LINUX
WINDOWS
JAVA
MFC
CEF3
CAD
NODEJS
GIT
Pyppeteer
article
热门文章
1
同事轻松跳槽BAT,涨薪还超50% ,网友:现在测试工程师这么吃香?_能进bat拿高薪
2
pymysql的使用超详细_pymysql使用
3
基于ssm框架实现的Java web在线考试系统_ssm在线考试系统
4
安装Hive及环境变量的配置(三种安装部署的方式)_配置hive环境变量
5
python-pymysql库使用一文详解+实例代码
6
Updates were rejected because the remote contains work that you do(gitee报错解决方案)
7
Git日常操作详解_reset current branch to here -hard 会提交git吗
8
正确解决org.springframework.dao.ConcurrencyFailureException并发失败异常的有效解决方法_org.springframework.dao 怎么解决
9
2024年最全Linux repo基本用法 搭建自己的repo仓库[服务端],2024年最新面试Linux运维卡顿_repo linux
10
MultiResUnet概述
当前位置:
article
> 正文
Unity-Shader切线空间_tangent unity
作者:小蓝xlanll | 2024-05-31 01:42:55
赞
踩
tangent unity
在使用凹凸纹理时我们经常会用到一个叫切线空间的东西。而这个切线空间里有三个参数,顶点法线(Normal)、顶点次法线(binormal)和顶点切线(tangent)。这三个参数有什么意思,是如何得来的呢?我们来详细讲下。
假设有一个三角形平面ABC,A点的切线空间就如图:(T,N,B两两正交)
注:
A点坐标pos1,B点坐标pos2,C点坐标pos3。
A点UV坐标uv1,B点UV坐标uv2,C点UV坐标uv3。
顶点法线(Normal)
这个好理解,就是垂直在顶点所在三角形平面上的方向量。通过三角形相邻两条边的叉积来求得。A点的法线公式:
p1 = pos2-pos1;
p2 = pos3-pos1;
N = (p1.y * p2.z - p1.z*p2.y , p1.z*p2.x-p1.x*p2.z , p1.x * p2.y - p1.y*p2.x)
顶点次法线(binormal)
也叫副法线,他是与该顶点相切的一条切向量。
顶点切线(tangent)
他是另一条与顶点相切的切向量。他与顶点法线、顶点次法线、顶点切线构成一个切线空间。
顶点切线是这个空间的X轴,顶点次法线是这个空间的Y轴,顶点法线是Z轴。这三个轴就构成了某个点的切线空间。另外次法线和切线还可以这样理解:
切空间下的x轴和y轴就是顶点所在uv坐标系下的u轴和v轴
。
这样是不是更易理解了。
顶点A的次法线和顶点切线的公式如下:
p1 = pos2-pos1;
p2 = pos3-pos1;
s1 = uv2 - uv1;
s2 = uv3 - uv1;
float t = 1.0f / (s1.x * s2.y - s1.y*s2.x);
Tangent = (p1 * s2.y - p2 * s1.y) * t;
Binormal = (p2*s1.x - p1 * s2.x) * t;
B点和C点的切线和次法线也是这样计算的。这三组法线就构成了一个切线空间矩阵TBN。
这个TBN可是非常有用的,在凹凸纹理的各种实现方法中都用到他。
声明:
本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:
https://www.wpsshop.cn/w/小蓝xlanll/article/detail/649754
推荐阅读
article
Unity
Shader
-
后处理
:简单的颜色调整(亮度,
饱和度
,
对比度
)_unity
shader
...
Unity
Shader
-
后处理
:简单的颜色调整(亮度,
饱和度
,
对比度
)貌似一开始关于
shader
的讲解都是diffus...
赞
踩
article
Unity
使
场景
整体变暗_
unity
调整
场景
的
亮度
...
Unity
使
场景
整体变暗在Camera前加一个plane,其材质设置为:颜色为黑色,通过修改alpha值
调整
亮度
。参考...
赞
踩
article
Unity
Lighting
面板
的
参数设置
用途详细总结_
lighting
settings
...
提供较高中等质量
的
光照,与Shadowmask类似,其设置牵扯间接光照、阴影,直接光照正常计算:在shadow dist...
赞
踩
article
【
Unity
Shader
】屏幕后处理1.0:调整
亮度
/
饱和度
/
对比度
_unityshader
亮度
...
屏幕后处理第一部分,在
Unity
中实现
亮度
、
对比度
和
饱和度
的修改。_unityshader
亮度
饱和度
对比度
unitys...
赞
踩
article
Unity
Shader
之
环境光
_
unity
环境光
设置在哪...
Unity
Shader
编写和默认
Shader
中都有对
环境光
的处理,首先我这里先看下
环境光
如何设置。一、先看下我们这里...
赞
踩
article
Unity
世界
坐标
、屏幕
坐标
、
UGUI
坐标
相互
转换
_
unity
ugui
转换
世界
坐标
...
看下图
世界
坐标
、屏幕
坐标
、UI
坐标
三种
坐标
系的
转换
过程,此文章中的 UI
坐标
特指。屏幕
坐标
为 从屏幕左下角开始 ...
赞
踩
article
Unity
动态创建
Mesh
基础
方法
与高级
方法
_
unity
动态生成
mesh
...
关于
Mesh
的基本概念再次不在阐述,可以参考
Unity
Mesh
官方文档,介绍的很详细,其中基础
方法
包括:SetVer...
赞
踩
article
Unity
在
编辑
模式下
退出
游戏_
unity
application
.
quit
...
实现在
编辑
器环境下
退出
编辑
器,在非编译器环境下
退出
游戏我们需要判断当前是否在
编辑
器环境中,在
unity
中是使用预处理的方...
赞
踩
article
【
Unity
】
Unity
中实现
回放
功能
_
unity3d
场景
回放
机制
...
数据各种各样,位置数据、动画数据、操作数据等,只有分类保存才可以在使用时有序不乱,所以创建数据指令至关重要,本次Demo...
赞
踩
article
Unity
退出
游戏
_
unity
按esc
退出
游戏
...
using System.Collections;using System.Collections.Generic;us...
赞
踩
article
Unity
在
编译器
下退出...
#if UNITY_EDITOREditorApplication.isPlaying = false;#endifUn...
赞
踩
article
Unity
在
编辑
模式下
退出
运行
_
unity
退出
编辑
器前调用...
在
编辑
状态下,不点击停止播放键也一样能够控制程序停止运行,感觉还挺实用的。#if UNITY
_
EDITOR ...
赞
踩
article
unity
通过
EditorApplication
类来实现程序的退出,
_
unity
editor.ed...
【代码】
unity
通过
EditorApplication
类来实现程序的退出,
_
unity
editor.editorap...
赞
踩
article
Unity
——常见
按钮
功能(一)
_
unity
退出
游戏
按钮
...
Unity
Editor.EditorApplication.isPlaying = false//应用程序中
退出
游戏
。A...
赞
踩
article
Unity
-
微信
小游戏
上架
流程-个人
开发者
_
unity
发布
微信
小游戏
...
微信
上架
流程个人认为比较繁琐,而且严格,时间跨度长。在
微信
平台
上架
小游戏
,实际上相当于将一个
Unity
WebGL的工程...
赞
踩
article
Unity
退出游戏代码_
unityeditor
.
editorapplication
.isplayi...
应分为两种情况:使用
Unity
调试时
Unity
Editor.EditorApplication.isPlaying
=
...
赞
踩
article
unity
2D中
,
实现点击
按钮
可以
游戏
暂停
的效果
_
unity
2d
按钮
...
这样
,
你就可以通过点击
按钮
来实现
游戏
的
暂停
效果了。
_
unity
2d
按钮
unity
2d
按钮
在U...
赞
踩
article
【
Unity
】
Jay
开发日志(六)——暂停和
结束
菜单
的
创建_
unity
的
结束
菜单
...
写在最前面:
Jay
是我花了五天左右时间开发
的
同名游戏,基础机制借鉴了涂鸦跳跃,具体
的
参考视频可以点击以下链接用周杰伦
的
...
赞
踩
article
【
Unity
】通过代码控制
编译器
的
暂停
_
unity
暂停
编辑器
...
通过代码控制
编译器
的
暂停
。
_
unity
暂停
编辑器
unity
暂停
编辑器
...
赞
踩
article
Unity
入门
笔记 - 07(完) -
菜单
&手机端&静态类&生成
游戏
_
unity
mobile
...
Unity
入门
笔记 - 07(完) -
菜单
&手机端&静态类&生成
游戏
前言:
入门
笔记的最后一篇。这个系列教程看完了。接...
赞
踩
相关标签
unity
游戏引擎
unity light面板参数
技术美术
游戏
unity shader环境光
编辑器
Unity 退出游戏
UNITY_EDITOR
Application.Quit()
按下ESC键则退出游戏
Unity
微信
android