前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Golang语言情怀--第114期 全栈小游戏开发:第5节:节点层级和渲染顺序

Golang语言情怀--第114期 全栈小游戏开发:第5节:节点层级和渲染顺序

作者头像
李海彬
发布2023-11-20 12:49:50
1250
发布2023-11-20 12:49:50
举报
文章被收录于专栏:Golang语言社区Golang语言社区

通过前面的内容,我们了解了通过节点和组件的组合,能够在场景中创建多种元素。当场景中的元素越来越多时,我们就需要通过节点层级来将节点按照逻辑功能归类,并按需排列它们的显示顺序。

了解层级管理器

创建和编辑节点时,场景编辑器 可以展示直观的可视化场景元素。而节点之间的层级关系则需要使用 层级管理器 来检查和操作。请先阅读 层级管理器 面板介绍,来掌握 层级管理器 的使用方法。

节点树

通过 层级管理器 或运行时脚本的操作,建立的节点之间的完整逻辑关系,就叫做节点树。

我们用一个简单的游戏场景来看一下什么是节点树。下图中包括背景图像、一个主角(小球)、标题、跳板、钻石和开始游戏的按钮:

每个视觉元素都是一个节点,通常我们不会把所有节点平铺在场景上,而是会按照一定的分类和次序(比如根据自己的喜好)组织成节点树,例如:

我们把显示在上层的叫做父节点,显示在下层的叫做子节点。在 层级管理器 中,上图的节点树就会是这个样子:

因为 Creator 3.0 的 UI 节点需要其任意上级节点至少得有一个含有 UITransform 组件,在创建时若不符合规则,便会自动添加一个 Canvas 节点作为它的父级,所以上图中的节点树便将 UI 节点都统一放在了 Canvas 节点下。然后根据类别分别创建父节点,并将同类节点放在一个父节点下,从而构建出的节点树。

在实际游戏项目中我们还可以根据需要采用其他方式(例如游戏逻辑)来组织节点树。

节点渲染顺序

3D 节点的渲染与距离相机的 Z 坐标值,透明度等有关系。 UI 节点的渲染和遮挡关系则受节点树的影响,在 层级管理器 中会按照节点排列顺序从上到下依次渲染,也就是说显示在列表上面的节点在场景中会被下面的节点遮盖住。因此,子节点永远都会遮盖住父节点。详情可参考 UI 渲染排序规则。

其他渲染相关可参考:

  • 图形渲染
  • 粒子渲染
  • 模型分组渲染

性能考虑

注意,虽然说父节点可以用来组织逻辑关系甚至是当做承载子节点的容器,但节点数量过多时,场景加载速度会受影响,因此在制作场景时应该避免出现大量无意义的节点,尽可能合并相同功能的节点。

本期就到这里,下期再见。

同学们,兴趣是最好的老师;只争朝夕,不负韶华!加油!

参考资料:

Go语言中文文档

http://www.golang.ltd/

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2023-11-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Golang语言情怀 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 了解层级管理器
  • 节点树
  • 节点渲染顺序
  • 性能考虑
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档