实现在2D场景中显示3D物体

场景搭建

viewport
的属性需要设置大小,以及勾选透明背景Transparent Bg
, 选择RenderTarget
的垂直翻转属性V Flip
这样viewport获得的内容就是正常的
在2D场景中渲染3D物体核心在于使用viewport,viewport可以创建一个场景的输出映射(3D物体+camera),然后使用脚本将viewport的内容赋值给sprite即可显示出来。并且3D物体的动画也是能实时渲染到2D场景的

创建脚本设置texture
extends Node2D
func _ready():
var texture = $viewport.get_texture()
$Sprite.texture = texture