Add/Remove/Modify/Limit Terrain Textures
概要
地形纹理在LE_TerrainTextureConfig这个ScriptableObject中定义。该地形纹理配置有三个数组:纹理,纹理大小和纹理偏移。在LE_ConfigTerrain(与LE_LevelEditorMain挂在同一个游戏物体上)脚本上,可以在监视面板上看到与纹理配置的一个链接。另外,在LE_ConfigTerrain中可以限制单个关卡的最大纹理数量,它也可以禁用基础纹理选择。地形纹理配置可以减小关卡大小,因为关卡不需要包括地形纹理。序列化的关卡只包含每个地形纹理的alphamap。要在加载关卡时将正确的alphamap分配给正确的地形纹理,就需要使用地形纹理配置。
第1步:找到你的地形纹理配置
LE_TerrainTextureConfig这个ScriptableObject位于您的项目中(不在场景中)。找到它的一个简单方法是打开关卡编辑器场景,然后选择LE_LevelEditorMain实例并双击监视面板上挂载的LE_ConfigTerrain脚本的Terrain Texture Config属性。(图片见原网页)
第2步:添加/删除/修改地形纹理
要添加,删除或修改地形纹理,您必须更改包含在LE_TerrainTextureConfig这个ScriptableObject中的数组。Terrain Textures数组包含对使用纹理的引用。Terrain Texture Sizes数组包含Terrain Textures数组中定义的每个纹理的大小。如果大小设置为(10,10),则纹理将每10个单位重复一次。Terrain Texture Offsets数组包含Terrain Textures数组中定义的每个纹理的偏移量。看看Unity手册中地形引擎章节(链接见原网页),了解更多关于这些值的信息。一个更重要的信息是所有三个数组必须具有相同的长度,因为索引为0的纹理将从对应的数组中索引为0的位置得到大小和偏移。
第3步:限制每个关卡的地形纹理的数量
如果你在游戏中添加了许多地形纹理,那么你应该限制在单个关卡中可以使用的地形纹理的最大数量。否则,用户可能会在单个关卡使用您提供的所有地形纹理生成一个性能消耗集中的关卡。要修改最大地形纹理数量,修改在LE_ConfigTerrain(与LE_LevelEditorMain挂在同一个游戏物体上)脚本监视面板上的Max Texture Count属性。
第4步:禁用基础纹理选择
如果您想将特定纹理用作所有关卡的基础纹理(例如滑雪游戏中雪的纹理),则应该在创建地形菜单中禁用基础纹理选择。否则,用户可能会将岩石纹理作为基本纹理,这不适合您的单板滑雪游戏。要禁止基础纹理选择就要把挂在LE_LevelEditorMain实例上的LE_ConfigTerrain监视面板上的Is Base Texture Selection设为false。
关卡编辑器完全独立于UI实现。上述行为对于内置的UI示例是正确的。将此属性设置为false将不再会调用LE_GUIInterface.Delegates.SetTerrainBaseTextures委托。在示例UI中,基本纹理选择默认处于禁用状态,并在调用SetTerrainBaseTextures后立即启用。如果您想使用自定义用户界面,那么您可以在本文(链接)中找到更多信息。
原文链接:http://www.freebord-game.com/index.php/multiplatform-runtime-level-editor/documentation/terrain-textures
网友评论