【Unity3D】RTS Engine 笔记一

目录

一、RTS Engine 简单介绍

二、配置一个新场景

1.导入默认层级

2.场景基本物件介绍

3.GameManager介绍

4.设置地形

5.烘焙 Navigation Mesh

6. 配置地形网格搜索(Setup Terrain Grid Search)


一、RTS Engine 简单介绍

引擎带有RTS的基本功能, 诸如: 单人、多人、建筑建造、建筑升级、角色建造、角色升级、资源采集、资源收集、框选、移动、自动攻击、派系系统、AI系统、难易度、调速、场景管理等等。

demo是偏帝国时代一点。

官方给的一个demo_map

二、配置一个新场景

1.导入默认层级

插件提供了案例层级的配置

再有就是进行初始化配置(开灯+查看)

2.场景基本物件介绍

场景目录: 

  • GameManager::这个场景中的主要组件, 且当场景启动时,这是第一个被初始化的组件, 它负责初始化其他组件.
    • Essential:必要组件, 不可删除
    • Modules:可选组件, 可删除, 处理诸如存储等一些不必要的模块
  • Terrain:地形, 包括空中地形
  • ResourcesEntities: 资源文件, 场景中可采集的资源, 诸如: 树、矿、宝箱(demo中)
  • FactionsEntities:阵营实体, 诸如:建筑, 单位

3.GameManager介绍

  • GameManager::
    • Prev Scene: 上级场景,离开游戏后加载的场景的名字。如果有大厅系统,大厅系统会覆盖此字段
    • Game Code: 版本标识,涉及从大厅加载地图或从特定版本查询保存时很有用
    • Defeat Condition: 失败条件
      • Eliminate All:消灭所有敌人
      • Eliminate Main: 消灭主要的(可以通过什么组件检查器自行设置)
      • Custom: 自定义, 通过管理器完成
    • Peace Time Duration: 和平时间(开始后, 派系间允许互相攻击的时间)
    • Win Game Audio: 胜利音效
    • Lose Game Audio: 失败音效
    • Faction Slots: 派系插槽。定义可以在此地图上玩的派系, 以及初始单位和建筑。
    • Random Faction Slots: 随机插槽。启用并从大厅加载此地图时随机上面的插槽顺序, 达到随机出生点的效果

4.设置地形

  1.         创建地形区域: 可以定义多个地形区域,然后配置行为限制。例如单位在特定区域移动。配置文件 Key引用地形区域的标识。Layer为图层, 可以用来区分陆地跟海
  2. 配置地形管理器
  • Areas: 添加地形
  • Map Size: 地图大小。这里没懂。。。怎么也联想不到这个14400跟这个15625有什么关系

    The terrain plane object that we're using in this map scene is plane of height 120 and width 120, therefore we will be setting the map size accordingly to 14400 (120*120). This value is used by some RTS Engine components to approximate the terrain size (for example, NPC related components that handle expanding a NPC faction's territory within the terrain use this value to determine the size of the terrain they aim to occupy).

  •  Height Caching: 高度缓存:缓存高度, 用的时候提高性能,不需要光线投射。
  • Height Cache Distance: 高度缓存距离:就是取样间隔
  • Height Cache Sample Offset: 高度缓存样本偏移:向下探测地形并采样高度
  • Base Terrain: 基础地形, 高度 = 1 的盒子碰撞器, 扩展到整个地图。在地图场景开始时自动创建。基础地形必须覆盖整个地图,甚至更远。规定任何允许的主摄像机位置, 任何从主摄像机发射的光线投影都必须击中这个基础地形碰撞器
    • Base Terrain Layer: 保证该层级的唯一性, 并且默认情况下没有在任何对象上使用(当程序运行后会自动创建 BaseTerrain_Collider 也就是最外层的绿框)
      高度缓冲区(里边的绿色), 基础地形区(红色)
    • Base Terrain Center: 基础地形中心:最低位置
    • Base Terrain Size: 基础地形尺寸:画边界用的就是那个红色的范围
    • Camera Boundaries To Base Terrain Position Margin: 相机边界到基础地形位置边缘:主要是缓存模型, 允许在视图外显示模型, 确保当相机略微移动以查看模型对象时便立即可见。
    • Enable Side Base Terrain: 边缘地形? 当启用时会在周边创建一圈上边描述道的基础碰撞器,用来防止投射错误,取消勾选会报错。。。

      When enabled, this field allows to create base terrain colliders on each side of the map (instead of just on the bottom of the map) to avoid the raycasting errors caused by the main camera when it is not directly looking at the bottom of the map. Enable this field only if you allow the player to rotate the main camera freely, including rotating it so that the camera corners face any of the sides of the map and not the bottom directly. In this example, we can leave this field disabled.

5.烘焙 Navigation Mesh

这个就不用多说了,选择地形烘就完了

6. 配置地形网格搜索(Setup Terrain Grid Search)

允许其他组件在地形中搜索实体(单位、建筑、资源)。将地图场景地形分割成可搜索的单元(也就是一块一块的区域),节省计算成本。

绿色区域为摄像机照射的区域, 红色为未照射区域
  • Cell Size:细胞(槽)尺寸:下图是  Cell Size = 3的图示
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值