请教各位大佬这种伪3d效果怎么实现呢?


如图,这个游戏怪物或道具弹幕从上往下,越来越大,给人一种3d的效果,请教各位大佬,该怎么实现呢?总不能每个元素都要计算y位置占比,然后设置缩放比吧?

用tween同时控制移动和缩放就可以了

这是什么游戏,我也想知道怎么实现这种效果

你猜对了,就是根据Y坐标缩放。
或者你也可以用透视相机。

这个方法理论上是可以的,但是画面中所有元素都要这么操作,如果元素非常多,感觉就有点繁琐且费cpu

透视相机是什么,没接触过 :rofl:相当于是3d场景做成2d显示吗?

相机有两种,正交和透视,正交就是物体不会随着摄像机的距离而产生大小变化,一般用户2d游戏。透视就是近大远小,一般用于3d游戏。你这个游戏还是比较适合用透视相机的,但是游戏整体就得改了。

https://www.bilibili.com/video/BV1jg411K7C2/?vd_source=551a8129a468823f8be3c5001448679f

建议你看看这个视频,也许会有启发

感谢大佬细心指导 :+1:t2:

Tap上搜索 诡道修真记

游戏叫啥名字?

写一套近大远小,根据y值scale的算法就行了,然后封装个set3dY()

射击的子弹也需要根据左右不同位置有一个斜射的角度

方法1. 增加一个自定义shader,做伪透视
方法2. 放到真实的3d场景中,用mesh立起来,用透视相机
方法3. 在ts代码里面写缩放代码