求助:实现类建造进度的shader

需求是:有一个建筑物,控制他的建造进度,已建造好的显示贴图颜色,未建造好的显示其他自定义颜色,比如黑色。
刚开始我用uv的y和进度值比较来实现,因为我测试的时候是用的自带的胶囊体,看是没有问题,但是美术提供来的模型分出来的uv他不是自上而下,跑起来的效果就不可控,
如下图
image

后来有用模型空间坐标的y和进度值作比较来做,效果倒是可以,但是这个y吧又不是0到1的,在shader里面我不知道怎么映射成0到1,导致同样设置进度0.5,不同的模型显示出来的进度不一样
如图
image

求兄弟们给给招

转到世界空间不就可以了

兄弟,说详细一点

其实你知道模型的尺寸高度那么y轴的高度差应该不难映射到进度把

在shader里没办法知道高度,要么就只能当参数传进去,但是要传高度的话又不太通用,最好是不传

    给模型加个collider, 通过this.node.getComponent(BoxCollider2D).worldAABB.height拿到高度里面还要好几个接口可以拿到坐标最大和最小 具体看collider的相关源码

设定一个建筑高度穿进去呗