当前位置: 首页 > news >正文

虚幻官方文档(持续更新)

文章目录

  • 虚幻官方文档(个人认为比较重要的地方进行翻译)
    • 了解基础知识
      • 基础知识
        • 虚幻引擎术语

虚幻官方文档(个人认为比较重要的地方进行翻译)

了解基础知识

基础知识

虚幻引擎术语

Project:包含了游戏的所有内容。它在你的磁盘上包含多个文件夹,例如BlueprintsMaterials。可以根据需要命名以及组织项目内部的文件夹。在虚幻编辑器中的内容浏览器面板显示与磁盘上的项目文件夹相同的目录结构。
每个项目都有一个关联的.uproject文件。这个.uproject文件用于创建、打开或保存项目。可以创建任意数量的不同项目同时并行处理它们。

Blueprint:蓝图可视化脚本系统是一种完整的游戏脚本系统,它使用基于节点的界面在虚幻编辑器中创建游戏玩法元素。与许多常见的脚本语言一样,它用于在引擎中定义面向对象的类或对象。在使用虚幻引擎时,会经常发现使用蓝图定义的对象通常被称为"蓝图"。

Player Controller:接收玩家的输入并将其转换为游戏中的互动。每个游戏中至少有一个Player Controller,其通常拥有一个PawnCharacter作为玩家在游戏中的代表。
Player Controller也是多人游戏中主要的网络交互点。在多人游戏中,在服务器端为游戏中的每个玩家分配了一个Player Controller实例,因为服务器必须能够向每个玩家进行网络功能调用。每个客户端只有与其玩家对应的Player Controller,并且只能使用他们各自的Player Controller与服务器通信。
关联的c++类是PlayerController

Player State:游戏中参与者(例如真人玩家或模拟玩家的机器人)的状态。作为游戏世界一部分存在的非玩家AI没有Player State。其可以包含的一些玩家信息示例包括:

  • 名字
  • 当前等级
  • 健康状况
  • 得分
  • 在夺旗游戏中是否正在携带旗帜

对于多人游戏,所有玩家的Player State在所有机器上都存在,并且可以从服务器向客户端复制数据以保持同步。这与Player Controller不同,Player Controller只存在于它所代表的玩家的机器上。
关联的c++类是PlayerState

Game Mode:设定了正在进行的游戏规则。这些规则可以包括:

  • 玩家如何加入游戏
  • 游戏是否可以暂停
  • 任何特定于游戏的行为,例如胜利条件

可以在项目设置中设定默认的Game Mode,并为不同的关卡进行覆盖设置。不论如何选择实现,每个关卡只能有一个Game Mode
在多人游戏中,Game Mode只存在于服务器上,规则会复制(发送)到每个连接的客户端
关联的 C++ 类是GameMode

Game State:是一个容器,用于存储希望复制到游戏中每个客户端的信息。简单来说,它是所有连接者共享的Game State
Game State可以包含的一些示例信息包括:

  • 游戏得分信息
  • 比赛是否开始
  • 根据世界中玩家数量生成的AI角色数量

对于多人游戏,每个玩家的机器上都有一个本地的游戏状态实例。本地的游戏状态实例从服务器的游戏状态实例获取更新信息
关联的c++类是GameState

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 漏洞扫描的重要性,如何做好漏洞扫描服务
  • 数学工具 -- 均值滤波计算之python cv2.boxFilter用法
  • uniapp加载第三方字体方案对比(附原生微信小程序方案)
  • 中国编辑期刊
  • Qt+OpenCV配置和测试
  • ARM 处理器异常处理机制详解
  • MYSQL----表的创建
  • 海量数据的处理方法
  • 【C语言初阶】C语言指针全攻略:解锁C语言深层奥秘的钥匙
  • Springboot集成Mybatis在不同文件夹下出现同名文件时启动报错
  • Java实现pdf/word文字识别,调用OCR提取图片文字聚合
  • 厦门商家微信小程序、抖音、支付宝小程序同步上线
  • C语言宏中“#”和“##”的用法
  • 优先级队列的实现
  • 【uniapp】vue3+vite配置tailwindcss
  • (ckeditor+ckfinder用法)Jquery,js获取ckeditor值
  • [笔记] php常见简单功能及函数
  • 【5+】跨webview多页面 触发事件(二)
  • 【Leetcode】104. 二叉树的最大深度
  • 【Linux系统编程】快速查找errno错误码信息
  • Docker下部署自己的LNMP工作环境
  • JAVA 学习IO流
  • js继承的实现方法
  • leetcode-27. Remove Element
  • Netty 框架总结「ChannelHandler 及 EventLoop」
  • Python学习之路13-记分
  • RedisSerializer之JdkSerializationRedisSerializer分析
  • Web设计流程优化:网页效果图设计新思路
  • 阿里云应用高可用服务公测发布
  • 机器学习 vs. 深度学习
  • 检测对象或数组
  • 简单数学运算程序(不定期更新)
  • 爬虫进阶 -- 神级程序员:让你的爬虫就像人类的用户行为!
  • 前端自动化解决方案
  • 数据结构java版之冒泡排序及优化
  • 吐槽Javascript系列二:数组中的splice和slice方法
  • 一起来学SpringBoot | 第十篇:使用Spring Cache集成Redis
  •  一套莫尔斯电报听写、翻译系统
  • 源码安装memcached和php memcache扩展
  • 职业生涯 一个六年开发经验的女程序员的心声。
  • ​创新驱动,边缘计算领袖:亚马逊云科技海外服务器服务再进化
  • ​如何在iOS手机上查看应用日志
  • #中的引用型是什么意识_Java中四种引用有什么区别以及应用场景
  • (13)Latex:基于ΤΕΧ的自动排版系统——写论文必备
  • (k8s)Kubernetes本地存储接入
  • (附源码)spring boot球鞋文化交流论坛 毕业设计 141436
  • (六)c52学习之旅-独立按键
  • (六)什么是Vite——热更新时vite、webpack做了什么
  • (七)理解angular中的module和injector,即依赖注入
  • (三)elasticsearch 源码之启动流程分析
  • (十七)Flink 容错机制
  • (四)Android布局类型(线性布局LinearLayout)
  • (一)SpringBoot3---尚硅谷总结
  • (已解决)Bootstrap精美弹出框模态框modal,实现js向modal传递数据
  • (原創) 如何優化ThinkPad X61開機速度? (NB) (ThinkPad) (X61) (OS) (Windows)