码迷,mamicode.com
首页 > 编程语言 > 详细

unity quaternion vector

时间:2018-04-27 16:44:03      阅读:179      评论:0      收藏:0      [点我收藏+]

标签:需要   点数据   高度图   限制   ade   def   cto   phi   graphics   

做脚印呢

做了曲面细分和decal两种

先用正交camera生成 高度图 

采样uv由pos 从world到camera space生成

 

unity对tessellation的支持限制还是比较大的 只能用surfaceshader 

并且开tesse的 surfaceshader就不支持自己vs 到ps 传自定义数据了

 

不配合光照的话 (normal)新增的顶点 看不清楚

unity的 surfaceshader如果不能支持 tessellation 生成的顶点normal传到ps 这功能就没多少意义

 

要生成朝向角色运动方向的脚印 需要生成一组顶点数据 

这个朝向我用四元数算的 

temp = rot * new Vector3(-1f * scale, 0, 1f * scale);//在原点用quaternionXvector3 得到朝向 
va[x++] = pos + temp;              //之后应用到 点所在的位置 ,就相当于 挪到loacalspace rotation之后到world space

                        //不这么做直接rotationXpos得到的是 ((0,0,0)-point)这个vector沿着quarternion旋转之后的vector

                          //Debug.DrawLine(start, dir, Color.green);可以用来debug
temp = rot * new Vector3(-1f * scale, 0, -1f * scale);
va[x++] = pos + temp;

temp = rot * new Vector3(1f * scale, 0, -1f * scale);
va[x++] = pos + temp;
temp = rot * new Vector3(1f * scale, 0, 1f * scale);
va[x++] = pos + temp;

{
mesh = new Mesh();
mesh.hideFlags = HideFlags.DontSave;
mesh.vertices = va;
mesh.uv = ta;
mesh.SetIndices(ia, MeshTopology.Triangles, 0);
}

Graphics.DrawMesh(mesh, Matrix4x4.identity, markMat, 16, camHeight);//16 layer decal

 

unity quaternion vector

标签:需要   点数据   高度图   限制   ade   def   cto   phi   graphics   

原文地址:https://www.cnblogs.com/minggoddess/p/8962970.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!