V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Game Engines
Unreal Engine
MyCryENGINE
jtacm
V2EX  ›  游戏开发

技术讨论,黑盒语音的“黑神话悟空”的内置地图是如何实现的

  •  
  •   jtacm · 117 天前 · 6398 次点击
    这是一个创建于 117 天前的主题,其中的信息可能已经有所发展或是发生改变。

    试用了下黑盒语音的“黑神话悟空”的内置地图国内,发现它可以:

    1. 实时判断当前方位和朝向,且对地图各个上各个宝物/怪物点进行了标注,可筛选。
    2. 内置地图悬挂在游戏内,体验很 native 。

    难道它读到了“黑神话悟空”的游戏进程的内存数据?貌似它不仅读到了,还准确判断到了各个数据结构的起始地址,并 deserialize 出来了。这个是怎么做到的?别家的游戏内存数据结构都是不对外公开的呀,而且有的还是加密的,好奇黑盒语音是怎么做到的,那位有经验的 V 友们能分析下。

    32 条回复    2024-09-05 10:05:52 +08:00
    naythefirst01
        1
    naythefirst01  
       117 天前
    就是 mod 开发的过程,其中会用到 Unreal Engine Dump 之类的技术
    laommmm
        2
    laommmm  
       117 天前 via iPhone   ❤️ 2
    玩过 3D 的大致都知道怎么做吧,转向一般都有 controller 控制,读取系统 controller 就行了,然后每秒更新转向指向,地图标注的话,只是把模型缩小,打悬浮就行。过滤的话,只是更新标注显示隐藏。
    jtacm
        3
    jtacm  
    OP
       117 天前
    @laommmm 感谢感谢。 那当前定位(在地图中的位置)是如何获取的?
    laommmm
        4
    laommmm  
       117 天前
    @jtacm 模型都是同一个,只是缩小了或者简化了变成右上角小地图地图。位置都是同一个,所以不存在获取位置问题,大地图在什么位置,缩小后或者简化后的小地图就在什么位置。3D 里面一般获取当前相机位置就可以。
    zlkent
        5
    zlkent  
       117 天前
    @laommmm #4 黑盒那个应该不是模型缩小,是后期人工绘制的地图。因为走到某些隐藏关卡,会显示当前区域暂无地图。
    jtacm
        6
    jtacm  
    OP
       117 天前
    @laommmm 游戏 默认是没有提供任何地图和位置信息在 UI 上的,那这个工具是如何获取大地图上当前角色的位置的呢? 是否要读取内存数据,获取当前相机位置?
    fenfire
        7
    fenfire  
       117 天前
    对 steam 版本的黑猴需要管理员运行黑盒语音,应该是会读内存吧
    rnv
        8
    rnv  
       117 天前
    玩家一般有坐标信息,这个决定位置。还有相机矩阵,通过这个可以判断朝向。拿到这些之后我认为比较简单的方法就是坐标系变换后在小地图里更新位置。小地图可以 hook 画图方法进行绘制
    laommmm
        9
    laommmm  
       117 天前
    @jtacm #6 我感觉你的猜测是对的,应该是从内存拿的。

    @zlkent 手绘的话成本确实有点高啊,需要人把所有地图都熟悉一遍,走一遍。
    fengci
        10
    fengci  
       117 天前
    有没有可能 他是人工标注的
    Planarians
        11
    Planarians  
       117 天前 via iPhone
    真的服了地图这种基本的功能都做不好还要别人来做
    coolcoffee
        12
    coolcoffee  
       117 天前
    我看有些 UP 主各种拆解游戏制作的,直接把玩家相机拉到天空上就可以到整个地图的全貌了。只是因为有 LOD 技术限制了远方的景物不会加载高清素材,但是对于绘制地图是够用了。
    DigitaIOcean
        13
    DigitaIOcean  
       117 天前
    @Planarians 对于游戏厂商来说,如果想做地图,会有技术问题? 策略罢了
    只能说很多人不认可他这个无地图策略
    coderluan
        14
    coderluan  
       117 天前
    就是内置的地图 mod 吧,UE5 本身就能生成地图吧,mod 只是把这个启用了。所以游戏没地图就是开发者刻意为之,我感觉就是知道自己设计的场景很美,但是对于关卡设计来说并不怎么高明,有了地图方便跑图但是会错过风景,算是为了照顾之前没玩过游戏的人的感官体验而牺牲了游戏性,这种设计思路游戏中随处可见,比如第一关没啥卵用变身金蝉。
    qwqwp
        15
    qwqwp  
       117 天前
    前二章乱跑,第二章黄凤玲地图真的把我恶心到了。现在都是开着网页地址,一边看一边跑。
    现在超级不满意的就是 无小地图。
    weixind
        16
    weixind  
       117 天前
    @Planarians 其实就是关卡设计能力不够,引导太差了。不做小地图出发点应该是为了让玩家多看风景。有小地图一般直接跑图了。
    jtacm
        17
    jtacm  
    OP
       117 天前
    哈哈哈,大家不要歪楼了,纯技术探讨,如何实现内置的实时定位和地图。
    @coderluan 如果要做一个带地图的黑神话 mod ,该如何入手,有什么思路吗?望指点,谢谢。
    Vegetable
        18
    Vegetable  
       117 天前
    这不就是外挂吗,外挂的原理有什么难懂的吗
    evill
        19
    evill  
       117 天前
    看评论,很多人都没玩过类似模式的游戏。难道不知道很多类似游戏都没地图的吗?
    CSGO
        20
    CSGO  
       117 天前
    内存读取咯?先读取到地图名字,加载对应图片。人物应该都要 xyz 坐标,对于到地图上?
    XYZHShea
        21
    XYZHShea  
       117 天前
    应该就是用了 Unreal Engine 的摄像机位置吧,然后在自己的地图文件里面用原点(比如土地庙坐标)跟摄像机位置建立一个映射关系
    2333wz
        22
    2333wz  
       117 天前
    没用过 wow 脚本吧,网游都允许这种操作
    NullRain
        23
    NullRain  
       117 天前
    地图和地图标记应该是根据小黑盒自己的那个互动地图获取的,朝向坐标应该就是读取内存,角色在当前关卡的世界坐标和世界旋转,XY 映射到地图上就完事
    lizy0329
        24
    lizy0329  
       117 天前
    @Planarians 故意的
    coderluan
        25
    coderluan  
       117 天前
    @jtacm #17 你直接搜 ue5 mod 教程之类的就行,mod 是引擎负责的
    plasticman64
        26
    plasticman64  
       117 天前
    读内存,和外挂一个原理
    mahaoqu
        27
    mahaoqu  
       117 天前
    这框……这框……这框……真帅吧(

    开了就是开了,单机开也是开
    ssgooglg
        28
    ssgooglg  
       117 天前
    感觉有些外挂同理
    Planarians
        29
    Planarians  
       117 天前 via iPhone
    @DigitaIOcean
    @lizy0329
    确实有故意不给你看地图的游戏 但他们的地图设计都很好 不会一堆空气墙不会如此容易迷路 如果担心地图破坏探索的感受完全可以设计成走到哪里慢慢补全地图或者找个 npc 每一章打到中期才能买地图开始地图是空的里面的地点也要走过去了才会标注这类形式

    现在这样一堆人骂甚至还要找 mod 来显示地图的设计不会是一个好的设计
    DigitaIOcean
        30
    DigitaIOcean  
       116 天前
    @Planarians #29
    现在很多人骂,声音这么大,比例到底多大
    1500 万下载,1000 万人骂还是 10 万人骂?
    stew5566
        31
    stew5566  
       116 天前
    @Planarians #29 感觉 war3 的战争迷雾挺适合这个的,走过的会标记
    celiachu207
        32
    celiachu207  
       116 天前
    @laommmm #9 如果已经有人把地图做出来了 你再自己绘制成本已经小很多了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1297 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 17:40 · PVG 01:40 · LAX 09:40 · JFK 12:40
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.