查看: 4598|回复: 6

[已经过期] 【RGD】如何在精灵zoom上应用二次插值法缩放

[复制链接]
梦石
5
星屑
3525
在线时间
403 小时
注册时间
2016-6-25
回帖
217
发表于 2019-3-31 15:22:39 | 显示全部楼层 |阅读模式
悬赏1000星屑已解决
本帖最后由 零教授 于 2019-3-31 15:24 编辑

1.png
sf1.jpg
sf2.jpg
我这边用的是RGD框架,
做的是Galgame,
Sprite类的一些比较基础的功能(基于RGSS的)我已经自行完成了,
但是改变zoom值让图片放大缩小(尤其是缩小)依然用的最近邻法,
放大稍微糊一点这边还在接受范围,但是Nearest缩小出现的锯齿无法忍受……这对卖画面的Galgame是致命的,
之前有请C++程序员写过图形缩放dll,改了bitmap对象的像素后存一个临时文件然后读取进游戏,
但是这样以来动态缩放(根据帧改变zoom)就极为吃资源了,
而且极不方便,
既然RGD是基于DX的,应该有办法让Sprite的zoom改变为二次立方插值法的缩放吧@⑨姐姐   @fux2  
请求援助……
可接受付费定制脚本,
可接受Sprite类的重置

最佳答案

查看完整内容

首先线性插值和二次插值粗看效果应该是差别不大的(还是说你要的其实是双线性插值Bilinear?),可以用Graphics.filter = 1来让游戏里的所有缩放使用线性插值。 如果要实现二次插值,我记得HLSL的sampler里没有默认选项,只能在shader里自己实现了,思路大概就是用tex2D取最近的三个像素点(需要从0到1的坐标乘以图片宽度和高度,得到像素点坐标)的颜色,然后用二次函数插值。 ...
横版类魂动作游戏《幻恋夜宴》好评发售中!https://store.steampowered.com/app/1684100
恋恋冒险CRPG《东方恋迷踪》~~火热开发中~~

梦石
28
星屑
10170
在线时间
4673 小时
注册时间
2011-8-22
回帖
1216

开拓者

发表于 2019-3-31 15:22:40 | 显示全部楼层
首先线性插值和二次插值粗看效果应该是差别不大的(还是说你要的其实是双线性插值Bilinear?),可以用Graphics.filter = 1来让游戏里的所有缩放使用线性插值。

如果要实现二次插值,我记得HLSL的sampler里没有默认选项,只能在shader里自己实现了,思路大概就是用tex2D取最近的三个像素点(需要从0到1的坐标乘以图片宽度和高度,得到像素点坐标)的颜色,然后用二次函数插值。

评分

参与人数 1赞 +1 收起 理由
零教授 + 1 窗口还看不出,全屏一看果然线性插值变平滑.

查看全部评分

回复

使用道具 举报

梦石
5
星屑
3525
在线时间
403 小时
注册时间
2016-6-25
回帖
217
 楼主| 发表于 2019-3-31 15:42:21 | 显示全部楼层
⑨姐姐 发表于 2019-3-31 15:28
首先线性插值和二次插值粗看效果应该是差别不大的(还是说你要的其实是双线性插值Bilinear?),可以用Grap ...

2.png
3.png
这是线性插值后的,感觉和默认没区别?
PS和图片预览软件里我不太清楚是Bilinear还是Bicubic,
感觉Bicubic会好一点?(不懂图形学)
横版类魂动作游戏《幻恋夜宴》好评发售中!https://store.steampowered.com/app/1684100
恋恋冒险CRPG《东方恋迷踪》~~火热开发中~~

回复

使用道具 举报

梦石
28
星屑
10170
在线时间
4673 小时
注册时间
2011-8-22
回帖
1216

开拓者

发表于 2019-3-31 15:44:42 | 显示全部楼层
零教授 发表于 2019-3-31 15:42
这是线性插值后的,感觉和默认没区别?
PS和图片预览软件里我不太清楚是Bilinear还是Bicubic,
感觉Bic ...

bicubic确实会好一些(理论上,但是实际看上去应该影响不大吧)。
PS的插值可以在首选项里调的。

如果不确定效果的话可以试试做个对比图?在PS缩放以后看看具体效果什么的?

点评

1000像素以上的立绘差距会很明显,40像素的贴图没啥影响  发表于 2020-7-12 21:45
回复

使用道具 举报

梦石
5
星屑
3525
在线时间
403 小时
注册时间
2016-6-25
回帖
217
 楼主| 发表于 2019-3-31 16:28:50 | 显示全部楼层
本帖最后由 零教授 于 2019-3-31 17:07 编辑
⑨姐姐 发表于 2019-3-31 15:44
bicubic确实会好一些(理论上,但是实际看上去应该影响不大吧)。
PS的插值可以在首选项里调的。


2near.png
最邻近

2线.png
二次线性

2立.png
二次立方

二次立方肯定是最好的,二次线性如果仔细观察还是可以发现锯齿,但是这里可以接受吧,
然后就是在shader里实现二次线性的问题了

点评

我之前好像找时间实现了下立方插值,效果……一般吧,可能RM默认的元件也体现不出太大差别  发表于 2020-7-12 21:11
横版类魂动作游戏《幻恋夜宴》好评发售中!https://store.steampowered.com/app/1684100
恋恋冒险CRPG《东方恋迷踪》~~火热开发中~~

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部