中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

企業(yè)網(wǎng)盤怎么申請seo搜索優(yōu)化 指數(shù)

企業(yè)網(wǎng)盤怎么申請,seo搜索優(yōu)化 指數(shù),云南楚雄醫(yī)藥高等??茖W(xué)校,杭州市下城區(qū)建設(shè)廳網(wǎng)站文章目錄 前言一、圍繞X軸旋轉(zhuǎn)1、可以使用上篇文章中,同樣的方法推導(dǎo)得出圍繞X軸旋轉(zhuǎn)的點陣。2、求M~rotate~ 二、圍繞Y軸旋轉(zhuǎn)1、可以使用上篇文章中,同樣的方法推導(dǎo)得出圍繞Y軸旋轉(zhuǎn)的點陣。2、求M~rotate~ 三、圍繞Z軸旋轉(zhuǎn)1、可以使用上篇文章中&#x…

文章目錄

  • 前言
  • 一、圍繞X軸旋轉(zhuǎn)
    • 1、可以使用上篇文章中,同樣的方法推導(dǎo)得出圍繞X軸旋轉(zhuǎn)的點陣。
    • 2、求M~rotate~
  • 二、圍繞Y軸旋轉(zhuǎn)
    • 1、可以使用上篇文章中,同樣的方法推導(dǎo)得出圍繞Y軸旋轉(zhuǎn)的點陣。
    • 2、求M~rotate~
  • 三、圍繞Z軸旋轉(zhuǎn)
    • 1、可以使用上篇文章中,同樣的方法推導(dǎo)得出圍繞Z軸旋轉(zhuǎn)的點陣。
    • 2、求M~rotate~
  • 四、在Shader實現(xiàn)
    • 1、在屬性面板定義四維變量,用xyz控制XYZ軸上的旋轉(zhuǎn)
    • 2、在常量緩沖區(qū)申明該變量
    • 3、在 頂點著色器 定義旋轉(zhuǎn)矩陣
    • 4、使用旋轉(zhuǎn)矩陣與模型頂點相乘輸出
    • 5、最終效果
  • 五、最終測試代碼


前言

在上篇文章中,我們推算出了Shader物體旋轉(zhuǎn)所使用的二維旋轉(zhuǎn)矩陣。

  • Unity中Shader旋轉(zhuǎn)矩陣(二維旋轉(zhuǎn)矩陣)

在這篇文章中,我們來推算得到四維旋轉(zhuǎn)矩陣。


一、圍繞X軸旋轉(zhuǎn)

圍繞X軸旋轉(zhuǎn)代表,物體頂點的X軸不變。

1、可以使用上篇文章中,同樣的方法推導(dǎo)得出圍繞X軸旋轉(zhuǎn)的點陣。

在這里插入圖片描述

  • 我們把P2增加一維且分量為1

2、求Mrotate

  • Mrotate * P1 = P2
  • Mrotate = P2* P1-1
    在這里插入圖片描述
  • 最后得到Mrotate
    在這里插入圖片描述

二、圍繞Y軸旋轉(zhuǎn)

圍繞Y軸旋轉(zhuǎn)代表,物體頂點的Y軸不變。

1、可以使用上篇文章中,同樣的方法推導(dǎo)得出圍繞Y軸旋轉(zhuǎn)的點陣。

在這里插入圖片描述

  • 我們把P2增加一維且分量為1

2、求Mrotate

  • Mrotate * P1 = P2
  • Mrotate = P2* P1-1
    在這里插入圖片描述
  • 最后得到Mrotate
    在這里插入圖片描述

三、圍繞Z軸旋轉(zhuǎn)

圍繞Z軸旋轉(zhuǎn)代表,物體頂點的Z軸不變。

1、可以使用上篇文章中,同樣的方法推導(dǎo)得出圍繞Z軸旋轉(zhuǎn)的點陣。

在這里插入圖片描述

  • 我們把P2增加一維且分量為1

2、求Mrotate

  • Mrotate * P1 = P2
  • Mrotate = P2* P1-1
    在這里插入圖片描述
  • 最后得到Mrotate
    在這里插入圖片描述

可以修改sin函數(shù)前面的負號位置實現(xiàn)順時針還是逆時針。這篇文章中是順時針


四、在Shader實現(xiàn)

1、在屬性面板定義四維變量,用xyz控制XYZ軸上的旋轉(zhuǎn)

_Rotation(“Rotation(XYZ)”,Vector) = (0,0,0,0)

2、在常量緩沖區(qū)申明該變量

CBUFFER_START(UnityPerMaterial)
float4 _Rotation;
CBUFFER_END

3、在 頂點著色器 定義旋轉(zhuǎn)矩陣

float4x4 M_rotateX = float4x4
(
1,0,0,0,
0,cos(_Rotation.x),sin(_Rotation.x),0,
0,-sin(_Rotation.x),cos(_Rotation.x),0,
0,0,0,1
);
float4x4 M_rotateY = float4x4
(
cos(_Rotation.y),0,sin(_Rotation.y),0,
0,1,0,0,
-sin(_Rotation.y),0,cos(_Rotation.y),0,
0,0,0,1
);
float4x4 M_rotateZ = float4x4
(
cos(_Rotation.z),sin(_Rotation.z),0,0,
-sin(_Rotation.z),cos(_Rotation.z),0,0,
0,0,1,0,
0,0,0,1
);

4、使用旋轉(zhuǎn)矩陣與模型頂點相乘輸出

v.vertexOS = mul(M_rotateX,v.vertexOS);
v.vertexOS = mul(M_rotateY,v.vertexOS);
v.vertexOS = mul(M_rotateZ,v.vertexOS);

5、最終效果

請?zhí)砑訄D片描述


五、最終測試代碼

//平移變換
//縮放變換
//旋轉(zhuǎn)變換(四維)
Shader "MyShader/URP/P3_5_7"
{Properties{_Translate("Translate(XYZ)",Vector) = (0,0,0,0)_Scale("Scale(XYZ)",Vector)= (1,1,1,1)_Rotation("Rotation(XYZ)",Vector) = (0,0,0,0)}SubShader{Tags{"PenderPipeline"="UniversalPipeline""RenderType"="Opaque""Queue"="Geometry"}Pass{HLSLPROGRAM#pragma vertex vert#pragma fragment frag#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl"#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl"#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl"struct Attribute{float4 vertexOS : POSITION;};struct Varying{float4 vertexCS : SV_POSITION;};CBUFFER_START(UnityPerMaterial)float4 _Translate;float4 _Scale;float4 _Rotation;CBUFFER_ENDVarying vert (Attribute v){Varying o;//平移變換float4x4 M_Translate = float4x4(1,0,0,_Translate.x,0,1,0,_Translate.y,0,0,1,_Translate.z,0,0,0,1);v.vertexOS = mul(M_Translate,v.vertexOS);//縮放交換float4x4 M_Scale = float4x4(_Scale.x,0,0,0,0,_Scale.y,0,0,0,0,_Scale.z,0,0,0,0,1);v.vertexOS = mul(M_Scale,v.vertexOS);//旋轉(zhuǎn)變換float4x4 M_rotateX = float4x4(1,0,0,0,0,cos(_Rotation.x),sin(_Rotation.x),0,0,-sin(_Rotation.x),cos(_Rotation.x),0,0,0,0,1);float4x4 M_rotateY = float4x4(cos(_Rotation.y),0,sin(_Rotation.y),0,0,1,0,0,-sin(_Rotation.y),0,cos(_Rotation.y),0,0,0,0,1);float4x4 M_rotateZ = float4x4(cos(_Rotation.z),sin(_Rotation.z),0,0,-sin(_Rotation.z),cos(_Rotation.z),0,0,0,0,1,0,0,0,0,1);v.vertexOS = mul(M_rotateX,v.vertexOS);v.vertexOS = mul(M_rotateY,v.vertexOS);v.vertexOS = mul(M_rotateZ,v.vertexOS);o.vertexCS = TransformObjectToHClip(v.vertexOS.xyz);return o;}half4 frag (Varying i) : SV_Target{return 1;}ENDHLSL}}
}
http://www.risenshineclean.com/news/27753.html

相關(guān)文章:

  • 兼職做設(shè)計什么網(wǎng)站好360競價推廣
  • 建筑工地招聘信息網(wǎng)昆明網(wǎng)站seo公司
  • 網(wǎng)站開發(fā)網(wǎng)絡(luò)課程網(wǎng)絡(luò)營銷的平臺有哪些
  • 電商網(wǎng)站怎么做支付廣州專門做seo的公司
  • 上海做網(wǎng)站要多少錢邵陽seo優(yōu)化
  • 哪些網(wǎng)站做魔獸地圖樂云seo
  • 柳州市網(wǎng)站制作公司網(wǎng)站的seo方案
  • 網(wǎng)站信息向上滾動標(biāo)簽手機網(wǎng)站自助建站系統(tǒng)
  • ??诰W(wǎng)站制作企業(yè)成都seo的方法
  • .org做商業(yè)網(wǎng)站sem代運營費用
  • 網(wǎng)頁版微信怎么掃描二維碼seo網(wǎng)站推廣優(yōu)化論文
  • 做兼職的網(wǎng)站晉城seo
  • 濟寧市建設(shè)工程招投標(biāo)網(wǎng)站20個排版漂亮的網(wǎng)頁設(shè)計
  • 做網(wǎng)站流程營銷推廣軟文案例
  • 甘肅省衛(wèi)健委網(wǎng)站官網(wǎng)今天國際新聞
  • wordpress要不要放網(wǎng)站地圖seo是什么東西
  • 網(wǎng)站建設(shè)怎么做賬會計谷歌怎么推廣自己的網(wǎng)站
  • 四川住房和城鄉(xiāng)建設(shè)廳官網(wǎng)安全員seo主要是指優(yōu)化
  • 建設(shè)項目立項網(wǎng)站廣州百度seo排名
  • 住房和城鄉(xiāng)建設(shè)部網(wǎng)站村鎮(zhèn)建設(shè)新手電商運營從哪開始學(xué)
  • 湛江外包做網(wǎng)站seo優(yōu)化是啥
  • 在線做banner的網(wǎng)站網(wǎng)站發(fā)布與推廣方式
  • 個人注冊公司查詢中山seo推廣優(yōu)化
  • 網(wǎng)站域名證書哪里獲取搜索引擎優(yōu)化的重要性
  • 網(wǎng)站開發(fā)架構(gòu)網(wǎng)站seo快速優(yōu)化
  • 網(wǎng)頁基礎(chǔ)優(yōu)化站點
  • 專做裝修的網(wǎng)站凡科建站怎么導(dǎo)出網(wǎng)頁
  • 找網(wǎng)站開發(fā)公司需要注意那幾點產(chǎn)品推廣文案
  • 帝國建設(shè)網(wǎng)站成功營銷十大經(jīng)典案例
  • 怎么做網(wǎng)站客服彈窗專業(yè)提升關(guān)鍵詞排名工具