可以在运行的时候调好参数 copy下来 停止运行后在粘贴上去
可以在运行的时候调好参数 copy下来 停止运行后在粘贴上去
获取坐标:
开发流程:
1、
1、一点想法
2、核心玩法
3、搭建demo评估
VR gesture rig
_Int("int",Int)
你只要看标题即可,重点就是标题无实作
一半的时间都在检讨学生而不是教程内容
请记得抓档案分支One的
然后载入开启场景即可
基本观念Canvas 一致然后设置成800 1280
添加脚本在scripts Name LaunchGame
前七堂课都是讲概念,第八堂课开始实作
或者ba
cache.AddRange的时候,读取的字节数是不是太长了
cache没有重新赋值,不需要ref吧
摄像机:
近平面:超出近平面范围将被舍弃
远平面:超出远平面范围将被舍弃
FOV:视椎体角度
uniform vec2 _res;
uniform vec3 _move;
out vec4 fragColor;
void main()
{
vec3 uv = vec3(gl_FragCoord.xy/_res,1);//映射坐标为0~1
mat3 M = mat3(1,0,_move.x, //x=-0.5
0,1,_move.y,
0,0,1);//平移矩阵
uv = uv * M;//相乘 OpenGL为列向量
vec4 color = texture(sTD2DInputs[0], uv.xy);
fragColor = TDOutputSwizzle(color);
}
模型空间→世界空间→相机空间→屏幕空间
世界空间顶点=模型空间顶点*世界矩阵
相机空间顶点=模型空间顶点*世界矩阵*相机矩阵
uniform vec2 _shear;
uniform vec2 _res;
out vec4 fragColor;
void main()
{
vec2 uv = gl_FragCoord.xy/_res;//将坐标系改为0~1
mat2 shaer = mat2(1,_shear.x,
_shear.y,1); //二维切变矩阵 此时_shear.x=-0.2 _shear.y=0
uv *= shaer; //坐标与矩阵相乘
vec4 outcol = texture(sTD2DInputs[0], uv);
vec4 color = outcol;
fragColor = TDOutputSwizzle(color);
}
正常
XY:
2D缩放矩阵[kx,0
0,ky]
3D缩放矩阵[kx,0,0
0,ky,0
0,0,kz]
和差公式
sin(a+b) = sin(a)*cos(b)+cos(a)*sin(b)
sin(a-b) = sin(a)*cos(b)-cos(a)*sin(b)
cos(a+b) = cos(a)*cos(b)-sin(a)*sin(b)
cos(a-b) = cos(a)*cos(b)+sin(a)*sin(b)
旋转矩阵
点P.X=角度*cos*P的模长
点P.Y=角度*sin*P的模长
P角度=a
P1和P的夹角=b
即
P.X=r*cos(a)
P.Y=r*sin(a)
r=1
则P1的X点 = r*Cos(a+b)
根据和差公式得 = r*Cos(a)*Cos(b)-r*Sin(a)*Sin(b)
化简后得 = P.X*Cos(b)-P.Y*Sin(b)
P1的Y点 = r*Sin(a+b)
根据和差公式得 = r*Sin(a)*Cos(b)+r*Cos(a)*Sin(b)
化简后得 = P.Y*Cos(b)+P.X*Sin(b)
整理得
P1.X = P.X*Cos(b)-P.Y*Sin(b)
P1.Y = P.X*Sin(b)+P.Y*Cos(b)
矩阵写法
[x1,y1]=[cos(b),-sin(b),sin(b),cos(b)]*[x,y]