三个 JS 中的圆形平面

问题描述 投票:0回答:2

三个 JS,通常看起来棱角分明、棱角分明。我使用它的时间不长,因此正在努力理解如何弯曲世界。我想必须改变渲染器或其他东西,但想法是采用 2D 地图并将其变成简单的三车道运行游戏。但是,如果你看另一个类似游戏的下图,我怎样才能实现鱼眼效果呢?


(来源:applenapps.com

javascript three.js webgl game-engine perspective
2个回答
0
投票

我会根据距相机的距离对每个顶点进行这种效果。 另外,也许稍微调整一下具有更大垂直视场的透视相机会增强“曲线”的效果。 这只是以某种方式模拟的简单扭曲效果,它可能并不是真正弯曲的。希望这有帮助。


0
投票

我确信有很多可能的不同方法...这是一种可以产生漂亮的桶形失真效果的方法。

您可以通过将普通广角相机渲染到纹理上来完成类似的操作,然后将其投影到镜头形状的平面(甚至是球体),然后实际的屏幕渲染来自指向该纹理的相机。

我没有可用的 ATM 代码,但如果有兴趣,我应该能够在几天内找到它。或者您也可以直接根据 Three.js 示例进行改编。 Three.js 包含一些后处理示例,其中场景首先渲染为纹理,该纹理应用于四边形,然后使用正交相机拍摄。您可以通过将正交相机更改为透视相机来修改这样的示例,然后将四边形扭曲/更改为更合适形状的形状。

极端情况下,这种方法可能会产生一些像素化/块状伪影。

© www.soinside.com 2019 - 2024. All rights reserved.