BIGWORLD File Grammar Guide

BIGWORLD File Grammar Guide

1.概述

本文档详细介绍了BigWorld技术在客户端和服务器端使用的文件的语法。

除了文件的语法之外,每个部分都描述了文件的用途,以及在适用的情况下对进一步信息的引用。

2.alias.xml

用于创建数据类型别名

3.BinSection files

二进制数据文件

4.ZipSection files

ZipSection文件ZipSection可以被解释为数据段的集合。在存储时,zipsection使用PKZIP文件格式(通过zipFileSystemclass)对多个数据节进行分组和压缩,保持层次结构。

5. Brush files

笔刷文件

6.capabilities.xml

关于匹配触发器和能力标志的详细信息

7. .cdata

包含二进制地形和光照数据,详细用法参照ZipSection files

7.1 terrain2 resources

terrain2 section包含在一块,它包含了块中地形的所有资源。

  • heights sections 高度部分存储地形块的高度图。
  • layer sections 层段存储地形块的纹理层。
  • normals & lodNormals sections 法线部分存储了地形块的高分辨率法线贴图。
  • holes section 存储地形块的holemap,只有当地形块中有holes时才存储该部分
  • horizonShadows section 存储了地形块的地平线阴影
  • lodTexture.dds section 存储地形块的LOD纹理。LOD纹理是所有纹理层混合在一起的低分辨率快照。
  • dominantTextures section 存储了主要的纹理图。主导纹理地图存储地形块中每个x/z位置的最高混合纹理。

8. .chunk

  • <chunk>o.chunk (作用于外部)
  • <chunk>i.chunk (作用于内部)
    这些文件包含场景对象列表,纹理集,碰撞场景等

9. common_options.xml

用于保存多个BigWorld工具通用的设置和选项。

10. dxenum.xml

BigWorld的枚举文件(dxenum.xml和.**<enumeration>xml)提供了在DirectX中定义的枚举值的描述,以便它们可以在源文件(如FX文件)和BigWorld工具(如模型编辑器)中使用。

具体见: <enumeration>.xml

11. EffectMaterial section

由EffectMaterial类使用,这个部分包含材料信息

12. exporter.xml

有关3ds Max和Maya exporter

13. filters.xml

过滤器。世界编辑器用于配置地形过滤面板中可用的过滤器,该文件位于underbigworld/tools/worldeditor/resources/data。

14. flags.xml

模型编辑器用来在属性视图中显示材质碰撞标志,这个文件位于bigworld/tools/worldEditor/Resources下。

15. .font

字体文件

16. girths.xml

包含NavGen和脱机处理器用于生成导航网格的设置。

17. .gui

用于持久化GUI层次结构,这些文件位于fantasydemo/res/ GUI下。

有关每个部分(GUI类)和标签(GUI成员)的详细描述,请参见Client Python API的条目Modules GUI。

18. gui.xml

GUI XML文件用于配置World Editor的菜单和工具栏。在bigworld/tools/worldeditor/resources/data中定义。

19. LightMapSection

flora和sky的配置文件有一个light_map部分,指定了各自元素如何应用光的设置。

20. material_kinds.xml

在模型编辑器的材料设置面板的材料类型下拉列表框中定义要显示的材料类型。

21. .mfm

位于 <res>资源文件树中。
常用标签 EffectMaterial

22. .model

定义在<res>资源树下的各种子文件夹(例如:<res>/environments,<res>/flora, <res>/sets/vehicles, etc…)

23. modules.xml

由客户端工具World Editor, Model Editor和Particle Editor使用,位于bigworld/tools//resources/data,该文件用于确定该工具应该运行哪些模块。

24. .mvl

mvl文件是特定于模型编辑器的。它们只用于观察不同光照条件下的模型。您可以根据需要创建、加载、保存和配置它们,但是它们只在Model Editor中使用。

25. navgen_settings.xml

关于NavGen的详细信息,请参见Content Tools Reference Guide,中NavGen→“Changing settings”一节。

26. options.xml

不同的工具使用一个名为options.xml的配置文件。配置如下

  • CAT → Client Access Tool
  • Model Editor
  • Particle Editor
  • World Editor

27. PackedSection files

PackedSection文件是用BNF格式描述的只读数据段。

在packkedsection文件中,整数被略微优化(例如,如果值为零,则不存储数据;如果value是一个int8(Byte即一个字节),那么将存储1个字节,依此类推)。

28. path.xml

以下文件夹包含paths.xml的版本:

  • bigworld/tools/exporter/3dsmax<version>
  • bigworld/tools/exporter/maya<version>
  • bigworld/tools/misc
  • bigworld/tools/modeleditor
  • bigworld/tools/particleeditor
  • bigworld/tools/worldeditor
  • fantasydemo/game

29. .ppchain

PPChain文件保存在世界编辑器的后期处理编辑器面板。它们描述了整个链,或者部分链。默认情况下,它们位于 <res>system/post_processing/chains s文件夹中。

30. . primitives

. primitives定义在资源树下的各种子文件夹中,例如: <res>/environments,<res>/flora,<res>/sets/vehicles。primitives文件使用BigWorld文件系统将二进制数据的离散位保存在一个文件中。

  • Vertex data section,带有顶点数据的部分包含一个小标题,后面是原始顶点数据。
  • Index data section,包含索引数据的部分包含一个小标题和原始索引数据,后面是原始组。
  • BSP data section,带有BSP数据的部分包含一个小报头,后面是原始BSP数据。

31. shadows.xml

位于bigworld/res/system/data下,这个文件被3D游戏引擎用来配置各种阴影功能.

32. space.settings

包含环境设置、网格正方形的边框等…

33. .texanim

动画纹理可以通过模型编辑器应用到材质。
<texture>.texanim文件格式

1
2
3
4
5
<root>
<frames> +[a-z] </frames>
<fps> integer </fps>
+<texture> folder/file </texture>
</root>

34. .texformat

位于<res>文件夹下,texture_detail_levels.xml 和 .texformat文件,分别为文件名匹配条件、转换规则。

35. texture_detail_levels.xml

文件命名规则

36. ual_config.xml

该文件配置资产浏览器的外观、布局和工作的各个方面

使用它的BigWorld工具(世界编辑器、模型编辑器和粒子编辑器)位于 bigworld/tools/<tool_folder>/resources/ual.
在文档内容工具参考指南的资产浏览器章节“定制”中提到,这个文件中的标签被记录在bigworld/Tools/ worlddeditor/resources/ual/ual_config.xml中。

37. .visual

定义在资源树下例如<res>/environments,
<res>/flora, <res>/sets/vehicles。

  • NodeSection
  • PortalSection,描述了邻近块的视线,应该只出现在shell中。

38. visual_rules.xml

3ds Max和Maya可视化导出器用于在导出之前验证文件,规则集定义在bigworld/tools/res/visual_rules.xml中。详细信息请参见《内容工具参考》
指南的章节3ds Max和玛雅出口商。

39. .xml

各种BigWorld文件都使用XML格式,本章将介绍以下几种文件的语法:

  • <effect>.xml,用于客户端引擎配置镜头效果,位于 fantasydemo/res/environments/fx.
  • <enumeration>.xml,BigWorld的枚举文件(dxenum.xml和<enumeration>.xml)提供了在DirectX中定义的枚举值的描述,以便在源文件(如FX文件)和BigWorld工具中使用(例如模型编辑器).
  • <flora>.xml,Flora配置文件的位置由<res>/resources.xml中的floraXML标记设置,XML植物群文件定义了要使用的灯光图,以及生态类型和噪声生成函数。
  • <graphics_settings>.xml,图形设置配置文件的位置由resources.xml中的graphicsSettingsXML标记设置(详细信息请 Client Programming Guide’s section Overview → “Configuration files” → “File resources.xml”)。
  • <light>.xml,灯光配置文件。
  • <mouse_cursors>.xml,由客户端引擎用来定义游戏中可用的鼠标光标形状,鼠标光标定义文件可以在res/resources.xml中的标签gui/cursorDefinitions中指定,但默认为res/gui/mouse_cursor.xml。
  • <particle>.xml,粒子系统。
  • <sky>.xml,Sky配置文件由空间使用,并且可以位于您选择的任何文件夹中,因为它们的位置是由<res>/spaces/<space>/space中的timeOfDay标记设置的
  • <fx>.xml,FX文件由python FX模块使用,可以放在您选择的任何文件夹中。FX文件是基于actor的。对于每个参与者,您应该指定一个Joint。对于每个参与者,您可以指定任意数量的Events。每个Actor、Joint或Event节都要求将参与者的名称指定为其节名的字符串。
  • <weather>.xml,weather XML文件为整个游戏指定了可用的天气系统列表。不同天气系统的数量由你决定。