Random 如何在Godot中随机生成3d世界?

Random 如何在Godot中随机生成3d世界?,random,godot,procedural-generation,gdscript,Random,Godot,Procedural Generation,Gdscript,我正在尝试创建一个基于网格的随机生成的世界。其工作方式是从一组可能的世界块中随机选择,然后在3x3网格中生成9个。但是,要做到这一点,我需要知道如何将节点添加到阵列中,以及如何在将子节点添加到场景树之前或之后在子节点周围移动。我知道这一切背后的理论,我只需要戈多使用的命令来实现这一点。它们是什么?另外,如果您需要任何其他信息来回答,请告诉我 然而,要做到这一点,我需要知道如何将节点添加到数组中 请看以下代码: var _objToSpawn : PackedScene = preload('re

我正在尝试创建一个基于网格的随机生成的世界。其工作方式是从一组可能的世界块中随机选择,然后在3x3网格中生成9个。但是,要做到这一点,我需要知道如何将节点添加到阵列中,以及如何在将子节点添加到场景树之前或之后在子节点周围移动。我知道这一切背后的理论,我只需要戈多使用的命令来实现这一点。它们是什么?另外,如果您需要任何其他信息来回答,请告诉我

然而,要做到这一点,我需要知道如何将节点添加到数组中

请看以下代码:

var _objToSpawn : PackedScene = preload('res://path_to_object.tscn')
var _nodeArr : Array = []

func _spawnObjectAndAddToArr() -> void:
    var newObj : ObjectClass = _objToSpawn.instance()
    add_child(newObj)
    
    _nodeArr.append(newObj)
该代码从文件加载场景,创建新数组,然后定义生成加载文件的函数,将其添加为当前节点的子节点,并将其添加到预先定义的数组中

以及在将子节点添加到场景树之前或之后围绕其移动

在3d中,要使对象具有位置,它必须最终扩展到空间。然后更改对象的
平移
变换.原点

var _objToSpawn : PackedScene = preload('res://path_to_object.tscn')
var _nodeArr : Array = []

func _spawnObjectAndAddToArr() -> void:
    var newObj : ObjectClass = _objToSpawn.instance()
    add_child(newObj)

    newObj.translation = translation
    
    _nodeArr.append(newObj)
编辑:另外,如果要将其添加到场景树中,请使用
get\u tree(),而不是
add\u child
。当前场景。add\u child

然而,要做到这一点,我需要知道如何将节点添加到数组中

请看以下代码:

var _objToSpawn : PackedScene = preload('res://path_to_object.tscn')
var _nodeArr : Array = []

func _spawnObjectAndAddToArr() -> void:
    var newObj : ObjectClass = _objToSpawn.instance()
    add_child(newObj)
    
    _nodeArr.append(newObj)
该代码从文件加载场景,创建新数组,然后定义生成加载文件的函数,将其添加为当前节点的子节点,并将其添加到预先定义的数组中

以及在将子节点添加到场景树之前或之后围绕其移动

在3d中,要使对象具有位置,它必须最终扩展到空间。然后更改对象的
平移
变换.原点

var _objToSpawn : PackedScene = preload('res://path_to_object.tscn')
var _nodeArr : Array = []

func _spawnObjectAndAddToArr() -> void:
    var newObj : ObjectClass = _objToSpawn.instance()
    add_child(newObj)

    newObj.translation = translation
    
    _nodeArr.append(newObj)

编辑:另外,如果要将其添加到场景树中,请使用
get\u tree(),而不是
add\u child
。当前场景。add\u child

是否尝试编程?发布你已经拥有的代码或尝试编写脚本,然后过来问你是否还有任何问题。你是否尝试过编程?发布你已经拥有的代码,或者尝试编写一些脚本,然后过来问你是否还有任何问题。