[译]Godot系列教程三 - 场景实例化(续)

简介: 场景实例化(续)要点场景实例化带来很多便利的用法,总体来说有:将场景细分,更便于管理相对于某些引擎中的Prefab组件更灵活,并且在许多方面更强大是一种设计更复杂的游戏流程甚至UI的方式这是一种设计语言场景实例化真正强悍的地方就在于它是以一种卓越的设计语言的机制运行的。

场景实例化(续)

要点

场景实例化带来很多便利的用法,总体来说有:

  • 将场景细分,更便于管理
  • 相对于某些引擎中的Prefab组件更灵活,并且在许多方面更强大
  • 是一种设计更复杂的游戏流程甚至UI的方式

这是一种设计语言

场景实例化真正强悍的地方就在于它是以一种卓越的设计语言的机制运行的。这一点使得Godot区别于其它引擎,并有很大的不同。Godot整个引擎从底层开始都是围绕着这个概念进行设计的。

在使用Godot制作游戏时,建议把MVC或ER图这样的设计模式先抛开一边,而开始用更自然的方式思考游戏:设想出游戏中的可见元素,这些元素可由任何人去命名,而不仅仅是开发者。

例如,这是一款简单的射击游戏能设想出的元素:

img_3b0968ff3267b30baa3da5c04ea94514.png

几乎对于任意类型的游戏,提炼出这样一张图(Diagram)都非常简单。仅需将脑子里出现的元素记下来,然后用带剪头的线标注出所代表的所有者关系就行了。

一旦这种图确定好了,制作游戏的过程就是先为图上的这些节点创建相应场景,然后利用场景实例化(通过编码或编辑器直观操作)来代表其所有者关系。

对于大多数的游戏开发或通常意义的软件开发来说,时间都是花费在架构设计及填充架构中的游戏组件上。而基于场景的设计使得整个开发过程变快很多,而且更直观,让你可以更关注游戏本身的东西。基于场景/场景实例化的设计,由于多数的组件直接对应到某个场景,极大的节省了那部分架构设计的工作。这样,项目中几乎不需要或者仅需少量架构性代码即可。

下面是一个较为复杂的例子 - 一个开放世界类型的游戏,带有很多资源文件(Asset),并有些交互效果:

img_11864e8aac981cfbb4713b07848ef10e.png

先制作一些带有家具的房间,将它们联系起来。再制作房子,并将那些房间作为其内部构成。

房子可以作为城堡的一部分,城堡中会有很多房子。最后,城堡可以放到世界地形图中。还可以将前面创建的守卫及其它非玩家角色(NPC)添加给城堡。

使用Godot时,游戏可以根据需要快速壮大,因为仅仅是更多的子场景在被创建和实例化。Godot的编辑器也是面向非程序员的操作习惯设计的,常规团队开发环境的角色:三维或二维设计师、关卡设计师、游戏设计师、动画师等等都能使用编辑器界面进行协作。

信息量有点大了是吗?!

不用有太多担心啦,这部分文档的最重要目的让你对实际开发过程中场景和实例化的用法产生一些认知。要想全部理解,最好的方式是动手去做些游戏。

在实践过程中,所有的东西都会变得明晰起来的,所以别挠头了,继续看下一篇!

目录
相关文章
|
6月前
|
JavaScript
js中如何使用工厂方式和构造函数创建对象,web开发项目实例
js中如何使用工厂方式和构造函数创建对象,web开发项目实例
|
6月前
|
存储 数据安全/隐私保护 C++
C++零基础教程(C++的类2)
C++零基础教程(C++的类2)
52 0
|
6月前
|
存储 数据安全/隐私保护 C++
C++零基础教程(C++中的类)
C++零基础教程(C++中的类)
42 0
|
6月前
|
编译器 C++
C++零基础教程(C++中的类1)
C++零基础教程(C++中的类1)
64 0
|
Java API
一网打尽“类”的初始化实例化知识点
之前说了类加载的过程,但是有的读者表示还是有些面试题还是答不来,所以今天就来总结下类加载、对象实例化方面的知识点/面试题,帮助大家加深印象。
142 0
一网打尽“类”的初始化实例化知识点
|
设计模式 图形学
同事看了我的代码惊呼:居然是这么在Unity中用单例的
今天,同事问我:“在Unity中怎么用单例呀” 然后我就把我写的代码甩过去了。 同事:“哦,原来是这么用的,你来给我演示一下吧”
|
JavaScript
手摸手一起学习Typescript第五天 - Class 类 / 类与接口
手摸手一起学习Typescript第五天 - Class 类 / 类与接口
|
vr&ar 图形学
【100个 Unity小知识点】 | Unity中常用的几种单例写法
Unity 小科普 老规矩,先介绍一下 Unity 的科普小知识: Unity是 实时3D互动内容创作和运营平台 。 包括游戏开发、美术、建筑、汽车设计、影视在内的所有创作者,借助 Unity 将创意变成现实。 Unity 平台提供一整套完善的软件解决方案,可用于创作、运营和变现任何实时互动的2D和3D内容,支持平台包括手机、平板电脑、PC、游戏主机、增强现实和虚拟现实设备。
|
Java
Java内部类细节演示
Java内部类细节演示
130 0
|
设计模式 Java 程序员
别再到处 new 对象了,试试 3 大工厂模式,真香!!
你还在到处 new 对象吗? 单身狗:我没对象,new 怎么了?
120 0