关于混色问题
gamemaker吧
全部回复
仅看楼主
level 7
没错我又来不要脸提问了(
假如有两个物体,当这两个物体接触在一起,能否将接触的部分的颜色改变,同色不变,异色改变,假如绿色(0,255,0)与黑色进行碰撞,则将碰撞的部分改为黑色,同理如果黑色与黑色碰撞不变,绿色与绿色碰撞不变,请教下大佬,有没有什么好的blend或shader方法[呵呵]
2021年08月19日 17点08分 1
吧务
level 13
有
2021年08月20日 00点08分 2
大佬教我
2021年08月20日 06点08分
level 11
用shader
2021年08月20日 09点08分 3
有无不用shader的方法
2021年08月20日 14点08分
@永远的伊厨🌸 有,逐个获取像素颜色判等,然后再绘制像素,不过会卡死你
2021年08月20日 16点08分
@MikuScarlet 草,那我用shader吧,谢谢了
2021年08月20日 16点08分
吧务
level 13
问题都没问完就让教,教什么好呢……先教怎么把问题补充完全吧。
提问几个关键要素的状态:
0、目的(要实现的效果):说了,但和没说差不多。同色相遇不变色说了3次,不同色相遇的改变规则只知道绿碰黑变成黑,至于黑碰绿会怎么样没有说(大概会变绿,但也有“变”黑的可能),红碰蓝会怎么样就没法推测了;
1、目前的状态:有使用bm或shader的预期;
2、两者的差异:纯构建(想象)阶段,只是构思的话暂时忽略这部分;
3、现在做了什么:完全没说。嗯,即使是构思阶段,这个效果也是需要框架支撑的。比如“被染色的到底是谁”,是要改变sprite,还是把sprite先绘制到surface上转绘的只需要在surface上改动,还是说本体没有变化而是额外draw一个“新的东西”(额外的object/instace或surface)。比如发生碰撞的两个物体是单向的“染色”,还是“双方交换图案/颜色”,还是“双方取色彩的亮度最低值”,还是……
最后,顶楼的提问“有没有什么好的blend或shader方法”,核心是“有没有方法”,那么答案就只有“有”或“没有”。还有就是,别期待于用一两句话套到一整篇细节完备的教程。
2021年08月21日 00点08分 4
0、 同色相遇不变,不同色相遇我想的是可以指定改变的颜色,现在暂时没有多方面需求,只需要绿色碰黑色变为黑色
2021年08月21日 02点08分
@q糖豆p 3、想碰撞的两个是obj,他们本体不隐藏,但是使用了相应的draw代码,所以本体是通过draw_sprite_ext绘制出来的,目前就是想让这个obj与我ins出来的另一个obj(和上一个一样,只是改了参数)相遇,改变接触部分颜色,染色不是单向取色,是双方交换颜
2021年08月21日 02点08分
建议使用surface。单纯draw_sprite_ext不增加什么东西的话,可以认定封住了实现的可能性。
2021年08月23日 07点08分
@q糖豆p surface做得到吗[疑问]
2021年08月23日 08点08分
1