翔鹰帝国网|帝国时代论坛|帝国时代系列|神话时代
 找回密码
 注册翔鹰会员(昵称)
搜索
查看: 1073|回复: 6

[交流] 三論潛行效果 [簡略說明版]

[复制链接]

109

主题

14

精华

6万

积分

教皇

特洛伊大叔

耕战
10480
鹰币
1610
天龙币
126
回帖
2347

翔鹰建站十周年纪念章二级帝国勋章一级翔鹰勋章二级嘉禾勋章大评论家小评论家创意工坊通行证第十一届火箭筒杯最佳战役

附庸关系10
 楼主| 发表于 2019-9-18 12:51:49 | 显示全部楼层 |阅读模式
在下曾經寫過兩篇關於潛行效果實現方法的帖子,第一種是用 up 1.4 的AI效果實行:https://www.hawkaoe.net/bbs/thread-136622-1-1.html
此方法需要用寫相當多的AI碼來設定阻擋物的位置,因此AI語句數量可能需要幾百行,工作量較大。

第二種是用 MOD 結合004觸發來處理:
https://www.hawkaoe.net/bbs/thread-140289-1-1.html
這部分需要判斷每個監視士兵有沒有看到某物件,觸發量為 8n 的倍數,因此在士兵數 n 很大時工作量也會有近百觸發。相對也是工作量較大。

這裡介紹第三種方法,此方法能將工作量縮減到一個下午茶的時間就能完成約60人的監視系統。在講解方法前,建議讀者複習一下TT的up 1.3 AI教程:
https://www.hawkaoe.net/bbs/thread-118721-1-1.html
這篇帖子中講解了不少概念,其中一個為"測量地圖上兩點之間的距離"。從小學數學可以知道,兩點之間的最近距離為直線,換言之,如果我們測量一個單位從A走到B之間的最短距離,中間有障礙物時,這個距離必定會大於直線。想像這個走的單位是光子,則"距離大於直線"="視線被遮蔽"。

拜up 1.5的語句所賜,我們現在用"up-get-path-distance"就足以計算出兩點路徑距離。因此只要利用原本1.3的距離檢測與這個新語句,我們就可以製作出潛行效果,並且此效果工作量少很多。

至於監視單位是否面向被監視單位,這部分則仍必須要結合004的新效果。在下有時間會寫一篇較為詳細的教程解說。
傭兵外傳-安帝哥崛起 2020十二月發表
傭兵-完整版已公佈下載請點此處
回复

使用道具 举报

183

主题

9

精华

2万

积分

教皇

耕战
3325
鹰币
14948
天龙币
0
回帖
1200

翔鹰建站十周年纪念章

附庸关系3
发表于 2019-9-22 17:12:10 | 显示全部楼层
确实,我在学习UP 1.5 新AI语句时,把up-get-point-distance(计算两点直线距离)跟up-get-path-distance(测算两点行走路程)混淆了,但是没有意识到后者在检测障碍物上的应用。

(果然,几何知识全还给老师了
索引:
Userpatch 实用技术贴索引←点击进入
决定版精品贴大索引←点击进入

战役:
《 兔与豹》——柔弱奴隶公主  猛兽口中求生←点击进入
《敛由国的统一》←点击进入

殊途战役制作群 QQ: 616317226
翔鹰帝国Ⅱ:决定版交流群 QQ: 112822759
回复

使用道具 举报

39

主题

0

精华

533

积分

流徒

耕战
60
鹰币
959
天龙币
0
回帖
155
附庸关系0
发表于 2019-9-25 16:23:31 本帖来自手机 | 显示全部楼层
啥是潜行?

点评

cxt
http://www.hawkaoe.net/bbs/thread-136622-1-1.html  发表于 2019-9-25 18:07
回复

使用道具 举报

417

主题

19

精华

8万

积分

教皇

耕战
13421
鹰币
41665
天龙币
18
回帖
6009

特级嘉禾勋章三级帝国勋章十字军勋章翔鹰建站十周年纪念章

附庸关系0
发表于 2019-9-26 21:14:49 | 显示全部楼层
测试了一下,我发现up-get-path-distance的计算时是以格子为单位的,也就是说路程长没有小数部分。此外,它到目标点的路径路程不是通常意义上的欧拉距离,而是切比雪夫距离(直一格与斜一格都算作1),同时会随着位置的偏移而有所误差。
如下所示,被遮挡的亲兵计算到(0, 0)的距离时仍为7(应该为8),实际路程约为10。


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册翔鹰会员(昵称)

x

评分

参与人数 1鹰币 +100 收起 理由
troytroytroy + 100 分享交流

查看全部评分

004时代:战役时代
我很乐意看到有人在MOD技术上超过我。
回复

使用道具 举报

109

主题

14

精华

6万

积分

教皇

特洛伊大叔

耕战
10480
鹰币
1610
天龙币
126
回帖
2347

翔鹰建站十周年纪念章二级帝国勋章一级翔鹰勋章二级嘉禾勋章大评论家小评论家创意工坊通行证第十一届火箭筒杯最佳战役

附庸关系10
 楼主| 发表于 2019-9-26 23:23:28 | 显示全部楼层
我是谁004 发表于 2019-9-26 21:14
测试了一下,我发现up-get-path-distance的计算时是以格子为单位的,也就是说路程长没有小数部分。此外,它 ...

這樣一來也可以做,只是up-get-point-distance就要換成計算兩者位置點,然後一樣取
L∞ 距離,根據三角不等式還是可以達成效果。只是以格為記本來就會稍微有誤差就是了。
傭兵外傳-安帝哥崛起 2020十二月發表
傭兵-完整版已公佈下載請點此處
回复

使用道具 举报

109

主题

14

精华

6万

积分

教皇

特洛伊大叔

耕战
10480
鹰币
1610
天龙币
126
回帖
2347

翔鹰建站十周年纪念章二级帝国勋章一级翔鹰勋章二级嘉禾勋章大评论家小评论家创意工坊通行证第十一届火箭筒杯最佳战役

附庸关系10
 楼主| 发表于 2019-9-26 23:32:49 | 显示全部楼层
troytroytroy 发表于 2019-9-26 23:23
這樣一來也可以做,只是up-get-point-distance就要換成計算兩者位置點,然後一樣取
L∞ 距離,根據三角不 ...

想了一下,發現L∞ 距離的三角不等判斷距離的能力很差。看樣子還要額外改良。
傭兵外傳-安帝哥崛起 2020十二月發表
傭兵-完整版已公佈下載請點此處
回复

使用道具 举报

本版积分规则

排行榜|小黑屋|翔鹰帝国

GMT+8, 2024-3-29 01:59 , Processed in 0.142620 second(s), 77 queries , File On.

Powered by Hawk Studio  QS Security Corp.® Licensed

Copyright © 2001-2023, Hawkaoe.net All Rights Reserved

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