最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

MMD聯(lián)動(dòng)Unity學(xué)習(xí)筆記 Vol.53 Unity Shader Graph 節(jié)點(diǎn)解析

2019-11-28 15:00 作者:NXL2  | 我要投稿

前言 ???? ???? ???? ???? ????

????這期我們還是跟著官方的視頻學(xué)習(xí)Unity里關(guān)于Shader Graph的內(nèi)容,這期是這個(gè)系列的第

九期,矩陣(Matrix)相關(guān)所有節(jié)點(diǎn)。

????我們經(jīng)常聽到的矩陣,是一個(gè)數(shù)學(xué)概念,簡單來講就是一個(gè)由M乘N的標(biāo)量數(shù)組,在Unity中,矩陣通常被用于平移,縮放,旋轉(zhuǎn)等等。

????顧名思義,這幾個(gè)節(jié)點(diǎn)的作用,分別是自定義一個(gè)2乘2,3乘3,4乘4的矩陣。

????除此之外,在前面幾期我們了解了Input Geometry中的實(shí)體空間,模型空間,切線空間,視角空間之間的變換,也是由矩陣計(jì)算得到的結(jié)果。

????在Transformation Matrix中,Unity本身就給我們提供了很多變換的矩陣供我們進(jìn)行矩陣計(jì)算,不同于直接寫Shader時(shí)需要用代碼調(diào)用對(duì)應(yīng)的矩陣,Shader Graph在大多數(shù)情況下,只需要我們切換節(jié)點(diǎn)下方的模式即可。也從公式直接變回了簡單易懂的描述。

????除了Transformation中的內(nèi)置矩陣,Unity還有一 些關(guān)于轉(zhuǎn)換的內(nèi)置變量。

????當(dāng)然,在內(nèi)置的變換矩陣無法滿足我們的需求時(shí),就需要我們自定義一個(gè)轉(zhuǎn)換矩陣了,圖中的Tangent To World節(jié)點(diǎn)就是使用世界空間的Tangent By Tangent Normal來構(gòu)建的一個(gè)TBN變換矩陣,把Tangent空間的向量,轉(zhuǎn)換到世界空間中。

????在計(jì)算Tri-Planar節(jié)點(diǎn)時(shí),除了計(jì)算物體在模型空間和世界空間下的坐標(biāo),也需要對(duì)模型在模型空間和世界空間下的Normal和Tangent進(jìn)行矯正計(jì)算,保證每一個(gè)軸向上的貼圖,在旋轉(zhuǎn)后,還能保持正確的光照效果。否則,在旋轉(zhuǎn)各個(gè)方向的面時(shí),法線也會(huì)一起旋轉(zhuǎn),所以在這里。我們使用Matrix Construction Node來構(gòu)建對(duì)應(yīng)坐標(biāo)軸的旋轉(zhuǎn)矩陣。

????在構(gòu)建好XYZ軸向的旋轉(zhuǎn)矩陣后,再與三個(gè)方向的法線信息相乘,再旋轉(zhuǎn)面的時(shí)候,就能得到正確的法線了 。

????以Unity Built-in的變量為例,Unity Matrix Transpose MV是Unity MV的轉(zhuǎn)置矩陣,因?yàn)榍笠粋€(gè)矩陣的逆矩陣需要巨大的運(yùn)算量,但是求一個(gè)矩陣的轉(zhuǎn)置矩陣就很簡單。所以當(dāng)一個(gè)矩陣為正交矩陣的時(shí)候,通過轉(zhuǎn)置矩陣或者逆矩陣,是一個(gè)很有用的方法。

????而Unity Matrix,Inverse Transpose MV,專門用于將法線從模型空間變化到觀察空間,為Untiy Matrix的逆轉(zhuǎn)置矩陣,有同學(xué)可能會(huì)問,為什么不同Unity Matrix MV來處理法線,因?yàn)槿绻P陀胁唤y(tǒng)一縮放的時(shí)候,用Unity Matrix MV會(huì)造成方向失真。

????而Matrix Determinant節(jié)點(diǎn),行列式是數(shù)學(xué)中的一個(gè)函數(shù),將一個(gè)N乘N的矩陣a,映射到一個(gè)標(biāo)量中,一般用來求解矩陣,Shader中使用的情況比較少。感興趣的同學(xué)可以自行深入了解。

MMD聯(lián)動(dòng)Unity學(xué)習(xí)筆記 Vol.53 Unity Shader Graph 節(jié)點(diǎn)解析的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國家法律
依兰县| 岫岩| 偃师市| 北京市| 曲阳县| 光山县| 南陵县| 寿光市| 盘锦市| 读书| 赤水市| 恩平市| 丹江口市| 隆安县| 嵊泗县| 伊宁市| 五华县| 锡林浩特市| 会东县| 平昌县| 义乌市| 昭通市| 庐江县| 皋兰县| 汶上县| 安多县| 寿宁县| 贡觉县| 吴堡县| 溧阳市| 钟山县| 南投市| 清远市| 拉孜县| 莆田市| 封开县| 千阳县| 邮箱| 白水县| 大宁县| 启东市|