2d 上的 3d 元素 HTML5 canvas

3d elements on a 2d HTML5 canvas

我正在使用 HTML5 Canvas 制作 2d 游戏,我想将 3d 角色添加到 2D canvas。

在单独的 "hidden" canvas 上使用 THREE.js 是否是一个好的(甚至可能的)解决方案,每个 3d 字符 1 个。但是然后,将那些“3d”canvases 绘制到主要的 2d canvas?

我可以在 '2d' canvas 上绘制 webGL canvases 吗?

此解决方案有任何潜在问题吗?

是否会违反"best practices"?

我的直觉是这是一个不错的选择。

Webgl 使用 webgl 上下文,而不是 2d。为什么需要不同的 canvas 层?无论如何你可以通过设置透明背景来做到这一点,但是这对你的浏览器来说会很重。您可以在单个 webgl 上下文中(可能在您需要的其他 2d 上下文之上)做的是用不同的角色渲染不同的场景,结果将是相同的