[Houdini] Vellum constraints——Mass and Thickness


如上图,假设这是一个小铁球和弹簧连接而成的结构。当有铁球悬空时,球越重,连接它的弹簧被拉伸的越长。这个结构落地的时候,小球会先接触地面,弹簧构成的网格不会和地面接触。小球的重量是Mass,大小是Thickness。Mass以mass属性存储在点上,Thickness以pscale属性存储在点上。
Mass计算方式默认为Calculate Varying。这种方式先计算几何体的面积或者体积,乘以Denstiy得到总质量,再把总质量分布到点上,不是平均分布,点密集的地方每个点分到的质量比较小,这样可以保证网格不均匀的几何体不会因为某个部位网格密度高而导致该部位质量过高。
Unchanged方式会在点上写@mass=-1属性。帮助文档的解释是不设置质量。这种模拟结果感觉没有惯性,不太真实。
Set Uniform 。设置所有点都是这个参数的质量。
Calculate Uniform。计算几何体的面积或者体积乘以Density得到总质量,再平均分到所有点上。
Thickness计算方式默认为Calculate Uniform。这种方式把几何体分成小块,算出所有小块的边长和,再除以小块数量,再乘以Egde Length Scale。这样的好处是可以保证一块布料的各个部分厚度相同。
Unchangede方式。会在点上加@pscale=0属性。
Set Uniform。设置所有点都是这个参数的厚度。
Calculate Varying。密度高的地方厚度小,密度低的地方厚度高。模拟树的时候,树干粗,树枝细。