赞 | 5 |
VIP | 0 |
好人卡 | 0 |
积分 | 9 |
经验 | 0 |
最后登录 | 2024-11-21 |
在线时间 | 129 小时 |
Lv2.观梦者
- 梦石
- 0
- 星屑
- 944
- 在线时间
- 129 小时
- 注册时间
- 2024-5-22
- 帖子
- 87
|
加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
本帖最后由 utunnels 于 2024-10-16 23:25 编辑
因为我基本不使用这个功能所以没注意。
几天看到别的论坛有人吐槽这个问题,说RM2k上的色调和MV上的很不一样。
我还专门去看了下,那个红绿蓝的滑动条看起来是一样,不过2K的是百分比,从0%-200%,中间值是100%,MV的是-255~255,中间值是0。
虽然两个版本进度条拉到头都是一样的,但是在中间的时候区别就大了,比如MV如果红绿蓝全+128,遇到浅色比较多的情况,可能整个屏幕都白了。
但是因为2k是百分比,所以进度条拉到对应的位置(150%),并没有出现浅色全变白的情况。
这是MV的情况,好像核爆瞬间
这是模拟的RM2K的效果,好像白雾
简单来说,MV的色调改变就是数值直接相加,但是2K是按比例增加,比如150%就相当于在上面覆盖一个半透明的亮屏,50%就相当于覆盖一个半透明的黑屏。
模拟代码如下:
- ToneFilter.prototype.adjustTone = function(r, g, b) {
- r = (r || 0).clamp(-255, 255) / 255;
- g = (g || 0).clamp(-255, 255) / 255;
- b = (b || 0).clamp(-255, 255) / 255;
- var R=1,G=1,B=1;
- //rm 2k tint
- R = r<0?(1+r):(1-r);
- r = r<0?0:r;
- G = g<0?(1+g):(1-g);
- g = g<0?0:g;
- B = b<0?(1+b):(1-b);
- b = b<0?0:b;
- if (r !== 0 || g !== 0 || b !== 0||R !== 1 || G !== 1 || B !== 1) {
- var matrix = [
- R, 0, 0, r, 0,
- 0, G, 0, g, 0,
- 0, 0, B, b, 0,
- 0, 0, 0, 1, 0
- ];
- this._loadMatrix(matrix, true);
- }
- };
复制代码 |
|