A9VG电玩部落论坛

 找回密码
 注册
搜索
楼主: raywl

ps这代机器的光影,半透明特效实在是高瞻远瞩

[复制链接]

精华
0
帖子
1246
威望
0 点
积分
1308 点
种子
138 点
注册时间
2013-4-6
最后登录
2024-4-26
发表于 2023-11-14 11:39  ·  广西 | 显示全部楼层
raywl 发表于 2023-11-7 17:01
恶神传画面还可以,有打击光源效果,全局也有明显的光影效果,人影也是动态投影,这属于ss超水平发挥了, ...

哈哈哈,又想起一个不错的3D格斗,就是PS也有的那个机器人格斗,好像叫ZOOM?不过ps上有2代,土星就只有1代。不过画面也不错啦,多边形扎实,光源自然,打击也有光效,还会有破甲的飞溅效果和甲坏后露出的破损机体效果。最主要的是帧数不错,很流畅。

不过我个人最喜欢的土星3D游戏还是VR对毒蛇和飞龙RPG,就觉得他们把土星该有的东西都运用的很自然。尤其是飞龙RPG的村落,简简单单的3D堆砌出还不错的观感。那些巨大BOSS的压迫感也很好

精华
0
帖子
8365
威望
0 点
积分
8688 点
种子
523 点
注册时间
2009-7-29
最后登录
2024-5-5
发表于 2024-1-3 04:38  ·  上海 | 显示全部楼层
本帖最后由 raiya2 于 2024-1-3 09:11 编辑

半透明这件事情,本质上来说,就是一个东西的范围的颜色变了。那么其实SS如果硬是要做半透明,其实就是把帧缓存里面某个范围抠出来,变个颜色,再画一遍。

抠图这个能力SS是有的,救火英雄里面就是靠抠图的。

也就是程序上要做两件事情
1,扣出来个范围。
2,把那个范围的颜色改变,重新画一遍。叠加上去。

从现代的分析上来看,SS理论上像素填充能力是够的,帧缓存也是有两个。SS的救火英雄就是用了类似的办法,不过效果也会因为半透明精灵的叠加图层有问题,所以效果不理想。或者说,SS的正确的半透明的做法,不应该是这样的。

SS的问题在于,半透明无法同时作用于背景和精灵。那么完美半透明的实现方式,应该是先将背景和精灵合成为一张图片,然后再网上加半透明。或者从这张合成的图上,抠图一个区域,变个色,然后再和之前的那张图合成。但是SS自带的半透明机能本身就要比网格消耗6倍的运算量,所以我觉得最终解决方法还是不可能依靠SS自己的半透明去处理。

可以看出,在SS上实现半透明效果,就有点像photoshop,要靠抠图变色来实现别人拉一拉半透明的效果,理论上是可以实现相同效果的。但是总的来说SS还是面临着比PS要实现同等半透明效果多至少一倍的图像运算。现实的话,SS的运算能力是不如PS的。对于2D的游戏容易实现一些,3D的话就非常困难。最终能不能实现,对于SS的运算能力极限是有挑战的。

https://www.bilibili.com/video/B ... 34c62d5bcc3660c562f



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

精华
0
帖子
1012
威望
0 点
积分
1022 点
种子
24 点
注册时间
2019-5-6
最后登录
2024-5-5
发表于 2024-1-3 12:09  ·  新疆 | 显示全部楼层
raiya2 发表于 2024-1-3 04:38
半透明这件事情,本质上来说,就是一个东西的范围的颜色变了。那么其实SS如果硬是要做半透明,其实就是把帧 ...

当时这个视频是我2021年B站年报看的最多的一个视频,反复看了18遍,还是不太明白...刀客儿说,FC、SFC不采用帧缓存技术,是因为那个时代帧缓存的价格比FC整机都要高,既然不能用帧缓存,那每张FC画面上就只能画那么些东西,多一点都画不上去,那问题就是:1、FC MD SFC NEOGEO这四部主机,是不是都有这个限制?2、假设FC MD SFC能用到帧缓存技术,那么一张画面上就能突破活动块几十个的限制?想画多少就画多少,只要帧率流畅即可?

精华
0
帖子
1064
威望
0 点
积分
1106 点
种子
15 点
注册时间
2005-9-25
最后登录
2024-5-5
发表于 2024-1-3 14:31  ·  广西 | 显示全部楼层
半透明感觉大家还是没完全了解,其实应该拆成3种情况
1、和sfc一样,用一个半透明背景层做半透明的基础,这时是可以同时对其他背景层和活动块做半透明的(比如ss版洛克人里的玻璃管),而且因为是硬件加速不会有任何性能需求,缺点是用掉了一个背景层往往却只能做一个物体或一个特效(不要看ss背景层支持数量多,实际上有1、2层是给活动块用的)
2、用不支持变形模式的活动块做半透明基础,这时只能对背景层或其他活动块其中一个做半透明,而且没有硬件加速,所以会消耗性能(也就是常见说的6倍时间),注意sfc是不支持这种的,所以披风的问题不会出现在sfc游戏上
3、变形活动块模式,这个是完全不支持半透明的

早期2d加速的游戏机没有帧缓存,但有行缓存。
我觉得其实限制的主要不是帧缓存,而是图形处理器硬件加速的上限,比如sfc的128个活动块、4背景层;ps1即使有帧缓存,但理论12万/秒带纹理多边形,按2个做一个活动块,60帧/秒,每帧活动块上限就是1000个,并不是无限的
如果要假设早期2d游戏机有帧缓存,其实可以参考一下gba的位图模式(常见的3d游戏都是用这个模式),真到这时就不会还想着做2d游戏了,因为效率应该是比不上2d硬件加速的那套上限高的(不仅是数量还有考虑发色数),而且cpu性能比gba更低的话能做的更有限,比如参考286以前的pc游戏或最早的部分pc98,这些就是有帧缓存但没2d硬件加速

精华
0
帖子
8365
威望
0 点
积分
8688 点
种子
523 点
注册时间
2009-7-29
最后登录
2024-5-5
发表于 2024-1-3 19:07  ·  上海 | 显示全部楼层
本帖最后由 raiya2 于 2024-1-3 19:17 编辑
bonedaugon 发表于 2024-1-3 14:31
半透明感觉大家还是没完全了解,其实应该拆成3种情况
1、和sfc一样,用一个半透明背景层做半透明的基础,这 ...


我的意思是,半透明可以作假的。半透明不过就是颜色变了变,那些机器的所谓半透明机能本来也就是变个颜色的算法,没有标准的。

而帧缓存里面的那帧,实际上跟精灵和多边形都没关系,那已经合成成了一张图片了。PS的3D模糊残影效果,就是用帧缓存里面那张合成好的上一帧,直接半透明处理,和当前的一帧叠加出来的。

而对于SS,不知道他有没有这种能力。而且要实现普通半透明效果,是要对当前帧叠加的,运算能力就未必够。没有半透明实际上好处理,就是抠图,把比如说火焰的范围的背后那块,从已经合成的当前帧里面抠出来。然后根据火焰的颜色,或者指定几个模式,变个色,做个近似效果。当然咯最终还是看SS的性能够不够。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

精华
0
帖子
1064
威望
0 点
积分
1106 点
种子
15 点
注册时间
2005-9-25
最后登录
2024-5-5
发表于 2024-1-3 22:24  ·  广西 | 显示全部楼层
有假的半透明(MD上的淡入淡出),而真的半透明是标准的,两种颜色经过一系列运算(这就是为什么需要性能,硬件加速就是类似视频解码固化了这部分运算需要的硬件结构到图形处理器里)得到两种颜色各一半的结果,所以叫做“半”透明。到3d游戏就进化成阿尔法混合了(半透明等于1位的阿尔法混合,ps1是2位,model3是64位;从n64开始就是完整的256位)

只有双重缓存以上才有一个帧缓存(后帧缓存)是最终的图片,其他情况下的帧缓存都是一个临时载体,这里也是阿尔法混合最发挥功能的地方,也正是因为这样合金装备1才能进行2个图像的半透明叠加,到ps2和ngc为了更复杂的效果(景深之类),甚至都选了更高带宽且低延迟的载体做帧缓存

ss也是一样的,不同的是ss多一个步骤,多边形缓存要借用1、2个背景层输出到背景层缓存,也就是最后帧缓存是背景层那部分的缓存,而在这里半透明是硬件加速的,所以为什么半透明火焰要借助这里实现。实际步骤是:
1、火焰是变形活动块(多边形,不支持半透明),单独把火焰扣出来,把这部分生成一个背景图层a,作为半透明的基础
2、绘制其他多边形(变形活动块,不支持)和其他背景层b
3、多边形缓存通过背景层0或1做载体,作为一个背景层c
4、将a、b、c等背景层做半透明处理输出,这样就实现了多边形的火焰和其他多边形半透明
并不需要差不多麻烦的步骤去做假效果(近似效果),唯一的问题是比正常游戏的流程多了第1个步骤,帧数理论最多会比正常时低不到一半(大概就是30帧掉到15帧以上的程度)。是的,这个流程其实是ss游戏的正常实现流程,反而是合金装备1的这个效果可能参考过ss的

精华
0
帖子
885
威望
0 点
积分
1216 点
种子
394 点
注册时间
2015-4-12
最后登录
2024-5-3
 楼主| 发表于 2024-1-4 13:34  ·  未知 | 显示全部楼层
本帖最后由 raywl 于 2024-1-4 13:36 编辑
bonedaugon 发表于 2024-01-03 22:24
有假的半透明(MD上的淡入淡出),而真的半透明是标准的,两种颜色经过一系列运算(这就是为什么需要性能,硬件加速就是类似视频解码固化了这部分运算需要的硬件结构到图形处理器里)得到两种颜色各一半的结果,所以叫做“半”透明。到3d游戏就进化成阿尔法混合了(半透明等于1位的阿尔法混合,ps1是2位,model3是64位;从n64开始就是完整的256位)

只有双重缓存以上才有一个帧缓存(后帧缓存)是最终的图片,其他情况下的帧缓存都是一个临时载体,这里也是阿尔法混合最发挥功能的地方,也正是因为这样合金装备1才能进行2个图像的半透明叠加,到ps2和ngc为了更复杂的效果(景深之类),甚至都选了更高带宽且低延迟的载体做帧缓存

ss也是一样的,不同的是ss多一个步骤,多边形缓存要借用1、2个背景层输出到背景层缓存,也就是最后帧缓存是背景层那部分的缓存,而在这里半透明是硬件加速的,所以为什么半透明火焰要借助这里实现。实际步骤是:
1、火焰是变形活动块(多边形,不支持半透明),单独把火焰扣出来,把这部分生成一个背景图层a,作为半透明的基础
2、绘制其他多边形(变形活动块,不支持)和其他背景层b
3、多边形缓存通过背景层0或1做载体,作为一个背景层c
4、将a、b、c等背景层做半透明处理输出,这样就实现了多边形的火焰和其他多边形半透明
并不需要差不多麻烦的步骤去做假效果(近似效果),唯一的问题是比正常游戏的流程多了第1个步骤,帧数理论最多会比正常时低不到一半(大概就是30帧掉到15帧以上的程度)。是的,这个流程其实是ss游戏的正常实现流程,反而是合金装备1的这个效果可能参考过ss的


如果ps是2位,model3是64位的话,感觉ps的半透明比model3的表现好,这还得是世嘉压根就不去搞半透明,觉得非华丽的半透明那叫硬朗风格,参考格斗之蛇2,电脑战机2的那种半透明,很粗糙,到了ps2时代的电脑战机才改回现代感。

model3版











ps2版



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
发自A9VG Android客户端

精华
0
帖子
10058
威望
0 点
积分
10199 点
种子
131 点
注册时间
2008-6-19
最后登录
2024-5-5
发表于 2024-1-4 14:24  ·  广东 | 显示全部楼层
raywl 发表于 2024-1-4 13:34
如果ps是2位,model3是64位的话,感觉ps的半透明比model3的表现好,这还得是世嘉压根就不去搞半透明,觉 ...

PS1上面也有一個類似的機器人對機器人游戲,操作方式和這個作品幾乎一樣,我忘記是不是高達系列了,但是單純光影特效來説,秒殺model2的

精华
0
帖子
1064
威望
0 点
积分
1106 点
种子
15 点
注册时间
2005-9-25
最后登录
2024-5-5
发表于 2024-1-4 15:12  ·  广西 | 显示全部楼层
raywl 发表于 2024-1-4 13:34
如果ps是2位,model3是64位的话,感觉ps的半透明比model3的表现好,这还得是世嘉压根就不去搞半透明,觉 ...

之前讨论的时候做游戏美术的那位网友不是说了吗,你图中的这种效果只要支持半透明就能做,做成如何是制作的事,不是硬件技术的问题
更完善的阿尔法混合功能应该更多是用在多边形上,凡是涉及到距离的,应该都要用到,比如雾化,实际上最近我了解到雾化这个不单是做远浓近淡雾的效果,正常的多边形渲染时应该也要用,比如现实一个物体质地颜色是一致的,但如果它是无限长的,我们实际肉眼观察它离我们近的一端和离我们远的一端,颜色是有差别的,并不会一致。这个游戏里也要和雾一样能自动根据纵深距离实现,不需要美工去适配

精华
0
帖子
885
威望
0 点
积分
1216 点
种子
394 点
注册时间
2015-4-12
最后登录
2024-5-3
 楼主| 发表于 2024-1-4 16:33  ·  未知 | 显示全部楼层
本帖最后由 raywl 于 2024-1-4 16:41 编辑
bonedaugon 发表于 2024-01-04 15:12


之前讨论的时候做游戏美术的那位网友不是说了吗,你图中的这种效果只要支持半透明就能做,做成如何是制作的事,不是硬件技术的问题
更完善的阿尔法混合功能应该更多是用在多边形上,凡是涉及到距离的,应该都要用到,比如雾化,实际上最近我了解到雾化这个不单是做远浓近淡雾的效果,正常的多边形渲染时应该也要用,比如现实一个物体质地颜色是一致的,但如果它是无限长的,我们实际肉眼观察它离我们近的一端和离我们远的一端,颜色是有差别的,并不会一致。这个游戏里也要和雾一样能自动根据纵深距离实现,不需要美工去适配


所以我说的是世嘉坚持所谓的硬派风格,硬件明摆着更高级的model3,做出来的半透明效果还没ps华丽。














本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
发自A9VG Android客户端
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|A9VG电玩部落 川公网安备 51019002005286号

GMT+8, 2024-5-6 01:55 , Processed in 0.252432 second(s), 15 queries , Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

返回顶部