
史莱姆是游戏中常见的小怪,最近又活跃在原神世界里,也想做一个放自己游戏里玩。一开始用blender建模,很快发现不知怎么绑骨骼刷权重,软体动物没骨头。深思后觉得史莱姆无非就是扭曲变形的球体而已。只需要重力方向的压缩变形,和水平方向的错切变形就够了。不同位置受压的系数是不同的,越往下越重,压的越扁,错切系数则相反。在unity中可以很容易的用shander实现。
创建一个默认球体,给一个新材质,为材质编写shader 。这里用了Shader Graphy,好处是各渲染管线通用(更正下:不支持builtin即默认渲染管线,urp,hdrp是趋势),更加直观,让开发者更专注于算法本身。但如果完全用默认节点连的话,很快就变蜘蛛网了,所以Shader Graphy提供了自定义节点Custom Function来编写代码。
