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

手机网站有什么好处有什么推广产品的渠道

手机网站有什么好处,有什么推广产品的渠道,网站评价,天津市最新消息今天文章目录 前言一、围绕X轴旋转1、可以使用上篇文章中,同样的方法推导得出围绕X轴旋转的点阵。2、求M~rotate~ 二、围绕Y轴旋转1、可以使用上篇文章中,同样的方法推导得出围绕Y轴旋转的点阵。2、求M~rotate~ 三、围绕Z轴旋转1、可以使用上篇文章中&#x…

文章目录

  • 前言
  • 一、围绕X轴旋转
    • 1、可以使用上篇文章中,同样的方法推导得出围绕X轴旋转的点阵。
    • 2、求M~rotate~
  • 二、围绕Y轴旋转
    • 1、可以使用上篇文章中,同样的方法推导得出围绕Y轴旋转的点阵。
    • 2、求M~rotate~
  • 三、围绕Z轴旋转
    • 1、可以使用上篇文章中,同样的方法推导得出围绕Z轴旋转的点阵。
    • 2、求M~rotate~
  • 四、在Shader实现
    • 1、在属性面板定义四维变量,用xyz控制XYZ轴上的旋转
    • 2、在常量缓冲区申明该变量
    • 3、在 顶点着色器 定义旋转矩阵
    • 4、使用旋转矩阵与模型顶点相乘输出
    • 5、最终效果
  • 五、最终测试代码


前言

在上篇文章中,我们推算出了Shader物体旋转所使用的二维旋转矩阵。

  • Unity中Shader旋转矩阵(二维旋转矩阵)

在这篇文章中,我们来推算得到四维旋转矩阵。


一、围绕X轴旋转

围绕X轴旋转代表,物体顶点的X轴不变。

1、可以使用上篇文章中,同样的方法推导得出围绕X轴旋转的点阵。

在这里插入图片描述

  • 我们把P2增加一维且分量为1

2、求Mrotate

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

二、围绕Y轴旋转

围绕Y轴旋转代表,物体顶点的Y轴不变。

1、可以使用上篇文章中,同样的方法推导得出围绕Y轴旋转的点阵。

在这里插入图片描述

  • 我们把P2增加一维且分量为1

2、求Mrotate

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

三、围绕Z轴旋转

围绕Z轴旋转代表,物体顶点的Z轴不变。

1、可以使用上篇文章中,同样的方法推导得出围绕Z轴旋转的点阵。

在这里插入图片描述

  • 我们把P2增加一维且分量为1

2、求Mrotate

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

可以修改sin函数前面的负号位置实现顺时针还是逆时针。这篇文章中是顺时针


四、在Shader实现

1、在属性面板定义四维变量,用xyz控制XYZ轴上的旋转

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

2、在常量缓冲区申明该变量

CBUFFER_START(UnityPerMaterial)
float4 _Rotation;
CBUFFER_END

3、在 顶点着色器 定义旋转矩阵

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、使用旋转矩阵与模型顶点相乘输出

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

5、最终效果

请添加图片描述


五、最终测试代码

//平移变换
//缩放变换
//旋转变换(四维)
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);//旋转变换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.yayakq.cn/news/437694/

相关文章:

  • 东莞网站推广优化网站怎么开个网店卖东西
  • 有没有做长图的网站手机百度 网站提交
  • 天津平台网站建设设计比赛网站开发
  • 规划电子商务网站建设方案wordpress 支付 api接口
  • 外贸网站屏蔽国内ip广州公司注册代理中介
  • 域名注册网站源码优秀网站设计流程
  • 网站黑链怎么做的上虞中国建设银行官网站
  • 保护动物网站建设策划书滴滴推广联盟
  • 动态ip怎么做网站wordpress 调用摘要
  • dns加网站免费搭建微信小程序
  • 后浪 网站建设类上海都有哪些企业公司
  • 建设020网站需要多少钱正规的企业网站建设
  • 渭南企业网站建设鲅鱼圈企业网站建设
  • 个人网站做什么内容好成都营销型网站制作公司
  • 推介网站描述建设网站的一个具体步骤
  • 8网站免费建站网页设计需要学什么东西
  • 火车票网站建设菠萝蜜影视传媒有限公司
  • 保洁公司在哪个网站做推广比较好阿里云服务器架设网站
  • 公司网站实用性湖北网站推广服务
  • 上海工程建设信息网站企业所得税的计算公式
  • 交友最好的网站建设搜索排名seo
  • 武安专业做网站有货源怎么做电商
  • 三网合一网站建设是指什么北京综合网络营销哪里好
  • 拉丝机东莞网站建设保定网站制作费用
  • 网站做了301怎么查看跳转前网站交互设计网站案例
  • 企业建网站租用服务器好还是买一个好网站开发连接数据库的方法
  • 刷网站软件宁波建设网上银行
  • 潍坊 公司 网站创新的企业网站建设
  • 雅安做网站的公司wordpress幻灯箱插件
  • mvc5 网站开发之美 pdf设计网站账号