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

显示效果

场景搭建

3D物体

viewport的属性需要设置大小,以及勾选透明背景Transparent Bg, 选择RenderTarget的垂直翻转属性V Flip这样viewport获得的内容就是正常的

在2D场景中渲染3D物体核心在于使用viewport,viewport可以创建一个场景的输出映射(3D物体+camera),然后使用脚本将viewport的内容赋值给sprite即可显示出来。并且3D物体的动画也是能实时渲染到2D场景的

3D物体

创建脚本设置texture

extends Node2D

func _ready():
    var texture = $viewport.get_texture()
    $Sprite.texture = texture