Unity的反射机制及游戏场景

Unity的反射机制及游戏场景

场景中的对象的本质是什么?

首先在场景当中,无论是图片、模型还是音效等等,都是基于GameObject类对象存在的,而GameObject类则是Unity引擎提供给我们的所有对象的基本类型。

将游戏视作一出戏剧,GameObject相当于一个没有任何剧本的演员,其他的各种各样的组件则相当于是可执行的各种各样的工作或表演。

Transform是什么?

在舞台上,无论演员是干什么的,她首先都会有一个明确所在的位置,而Transform就是来提供这一信息的组件,她告诉了不同的游戏物体应该在什么地方,面朝角度及具体缩放信息。

游戏物体如何获取到不同的组件/场景中物体如何进行反射?

在C#中,可以通过反射机制,通过类名获取到这个类的公有属性等信息,同时可以根据获取到的信息新建一个同类型对象并进行操作。

在Unity中,组件添加实质上是首先获取到组件名,再通过组件名去获取到他的公有属性并新建对象,设置对应属性值的时候也是通过反射机制更改对应对象的属性。

Unity场景文件

Unity场景文件本质是一个记录场景中各种对象信息的文本文件,可以在文件中找到场景中所有的对象及关联的脚本信息,本质上并没有存储类对象等,这也说明Unity加载场景时确实是经过反射来获取到各种类型的具体的信息。

例如在场景中包含一个脚本的物体Cube,在场景文件中可以找到它的名称、所在层级等等信息,顺着往下可以看见他的脚本信息,可以看见只记录了一系列公有属性的值、脚本的基础性息(如名字、ID),只在加载场景时才会通过反射机制来实例化这些信息:

游戏场景的本质

游戏场景的本质就是一个后缀为.unity的配置文件,只存储对象相关的公有信息,在运行时才会通过Unity自身的反射机制来进行各个对象的实例化及赋值。

相关推荐
鼎艺创新科技9 小时前
不依赖 UE/Unity:我们如何从零搭建一套国产三维 GIS 渲染引擎
人工智能·算法·unity·游戏引擎·三维电子沙盘
JoyCong199811 小时前
ToDesk个人版、专业版、游戏版、设计版、性能版、团队版权益介绍
大数据·运维·游戏·远程工作·远程操作
wdloumiga17 小时前
使用 Construct 3零基础做一些2D小游戏
python·游戏·游戏2d
新手unity自用笔记17 小时前
unity基于Socket的网络学习
网络·网络协议·学习·unity·c#·游戏引擎
朋友圈自动点赞工具17 小时前
WD_BLACK P10游戏硬盘实测:72款游戏随身带还能剩
游戏·科技资讯
心前阳光19 小时前
Unity之XR Interaction Toolkit | IPointerDownHandler问题
unity·游戏引擎·xr
Είναι η κοπέλα20 小时前
游戏窗口自动化点击与防误点设计:模板匹配 + 区域限制 + 强制置顶
运维·游戏·自动化
熊猫钓鱼>_>21 小时前
从“串数据“焦虑到 Space 自由,我用 Agent Bucket 智能体桶管游戏素材
开发语言·人工智能·游戏·agent·bucket·workbuddy·space
杨丰玮4181 天前
从零手写Java飞机躲障碍游戏|Swing绘图、鼠标跟随、计时器碰撞检测实战(四)
java·游戏·计算机外设
杨丰玮4181 天前
从零手写Java飞机躲障碍游戏|Swing绘图、鼠标跟随、计时器碰撞检测实战(二)
java·游戏·计算机外设