天龙八部中使用的资源文件分析

2022年5月29日22:19:05 2 2,114 views

模型格式: .mesh

这是ogre 的标准格式,是二进制格式保存了模型网格的相关信息,如顶点坐标,

贴图坐标、顶点法线等。

骨骼格式: .skeleton

这是ogre 的标准骨骼动画文件,是二进制格式,保存了骨骼动画中关键帧信息。

贴图文件: .jpg、.tga、.dds 文件

不同格式的图片文件,其中 tga 和dds 拥有alpha 通道,dds 是可以硬件加速的

图形文件。

配置文件: .txt

普通文本文件

文件打包格式: .axp

这是天龙八部特有的文件打包格式。

天龙八部目录结构:

天龙八部中使用的资源文件分析

Accounts:是记载在本机登录天龙时,登录服务器和用户等信息,根据不同的用

户建立不同的文件夹。

Bin: 天龙八部可执行的.exe 文件和众多需要引用的.dll 动态链接库。

DirectX9: 微软多媒体应用库,主要使用里面d3d 部分和dsound 的API 接口。

Helper: 保存了众多游戏里面应用到的帮助文件,以HTML 形式提供。

Patch: 升级补丁包的存放位置。

Lanch.exe 天龙八部游戏引导窗体。

Data: 游戏所使用所有资源的存放地,下面仔细分析其内部结构。

Data 包文件结构:

Data/sound.axp :天龙八部中使用的声效文件。

其中包括了众多的.wav 波形文件。这种文件与.midi 不用,他在播放时是需要耗

费系统资源的,他保存了原始的声音对应的数字波形信息,在播放时需要CPU

处理,将处理后的结果输送给声卡。MIDI 则可以直接交给声卡播放。

Data/brushes.axp: 保存了绘制场景地形所需的图片资源。分为Jpg 和tga 两

种。(比如说无量山的地表纹理贴图)

Data/config: 保存了各种角色的行为属性和事件任务,通过脚本定义实现。其

中包括每种怪物的ActionSet,各种事件event 定义(比如说师门任务)等。

Data/effect.axp: 保存了游戏中所有的技能和装备的效果文件,主要是定义粒

子相关的发射器,效果器等属性。(比如一个法杖在镶嵌了不同的宝石后会有什

么样的粒子效果)

Data/interface.axp: 保存了各种界面元素的配置文件,用以标识各种窗口、界

面的位置,大小等信息。主要以cegui 的配置文件.layout、xml 文件,lua 脚本文

件为主。

Data/LanchSkin.axp: 保存了登录引导界面的图片文件,比如背景图片文件,

按钮图片等。

Data/Material.axp: 保存了各种模型贴图和河流等部分环境场景贴图文件

以.dds 格式存储。

Data/model.axp: 保存了游戏中所用到的所有场景模型、角色模型的mesh 文

件,和skeleton 骨骼动画文件。

Data/scene.axp 中资源:为具体场景的地形资源,其中包括如下几类

1. Esd : 记载着该场景声音信息的文本文件,具体格式如下:

ID 声音ID 声源位置X 声源位置Z 有效距离 连播次数 间隔时间(ms) 下

一次连播间隔时间(ms)

0 387 128 128 512

1 360 21 37 15

2 360 10 53 15

示例中只定义了声音的ID,生源位置的X 和Z 坐标和听到声音的有效距离。

2. Gridinfo : 地形网格的属性

3. heightmap : 地形高度图,用于生成地形网格高度

4. lightmap : 地形光照贴图,用于生成地形阴影。

5. path : 记载地图中的路径信息(可能是怪物的路径点集合)

6. rangion :文件属性未知

7. scene :保存场景中enviroment、light、StaticEntity、Model 等实例的信息。

用XML 格式保存。

示例:

<?xml version="1.0" encoding="UTF-8" standalone="no" ?>

<Scene formatVersion="0.1.1" name="baozang_1">

<Terrain filename="baozang_1.Terrain"/>

<Object name="#FairyEnviroment" type="Enviroment">

<Property name="ambient" value="0.078431 0.058824 0.133333"/>

<Property name="fog.mode" value="linear"/>

<Property name="fog.colour" value="0.070588 0.439216 0.737255"/>

<Property name="fog.linear start" value="2500"/>

<Property name="fog.linear end" value="6000"/>

</Object>

7.Terrain:保存地形网格的贴图信息,包括高度图信息,光照贴图信息,网格信

息,所用到的贴图列表索引,

<?xml version="1.0" encoding="UTF-8" standalone="no" ?>

<Terrain name="baozang_1" tileSize="32" xsize="256" zsize="256">

地形信息,名字、每块地形大小,相应x,z方向的块数。

<scale x="100" y="100" z="100"/>

地形的缩放倍数

<centre x="8100" y="0" z="-8000"/>

地形的中心点位置

<heightmap filename="baozang_1.Heightmap" type="standard"/>

高度图

<gridInfo filename="baozang_1.GridInfo" type="standard"/>

地形网格模型信息

<lightmap filename="baozang_1.lightmap.png" type="image"/>

光照贴图

<pixmap bottom="0.2480469" left="0.00390625" right="0.4960938"

textureId="0" top="0.001953125"/>

每块贴图对应的绘制面积

<materials>

地形层次的材质信息

<template material="Terrain/OneLayer" name="OneLayer"/>

<template material="Terrain/OneLayerLightmap"

name="OneLayerLightmap"/>

8. WCollision:可能是场景中会发生碰撞的位置标记。(如果这样就像2D 游戏中

的碰撞实现了)。

历史上的今天:


欢迎来到菜鸟头头的个人博客
本文章百度已收录,若发现本站有任何侵犯您利益的内容,请及时邮件或留言联系,我会第一时间删除所有相关内容。

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

目前评论:2   其中:访客  1   博主  1

    • avatar 未曾消散的情怀 0

      大佬你好 那么登录下载 不知道怎么注册