找回密码
 点一下
查看: 1479|回复: 7

【脑洞】 地形重现技术。

[复制链接]
发表于 2020-12-20 20:56:46 | 显示全部楼层 |阅读模式
本帖最后由 Nostalie 于 2020-12-20 21:09 编辑

鉴于最近水论坛有点多。准备挖个坑。没填完就不回来哩。

类似于blz防卫局内置的nanakey terrain editor地形编辑器。能动态实现地形改变。
只不过我决定用的是所有作者都很熟悉的原有编辑器来编辑地形。保存之后。将预置地形装饰物的xml。文件。通过外部程序转化成galaxy 代码。比如create(装饰物类型id,x,y,z,比例x,比例y,比例z,旋转……)
然后一张光秃秃的地图中运行这些galaxy就可以重新创建之前我们编辑器的地形。当然会提供一个触发器库来解释这些galaxy代码。

至于纹理。悬崖啥的其实只需要模型就好了。同样都可以用装饰物做。也会提供一个拥有纹理悬崖装饰物什么的的数据空间。(如果得到授权的话。能直接用froggycatty团队的就好了。)

最终成品将包含一个数据空间。一个触发器库。(不做成mod方便大家按具体需要改。想要移除也很方便)和一个外部程序。给大家参考使用。
发表于 2020-12-21 14:01:09 | 显示全部楼层
这种感觉逆天
回复

使用道具 举报

发表于 2020-12-21 19:53:09 | 显示全部楼层
动态地形技术其实不是很难,只是很繁琐。这里边最大的问题在于悬崖不是真的悬崖,在游戏逻辑上绕不过去,第二就是足印不好屏蔽掉。其他还好。
回复

使用道具 举报

 楼主| 发表于 2020-12-26 03:11:33 | 显示全部楼层
本帖最后由 Nostalie 于 2020-12-26 03:30 编辑

由于水平精力有限。做不到很傻瓜化。
不过这样其实参考起来更清晰。也方便大家了解原理。根据自己的需要改进。

目前实现的是装饰物重现。至于纹理悬崖路径,都可以做成装饰物。这里不讨论了。

其实也没啥难点。对于不熟悉的演算体消息的可以看看怎么换变种。旋转。缩放之类。
另外比较繁琐的地方是。Objects文件和地形窗口和演算体消息这三个的旋转记法都不同。

使用方法
需要在python设置中心点默认是最大的地图128,128。初始高度默认是8。和前缀。默认是lib2_gf_。不知道前缀的请先用gui打个CreateDoodad保存之后自己看看Mapscripts.galaxy里CreateDoodad前面的前缀是啥。
编辑器导入库并设置好原点。默认还是最大的地图128,128。
自己手动用mpq提取objects文件和.py放在一起执行。之后得到galaxy.txt

在GUI触发器里建一个自定义脚本动作,复制进去就可以使用了。前提是前缀没问题。。。
如果要发布的请留意发布之后会不会变前缀,,,我自己也没试过。

最后感谢七键和青蛙的启发。


回复

使用道具 举报

 楼主| 发表于 2020-12-26 03:19:17 | 显示全部楼层
包含一个库和一个python源码。

ObjectReconstructor.rar

3.74 KB, 下载次数: 21

回复

使用道具 举报

 楼主| 发表于 2020-12-26 16:43:25 | 显示全部楼层
突然发现talv已经做过类似的https://github.com/Talv/sc2-dood
回复

使用道具 举报

发表于 2021-1-2 18:50:46 | 显示全部楼层
不明觉厉,先插个眼
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 点一下

本版积分规则

Archiver|移动端|小黑屋|地精研究院

GMT+8, 2024-4-26 08:42 , Processed in 0.077322 second(s), 25 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表