0

我想在 Counter-Strike 游戏中使用 Three.js 创建一个 3d 地图,但我不知道以哪种格式创建它?我应该使用什么工具来创建它?

4

2 回答 2

1

这是使用three.js画布渲染器创建的3d地图的一个非常好的示例:http: //www.virtual3ds.com/matt_evans

于 2013-06-10T23:43:35.957 回答
0

我不知道three.js,但最近我使用了提到的游戏格式并且有一些关于它的信息。

如果您想为 Counter Strike 等游戏创建地图,最好的方法是创建一个 *.map 格式的文本文件,该文件可由 Valve Hammer Editor 识别。编辑器可能用于将地图编译为编译后的二进制格式(在添加一些灯光、实体等之后)。

文本映射文件格式在此处描述:

https://developer.valvesoftware.com/wiki/MAP_file_format

有趣的是 - 数据不像大多数 3d 数据交换格式(直接存储带有纹理信息的面或四边形)那样以典型的 3d 数据格式存储。Valve Map 文件格式存储有关允许创建模型的特定部分的剪切平面的信息。坐标系也不是真实的(不是米或类似的单位),因此您必须将模型校准为游戏单位。

如此简单的墙(8 个角,6 个四边形)是实心的,即从 6 个方向剪裁而成,需要有 6 个平面定义数据

不幸的是,这不是一项简单的任务,因为拥有四边形/面信息,您必须分析线框模型并将其组合成实体(体积数据),可用于分割成目标数据 - 裁剪平面。

在我看来,解决方案是:

  • 您必须找到将创建的模型转换为由剪切平面定义的实体模型的方法。

  • 在下一步中,您必须以阀门图格式编写它,并将其导入 Valve Hammer Editor。

  • 在下一步中,您可以使用 Editor 将地图编译为二进制地图格式(我假设您为 bsp 地图编译配置了 zhlt 工具),这将被游戏识别。

于 2013-06-09T15:10:03.760 回答