您的位置:首页 > 健康 > 美食 > 标志设计ppt_广东深圳疫情最新消息通知_南京响应式网站建设_广东疫情最新消息今天

标志设计ppt_广东深圳疫情最新消息通知_南京响应式网站建设_广东疫情最新消息今天

2025/2/28 1:21:30 来源:https://blog.csdn.net/Meiko_ahri/article/details/144489512  浏览:    关键词:标志设计ppt_广东深圳疫情最新消息通知_南京响应式网站建设_广东疫情最新消息今天
标志设计ppt_广东深圳疫情最新消息通知_南京响应式网站建设_广东疫情最新消息今天

Level

UE中的Level(关卡)和Unity中的Scene(场景)在概念和用途上非常相似,都是用来组织和管理3D环境的基本单位。让我为您详细对比一下:

相似之处:

  1. 它们都是游戏世界的容器,可以包含游戏对象、光照、地形等元素
  2. 都支持场景/关卡的切换和加载
  3. 都可以用来划分游戏内容,比如不同关卡或者不同区域

主要区别:

  1. 命名习惯不同 - UE使用"Level"这个术语,而Unity用"Scene"
  2. Level的组织方式 - UE支持多Level同时加载和显示(比如通过Level Streaming),而Unity的Scene虽然也支持叠加模式,但没有UE的层级管理那么灵活
  3. 子关卡系统 - UE有特殊的子关卡(Sub-Level)概念,可以更好地组织大型场景

Actor

UE中的Actor(演员)确实和Unity中的GameObject(游戏对象)有很多相似之处,它们都是场景中可放置对象的基类。不过还是有一些细微的区别:

相似之处:

  1. 都是场景中所有对象的基础类
  2. 都可以附加组件/组件(Unity用Component,UE用Component)
  3. 都支持父子层级关系
  4. 都有位置、旋转、缩放等变换属性

主要区别:

  1. Actor有更多专门的子类 - 比如Pawn(可被控制的角色)、Character(角色)等,而GameObject更倾向于通过组件来实现功能
  2. 组件管理方式不同 - UE中Actor必须有一个Root Component(根组件),其他组件都依附于此,而Unity的GameObject可以自由添加多个并列的Component
  3. 网络同步处理 - UE的Actor内置了网络复制功能,而Unity需要另外添加组件实现
  4. 生命周期 - UE的Actor有BeginPlay、Tick等生命周期函数,而Unity使用Start、Update等

从编程角度看,如果您习惯了Unity的开发方式,可以这样理解转换:

  • Unity的 GameObject.Find() → UE的 GetActorOfClass()
  • Unity的 Instantiate() → UE的 SpawnActor()
  • Unity的 transform组件 → UE的 RootComponent

说白了,Actor和Unity中的Empty Gameobject差不多,就是一个空的物体然后可以放很多的东西 

Mobility

UE中的Mobility(可移动性)是用来定义场景中物体或光源的移动属性的设置,它有三种状态:

  1. Static(静态)
  • 完全不能在游戏运行时移动或改变
  • 性能最好,因为引擎可以预先计算光照等效果
  • 适用于建筑物、岩石等永远不会移动的物体
  • 被烘焙进光照贴图中
  1. Stationary(固定)
  • 可以改变一些属性(比如光源的颜色和强度)
  • 但不能改变位置和旋转
  • 是静态和可移动之间的折中选择
  • 适用于需要改变强度的光源,如日光系统
  1. Movable(可移动)
  • 可以完全自由移动和改变
  • 性能消耗最大,因为需要实时计算
  • 适用于角色、车辆等需要移动的物体
  • 使用动态光照

从Unity的角度来理解:

  • Static类似于Unity中勾选了Static选项的物体
  • Movable类似于Unity中没有勾选Static的普通物体
  • Stationary在Unity中没有直接对应,但概念类似于Mixed lighting模式

Physics Asse

在UE中确实也有类似Unity的Rigidbody的功能,它叫做Physics Asset(物理资产),主要通过以下几种方式实现:

  1. 物理模拟组件:
  • Physics Constraint Component (物理约束组件)
  • Physics Handle Component (物理句柄组件)
  • Physics Spring Component (物理弹簧组件)
  1. 主要设置方式:
  • Simulate Physics (模拟物理) - 在Mesh Component中启用
  • 可以设置质量、是否受重力影响等物理属性
  • 可以通过Physical Material设置摩擦力、弹性等

从Unity转过来可以这样理解:

  • Unity的Rigidbody → UE的Simulate Physics
  • Unity的Collider → UE的Collision组件
  • Unity的Physics Material → UE的Physical Material

Geometry和Shapes的区别

UE中的Geometry和Shapes都是用于创建基础3D形状的,但它们的用途和特点不同:

Geometry(几何体):

  • 用于可见的视觉展示
  • 实际会被渲染出来
  • 包含完整的网格数据
  • 常用于临时的视觉原型或简单的游戏物体
  • 默认带有碰撞体积

Shapes(形状):

  • 主要用于碰撞检测
  • 默认是不可见的
  • 比Geometry更轻量
  • 专门用作触发器或碰撞体积
  • 计算性能更好

举个例子:

  • 如果你需要一个可见的立方体作为游戏中的箱子 → 使用Cube Geometry
  • 如果你只需要一个不可见的碰撞区域来触发事件 → 使用Box Shape

Shapes更像是Unity中的Collider组件,而Geometry更像是带有Mesh Filter和Mesh Renderer的基础3D物体。

虚幻引擎的标准目录结构 

虚幻引擎项目的标准目录结构:

Config/

  • 包含引擎和游戏的配置文件
  • 存放输入设置、引擎设置等

Content/

  • 游戏的主要内容文件夹
  • 包含所有资源(模型、材质、蓝图等)
  • 建议在Content下建立良好的子文件夹结构,如:
    • Blueprints/ (蓝图类)
    • Maps/ (关卡文件)
    • Materials/ (材质)
    • Meshes/ (3D模型)
    • Textures/ (贴图)

Source/

  • 包含所有C++源代码
  • 通常包含两个子文件夹:
    • ProjectName/ (项目主要代码)
    • ProjectNameEditor/ (编辑器相关代码)

Saved/

  • 临时生成的文件
  • 包含日志、配置缓存等
  • 通常不需要提交到版本控制

Intermediate/

  • 中间文件目录
  • 存放编译过程的临时文件
  • 不需要提交到版本控制

Binaries/

  • 编译后的二进制文件
  • 包含.exe和.dll文件
  • 通常不需要提交到版本控制

.uproject文件

  • 项目定义文件
  • 包含项目的基本信息和设置

蓝图中的变量

主要功能:

  1. 基础设置部分:
  • 变量命名(Variable Name): 当前设为"delay Time",用于在蓝图中引用这个变量
  • 变量类型: 选择为浮点数(float),适合存储带小数点的数值
  • 可编辑实例: 允许在对象实例上修改该变量的值
  • 私有/公开设置: 控制变量的访问权限
  • 类别(Category): 可以对变量进行分类管理,方便在大型项目中组织变量
  1. 高级设置中的CPF标记:
  • CPF_Edit: 允许在编辑器中修改该变量
  • CPF_BlueprintVisible: 使该变量在蓝图编辑器中可见和可访问
  • CPF_ZeroConstructor: 创建变量时使用零初始化
  • CPF_DisableEditOnInstance: 禁止在实例上修改这个变量
  • CPF_IsPlainOldData: 标记为简单数据类型,可以优化性能
  • CPF_NoDestructor: 不需要析构函数,用于简单类型
  • CPF_HasGetValueTypeHash: 支持哈希值计算,用于容器等数据结构
  1. 配置变量(Config Variable):
  • 允许变量值存储在配置文件中,这样可以在不重新编译的情况下修改值
  1. 临时(Transient):
  • 标记变量为临时的,意味着该变量不会被保存或加载
  • 通常用于运行时临时数据,不需要持久化存储
  1. 保存游戏(SaveGame):
  • 标记该变量可以在保存游戏时被序列化和存储
  • 当玩家加载存档时,这些变量的值会被恢复
  1. 高级显示(Advanced Display):
  • 将变量在属性面板中移到"高级"分类下
  • 用于隐藏不常用的设置,使界面更整洁
  1. 已废弃(Deprecated):
  • 标记变量为已废弃
  • 提醒其他开发者这个变量将在未来版本中移除
  • 通常会在废弃消息中说明替代方案
  1. 废弃消息(Deprecation Message):
  • 当变量被标记为已废弃时,可以在这里输入提示信息
  • 解释为什么废弃以及应该使用什么替代方案
  1. 已定义的属性标记: 这部分显示了所有应用到这个变量的CPF(Core Property Flags)标记,是一个只读的列表,显示当前变量的所有属性标记。

让我用具体的例子解释SaveGame这个选项:

想象你在玩一个RPG游戏:

  • 你的角色等级是50级
  • 背包里有100金币
  • 当前在森林地图

如果这些变量设置了SaveGame标记:

  • 当你点击"保存游戏"时,这些数据会被写入存档文件
  • 当你下次加载游戏时,这些数据会从存档文件中读取出来
  • 你的角色会恢复到:
    • 50级
    • 100金币
    • 森林地图位置

如果没有设置SaveGame标记:

  • 这些数据不会被保存到存档文件中
  • 加载游戏时会使用变量的默认值
  • 比如可能回到:
    • 1级(默认等级)
    • 0金币(默认金币)
    • 起始地图(默认位置)

所以SaveGame标记非常重要,它决定了哪些数据需要在玩家存档中保留。通常用于:

  • 角色属性(等级、生命值、经验值等)
  • 游戏进度(已完成的任务、解锁的成就等)
  • 玩家资源(金币、道具、装备等)
  • 游戏状态(当前位置、剧情阶段等)

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com