刚看到红迪有人发才发现,从希巴拉克开始原给特殊npc加装饰和新的物理,结果会有这样的bug,貌似是因为小数分隔符有些地区是逗号不是点。居然还没修吗hhhh
不过真的要吐槽了,测试服不就是测这种吗,居然没测出来
怪有意思的bug,可以写写反馈 ![]()
写了,希望早点修吧,后面npc多起来就麻烦了
话说有人知道为什么写装饰物动画的代码会和decimal seperator有关吗,感觉蛮神奇的
客服又是传统艺能让我重开游戏 :bbb_006:
什么毛利兰 zsbd
看了看貌似新活动的医生也有这个问题,但是普通花羽的人也有这种独立的围巾啊,真奇怪
不是毛利兰,这玩意是直接穿过脑袋在转,身上的和服绳子也在转 ![]()
看完维基百科感觉学了不少知识,但是没想到中日韩和美英都是用点,反而欧洲和俄那块用逗号,我本能觉得这种小众的符号是老美这喜欢搞呢,没想到那么多
啊啊啊啊这也太好笑了
测试服一向没有剧情相关的测试,说实话那会测试时能不能进地图看到这俩npc还不好说呢 :bt_001:
最经典的剧情bug就是去年花神诞祭活动最后一堆人吐槽没有看到最后的动画 :bt_000:
要是能发视频就更好笑了,这姐妹的头发和腰带和直升机一样转,还有希巴拉克的斗篷穿过头在动 ![]()
这bug是其他语言才会触发吗
现在不断地有特殊npc的情况下很应该测的。。。貌似只要是新npc配件,有动量的就会有这个问题。
感觉测试服管理不是很严,如果有剧情的话会导致内容被提前剧透吧
测试服发出来就被解包了,不是严不严就能解决的
没想到还能再次看到有关国际化的bug,参考我的知乎回答,黑猴的媒体送测版本就有这种bug,但更加严重,是直接闪退
https://www.zhihu.com/question/664484288/answer/3598733450
各国在数字分隔符和小数分割符上都是不一样的
在实践中,诸如动画或者数值、任务流程并非是程序员在Unity编辑器等开发环境下编辑的,而是通过搭建的开发管线,由专门的动画师或数值策划等人员在其他软件(很大可能是专门开发的软件或中间件)中编辑,这种情况下,游戏引擎和非开发人员使用的中间件中间需要某种数据交换格式,但在如今的游戏开发实践中,这种格式并非语义精确的二进制格式,而很可能是lua脚本、js脚本、json、逗号分隔csv,空格分隔的csv,甚至是自定义格式的txt。使用文本的好处就是即使不在专用编辑器中,也可以阅读其容,并且可以用git等版本控制软件管理变更。
这就牵扯到如何将文本,尤其是其中的浮点数字面量转换为浮点数。绝大多数编程语言的标准库都支持该功能,然而游戏开发最常用的C++和C#语言中,该功能就存在一个与国际化有关的坑点。
- C#:Single.Parse 方法 (System) | Microsoft Learn
- C++:std::stof, std::stod, std::stold - cppreference.com
这两种语言的转换函数中,都有可选的重载,允许设置小数点分隔符和千位分隔符。但是如果不主动使用带语言或者分隔符的重载,直接使用最短的重载,那么相关分隔符会自动从系统区域中推断,也就是Windows上的时间和日期选项,以及POSIX上的LC_NUMERIC环境变量。
在另一些语言中,比如Javascript和Rust,解析字符串到浮点数的算法只能接受IEEE规定的格式,不会自动做国际化处理。
比如该文章描述的解析算法: [2101.11408] Number Parsing at a Gigabyte per Second
原来是这样,只能说希望早点改了
,毕竟这玩意真出戏啊
不过这么一看还蛮危险的,还好只是特殊npc有问题。。。看前面说剧情npc测试服测试不到的话,那这好歹算是个qa盲区了吧 ![]()

