我是这样实验了一下可以,供参考
我在 Scene2D 的 RuntimeScript 中用 this.scene3D 去访问到 UI3D,
再用 ui3d.sprite 获取 prefab 的根节点.
export class RuntimeScript extends RuntimeScriptBase {
onAwake(): void {
let sprite3d: Laya.Sprite3D = this.scene3D.getChildByName("m_Sprite3D");
let ui3d: Laya.UI3D = sprite3d.getComponent(Laya.UI3D);
let ui3d_root: Laya.Sprite = ui3d.sprite;
console.log("ui3d_root", ui3d_root);
let txtField: Laya.GTextField = ui3d_root.getChildByName("txt");
txtField.text = "New String";
}
}