鹰眼/夜视代码及原理简述
饥荒联机吧
全部回复
仅看楼主
level 12
希望之花 楼主
之前水贴时提到,理论上四行代码就能在控制台实现所谓的鹰眼+夜视功能。没想到今天会有吧友专门来问这个,干脆就开个贴扯一下吧。
事先声明,滥用相关的模组和本贴给出的代码会很大程度上破坏自己和他人的游戏体验。我本人是很非常超级极其不建议正常游玩时使用这个玩意的,但稍微介绍一下原理未尝不可,毕竟模组也好,代码也好,它们本身只是个工具,究竟能发挥出什么作用还是得看使用工具的人。
自己用AI画的妹子
镇楼
2022年10月10日 05点10分 1
level 12
希望之花 楼主
话不多说,二楼上代码,如果开了洞穴请按ctrl切换至本地后使用
夜视:
ThePlayer.components.playervision:ForceNightVision(true);
鹰眼:
TheCamera.mindistpitch=90;
TheCamera.maxdistpitch=90;
TheCamera.fov=175;
如果想要取消夜视的话,ThePlayer.components.playervision:ForceNightVision(false)即可;而输入TheCamera:SetDefault()可以取消全图视角并重置镜头。
2022年10月10日 05点10分 2
level 12
希望之花 楼主
pitch是俯仰角,也就是下图中的θ
在饥荒这款游戏中,俯仰角决定了镜头与目标距离固定时看向目标时镜头与xoz平面(也就是地面)所呈的角度,如图所示
mindistpitch和maxdistpitch可以理解调整视野时镜头的角度范围(游戏中滑动滚轮还会同时调整镜头的距离)。如果使二者的数值相同,则可将镜头限制在某一固定角度。
2022年10月10日 05点10分 3
***怪搞笑的[笑眼]
2022年10月10日 06点10分
可爱捏
2022年10月10日 06点10分
呆呆的华法林可爱捏[小乖]
2022年10月10日 07点10分
所以最大最小都是90,不是固定了吗[吐舌]
2022年10月13日 03点10分
level 12
希望之花 楼主
举个例子,在固定距离下,我们改变pitch的角度看看画面会有什么样的变化
30度:
60度:
其实这就是默认设置下的角度范围,相信大家都看得出区别。
2022年10月10日 05点10分 4
level 12
希望之花 楼主
fov,field of view,喜欢玩3d游戏的8u对这个概念应该都不陌生。在饥荒游戏中fov是一个小于180的角度值,和dist共同决定了在固定的pitch下能看到地面的视野范围。总的来讲,fov越大,整体视野越大,视野内的实体越小。
同样举个例子,这是在默认fov=35时45°镜头下的视野
拉高一点看一下
再拉高一……呃啊,什么鬼
2022年10月10日 06点10分 5
level 8
前…
前排[小乖]
2022年10月10日 06点10分 6
level 7
不太行,我玩的海钓服,里面有老哥直接改游戏代码实现鹰眼夜视,没开mod。用了一下创意工坊的反作弊mod,对直接修改游戏代码没有用。
2022年10月10日 06点10分 8
这个东西就这样,即使能ban掉本地模组,也关不掉别人客户端的~,更管不着改游戏本体
2022年10月10日 06点10分
level 12
希望之花 楼主
想要获取和看地图一样的视觉效果,应该将镜头和目标的连线拉到与xoz平面垂直,此时我们需要将镜头的pitch限制在90°,像这样。同时,如果将镜头固定在玩家头顶,拉高fov的时候就可以正常显示,不会出现楼上那种情况
镜头的最终高度由fov与distance共同决定,其公式为screen_height=1.03×tan(½×fov)×distance。之后,会再根据角度计算x和y的offset。由于过度调整距离会导致各种显示问题,修改fov是一个比较取巧且实用的方法。而所谓的鹰眼模组,本质上就是限制镜头的角度范围以将其固在玩家头顶,并在这个基础上进一步调整fov以修改screenheight,把玩家的可视范围放大再放大,从而达到俯瞰全图的目的
2022年10月10日 06点10分 9
level 7
你可以自己做一个ban蘑菇慕斯mod,皆大欢喜
2022年10月10日 06点10分 10
没啥意义,ban掉用作弊的人就行了
2022年10月10日 09点10分
ban我是吧[怒]
2022年10月11日 18点10分
level 12
希望之花 楼主
至于夜视,其实没啥好说的,可以参考一下playervision.lua,重做后机器人的夜视和伍迪的变身都是用了这个。唯一需要提一下的是主机没开洞穴的话开夜视好像不会被查理摸(?)
2022年10月10日 06点10分 11
对,主机开夜视那可真就是带光的夜视了
2022年10月10日 06点10分
主机不洞,自己就是客户端+服务器
2022年10月11日 00点10分
回复 lhzx1541 :正确的
2022年10月11日 00点10分
level 13
能用这个代码做到第一人称视角那种的吗[滑稽]
2022年10月10日 07点10分 12
需要多改点参数,见楼下
2022年10月10日 08点10分
level 12
来学习
2022年10月10日 07点10分 13
level 12
希望之花 楼主
第一人称视角(伪
TheCamera.fov = 75
TheCamera.pangain = 50
TheCamera.headinggain = 20
TheCamera.distancegain = 1
TheCamera.zoomstep = 4
TheCamera.distancetarget = -0.1
TheCamera.mindist = -0.1
TheCamera.maxdist = 50
TheCamera.mindistpitch = -0.5
TheCamera.maxdistpitch = 60
效果如下图
2022年10月10日 08点10分 14
我没看错吧,那是星星么?
2022年10月10日 12点10分
@--维-- 应该是夏天那个特效。。
2022年10月10日 14点10分
level 7
不明觉厉[小乖]
2022年10月10日 09点10分 17
level 9
好帖,收藏了
2022年10月10日 09点10分 18
1 2 尾页