0
点赞
收藏
分享

微信扫一扫

SDF弯曲模型函数问题


SDF弯曲模型函数问题

  • ​​背景​​
  • ​​问题是什么​​
  • ​​怎么回事​​
  • ​​mesh​​
  • ​​sdf​​
  • ​​怎么在mesh里计算​​
  • ​​方案A​​
  • ​​方案B​​

背景

sdf中,可以对position进行旋转xy或者yz或者xz达到弯曲的效果

问题是什么

我尝试建立了一个mesh,在vertexShader里使用这种弯曲手法,直接对mesh的点根据position.y进行旋转,旋转矩阵取的逆矩阵,发现结果和sdf的模型位置并对不上

怎么回事

我仔细思考了一下,

mesh

是空间一个点P,mat2=cos(p.y) -sin(p.y) sin(p.y) cos(p.y),
mat2*P得到的才是已知点P0,位于mesh表面,要反推P是多少,然后再拿到mat2的逆矩阵才对

sdf

SDF弯曲模型函数问题_逆矩阵


IQ的图

是根据o+dir * t得到cur,此时刚刚好转到localspace后的cur.y作为mat2的y,构造的mat2 * P 和cur的距离小于0.001这种。也就是其实也不知道P在哪,刚刚好ray能经过,就不需要数值解P了

怎么在mesh里计算

方案A

直接拖进建模软件,掰弯到差不多位置即可

方案B

思考中


举报

相关推荐

0 条评论