网站中全景是怎么做的,网页界面设计方案,pc端百度,贸易网站怎么做目录 0 引言1 全局对象#xff08;全局变量#xff09;1.1 游戏实例 GameInstance1.1.1 介绍1.1.2 使用 GameInstance 1.2 玩家控制器 PlayerController1.3 游戏世界类 UWorld #x1f64b;♂️ 作者#xff1a;海码007#x1f4dc; 专栏#xff1a;UE虚幻引擎专栏全局变量1.1 游戏实例 GameInstance1.1.1 介绍1.1.2 使用 GameInstance 1.2 玩家控制器 PlayerController1.3 游戏世界类 UWorld ♂️ 作者海码007 专栏UE虚幻引擎专栏 标题UE4 中可全局获取的变量例如游戏实例、玩家控制器、游戏模式等 详解❣️ 寄语加油一次专注一件事 最后文章作者技术和水平有限如果文中出现错误希望大家能指正同时有问题的话欢迎大家留言讨论。 0 引言 在游戏开发过程中有一些变量经常需要被别的蓝图调用但是这个变量又不是全局变量。所以使用前需要通过Get Actor Of Class获取类的actor的方式获取对象的引用。但是假如我们将经常需要用到的变量存储在全局对象当中下次别人要调用就直接通过这个全局对象来访问这个变量。 1 全局对象全局变量 对象其实也是一种变量所以全局对象也可以叫做全局变量 在UE4中有一些全局可获取的变量可以方便地访问和管理游戏的各个方面。 GameInstance 游戏实例GameViewportClient 游戏视口客户端UWorld 游戏世界GameModeBase 游戏模式PlayerController 玩家控制器Actor 演员 通过这些全局变量开发者可以方便地访问和管理游戏的不同方面从而实现更灵活和高效的游戏逻辑和交互操作。 拓展在UE4切换关卡时下面这些全局变量不会被释放 GameInstance 游戏实例游戏实例中的数据将在切换关卡时保留以便在下一个关卡中继续使用。PlayerController 玩家控制器玩家控制器是负责玩家输入和控制的对象它们在切换关卡时通常会保持不变。GameModeBase 游戏模式游戏模式定义了游戏的规则和逻辑它们在切换关卡时通常会保持不变。主角色APawn、ACharacter游戏中主角的演员Actor通常会在切换关卡时保持不变。关卡关联的演员Actor如果某个actor在关卡编辑器中被直接放置在关卡中那么在切换关卡时它们通常会保持不变。下图所示每个actor都有自己所属的关卡 需要注意的是不会被释放的变量只是在切换关卡时会保持不变但在游戏结束或重新加载游戏时可能会被重置或释放。此外其他不直接与特定关卡和角色关联的全局变量也可以在切换关卡时保持不变如全局的游戏配置、游戏状态等。 1.1 游戏实例 GameInstance
1.1.1 介绍 UGameInstance游戏实例它负责保存和共享游戏的全局数据和状态。可以在项目中创建自定义的UGameInstance子类通过GetGameInstance函数获取当前的游戏实例并使用其中的变量来存储和访问全局数据。 GameInstance是UE4中的全局类只有一个实例就像是单例设计模式只有一个对象 GameInstance常用的函数与用法 Event Init事件初始与 Event Shutdown事件关闭引擎初始化与关闭时执行的逻辑。 为游戏保存全局数据比如上一个关卡的信息需要在下一个关卡使用时只是临时数据游戏结束则消失则可以将这些临时数据保存在GameInstance中。假如需要持久保存数据需要用SaveGame也就是将数据存储到磁盘中 1.1.2 使用 GameInstance 首先新建蓝图类继承 GameInstance 基类 在项目设置中配置游戏实例类为我们刚才新建的游戏实例类即可。不配置的话游戏运行还是使用的默认的类 在其他蓝图类中获取游戏实例对象 深入思考通过获取游戏实例得到的其实是父类的指针应该是父类指针指向子类对象但是使用父类指针是访问不了子类中特有的函数的所以就需要进行类型转换UE的类型转换在C中对应的就是static_cast、dynamic_cast等类型转换函数。 这是一种抽象编程的思想假如【获取游戏实例】函数获取的不是父类指针而是直接获取对应的子类指针而且我们也不知道未来会有多少子类被定义。不能新定义一个子类我们就去修改【获取游戏实例】函数的源码很显然这种程序设计思想太垃圾了。 1.2 玩家控制器 PlayerController 玩家控制器 和 GameInstance 使用方法很类似 它也可以通过【获取玩家控制器】函数获取父类指针然后类型转换为子类类型之后就可以使用功能。 使用步骤 新建一个子类派生于 PlayerController 设置【项目设置中】选择新建的玩家控制器类首先得新建一个游戏模式的子类才能选择玩家控制器类 使用 1.3 游戏世界类 UWorld
在UE4中UWorld是一个重要的类代表了游戏世界的实例。它是一个容器用于存储和管理游戏中所有的Actors角色和Objects对象并负责协调它们之间的交互和逻辑。 这部分内容了解的还不多挖个坑等学习熟练之后再将这部分内容补全。