Godot 4.0 加载为占位符(InstancePlaceholder)的用法和特点

这篇具有很好参考价值的文章主要介绍了Godot 4.0 加载为占位符(InstancePlaceholder)的用法和特点。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

加载为占位符的功能设计上是用来辅助选择性加载场景的。比如一个很庞大的3D世界,玩家一时之间只会处在世界一小部分区域内,同时让整个地图驻留于内存是不现实的,此时需要选择性地灵活加载地图,使用Godot的"加载为占位符"功能可辅助这项工作的进行。
本人以开发2D游戏为主,发现此功能也可为我提供便利。

基本使用

  1. 将节点保存为场景。
    把希望动态加载的每个节点拖入"文件系统"对话框中,这将使场景被储存起来成为资源。
    Godot 4.0 加载为占位符(InstancePlaceholder)的用法和特点


  2. 加载为占位符。
    右键场景中刚刚操作的节点,勾选"加载为占位符"
    Godot 4.0 加载为占位符(InstancePlaceholder)的用法和特点


  3. 编写脚本,在希望的时机实例化它
    就像获取一般节点一样获取到此节点,然后调用其CreateInstance()函数。C#需要将其转化为InstancePlaceholder才可调用该函数。

//C# code
var node = GetNode("../TheNode");
var placeholderNode = node as InstancePlaceholder;
var target = placeholderNode.CreateInstance();

(启动游戏后,物体没有被立即加载)
Godot 4.0 加载为占位符(InstancePlaceholder)的用法和特点


(↓点击"加载"按钮后,物体被加载了)
Godot 4.0 加载为占位符(InstancePlaceholder)的用法和特点



效果与特点

在代码中像上文那样调用函数后,看上去物体已经被实例化了。

如何取得实例化出来的节点?

CreateInstance()会返回实例化出来的节点。

反复实例化会怎样?

目标物体会被多次创建。

Godot 4.0 加载为占位符(InstancePlaceholder)的用法和特点

实例化后的物体替换了原有节点吗?

并没有。实例化后的节点是新的节点,实例化与作为占位符节点的节点是兄弟关系,

并且Godot会为节点取新的名字。

如果多次实例化,取的名字中带有的序号会递增。
Godot 4.0 加载为占位符(InstancePlaceholder)的用法和特点


如果你时不时会移除、重新实例化此场景,这似乎是一个合适的设计。

值得注意的bug

节点保存为场景资源后,不要修改该资源的名称。

若进行了修改,原场景将无法找到该资源,并且设置为占用符的节点无法实例化,更糟的是你正在编辑的场景可能因为无法找到此依赖而无法保存,
按理来说Godot内部应该会维护资源名称的变更,但是这次它没有(我使用的版本v4.0.2.stable.mono.official [7a0977ce2],该问题存在。)

跟踪这个Issue以获得Bug修复进展
https://github.com/godotengine/godot/issues/37818

如果遇到了此问题,尝试改回原场景名,或用文本编辑器编辑场景文件(.tscn)使依赖恢复正常。

参考

https://docs.godotengine.org/en/stable/classes/class_instanceplaceholder.html文章来源地址https://www.toymoban.com/news/detail-436875.html

到了这里,关于Godot 4.0 加载为占位符(InstancePlaceholder)的用法和特点的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Godot 4.0 遮罩一个2D物体,使其部分显示

    本文针对Godot 4.0。 我也查到了Godot 3.5如何实现遮罩,见这个链接 https://ask.godotengine.org/3031/how-do-i-mask-a-sprite 由于查到的大部分教程均针对3.5版本,特此提供4.0版本的教程。 Godot4.0的遮罩不是一个单独的节点,这个功能被包含在了一个常见的基类 CanvasItem 内。 若要遮罩一个物体,可

    2024年02月08日
    浏览(68)
  • Godot引擎 4.0 文档 - 循序渐进教程 - 节点和场景

    Nodes and Scenes — Godot Engine (stable) documentation in English 在Godot 关键概念概述中,我们看到 Godot 游戏是一棵场景树,每个场景都是一棵节点树。在本课中,我们将对它们进行更多解释。您还将创建您的第一个场景。 节点是游戏的基本构建块 。它们就像食谱中的配料。Godot中有几十

    2024年02月05日
    浏览(87)
  • CSS 图片加载提前占位 padding-top、padding-bottom

    今天聊一个图片加载提前占位的一个问题 🤔,内容比较适合初学者。 在响应式页面当中,图片加载之前是不知道图片高度的,加载成功图片完全撑开。如果不做提前占位会把下面的内容挤下去,页面出现抖动,就像下面效果一样: 假如图片是自适应的,宽度为屏幕宽度的

    2024年02月08日
    浏览(29)
  • 安装.net framework 4.0提示已是操作系统一部分但vs2010无法加载指定4.0版本的项目

     当vs2010加载项目出现这个情况时,因为win10操作系统已经有了.NET Framework 4.0,我们进入这个下载网站下载的安装包无法安装,有两个解决方法: 1.运行vs2010安装包选择修复 2.安装vs2019,在vs安装器中选择.NET Framework 4.0

    2024年01月16日
    浏览(52)
  • 《入门级-Cocos2d 4.0塔防游戏开发》---第二课:游戏加载界面开发

    目录 一、开发环境介绍 二、开发内容 2.1 修改窗口的大小。 2.2 添加加载场景相关代码 2.3 添加资源 三、显示效果 四、知识点  4.1 Sprite 4.2 定时器 操作系统:UOS1060专业版本。 cocos2dx:版本 环境搭建教程: 统信UOS下配置安装cocos2dx开发环境_三雷科技的博客-CSDN博客        游

    2024年02月15日
    浏览(62)
  • element UI中loading加载框的花式用法

    前言:           前端为了优化体验效果必不可少的就是加载框loading的使用。接口是异步的,获取数据是需要时间的,万一网络再卡顿下,总不能让用户干等着没数据的页面。那loading就必不可少了! 一.   常规使用(进入页面加载使用,针对某一部分,比如页面中的表格

    2024年02月10日
    浏览(55)
  • uni-app的tabBar用法(自动、点击刷新页面,loading加载框)

    一.先在package.json中配置tabBar(前置条件) tabBar所跳转的页面应事先在page中创建好!如下配置后app下方会有可点击的tabBar按钮,在list中设置按钮的个数。  图1         tabBar的 list 属性         text :tabBar按钮的名称         pagePath :tabBar按钮的page页面路径         iconPa

    2024年02月08日
    浏览(51)
  • 【深度学习】torch.utils.data.DataLoader相关用法 | dataloader数据加载器 | pytorch

    dataloader数据加载器属于是深度学习里面非常基础的一个概念了,基本所有的图像项目都会用上,这篇博客就把它的相关用法总结一下。 之所以要写这篇,是想分清楚len(data_loader)和len(data_loader.dataset) 这里加载的数据我们以Mnist手写数据集为例子 torchvision.datasets.MNIST是用来加载

    2024年02月16日
    浏览(58)
  • 【从零单排Golang】第十五话:用sync.Once实现懒加载的用法和坑点

    在使用Golang做后端开发的工程中,我们通常需要声明一些一些配置类或服务单例等在业务逻辑层面较为底层的实例。为了节省内存或是冷启动开销,我们通常采用lazy-load懒加载的方式去初始化这些实例。初始化单例这个行为是一个非常经典的并发处理的案例,比如在java当中,

    2024年02月10日
    浏览(38)
  • 【Godot4自学手册】第一节配置Godot运行环境

    各位同学大家好!我是相信神话,从今天开始,我开始自学2D游戏开发,用到的是Godot4。我准备用视频记录整个开发过程,为自学2D开发的同学趟趟路。让我们开始吧。 首先介绍一下Godot是什么东西,在2D游戏开发中是干啥的? Godot是一款自由开源、由社区驱动的 2D 和 3D 游戏

    2024年01月23日
    浏览(61)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包