游戏引擎安全技术
Ulevel:ue的场景划分模式是基于子关卡来做的,ue4和其他支持大世界的引擎一样支持游戏场景中的物体动态加载与卸载,ue4中的动态加载卸载的子关卡叫做流关卡(streamingleve,ulevelstreaming类),一开始就加载的子关卡叫持久关卡(persistentleve)
uworld:游戏主场景,游戏过程中,一般只存在一个uworld实例
gnames:包含游戏中所有对象的命名字符串信息
gobiets:包含所有游戏对象的链表
gamelnstance:顾名思义,游戏实例,保存着当前的world和其他整个游戏的信息,官方解释是一个正在运行的游戏的高级别管理对象,在游戏创建时生成,游戏关闭时销毁,一个游戏中可以有多gamelnstance.在游戏中切换关卡,gamelnstance不会销毁,切换关卡时可用gamelnstance携带信息
gamemode:负责指定游戏的规则,也就是应该如何玩游戏,遵守哪些规则
gamestate:游戏状态,记录游戏的数据,比如当前游戏的进度,世界人物的完成状态等,可同步到各个客户端

uobject:引擎对象的最小单位
actor:在ue离不是某种具象化的3d世界对象,而是世界里面的种种元素,用更泛化抽
象的概念来看,小到一个个地上的石头,大到整个世界的运行规则,更像是一个容器
rootcomponent:对象根组件,包含对象的位置信息(坐标,朝向)
pawn是作为世界中的一个"代理"的actor.pawn可以由控制器处理,它们可以轻松地
接受输入,并且可以执行各种各样的类似于玩家的动作。
character是类人的pawn.它默认包含一个用于碰撞的capsulecomponent(胶囊体组
件)和charactermovementcomponent(角色运动组件)它可以进行基本的拟人运动,
它可以平滑地在网格上复制运动,并且它具有一些动画相关的功能。
controller是负责管理pawn的actor,分为aicontroller和playercontroller.其中
plavercontroler(玩家控制器)是pawn和控制它的人类玩家间的接口。
plavercontroler本质上代表了人类玩家的意愿。

unity是如何实现跨平台的?
做游戏都知道,游戏肯定需要跨平台,不能只支持一种平台,不然每个对应的平台做出一
种对应的编译器,那会非常浪费时间。所以对于跨平台的需求,对于游戏开发而言,很重
要。unity的架构需求设计当然也需要这个特性。
至于unity是如何实现跨平台的?这就得提到unity脚本后处理(scriptingbackend的两种方
式mono和ll2cpp.让我们来搞清楚这2个的区别。







更新: 2025-03-15 14:56:54
原文: https://www.yuque.com/yuhui.net/network/fgmh6h1d0u82hf6h

评论(0)
暂无评论