<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>游戏相关 on 静静的安全笔记</title><link>https://ruajingjing.top/categories/%E6%B8%B8%E6%88%8F%E7%9B%B8%E5%85%B3/</link><description>Recent content in 游戏相关 on 静静的安全笔记</description><generator>Hugo -- gohugo.io</generator><language>zh-CN</language><lastBuildDate>Tue, 16 Sep 2025 11:24:55 +0000</lastBuildDate><atom:link href="https://ruajingjing.top/categories/%E6%B8%B8%E6%88%8F%E7%9B%B8%E5%85%B3/index.xml" rel="self" type="application/rss+xml"/><item><title>纪元1800布局设计软件AnnoDesigner汉化方法</title><link>https://ruajingjing.top/post/%E7%BA%AA%E5%85%831800%E5%B8%83%E5%B1%80%E8%AE%BE%E8%AE%A1%E8%BD%AF%E4%BB%B6annodesigner%E6%B1%89%E5%8C%96%E6%96%B9%E6%B3%95/</link><pubDate>Tue, 16 Sep 2025 11:24:55 +0000</pubDate><guid>https://ruajingjing.top/post/%E7%BA%AA%E5%85%831800%E5%B8%83%E5%B1%80%E8%AE%BE%E8%AE%A1%E8%BD%AF%E4%BB%B6annodesigner%E6%B1%89%E5%8C%96%E6%96%B9%E6%B3%95/</guid><description>&lt;img src="https://ruajingjing.top/" alt="Featured image of post 纪元1800布局设计软件AnnoDesigner汉化方法" /&gt;&lt;p&gt;最近沉迷玩纪元1800，当总督各种规划城市，用到一个布局设计软件AnnoDesigner，可惜没有汉化看起来比较难受，所以尝试汉化翻译一下。汉化文件在文末，懒得看我啰嗦的直接跳文末下载替换就行。&lt;/p&gt;
&lt;h2 id="找到语言相关配置文件"&gt;找到语言相关配置文件
&lt;/h2&gt;&lt;p&gt;这个软件一开始只有这几个语言选项，没有中文&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250915092918129" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250915092918129.png"&gt;&lt;/p&gt;
&lt;p&gt;从release下载的文件夹中发现&lt;code&gt;json&lt;/code&gt;文件，疑似是语言的配置文件。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250915092855932" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250915092855932.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250915092941593" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250915092941593.png"&gt;&lt;/p&gt;
&lt;h2 id="提取并翻译"&gt;提取并翻译
&lt;/h2&gt;&lt;p&gt;用AI写了个脚本&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-python" data-lang="python"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;json&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;pandas&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="nn"&gt;pd&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 读取JSON文件&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;with&lt;/span&gt; &lt;span class="nb"&gt;open&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;presets.json&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;r&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;encoding&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;utf-8&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;f&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;data&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;json&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;load&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;f&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 准备存储提取的数据&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;extracted_data&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;10&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;11&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 遍历所有建筑&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;12&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;building&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;Buildings&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;]:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;13&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;Localization&amp;#39;&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;building&lt;/span&gt; &lt;span class="ow"&gt;and&lt;/span&gt; &lt;span class="n"&gt;building&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;Localization&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;eng&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;14&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;item&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;15&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="s1"&gt;&amp;#39;Header&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;building&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;Header&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;16&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="s1"&gt;&amp;#39;Faction&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;building&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;Faction&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;17&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="s1"&gt;&amp;#39;Group&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;building&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;Group&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;18&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="s1"&gt;&amp;#39;Identifier&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;building&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;Identifier&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;19&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="s1"&gt;&amp;#39;IconFileName&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;building&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;IconFileName&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;20&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="s1"&gt;&amp;#39;English_Name&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;building&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;Localization&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;eng&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;21&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;22&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;extracted_data&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;append&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;item&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;23&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;24&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 创建DataFrame并保存为CSV&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;25&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;df&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;pd&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;DataFrame&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;extracted_data&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;26&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;df&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;to_csv&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;building_icons.csv&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;index&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="kc"&gt;False&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;encoding&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;utf-8-sig&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;27&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;28&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 打印预览&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;29&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;已提取数据并保存到 building_icons.csv&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;30&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s2"&gt;数据预览:&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;31&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;df&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;head&lt;/span&gt;&lt;span class="p"&gt;())&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;这是提取另一个文件的&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-python" data-lang="python"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;json&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;csv&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;extract_english_translations&lt;/span&gt;&lt;span class="p"&gt;():&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# 读取翻译文件&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;with&lt;/span&gt; &lt;span class="nb"&gt;open&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;treeLocalization.json&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;r&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;encoding&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;utf-8&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;f&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;data&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;json&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;load&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;f&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# 查找英文语言部分&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;10&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;translations&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;11&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;lang&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;languages&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;]:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;12&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;lang&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;languageCode&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;eng&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;13&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;translations&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;lang&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;translations&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;14&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;break&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;15&lt;/span&gt;&lt;span class="cl"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;16&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# 保存为CSV格式&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;17&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;with&lt;/span&gt; &lt;span class="nb"&gt;open&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;english_translations.csv&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;w&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;encoding&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;utf-8&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;newline&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;f&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;18&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;writer&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;csv&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;writer&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;f&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;19&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# 写入表头&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;20&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;writer&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;writerow&lt;/span&gt;&lt;span class="p"&gt;([&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;Key&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;English&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;21&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# 写入翻译数据&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;22&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;item&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;translations&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;23&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;writer&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;writerow&lt;/span&gt;&lt;span class="p"&gt;([&lt;/span&gt;&lt;span class="n"&gt;item&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;key&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt; &lt;span class="n"&gt;item&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;value&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;]])&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;24&lt;/span&gt;&lt;span class="cl"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;25&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;提取了 &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nb"&gt;len&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;translations&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s1"&gt; 个英文翻译到 english_translations.csv&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;26&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;translations&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;27&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;28&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="vm"&gt;__name__&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;__main__&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;29&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;extract_english_translations&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="尝试替换"&gt;尝试替换
&lt;/h2&gt;&lt;p&gt;一开始还尝试用AI翻译，后来实在是太多了，AI老是思考耽误时间，最后还是充了个有道会员翻译了一下，非常快速。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250915093150868" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250915093150868.png"&gt;&lt;/p&gt;
&lt;p&gt;用WPS表格打开csv文件比较好直接粘贴，粘贴后检查表格翻译是否对应，因为我只玩了1800，但是这个软件还包括其他的几个系列，所以我也不确定翻译是否正确，总之先用着机翻的吧。WPS保存后记得用&lt;code&gt;VScode&lt;/code&gt;打开，重新用编码GB2312打开，再改为用UTF-8保存。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250915093045519" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250915093045519.png"&gt;&lt;/p&gt;
&lt;p&gt;然后又用AI写两个脚本，把汉化的内容模仿原来的&lt;code&gt;json&lt;/code&gt;文件的形式补充回去。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-python" data-lang="python"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;json&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;pandas&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="nn"&gt;pd&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;update_presets&lt;/span&gt;&lt;span class="p"&gt;():&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# 读取建筑翻译映射 &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;df&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;pd&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;read_csv&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;building_icons.csv&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;translations&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;dict&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;zip&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;df&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;English_Name&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt; &lt;span class="n"&gt;df&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;Chinese_Name&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;]))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# 读取 presets.json&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;10&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;with&lt;/span&gt; &lt;span class="nb"&gt;open&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;presets.json&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;r&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;encoding&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;utf-8&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;f&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;11&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;data&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;json&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;load&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;f&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;12&lt;/span&gt;&lt;span class="cl"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;13&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# 遍历并更新每个建筑的本地化&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;14&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;updated&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;15&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;building&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;Buildings&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;]:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;16&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;Localization&amp;#39;&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;building&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;17&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# 根据英文名查找中文翻译&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;18&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;eng_name&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;building&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;Localization&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;eng&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;19&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;eng_name&lt;/span&gt; &lt;span class="ow"&gt;and&lt;/span&gt; &lt;span class="n"&gt;eng_name&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;translations&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;20&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# 添加中文翻译&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;21&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;building&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;Localization&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;zh&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;translations&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;eng_name&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;22&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;updated&lt;/span&gt; &lt;span class="o"&gt;+=&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;23&lt;/span&gt;&lt;span class="cl"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;24&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# 保存更新后的文件&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;25&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;with&lt;/span&gt; &lt;span class="nb"&gt;open&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;presets.json&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;w&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;encoding&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;utf-8&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;f&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;26&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;json&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;dump&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;f&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;ensure_ascii&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="kc"&gt;False&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;indent&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;27&lt;/span&gt;&lt;span class="cl"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;28&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;Successfully updated &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;updated&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt; Chinese names in presets.json&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;29&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;30&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="vm"&gt;__name__&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;__main__&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;31&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;try&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;32&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;update_presets&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;33&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;except&lt;/span&gt; &lt;span class="ne"&gt;Exception&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;e&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;34&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;Error saving file: &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nb"&gt;str&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;e&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-python" data-lang="python"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;json&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;pandas&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="nn"&gt;pd&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;create_chinese_translations&lt;/span&gt;&lt;span class="p"&gt;():&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# 读取CSV文件&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;df&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;pd&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;read_csv&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;english_translations.csv&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# 创建中文翻译数据结构&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;chinese_lang&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;10&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="s2"&gt;&amp;#34;languageCode&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;zh&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;11&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="s2"&gt;&amp;#34;language&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;简体中文&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;12&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="s2"&gt;&amp;#34;translations&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;13&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;14&lt;/span&gt;&lt;span class="cl"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;15&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# 遍历CSV中的每一行,生成翻译条目&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;16&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;_&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;row&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;df&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;iterrows&lt;/span&gt;&lt;span class="p"&gt;():&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;17&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;pd&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;notna&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;row&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;Chinese&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;]):&lt;/span&gt; &lt;span class="c1"&gt;# 只添加有中文翻译的条目&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;18&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;translation&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;19&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="s2"&gt;&amp;#34;key&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;row&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;Key&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;20&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="s2"&gt;&amp;#34;value&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;row&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;Chinese&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;21&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;22&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;chinese_lang&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;translations&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;append&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;translation&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;23&lt;/span&gt;&lt;span class="cl"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;24&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# 读取原始treeLocalization.json&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;25&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;with&lt;/span&gt; &lt;span class="nb"&gt;open&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;treeLocalization.json&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;r&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;encoding&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;utf-8&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;f&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;26&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;tree_data&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;json&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;load&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;f&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;27&lt;/span&gt;&lt;span class="cl"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;28&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# 添加中文语言到languages列表&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;29&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;tree_data&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;languages&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;append&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;chinese_lang&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;30&lt;/span&gt;&lt;span class="cl"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;31&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# 保存更新后的文件&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;32&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;with&lt;/span&gt; &lt;span class="nb"&gt;open&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;treeLocalization.json&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;w&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;encoding&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;utf-8&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;f&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;33&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;json&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;dump&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;tree_data&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;f&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;ensure_ascii&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="kc"&gt;False&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;indent&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;34&lt;/span&gt;&lt;span class="cl"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;35&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;已添加 &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nb"&gt;len&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;chinese_lang&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;translations&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s1"&gt; 条中文翻译&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;36&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;37&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="vm"&gt;__name__&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;__main__&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;38&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;create_chinese_translations&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="发现语言选项已经编译到exe中"&gt;发现语言选项已经编译到exe中
&lt;/h2&gt;&lt;p&gt;翻译好后打开发现还是没有中文选项，找了一下软件配置文件，似乎语言选择的键值没有写再配置文件中，那应该就是直接编码在exe中了。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250915093252055" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250915093252055.png"&gt;&lt;/p&gt;
&lt;p&gt;用IDA打开查了一下确实。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250915092312346" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250915092312346.png"&gt;&lt;/p&gt;
&lt;p&gt;翻了一下作者的源码，发现git仓库是有sln文件的，顺利的话clone下来，补充中文的语言选择选项，重新编译一下就行。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250915092649763" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250915092649763.png"&gt;&lt;/p&gt;
&lt;p&gt;安装一下编译必要的组件&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250915093351678" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250915093351678.png"&gt;&lt;/p&gt;
&lt;p&gt;找到语言选项&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250915094517784" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250915094517784.png"&gt;&lt;/p&gt;
&lt;p&gt;添加中文选项&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250915094615176" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250915094615176.png"&gt;&lt;/p&gt;
&lt;p&gt;把中文的code改统一，按照作者这个语言文件风格的code方式应该是chs。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250915094744726" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250915094744726.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250915094810488" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250915094810488.png"&gt;&lt;/p&gt;
&lt;p&gt;翻到了界面语言的翻译选项，顺手翻译一下&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250915095043526" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250915095043526.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250915095437839" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250915095437839.png"&gt;&lt;/p&gt;
&lt;p&gt;但是重新编译发现失败了&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250915095706618" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250915095706618.png"&gt;&lt;/p&gt;
&lt;p&gt;在代码里看到作者给的一个连接&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250915095929042" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250915095929042.png"&gt;&lt;/p&gt;
&lt;p&gt;好像已经有人贡献过中文翻译了，但是为什么不合并呢，怎么不发布中文版呢？&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250915100006388" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250915100006388.png"&gt;&lt;/p&gt;
&lt;p&gt;最后看到一段生成语言code的代码，但是我在源码里面没找到再哪里改，这也许是失败的原因。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250915100354711" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250915100354711.png"&gt;&lt;/p&gt;
&lt;h2 id="英文变eeng中文变英文"&gt;英文变eeng，中文变英文
&lt;/h2&gt;&lt;p&gt;编译失败没事，还有一招头天换日。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250915100823731" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250915100823731.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250915100922240" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250915100922240.png"&gt;&lt;/p&gt;
&lt;p&gt;最后分享一下我机翻的语言替换文件，下载好后直接丢文件夹下替换就行。只简单校对了一下机翻的内容，保证Anno1800的翻译基本能看，如果有错误的自行用记事本之类的软件打开json文件搜索修改就可。其他几个纪元的系列还没玩过，不知道机翻的含义对不对，如果不对就自己改一下吧，也欢迎在评论区分享你的汉化文件。&lt;/p&gt;
&lt;p&gt;&lt;img alt="p" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250916111256684.png"&gt;&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;我用夸克网盘给你分享了「AnnoDesigner汉化」，点击链接或复制整段内容，打开「夸克APP」即可获取。
筷莱旻潆鱪麯麺夺郝
/~e25c38IeIg~:/
链接：https://pan.quark.cn/s/e8385005d590
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;这是我用软件画的住宅布局，我觉得用起来还不错&lt;/p&gt;
&lt;p&gt;&lt;img alt="449户电力银行中央布局" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/449%E6%88%B7%E7%94%B5%E5%8A%9B%E9%93%B6%E8%A1%8C%E4%B8%AD%E5%A4%AE%E5%B8%83%E5%B1%80.png"&gt;&lt;/p&gt;</description></item><item><title>战舰世界萌新入门指南</title><link>https://ruajingjing.top/post/%E6%88%98%E8%88%B0%E4%B8%96%E7%95%8C%E8%90%8C%E6%96%B0%E5%85%A5%E9%97%A8%E6%8C%87%E5%8D%97/</link><pubDate>Sun, 14 Aug 2022 21:42:24 +0000</pubDate><guid>https://ruajingjing.top/post/%E6%88%98%E8%88%B0%E4%B8%96%E7%95%8C%E8%90%8C%E6%96%B0%E5%85%A5%E9%97%A8%E6%8C%87%E5%8D%97/</guid><description>&lt;img src="https://ruajingjing.top/" alt="Featured image of post 战舰世界萌新入门指南" /&gt;&lt;h1 id="基础常识解释"&gt;基础常识解释
&lt;/h1&gt;&lt;h2 id="下载和安装游戏"&gt;下载和安装游戏
&lt;/h2&gt;&lt;p&gt;登录wargaming（简称WG）官网下载客户端，在客户端中下载游戏本体即可。新用户在官网注册新账号即可，注意WG客户端仅支持数字、字母和下划线组成的ID，&lt;strong&gt;不支持中文&lt;/strong&gt;。若有邀请码，填入邀请码可以领取奖励。&lt;/p&gt;
&lt;p&gt;&lt;a class="link" href="https://worldofwarships.asia/zh-sg/" target="_blank" rel="noopener"
 &gt;https://worldofwarships.asia/zh-sg/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2022/WOWS/base/image/图片_tAgq9-s8me.png"&gt;&lt;/p&gt;
&lt;p&gt;目前，《战舰世界》的俄服已独立运营。由Wargaming（WG）运营的亚服、欧服、美服等，由于不具备独立的舰船开发能力，内容更新主要以换皮活动、剧情模式及修复Bug为主，游戏环境相对稳定（或者说，长期存在的游戏平衡问题难以改变）。&lt;/p&gt;
&lt;p&gt;而具备开发能力的Lesta工作室现已独立，工作地点位于白俄罗斯，其官方游戏门户网站是：&lt;strong&gt;&lt;a class="link" href="https://korabli.su/" target="_blank" rel="noopener"
 &gt;https://korabli.su/&lt;/a&gt;&lt;/strong&gt;（请注意，您提供的&lt;code&gt;flot.ru&lt;/code&gt;链接目前无法访问，可能是临时故障或网络问题）。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;注册指南与技巧：&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;邀请码&lt;/strong&gt;：注册时使用邀请码可领取奖励，我的邀请码是：&lt;code&gt;JingJing_Super&lt;/code&gt;。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;邮箱&lt;/strong&gt;：推荐使用Gmail等国际邮箱进行注册。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;验证码&lt;/strong&gt;：注册过程中的图片验证码可能默认是俄语字母。如果识别困难，可以点击刷新按钮，直到出现由数字或英文字母组成的验证码，这样可以避免因无俄语键盘而无法正确输入的问题。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;地区选择&lt;/strong&gt;：注册时如果选择白俄罗斯地区，未来充值可能会有优惠。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;服务器特点对比：&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;WG各服&lt;/strong&gt;：版本稳定，更新节奏较慢，适合喜欢固定环境的玩家。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Lesta服（原俄服）&lt;/strong&gt;：更新非常活跃，堪称“军舰下饺子”，新船层出不穷。缺点是平衡性调整频繁，许多老船的数据也会改动，新船设计有时显得随意。优点是能抢先体验最新内容，并且官方赠送游戏内资源（如银币、金币等）更为大方。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;氪金与游玩：&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;即使像我一样选择零氪金，在Lesta服也完全可以正常游玩，并享受游戏的主要乐趣。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20251216110600742" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20251216110600742.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2022/WOWS/base/image/图片_yNsYEM-n0j.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2022/WOWS/base/image/图片_9oRoBskLpF.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2022/WOWS/base/image/图片_UcCtvPyc64.png"&gt;&lt;/p&gt;
&lt;p&gt;随着WG不断更新游戏，截止2022年1月，游戏本体约50G大小，下载游戏需要近90G的硬盘空间，建议&lt;strong&gt;不要将该游戏安装在C盘&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;World of Warships系统需求&lt;/strong&gt;&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;&lt;/th&gt;
 &lt;th&gt;**最低 **&lt;/th&gt;
 &lt;th&gt;&lt;strong&gt;推荐&lt;/strong&gt;&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;系统&lt;/td&gt;
 &lt;td&gt;Windows 7 x64&lt;/td&gt;
 &lt;td&gt;Windows 7 x64 / 8.1 / 10 / 11&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;处理器（CPU）&lt;/td&gt;
 &lt;td&gt;Intel® Core™ i3-3210 3.2 GHz&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;AMD Athlon™ II X2 245 2.9 GHz&lt;/td&gt;
 &lt;td&gt;Intel® Core™ i5-2500 3.3 GHz&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;AMD FX™ II 6350 3.9 GHz&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;内存（RAM）&lt;/td&gt;
 &lt;td&gt;4 GB&lt;/td&gt;
 &lt;td&gt;6 GB&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;显卡（GPU）&lt;/td&gt;
 &lt;td&gt;NVIDIA® GeForce® GT 440/GT 630&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Intel® HD 4000&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;AMD Radeon™ R7 240&lt;/td&gt;
 &lt;td&gt;NVIDIA® GeForce® GTX 660&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;AMD Radeon™ R9 270X&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;屏幕分辨率&lt;/td&gt;
 &lt;td&gt;1280x720&lt;/td&gt;
 &lt;td&gt;1920x1080&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;声卡&lt;/td&gt;
 &lt;td&gt;兼容DirectX 11&lt;/td&gt;
 &lt;td&gt;兼容DirectX 11&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;网速&lt;/td&gt;
 &lt;td&gt;1 Mbps&lt;/td&gt;
 &lt;td&gt;1 Mbps或更高&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;想要安装World of Warships游戏，请启动所下载的文件。&lt;/p&gt;
&lt;p&gt;安装文件大小：6.2 MB。&lt;/p&gt;
&lt;p&gt;在安装过程中，已额外下载44.7 GB。&lt;/p&gt;
&lt;p&gt;安装游戏需要的硬盘空间：87.3GB。&lt;/p&gt;
&lt;p&gt;安装游戏所使用的硬盘空间：58.1GB。 &lt;/p&gt;
&lt;h2 id="亚服欧服美服俄服和国服steam登录"&gt;亚服欧服美服俄服和国服、steam登录
&lt;/h2&gt;&lt;h3 id="wg客户端登录"&gt;WG客户端登录
&lt;/h3&gt;&lt;p&gt;亚服欧服美服俄服可以在WG客户端点击 左上角头像→添加账号 界面登录账号和创建账号，右上角就有服务器的切换，其中CIS就是俄服。各个服务器之间&lt;strong&gt;账户独立，数据不互通&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2022/WOWS/base/image/Snipaste_2022-01-11_17-04-33_289iIHczON.png"&gt;&lt;/p&gt;
&lt;h3 id="steam登录"&gt;steam登录
&lt;/h3&gt;&lt;p&gt;steam平台可直接下载战舰世界的游戏本体，打开后使用Steam账号自动注册，在游戏开始前会有选择服务器的界面，&lt;strong&gt;只有一次机会&lt;/strong&gt;，一旦选择就不能更改。后期可在设置中绑定WG账号，使用WG账号登录。也可解绑steam账号只用WG登录。steam注册的服务器与WG客户端注册的一致，steam玩家可以与用WG登录的玩家在同样的服务器游玩。&lt;/p&gt;
&lt;h3 id="国服"&gt;国服
&lt;/h3&gt;&lt;p&gt;国服是由360运营的战舰世界服务器，官网对游戏做了一定国内化修改，且版本落后其他服务器两个版本。但是自2021年12月15日开始，国服与其他各服务器版本同步更新。国服需要下载专用的客户端，不能使用WG客户端登录，不与WG服务器互通数据。国服可以使用中文ID和中文军团名。对于国服玩家如果自身电脑配置不支持流畅运行游戏，国服还支持免下载的云游戏，只要保证网络良好，也能游玩。&lt;/p&gt;
&lt;p&gt;&lt;a class="link" href="https://wows.360.cn/" target="_blank" rel="noopener"
 &gt;https://wows.360.cn/&lt;/a&gt;&lt;/p&gt;
&lt;h3 id="服务器环境与氛围"&gt;服务器环境与氛围
&lt;/h3&gt;&lt;p&gt;亚服：通用语言是英语，主流语言是中文。亚服除了有庞大的国人玩家外，还有新加坡，东南亚小国，印度，韩国，日本等国家的玩家，在公屏聊天界面会出现不同的文字，但是多数玩家会发送英文和英文的缩写以交流战术计划。游戏自带的B键指令菜单也能满足基本的战术交流需求。&lt;/p&gt;
&lt;p&gt;常见的用于战术缩写的英文有：&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;缩写&lt;/th&gt;
 &lt;th&gt;示意&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;u&lt;/td&gt;
 &lt;td&gt;you （你）&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;rpf&lt;/td&gt;
 &lt;td&gt;无线电定位&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;smoke 10s&lt;/td&gt;
 &lt;td&gt;烟雾发生器还有10秒装填完毕&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;radar 10s&lt;/td&gt;
 &lt;td&gt;雷达还有10秒冷却完毕&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;cap A/B/C&lt;/td&gt;
 &lt;td&gt;占领A点/B点/C点&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;live&lt;/td&gt;
 &lt;td&gt;活着（点数能赢别送了各位爷）&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="游戏界面"&gt;游戏界面
&lt;/h2&gt;&lt;p&gt;成功登录游戏后的港口界面如下图，选择船之后即可开始战斗。新人需要打满一定的场数和经验才能解锁港口全部设施。其中研发局的解锁需要5条银币Ⅹ级船&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2022/WOWS/base/image/图片_n6y0B7stXI.png"&gt;&lt;/p&gt;
&lt;p&gt;进入战斗后的战斗界面如下图，右下角小地图会显示射程和视野范围内的敌人，左下角是船只状态，主要是血量和炮塔的装填和回转；在状态栏上方为聊天栏，按Enter键可进入聊天打字，按ESC键退出聊天。如果遇到无法使用中文输入的问题，&lt;strong&gt;请安装搜狗输入法&lt;/strong&gt;，并按shift和ctrl键切换当前输入法为搜狗输入法。下放底部为操作栏，可以显示武器装备的装填时间，按对应功能键即可切换。如下图所示数字1键切换HE炮弹攻击，瞄准敌人后鼠标左键射击。两侧显示队伍阵容的栏目在“设置”中打开即可。&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2022/WOWS/base/image/Snipaste_2022-01-11_12-43-22_g1fJqV2syO.png"&gt;&lt;/p&gt;
&lt;h2 id="联合作战-随机战-剧情-排位-训练房-军团战-其他活动战斗方式"&gt;联合作战 随机战 剧情 排位 训练房 军团战 其他活动战斗方式
&lt;/h2&gt;&lt;p&gt;（切换战斗模式的图）&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;联合作战&lt;/strong&gt;是新手最初接触的战斗模式，其中组成队伍的船只大部分是机器人，名字ID会由 ：randomname： 字样的表示，前后都有冒号“：”。机器人走位固定，机动呆滞，是新人练习基本技巧的最佳陪练。联合作战模式等待时间有限制，超时会自动分配机器人。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;随机战&lt;/strong&gt;是玩家游玩战舰世界最普遍也是最多的战斗模式，组成队伍的船只由真人玩家操作（不排除有玩家挂机等不良行为），走位灵活，战术多变，战法多样。随机战模式等待时间无限制。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;[ ] （匹配机制不确定要不要写）&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;剧情&lt;/p&gt;
&lt;h1 id="第一章基础教学"&gt;第一章基础教学
&lt;/h1&gt;&lt;h2 id="炮术教学"&gt;炮术教学
&lt;/h2&gt;&lt;h3 id="射程圈与隐蔽圈"&gt;射程圈与隐蔽圈
&lt;/h3&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2022/WOWS/chap1/image/Snipaste_2022-01-11_12-43-22_lwdhXA-V_c.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;对海被侦测范围&lt;/strong&gt;代表被敌方船只发现的最小距离，在此距离内如果有敌方船只，且没有山体或烟雾遮挡，在其视野范围内，就会被发现（俗称点亮），无论是否开炮。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;对空被侦测范围&lt;/strong&gt;代表被敌方航母飞机发现的最小距离，在此距离内如果有敌方航母飞机（包括伊势，奇尔沙治，利根等航战航巡的飞机），且没有烟雾遮挡，在其视野范围内，就会被发现（俗称点亮），无论是否开炮。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;防空炮最大射程&lt;/strong&gt;代表舰载防空炮炮弹飞行的最远距离，在防空炮射程圈外的敌方飞机无法被炮弹击中。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;主炮组射程&lt;/strong&gt;代表战舰炮弹飞行的最远距离，在主炮组射程圈外的敌人无法被炮弹击中。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;鱼雷射程&lt;/strong&gt;代表鱼雷航行的最远距离，在鱼雷射程圈外的敌人无法被鱼雷命中。&lt;/p&gt;
&lt;p&gt;可以通过 &lt;strong&gt;按住 ctrl键&lt;/strong&gt;点击地图上方的齿轮修改地图更多显示选项。&lt;/p&gt;
&lt;h3 id="瞄准与提前量"&gt;瞄准与提前量
&lt;/h3&gt;&lt;p&gt;对于远距离的敌人，可以&lt;strong&gt;按下Shift &lt;strong&gt;或&lt;/strong&gt;滑动鼠标滑轮&lt;/strong&gt;开镜瞄准。开镜后会显示带有**5 10 15 **字样的标尺（如下图），对于不同速度和角度的敌人，需要在瞄准的基础上向敌人行进方向放缩一定“&lt;strong&gt;提前量&lt;/strong&gt;”。&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2022/WOWS/chap1/image/Snipaste_2022-01-11_11-56-59_mSwFuxRbe4.png"&gt;&lt;/p&gt;
&lt;p&gt;一般对于在行进中的速度较快的驱逐舰，瞄准的刻度要放到15左右的位置；对于速度中等的巡洋舰，瞄准刻度放在10左右的位置；速度较慢的战列舰和航母可以放5的位置，如果距离较近，可以直接瞄准船头。&lt;/p&gt;
&lt;p&gt;除了根据船只型号外，瞄准提前量的判断还要从航速出发，停船的船当然就是瞄准其自身即可，不需要放提前量。船只型号能提供的信息是该船所能行驶最快的速度，实际游戏中，要根据敌人的行驶方向和速度，略微调整提前量。上图所示的技巧一般用于船只的FULL档位，如果敌人并非全速，那么刻度位置就要向敌人船体方向靠近；个别有引擎加力的船只，FULL档的速度十分快，刻度位置要向远离敌人船体的方向偏离，才能提高命中效率。&lt;/p&gt;
&lt;p&gt;对于船只行驶速度的判断，可以从烟的角度来判断。以船体为0轴，船头为圆形，全速行驶的烟轨迹约为0~10度，平滑且长直，每1/4档依次递减，Stop档为接近垂直的90度，完全静止状态下无烟。频繁加减速的船烟是乱的，不平滑，加减速瞬间会有烟的突变。（进阶靠看船头海浪）&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2022/WOWS/chap1/image/Snipaste_2022-01-12_12-07-13_aN2j9mpa74.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2022/WOWS/chap1/image/Snipaste_2022-01-11_13-10-18_bJDnkcA4U6.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2022/WOWS/chap1/image/Snipaste_2022-01-11_13-59-55_KMDDCzKvay.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2022/WOWS/chap1/image/Snipaste_2022-01-11_14-02-53_EoqHyEyg-I.png"&gt;&lt;/p&gt;
&lt;p&gt;本节的课后作业和训练内容见炮术练习题&lt;/p&gt;
&lt;h2 id="驾驶教学"&gt;驾驶教学
&lt;/h2&gt;&lt;h3 id="惯性和加减速"&gt;惯性和加减速
&lt;/h3&gt;&lt;p&gt;W键挂前进档，S键挂后退档，共有FULL（倒挡）、STOP、1/4、1/2、3/4、FULL 共6个档位。挂挡后舰船的行驶速度是缓慢的递进的变化，是有惯性有过程的。从STOP加速到FULL是需要一段时间的一段路程的，同样从FULL减速至STOP也需要一段时间一段路程，具体时长与船自身属性相关。游戏界面 &amp;ldquo;&amp;lt;&amp;rdquo; 符号所指示的是当前瞬时速度，达到预定档位后瞬时速度保持不变，船只匀速行驶。&lt;/p&gt;
&lt;h3 id="转弯与倒船转弯"&gt;转弯与倒船转弯
&lt;/h3&gt;&lt;p&gt;D键右转，A键左转，E键1次是1/2舵右转，E键2次是右满舵，Q键1次是1/2舵左转，Q键2次是左满舵。A/D和Q/E的区别在于Q/E是档位控制，类似前进后退的挂挡操作，不需要一直按住键盘，是匀速连续的变舵；A/D只有在按下键盘瞬间起效，是不连续不匀速的。Q/E适合在后方安全位置掉头，转场等情况使用，A/D适合微操性强的过狭窄水道，躲避鱼雷和炮弹时使用，详细操作手法可看进阶教学躲炮、躲雷、躲飞机。&lt;/p&gt;
&lt;p&gt;转弯是有半径的，由于船体细长的造型，转弯时有“甩尾”现象，新手玩家经常“顾头不顾尾”，对船整体转弯的性质还不熟悉，经常卡在狭窄水道的礁石上搁浅。&lt;/p&gt;
&lt;p&gt;倒船时的转弯与自身视角的方向要特别注意。一方面，倒船和前进方向的转弯相对于行驶方向是相反的；另一方面，倒船的情况一般出现在视角向后看的情况，与向船头看的方向相反。新手经常在变换视角和倒船的时候出现方向感的混乱，错将左转当右转。视角关系可以见下图所示。&lt;/p&gt;
&lt;h2 id="雷击教学"&gt;雷击教学
&lt;/h2&gt;&lt;h3 id="白线"&gt;白线
&lt;/h3&gt;&lt;p&gt;鱼雷攻击武器和主炮一样有射程限制，几乎所有dd都装有鱼雷（只有朗纳尔等特化驱逐没有鱼雷），部分CA和极少部分bb（德战系列和星座）也装有鱼雷。&lt;/p&gt;
&lt;p&gt;鱼雷武器默认使用数字“3”键切换，左键发射，当切换为鱼雷武器时，会对锁定的目标显示白色指示线（俗称白线）。白线预测的是当前锁定目标保持此方向此速度下，在你所驾驶的船鱼雷武器的航速为参考下的预计中雷方向。仅能作为参考，并不是说洒在白线上的雷一定能雷中人。&lt;/p&gt;
&lt;h3 id="鱼雷种类"&gt;鱼雷种类
&lt;/h3&gt;&lt;p&gt;不同船的鱼雷发射器发射鱼雷的方式不同。按发射方向分，有单侧双侧。按一次CD能发射的组数分双联装，三联装。按发射的鱼雷主要分有三种种类，普通鱼雷（只可以攻击任何船只，包括潜水艇的鱼雷），深水雷（本文特指只能攻击战列舰，航母的鱼雷），浅水雷（本文特指除了驱逐舰以外都可以攻击的鱼雷）。这三种雷的标志有微小的区别。&lt;/p&gt;
&lt;h2 id="维修小组和特化维修"&gt;维修小组和特化维修
&lt;/h2&gt;&lt;p&gt;按R键使用维修小组。普通船只装备的维修小组可以无限次使用，但是CD时间较长，持续时间短。特化维修小组装备在一些特色舰船上如部分战列舰。其CD时间短，而持续时间长，但数量有限，不能无限次使用。&lt;/p&gt;
&lt;p&gt;维修小组的主要作用是可以瞬间修复起火、进水、舵机损坏的负面影响，但不能回血。因为维修小组的CD时间较长，一般在战斗中除驱逐舰以外，其他大部分船只不建议一起火就使用维修小组灭火。因为在灭火之后的CD时间之内，若敌方再次攻击你起火或你被鱼雷击中进水，你就无法使用维修小组灭火。&lt;strong&gt;推荐在灭点之后，或同时有多个火点的时候使用维修小组。&lt;/strong&gt;&lt;/p&gt;
&lt;h2 id="雷达水听和烟"&gt;雷达、水听和烟
&lt;/h2&gt;&lt;p&gt;不同船只根据其所装载的设备的雷达，水听，烟雾发生器的情况，&lt;strong&gt;键位是不同的&lt;/strong&gt;。并不是所有船只都安装有以上三种装备，可能只装有其中一种或两种。驾驶不同的船只时&lt;strong&gt;要注意键位的不同&lt;/strong&gt;，常犯的错误是将水听当作烟雾发生器按错了，或烟雾发生器当作雷达的键位按错了。&lt;/p&gt;
&lt;h3 id="雷达"&gt;雷达
&lt;/h3&gt;&lt;p&gt;雷达是一种可以发现范围内所有敌方船只的设备。无论敌方船只是在烟雾中或是在隐蔽距离外，只要在己方雷达范围内都可以被发现（俗称点亮）。一般雷达的距离为8~12公里，持续时间为30秒至一分钟。若点亮时，敌方船只在公海上则瞬间被发现；若点亮时敌方船只在烟雾里，则延迟6秒左右的时间才会被发现。此时右下角小地图上会显示红色边框的敌方船只轮廓，但不是实心的，瞄镜中也没有敌方船只的身影。6秒后小地图上的敌方船只轮廓才会变成实心，瞄准镜中也出现了敌方船只的身影。&lt;/p&gt;
&lt;h3 id="水听"&gt;水听
&lt;/h3&gt;&lt;p&gt;水听和雷达的功能相似，但距离更短，一般只有3~6公里。水听除了可以发现范围内的敌方船只外（无延迟），还可以发现敌方的鱼雷。&lt;/p&gt;
&lt;h3 id="烟"&gt;烟
&lt;/h3&gt;&lt;p&gt;烟雾发生器可以在海面上发射出白色的烟雾笼罩自身和队友，让敌人无法发现，一般用于灭点和战略性推进和掩护。烟雾发生器有冷却时间（CD）和作用时间，发出的烟雾有持续时间。作用时间是指当按下烟雾发生器时到烟雾发生器停止工作的时间，这一段时间可以在海面上一直发出烟雾。烟雾的持续时间是指发出的烟雾停留在海面上直至消散的时间，在这段时间内在烟雾里是无法被敌方发现的。烟雾发生器发出烟雾是以自身为圆心，有一定半径的烟雾。如果在烟雾发生时船只在行进，则会拉出一条条带形的烟雾阵地（俗称拉烟）。&lt;/p&gt;
&lt;p&gt;值得注意的是，不少船只有烟雾中开火的惩罚距离，特别是战列舰 &lt;strong&gt;（补充战列舰的开火惩罚距&lt;/strong&gt;离）。这意味着在3~6公里的近距离交战，烟雾对战列舰没有掩护作用。烟雾发生器一般装载于驱逐舰，部分巡洋舰和部分战列舰（意大利战列舰）。&lt;/p&gt;
&lt;p&gt;烟雾按照持续时间分为短烟（多为英国驱逐舰装载）和长烟（普通驱逐舰）。按照烟雾的发生速度分为阵地烟和火车烟。阵地烟的发生速度慢，一般不能掩护自身行进中的船只（但是战略性推进时可以掩护在后方行进的队友）。即拉烟的船只本身在全速行驶，而烟雾无法笼罩他没有提供掩护作用。阵地烟对自身想要达到掩护作用，一般要先减速再拉烟，进而在烟里射击（俗称蹲烟）。火车烟发烟速度快且有较长的作用时间和较短的持续时间，在感官上看就如同现实中火车拉出的烟一样，是一团在前进中的烟雾。高速火车烟普遍装载于意大利系列的船只上，比较典型的如保罗，威尼斯，勒班陀。意大利船可以在高速行驶中拉烟掩护自身，但是很难掩护队友，除非队友和他同速行驶。&lt;/p&gt;
&lt;h2 id="火箭机鱼雷机舰载机反潜设备"&gt;火箭机，鱼雷机，舰载机，反潜设备
&lt;/h2&gt;&lt;h2 id="训练计划"&gt;训练计划
&lt;/h2&gt;&lt;h3 id="炮术练习题"&gt;炮术练习题
&lt;/h3&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2022/WOWS/chap1/image/图片_K7aQaMXJ-1.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2022/WOWS/chap1/image/Snipaste_2022-01-11_14-23-34_Vo5cSKTJWZ.png"&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;图1所示战舰可以攻击到的敌人有几个？（考察对射程的认识，震央圈是干扰项）&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;瞄准佐治亚要放多少提前量，请分情况作答。（考察对敌方速度的认识和判断，建议查阅浩舰数据）&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;图2所示战舰行驶方向和速度。（考察对烟指示速度知识点的掌握，图为倒船火力）&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;和伙伴两两组队开训练房，开同样的船只横向对排行驶，不允许左右摆动躲避，只允许按前进后退，分别按1/4, 1/2, 3/4, FULL 四个档位的速度行驶，互相攻击，练习放提前量，记录击杀次数和击杀用时。（适合&lt;strong&gt;学员对学员&lt;/strong&gt;练习，相互进步。击杀次数更多用时更短表示有进步。）&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;和伙伴两两组队开训练房，其中&lt;strong&gt;教练&lt;/strong&gt;开不同的船只与&lt;strong&gt;学员&lt;/strong&gt;横向对排行驶，教练不允许左右摆动躲避炮弹，只允许按前进后退，分别按1/4, 1/2, 3/4, FULL 四个档位的速度行驶，让学员攻击，练习放提前量，记录击杀次数和击杀用时。（适合&lt;strong&gt;教练对学员&lt;/strong&gt;练习，击杀次数更多用时更短表示学员有进步。）&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;日期和时间&lt;/th&gt;
 &lt;th&gt;学员ID&lt;/th&gt;
 &lt;th&gt;船名&lt;/th&gt;
 &lt;th&gt;击杀次数&lt;/th&gt;
 &lt;th&gt;平均击杀用时&lt;/th&gt;
 &lt;th&gt;第一局&lt;/th&gt;
 &lt;th&gt;第二局&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;2022年1月11日晚&lt;/td&gt;
 &lt;td&gt;JingJing&lt;/td&gt;
 &lt;td&gt;果敢&lt;/td&gt;
 &lt;td&gt;2&lt;/td&gt;
 &lt;td&gt;3：05&lt;/td&gt;
 &lt;td&gt;3：20&lt;/td&gt;
 &lt;td&gt;2:50&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="驾驶练习题"&gt;驾驶练习题
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;选择 崇山峻岭 这幅地图，沿着岛链前进走s形，注意变换速度，推荐从1/4速度开始每过一个弯加一个档，满速后递减，记录总用时和撞山次数。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;选择崇山峻岭这幅地图，沿着岛链后退走S型，注意变换速度。推荐从1/4速度开始每过一个弯加一个档，满速后递减，记录总用时和撞山次数。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;由教官将船开到卡入山的位置，让学员视角看向不同方向（前后左右），根据撞击指示器倒船直至离开山体，记录总用时和撞山次数。&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;推荐使用如下样式表格记录学员的训练成绩，以分析练习驾驶的问题。&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;日期和时间&lt;/th&gt;
 &lt;th&gt;学员ID&lt;/th&gt;
 &lt;th&gt;船名&lt;/th&gt;
 &lt;th&gt;成功过弯次数/撞山次数&lt;/th&gt;
 &lt;th&gt;平均过弯用时/总用时&lt;/th&gt;
 &lt;th&gt;第一局&lt;/th&gt;
 &lt;th&gt;第二局&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;2022年1月11日晚&lt;/td&gt;
 &lt;td&gt;JingJing&lt;/td&gt;
 &lt;td&gt;果敢&lt;/td&gt;
 &lt;td&gt;2&lt;/td&gt;
 &lt;td&gt;3：05&lt;/td&gt;
 &lt;td&gt;3：20&lt;/td&gt;
 &lt;td&gt;2:50&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="雷击教学-1"&gt;雷击教学
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;如图（白线，但是小地图上落点在鱼雷射程外）是否可以击中敌人？&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;假如你是巡洋舰，你是否需要躲避以下鱼雷？（重点要区分亚系的深水雷，可以攻击巡洋舰）&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;假如你是朝潮，与对面驱逐舰近战释放鱼雷是否有效？&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;训练房选择海洋图，与同伴两两结对，互相使用鱼雷攻击，但不能使用主炮攻击。和号数练习相似记录，击败时间和击中次数。&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="维修小组练习题"&gt;维修小组练习题
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;举例说明，你需要用维修小组的情况。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;如何判断对面是否使用维修小组？&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="雷达水听练习题"&gt;雷达，水听练习题
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;举例你觉得雷达的主要用处。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;举例你觉得水听的主要用处。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;说出你对雷达最佳使用时间的理解。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;说说你对水听最佳使用时间的理解。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;雷达可以发现鱼雷吗？&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;水听可以发现烟雾中的船只吗？&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="烟雾练习题"&gt;烟雾练习题
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;选择海洋图训练房，开局满速行驶，直到被敌方发现开出第1炮时，拉烟掩护自身灭点。记录被发现，到完全灭点的用时。（自行感受减速拉烟的配合，个人推荐先减速至1/2，后拉烟）&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;根据地图选择最佳拉烟位置。（要注意避开敌方雷达范围，以达到最佳掩护效果。）&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;说出你理解的最不应该拉烟的情况。&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h1 id="第二章-进阶教学"&gt;第二章 进阶教学
&lt;/h1&gt;&lt;h2 id="计算提前量核心与盲烟"&gt;计算提前量、核心与盲烟
&lt;/h2&gt;&lt;h3 id="一瞄准与射击远距离炮术核心"&gt;一、瞄准与射击：远距离炮术核心
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;计算提前量&lt;/strong&gt; &lt;strong&gt;核心用途&lt;/strong&gt;：用于狙击远距离保持稳定航向航速的目标。 &lt;strong&gt;操作方法&lt;/strong&gt;：战列舰主炮射程远、炮弹飞行时间长，必须根据敌舰的距离、航向和航速，估算出一个提前的瞄准位置（即“提前量”），使炮弹与目标在未来位置交汇。这是远距离炮术的基本功。&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="二鱼雷战术外切雷内切雷骗炮雷封路雷"&gt;二、鱼雷战术：外切雷、内切雷、骗炮雷、封路雷
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;内切雷与外切雷&lt;/strong&gt;
&lt;strong&gt;核心思路&lt;/strong&gt;：基于对敌舰规避行为的预判进行布设。判断的关键在于敌舰的航向相对于&lt;strong&gt;鱼雷来袭方向&lt;/strong&gt;的变化。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;内切雷&lt;/strong&gt;：预判敌舰将 &lt;strong&gt;“迎向”鱼雷方向转向&lt;/strong&gt;（即船头朝向鱼雷来袭方向转动）。这种操作常是敌方为规避炮火或进行反击时的激进走位。内切雷旨在捕捉其转向后与鱼雷航线交汇的瞬间。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;外切雷&lt;/strong&gt;：预判敌舰将 &lt;strong&gt;“背向”鱼雷方向转向&lt;/strong&gt;（即船头远离鱼雷来袭方向转动）。这种操作常是敌方为安全撤退或谨慎规避时的选择。外切雷旨在覆盖其向外转向后的逃离路径。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;骗炮雷&lt;/strong&gt;
&lt;strong&gt;核心思路&lt;/strong&gt;：利用炮击吸引注意力，进行心理博弈。
&lt;strong&gt;操作方法&lt;/strong&gt;：先向敌舰可能行进的区域撒出鱼雷，然后立即用主炮开火吸引其注意。当对手专注于与你进行炮战对射时，其注意力会集中在瞄准镜上，容易忽略鱼雷警告，导致发现过晚、规避不及。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;封路雷&lt;/strong&gt;
&lt;strong&gt;核心思路&lt;/strong&gt;：限制走位，打乱节奏，创造机会。
&lt;strong&gt;操作方法&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;针对冲锋&lt;/strong&gt;：在正面冲锋的敌舰（如战列舰）必经之路上布设密集雷线，迫使其减速、转向或承受伤害。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;横向封锁&lt;/strong&gt;：在关键海域通道横向布雷，阻断敌方推进或支援路线，逼迫对方改变航向露出侧面，或延缓其进攻节奏。&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="三走位与团队配合架炮交叉和集火"&gt;三、走位与团队配合：架炮、交叉和集火
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;架炮&lt;/strong&gt;
&lt;strong&gt;核心思路&lt;/strong&gt;：寻求安全的输出位置。
&lt;strong&gt;操作方法&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;地形利用&lt;/strong&gt;：依托岛屿等掩体，仅露出部分船体（如船头或炮塔）进行攻击，最大限度减少自身暴露面积。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;射程把控&lt;/strong&gt;：在“公海”利用自身射程优势，在敌方有效射程外进行攻击，实现安全消耗。&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;交叉火力的重要性&lt;/strong&gt;
&lt;strong&gt;问题&lt;/strong&gt;：如果多名友舰聚集在同一方向，所有火力线平行，敌方只需一次转向或躲入一个掩体，就能规避所有攻击。
&lt;strong&gt;解决方案&lt;/strong&gt;：与队友分散站位，形成45-90度的交叉火力夹角。这会使敌舰陷入“躲得了左边，躲不了右边”的致命困境，极大增加其生存压力。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;集火&lt;/strong&gt;
&lt;strong&gt;核心思路&lt;/strong&gt;：集中力量，快速歼灭关键目标。
&lt;strong&gt;操作方法&lt;/strong&gt;：通过沟通，号召所有能攻击到的队友，在短时间内将火力集中于同一高价值目标（如冲锋的战列舰、暴露的航母等）。
&lt;strong&gt;战术价值&lt;/strong&gt;：通过高密度投射，迅速造成减员，打破战场平衡，是扭转战局或巩固优势的关键。&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="四我就是水里灵活的狗躲炮躲雷躲飞机"&gt;四、我就是水里灵活的狗：躲炮、躲雷、躲飞机
&lt;/h2&gt;&lt;p&gt;通过灵活运用加速、减速、左右转向（摆舵）等操作，可以有效躲避大部分来自敌舰的炮弹。其核心在于，您的每一次机动都会改变自身的未来位置，从而“欺骗”对手基于您当前航向所计算的提前量。&lt;/p&gt;
&lt;p&gt;船只在有航速的情况下转弯，其轨迹是一个圆弧。&lt;strong&gt;转弯半径&lt;/strong&gt;的大小，除了取决于船只本身的转向能力（如舵效）外，还与&lt;strong&gt;当前的航行速度&lt;/strong&gt;直接相关：速度越快，转弯半径越大，转向越笨重；速度越慢，转弯半径越小，转向越灵活。&lt;/p&gt;
&lt;p&gt;因此，当您需要在最短时间和最小空间内完成紧急转向（例如规避鱼雷或突然出现的山体）时，一个关键技巧是：&lt;strong&gt;先迅速减速至1/2或1/4航速，然后再进行满舵转向&lt;/strong&gt;，这样能实现最敏捷的规避。&lt;/p&gt;
&lt;p&gt;根据不同的战术场景，躲炮技巧主要分为三类：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;拖刀躲炮&lt;/strong&gt;：在战略撤退时，保持船尾对敌，通过细微的左右摆舵来干扰敌方瞄准，在保证撤离效率的同时最大化生存几率。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;侧身躲炮&lt;/strong&gt;：在遭遇战或缠斗中，适时将船身侧面对敌以发挥全部火力，并在敌方开火后立即向内或向外转向，利用船体角度“甩开”炮弹。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;前进躲炮&lt;/strong&gt;：在推进攻击时，采用不规则的加减速配合左右转向，使敌方无法准确预判您的行进节奏，从而规避火力。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;无论哪种方式，其核心思想都是&lt;strong&gt;利用敌方瞄准所需的“提前量”所产生的时间差，通过主动、不可预测的机动来破坏其瞄准解算&lt;/strong&gt;，让炮弹落在您上一秒的位置。&lt;/p&gt;
&lt;p&gt;细节姿势可以参考&lt;a class="link" href="https://www.bilibili.com/video/BV1Ao4y197Z5?share_source=copy_web&amp;amp;vd_source=d6d5ab02b1f193d2b48b56e1bba736df" target="_blank" rel="noopener"
 &gt;【凯瑟林教室】最细躲炮教学~炮+火箭弹 其实都能躲呢 三层防御体系&lt;/a&gt;&lt;/p&gt;</description></item><item><title>【硬核零氪】氪不起暖暖，买不起衣服给女儿穿了怎么办？自己做一个</title><link>https://ruajingjing.top/post/%E7%A1%AC%E6%A0%B8%E9%9B%B6%E6%B0%AA-%E6%B0%AA%E4%B8%8D%E8%B5%B7%E6%9A%96%E6%9A%96-%E4%B9%B0%E4%B8%8D%E8%B5%B7%E8%A1%A3%E6%9C%8D%E7%BB%99%E5%A5%B3%E5%84%BF%E7%A9%BF%E4%BA%86%E6%80%8E%E4%B9%88%E5%8A%9E-%E8%87%AA%E5%B7%B1%E5%81%9A%E4%B8%80%E4%B8%AA/</link><pubDate>Fri, 10 Apr 2020 18:41:24 +0000</pubDate><guid>https://ruajingjing.top/post/%E7%A1%AC%E6%A0%B8%E9%9B%B6%E6%B0%AA-%E6%B0%AA%E4%B8%8D%E8%B5%B7%E6%9A%96%E6%9A%96-%E4%B9%B0%E4%B8%8D%E8%B5%B7%E8%A1%A3%E6%9C%8D%E7%BB%99%E5%A5%B3%E5%84%BF%E7%A9%BF%E4%BA%86%E6%80%8E%E4%B9%88%E5%8A%9E-%E8%87%AA%E5%B7%B1%E5%81%9A%E4%B8%80%E4%B8%AA/</guid><description>&lt;img src="https://ruajingjing.top/" alt="Featured image of post 【硬核零氪】氪不起暖暖，买不起衣服给女儿穿了怎么办？自己做一个" /&gt;&lt;p&gt;憋在家里很无聊，我突然想把之前卸载的《闪耀暖暖》装回来玩玩，想到闪耀暖暖刚开玩的时候我在知乎上的已回答。想了想，女鹅是真漂亮，然而我的钱包是真的穷。&lt;/p&gt;
&lt;p&gt;&lt;img alt="https://newblogimg.oss-cn-beijing.aliyuncs.com/blog/2020PicGo/20200410185128.png" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/blog/2020PicGo/20200410185128.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="https://newblogimg.oss-cn-beijing.aliyuncs.com/blog/2020PicGo/20200410185246.png" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/blog/2020PicGo/20200410185246.png"&gt;&lt;/p&gt;
&lt;p&gt;所以，我又重新拾起自己给女鹅做衣服的想法，之前一些技术帖已经披露出暖暖是用Unity3D做的，之前我就猜如此高质量质感的衣服应该是用了专业的服装设计软件——Marvelous。果然，去年年底的&lt;a class="link" href="https://www.bilibili.com/video/BV1hJ411W7Yd/" target="_blank" rel="noopener"
 &gt;Unity专场技术分享会&lt;/a&gt;上叠纸游戏美术总监柳丛就说用的是Marvelous(视频28:31，柳总说的是Marperles，大概是口误？)&lt;/p&gt;
&lt;p&gt;Unity3D和Marverlous恰好我都会用，那么，咱们就开始给女鹅做衣服吧。&lt;/p&gt;
&lt;h2 id="nikiki模型导入"&gt;Nikiki模型导入
&lt;/h2&gt;&lt;p&gt;关于暖暖模型从哪里来，怎么提取，我只能说暖暖无处不在，只要你手机里有暖暖，理论上你可以把女鹅的身体和全套衣服都扒下来，参考教程 &lt;a class="link" href="https://zhuanlan.zhihu.com/p/78462825" target="_blank" rel="noopener"
 &gt;[LAB]闪耀暖暖拆包记&lt;/a&gt;，如果你懒得自己动手某宝上8块钱（最终还是氪了8块钱？）。破解拆包的暖暖是&lt;code&gt;fbx&lt;/code&gt;格式的，某宝则也提供&lt;code&gt;.max&lt;/code&gt;格式还有各种材质贴图。&lt;/p&gt;
&lt;p&gt;&lt;img alt="https://newblogimg.oss-cn-beijing.aliyuncs.com/blog/2020PicGo/20200410195353.png" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/blog/2020PicGo/20200410195353.png"&gt;&lt;/p&gt;
&lt;p&gt;我自己破解技术不到家，弄出来的暖暖缺胳膊少腿，脸还好像烧伤一块似的。&lt;/p&gt;
&lt;p&gt;&lt;img alt="https://newblogimg.oss-cn-beijing.aliyuncs.com/blog/2020PicGo/20200410195533.png" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/blog/2020PicGo/20200410195533.png"&gt;&lt;/p&gt;
&lt;p&gt;最后还是用某宝卖家的模型了。&lt;/p&gt;
&lt;p&gt;&lt;img alt="https://newblogimg.oss-cn-beijing.aliyuncs.com/blog/2020PicGo/20200410195633.png" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/blog/2020PicGo/20200410195633.png"&gt;&lt;/p&gt;
&lt;p&gt;加上头发和眼镜，为了避免穿模，特地选用短发发型。&lt;/p&gt;
&lt;p&gt;&lt;img alt="https://newblogimg.oss-cn-beijing.aliyuncs.com/blog/2020PicGo/20200410200136.png" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/blog/2020PicGo/20200410200136.png"&gt;&lt;/p&gt;
&lt;p&gt;然后设置相机位置，调整到合适角度，这里参考柳总给的25度。&lt;/p&gt;
&lt;p&gt;&lt;img alt="https://newblogimg.oss-cn-beijing.aliyuncs.com/blog/2020PicGo/20200410190330.png" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/blog/2020PicGo/20200410190330.png"&gt;&lt;/p&gt;
&lt;p&gt;导入两个插件，&lt;a class="link" href="https://github.com/monitor1394/ExportSceneToObj/releases/download/v1.0.0/ExportSceneToObj-1.0.0.unitypackage" target="_blank" rel="noopener"
 &gt;ExportSceneToObj&lt;/a&gt; 和 &lt;a class="link" href="https://github.com/KellanHiggins/UnityFBXExporter/releases/download/1.2.0/UnityFBXExporter1_2_0.unitypackage" target="_blank" rel="noopener"
 &gt;UnityFBXExporter&lt;/a&gt;，在Unity中调整好发型和身体，新建一个&lt;code&gt;Gameobject&lt;/code&gt;套住发型和身体的模型，调整好材质颜色（这里脸和身体肤色不一样，脸部用了妆面）。然后使用插件把暖暖导出为&lt;code&gt;.obj&lt;/code&gt;和&lt;code&gt;.fbx&lt;/code&gt;格式。&lt;/p&gt;
&lt;h2 id="设计暖暖的衣服"&gt;设计暖暖的衣服
&lt;/h2&gt;&lt;p&gt;打开Marvelous软件，导入暖暖模型，建议采用&lt;code&gt;.obj&lt;/code&gt;导入，&lt;code&gt;.fbx&lt;/code&gt;导入会出现大小不匹配问题。导入&lt;code&gt;obj&lt;/code&gt;时注意选择单位为&lt;code&gt;米&lt;/code&gt;。之前我已经给暖暖画了一个基本的裙子，只是当时忘了录屏。&lt;/p&gt;
&lt;p&gt;&lt;img alt="https://newblogimg.oss-cn-beijing.aliyuncs.com/blog/2020PicGo/20200410201059.png" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/blog/2020PicGo/20200410201059.png"&gt;&lt;/p&gt;
&lt;p&gt;不过不要紧，后半段我录下来了，操作基本都一样，画面片缝合。衣服做好后点击模拟做微调，然后把2D板片尽量放在一起便于导出UV（视频里导出的UV还是有点问题）。然后，去掉模特暖暖只要衣服。&lt;/p&gt;
&lt;p&gt;&lt;img alt="https://newblogimg.oss-cn-beijing.aliyuncs.com/blog/2020PicGo/20200410201518.png" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/blog/2020PicGo/20200410201518.png"&gt;&lt;/p&gt;
&lt;p&gt;点击导出，导出为&lt;code&gt;fbx&lt;/code&gt;，可以选择连纹理一起导出。&lt;/p&gt;
&lt;h2 id="给暖暖穿衣服"&gt;给暖暖穿衣服
&lt;/h2&gt;&lt;p&gt;Marvelous就能导出 &lt;code&gt;.obj&lt;/code&gt; 和 &lt;code&gt;.fbx&lt;/code&gt; 的模型，可以再导入到3Dmax或者ZBrush中做微调和更细致的UV展开，也可以直接就导入到Unity3D中组合。&lt;/p&gt;
&lt;p&gt;&lt;img alt="https://newblogimg.oss-cn-beijing.aliyuncs.com/blog/2020PicGo/20200410201904.png" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/blog/2020PicGo/20200410201904.png"&gt;&lt;/p&gt;
&lt;p&gt;在Unity3D中再给衣服建材质球，贴UV。&lt;/p&gt;
&lt;p&gt;&lt;img alt="https://newblogimg.oss-cn-beijing.aliyuncs.com/blog/2020PicGo/20200410202125.png" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/blog/2020PicGo/20200410202125.png"&gt;&lt;/p&gt;
&lt;h2 id="todo"&gt;TODO
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;下期尝试好好把UV弄一弄。&lt;/li&gt;
&lt;li&gt;视本人发量决定加骨骼动画，碰撞体绑定。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;最后的最后，我想知道柳总和他的团队的小哥哥小姐姐们掉了多少头发。&lt;/p&gt;</description></item><item><title>脑科学能够给VR领域带来启示</title><link>https://ruajingjing.top/post/%E8%84%91%E7%A7%91%E5%AD%A6%E8%83%BD%E5%A4%9F%E7%BB%99vr%E9%A2%86%E5%9F%9F%E5%B8%A6%E6%9D%A5%E5%90%AF%E7%A4%BA/</link><pubDate>Tue, 10 Mar 2020 01:13:52 +0000</pubDate><guid>https://ruajingjing.top/post/%E8%84%91%E7%A7%91%E5%AD%A6%E8%83%BD%E5%A4%9F%E7%BB%99vr%E9%A2%86%E5%9F%9F%E5%B8%A6%E6%9D%A5%E5%90%AF%E7%A4%BA/</guid><description>&lt;img src="https://ruajingjing.top/" alt="Featured image of post 脑科学能够给VR领域带来启示" /&gt;&lt;p&gt;接入脑机接口，到达梦境世界，构建虚拟人格。&lt;/p&gt;
&lt;h2 id="脑机接口"&gt;脑机接口
&lt;/h2&gt;&lt;p&gt;说起脑机接口，我第一次了解这个概念还是在追番的时候，那时《刀剑神域》正在热播，我和大多数中二少年一样，幻想着自己也有一台NERvGear，也能穿越到游戏世界中，开始挑战魔兽的冒险生活。&lt;/p&gt;
&lt;p&gt;&lt;img alt="https://newblogimg.oss-cn-beijing.aliyuncs.com/blog/2020PicGo/20200309225630.jpeg\n" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/blog/2020PicGo/20200309225630.jpeg"&gt;&lt;/p&gt;
&lt;p&gt;中学时代的幻想毕竟只是幻想，很快我又不得不投入紧张的复习中去。但不得不承认的是，虚拟现实，潜行技术，脑机接口，这些字眼已经印在我脑海中了。上了大学，我在接触到编程和虚拟现实技术之后，就投入了极大的兴趣。中学时代我在科学美国人杂志上看到一篇报道，称脑机接口已完成理论进入实验阶段。那时我就在期待着，科技如此迅猛的发展，我有生之年可以体验一下SAO的世界吗？&lt;/p&gt;
&lt;p&gt;脑机接口的原理解释起来可以很简单（实现起来不简单），脑子里的神经通过神经元细胞传递信号，这个信号的载体就是“电”。高中生物中就解释过相关原理。&lt;/p&gt;
&lt;p&gt;&lt;img alt="https://newblogimg.oss-cn-beijing.aliyuncs.com/blog/2020PicGo/20200309231511.png\n" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/blog/2020PicGo/20200309231511.png"&gt;&lt;/p&gt;
&lt;p&gt;而电又是人类目前已经十分熟悉的东西了，如果能给脑子接一根电线，让一个控制器扫描电信号，控制电信号传出传入，不就是传说中的脑机接口吗？而马斯克就将传说拉入了现实。&lt;/p&gt;
&lt;iframe src="//player.bilibili.com/player.html?aid=61921068&amp;cid=107663551&amp;page=1" scrolling="no" width="95%" height="600" allowfullscreen="true"&gt; &lt;/iframe&gt;
&lt;p&gt;不得不说马斯克真是个神人，但就目前而言，脑机接口技术还尚未成熟。视频中所示的装置面临的问题有：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;感染问题&lt;/strong&gt;。毕竟是在脑子上开了个洞，即便手术时保证无菌，在使用过程中也面临着感染问题。况且，这玩意装好了，也不保证完全不会坏。隔三岔五要在脑子上开个洞维修更新，不是谁都受得了。远的不说，就说现在装个心脏起搏器，也是要定期做手术取出维修换新的。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;成本问题&lt;/strong&gt;。要体验一次脑机接口，要承担手术费和设备费，还有可能有马斯克公司的会员费，不是每个人都消费得起。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;隐私安全&lt;/strong&gt;。现在就连手机的隐私问题也是乱得一塌糊涂，手机能接收的个人相关信息就有位置，时间，照片，如果有连接手环，智能体脂秤，能监测的信息就更多了。目前马斯克公司踏出了第一步，也许他们现在不清楚，哪一段数据具体指什么，只能用机器学习做个模式分析，但谁能保证以后呢？大数据的力量我们都是有目共睹的，几个国家联合已经完成了人类基因组测序。如果脑电波信号的指征也被完全识别，到时候，人与人之间大概毫无秘密可言。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;现在担心这些问题还为时尚早，问题就是在实践中发现和解决的嘛。不过我个人更看好“无创的”脑机接口方式。打个比方说，马斯克的脑机接口相当于有线连接，无创的脑机接口相当于隔着头盖骨的无线通信。虽然可能信号质量不如有线好，无线的显然更方便。&lt;/p&gt;
&lt;h2 id="梦境研究"&gt;梦境研究
&lt;/h2&gt;&lt;p&gt;目前的VR（虚拟现实）也面临着无线还是有线的问题，毕竟硬件条件还未完全同步。&lt;/p&gt;
&lt;p&gt;&lt;img alt="https://images.pexels.com/photos/3761111/pexels-photo-3761111.jpeg?cs=srgb&amp;dl=pexels-3761111.jpg&amp;fm=jpg" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://images.pexels.com/photos/3761111/pexels-photo-3761111.jpeg?cs=srgb&amp;dl=pexels-3761111.jpg&amp;fm=jpg"&gt;&lt;/p&gt;
&lt;p&gt;VR游戏蓬勃发展，像BeatSaber，Super Hot VR，刀剑大师， Eagle Fight，VRChat一类的游戏，带给玩家自由度更高的，新鲜刺激的游戏体验。&lt;/p&gt;
&lt;iframe src="//player.bilibili.com/player.html?aid=87847172&amp;cid=150080575&amp;page=1" scrolling="no" width="95%" height="600" allowfullscreen="true"&gt; &lt;/iframe&gt;
&lt;iframe src="//player.bilibili.com/player.html?aid=87982032&amp;cid=150297131&amp;page=1" scrolling="no" width="95%" height="600" allowfullscreen="true"&gt; &lt;/iframe&gt;
&lt;p&gt;去年下半年《刀剑神域》第三季开播，刀剑世界中的攻城狮们已经开发到第四世代机Soul Translator。这里涉及到一个“摇光”的概念。&lt;/p&gt;
&lt;p&gt;&lt;img alt="https://c-ssl.duitang.com/uploads/item/201907/23/20190723224013_VFEzN.jpeg" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://c-ssl.duitang.com/uploads/item/201907/23/20190723224013_VFEzN.jpeg"&gt;&lt;/p&gt;
&lt;p&gt;看过《盗梦空间》的盆友应该熟悉这样一个设定，即梦境中的时间是现实的倍速。现实生活中你可能也有过这样的感受，明明只是睡了一小会，但是感觉在梦中仿佛过了几天，一个星期，甚至几年这样。一个俏皮的说法是白日梦，古典一点的说法是黄粱一梦。&lt;/p&gt;

 &lt;blockquote&gt;
 &lt;p&gt;《枕中记》
唐开元七年（公元719年），卢生郁郁不得志，骑着青驹穿着短衣进京赶考，结果功名不就，垂头丧气。
一天，旅途中经过邯郸，在客店里遇见了得神仙术的道士吕翁（明代剧作家汤显祖创作的《邯郸记》，将吕翁改为八仙之一的吕洞宾），卢生自叹贫困，道士吕翁便拿出一个瓷枕头让他枕上。卢生倚枕而卧，一入梦乡便娶了美丽温柔、出身清河崔氏的妻子，中了进士，升为陕州牧、京兆尹，最后荣升为户部尚书兼御史大夫、中书令，封为燕国公。他的5个孩子也高官厚禄，嫁娶高门。卢生儿孙满堂，享尽荣华富贵。80岁时，生病久治不愈，终于死亡。断气时，卢生一惊而醒，转身坐起，左右一看，一切如故，吕翁仍坐在旁边，店主人蒸的黄粱饭（黄米饭）还在锅里哩！即黄粱梦（黄粱一梦）的由来也是来于此了。&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;p&gt;如果在基于安全等考虑的基础上，我们将人脑的机能全部解析了出来，并实现了Soul Translator这样既能翻译脑信号又能实现加速梦境的机器的大范围普及（大概像今天我们人人有电脑，人人有手机这样的地步）。梦境的世界对我们不再陌生，我们能用梦做些什么呢？&lt;/p&gt;
&lt;p&gt;首先，点名批评&lt;a class="link" href="https://www.bilibili.com/bangumi/play/ep307446" target="_blank" rel="noopener"
 &gt;异度侵入 ID:INVADED&lt;/a&gt;中的约翰·沃克先生，梦境并不是法外之地。可能普及脑机接口后不久，就会有关于梦境中行为和道德伦理的讨论。VRChat刚上线时，出现不少男性玩家专门去看女性模型的敏感部位的不雅行为，甚至还有粗鲁地叫嚣着“VR里摸你一下现实中又不会少块肉”的“撸”模型的行为。VRChat对此专门做了一次更新，添加了安全空间的约束，玩家必须保持一定距离，否则什么也看不到。&lt;/p&gt;
&lt;p&gt;那么，相似的，梦境世界中的自由度比目前的VR更高，这意味着玩家可以在里面做出与现实一样的行为，并接受到近乎真实的反馈，这听起来是个好事。但如果有不法分子抱有不良的目的利用梦境，那可能会对受害者造成严重的心理伤害。&lt;/p&gt;
&lt;p&gt;或者我换个说法，人们可能会遇到如下问题：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;在梦境中犯罪算不算犯法？比如杀人，只是将角色清除，宿主不受影响；还是近乎真实的物理引擎并实时反馈创伤痛感，窒息，晕厥等感受的“角色清除”？&lt;/li&gt;
&lt;li&gt;梦境中被“不良清除”是否对主人格有影响？&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;其次，梦境系统可能会大范围应用到教育中去。最主要的当然是因为梦境可以加速，想象一下，你现实中睡一觉，第二天就会大学高数了，是多么爽的一件事。&lt;/p&gt;
&lt;p&gt;目前教育的一大问题就是时间太长，虽然一些媒体都发声号召“终身学习”，但义务教育和常识性的教育就很让人吃力了。几千年的历史，听着让人自豪，学起来就很痛苦了。不仅要知道过去的，还要了解现世的，随着历史长河越来越长，青少年要学习的知识越来越多，但人的寿命不是无限的。这矛盾积累到最后，肯定会有一个爆发。即，一个人即使保证最高效率的学习（保证生理作息的最大限度的读书学习），要学完能在社会上立足的“常识”的时间超过他余下寿命能工作产出的时间。假设人寿命80岁，他要学习40年才算完成“义务教育”，才算一个现在的“初中毕业生”的水平，才能获得一般的工作的机会（那个时候可能擦盘子的活也找不到了，全丢给机器人干了）。即便那时我们实现了共同富裕，生产生活大部分都给机器人干了，我们只是吃吃睡睡然后学习，学到40岁初中毕业，60岁高中毕业，80岁大学毕业，然后嗝屁了。这时候不适合感叹“朝闻道夕死可矣”，只有输入的你和一个硬盘有什么区别，还不如人家硬盘存储高效。也不用说什么“学中做，做中学”“产学研”融合，学习这件事，大部分时候都是一个纯支出的活动。&lt;/p&gt;
&lt;p&gt;教育年限太长带来的问题就是资源浪费。如果学生在梦境系统中学习呢，利用梦境加速原理，脑发育达到一定水平之后的青少年，接入Soul Translator，在梦境中完成了40年的学习达到“初中水平”，脱下梦境装置也只是10多岁的少年，80年大学毕业后也只是20多岁的青年，正是年富力强之时，而且那时候的20多岁的人远比现在20多岁的人要优秀得多。而且体育课也会回归体育老师，其他专业课老师不用霸占体育课了，毕竟专业性的知识在梦境系统中学习更高效。现实世界中反而要好好锻炼身体，这时候多活一秒，相当于多活了一个月。&lt;/p&gt;
&lt;p&gt;行业中的交叉更频繁，更复杂。之前，跨界不容易实现，因为隔行如隔山，从头学起又浪费一大段时间。有了梦境系统，即便两个毫不相关的行业的人，在商务接洽前用现实的一小时学习一下梦境一年的专业速成课，也能达到很好的交叉效果。&lt;/p&gt;
&lt;h2 id="虚拟人格"&gt;虚拟人格
&lt;/h2&gt;&lt;p&gt;除非破解不老不死的密码，否则寿命都是有限的。梦境系统虽然不能加长生命的长度，但是它确实拓宽了生命的宽度，而且是好几倍。有一种能“长生”的方法就是构建虚拟人格，将人的记忆，性格等完全复制到计算机上，只要计算机的数据不被破坏，“你”将一直存在。关于这个概念可以看角色人物茅场晶彦。只要有能源有数据，“你”就不会“死”。真正做到了“塔在人在”。&lt;/p&gt;
&lt;h2 id="结语"&gt;结语
&lt;/h2&gt;&lt;p&gt;关于脑科学还有许多要研究的地方，我无比期待着，梦境时代的到来。&lt;/p&gt;</description></item><item><title>【游戏测评】#SuperHot_VR# 那天杀手B他终于想起了外挂密码</title><link>https://ruajingjing.top/post/%E6%B8%B8%E6%88%8F%E6%B5%8B%E8%AF%84-superhot_vr-%E9%82%A3%E5%A4%A9%E4%BB%96%E7%BB%88%E4%BA%8E%E6%83%B3%E8%B5%B7%E4%BA%86%E5%A4%96%E6%8C%82%E5%AF%86%E7%A0%81/</link><pubDate>Sun, 09 Feb 2020 16:35:45 +0000</pubDate><guid>https://ruajingjing.top/post/%E6%B8%B8%E6%88%8F%E6%B5%8B%E8%AF%84-superhot_vr-%E9%82%A3%E5%A4%A9%E4%BB%96%E7%BB%88%E4%BA%8E%E6%83%B3%E8%B5%B7%E4%BA%86%E5%A4%96%E6%8C%82%E5%AF%86%E7%A0%81/</guid><description>&lt;img src="https://ruajingjing.top/" alt="Featured image of post 【游戏测评】#SuperHot_VR# 那天杀手B他终于想起了外挂密码" /&gt;&lt;p&gt;那一天杀手B终于想起了他的神级外挂“Time moves only when you move”简称“我不动敌不动”，这个中文翻译的有点别扭，之前一直没反应过来“前进时时间前进”是什么意思。&lt;/p&gt;
&lt;p&gt;现在我面前有个小红人，怼他。后面还有两人，我不动，不动，看准机会，怼他，嘿，再来一拳。&lt;/p&gt;
&lt;p&gt;最后一轮，我看一下，三个，小case，我打，来啊。哎哟，大哥你这姿势有点骚啊。&lt;/p&gt;
&lt;p&gt;又到了见证奇迹的时刻。&lt;/p&gt;
&lt;p&gt;飞镖的操作是“trriger”键抓取，“pad↑”键释放，对准目标后一扬手，就中了。多练习练习就熟练了。嘿，看我飞不死你，腿部中弹也行？&lt;/p&gt;
&lt;p&gt;我们来试试，试试就试试。&lt;/p&gt;
&lt;p&gt;哎呀，好险，这枪档子弹不错嘛，啥型号沙漠之鹰？&lt;/p&gt;
&lt;p&gt;还记得我在这里解锁了“野性暴发”的成就。&lt;/p&gt;
&lt;p&gt;又到了这个登机口，让我把枪砸过来。我砸，啧啧，真疼。&lt;/p&gt;
&lt;p&gt;后面有个拿枪的，先在柜子这苟着，干掉这两个没枪的。计算器、马克杯、烟灰缸、机场安检的工作压力也不小嘛。哇，这玻璃，刚没看到。&lt;/p&gt;
&lt;p&gt;先干掉叛徒。不急，让他走过来送枪，第一个手枪的子弹应该快没了。好嘞，枪到手。我擦，果然没子弹了，谢谢大哥送子弹。&lt;/p&gt;
&lt;p&gt;你准备好了吗？终于我还是拿起了这把枪。拿出你的诚意？怎么个诚意法？投币三联加关注？喔，瞄头，那瞄吧。&lt;/p&gt;
&lt;p&gt;我现在是回到一个小房间，好像是这个杀手B的小房间，那么7分钟新手教程就走完了，我用了不到5分钟吧,这期节目就到这里了。&lt;/p&gt;
&lt;p&gt;特殊时期也请大家一定要注意，勤洗手。&lt;/p&gt;
&lt;p&gt;我是Bugatii100P，你可以叫我杀手B先生，下期我会讲一讲我的职业生涯了。&lt;/p&gt;
&lt;iframe src="//player.bilibili.com/player.html?aid=87847172" scrolling="no" width="95%" height="600" allowfullscreen="true"&gt; &lt;/iframe&gt;</description></item><item><title>【游戏测评】#SuperHot_VR# 我，是个菜鸟杀手，莫得手速</title><link>https://ruajingjing.top/post/%E6%B8%B8%E6%88%8F%E6%B5%8B%E8%AF%84-superhot_vr-%E6%88%91-%E6%98%AF%E4%B8%AA%E8%8F%9C%E9%B8%9F%E6%9D%80%E6%89%8B-%E8%8E%AB%E5%BE%97%E6%89%8B%E9%80%9F/</link><pubDate>Mon, 13 Jan 2020 19:53:02 +0000</pubDate><guid>https://ruajingjing.top/post/%E6%B8%B8%E6%88%8F%E6%B5%8B%E8%AF%84-superhot_vr-%E6%88%91-%E6%98%AF%E4%B8%AA%E8%8F%9C%E9%B8%9F%E6%9D%80%E6%89%8B-%E8%8E%AB%E5%BE%97%E6%89%8B%E9%80%9F/</guid><description>&lt;img src="https://ruajingjing.top/" alt="Featured image of post 【游戏测评】#SuperHot_VR# 我，是个菜鸟杀手，莫得手速" /&gt;&lt;p&gt;最近买了很多游戏来学习（玩），这个SupeHot也是我刚花了78人民币买的。启动后，我看到它推荐我花7分钟过一下新手教程，我也没多想，就开始了。
&lt;img alt="Snipaste_2020-01-13_20-00-54.png" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2020/01/13/83f3e6af83425.png"&gt;&lt;/p&gt;
&lt;p&gt;首先开局就是一把枪，拿起之后敌人就出现了。
&lt;img alt="Snipaste_2020-01-13_20-08-15.png" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2020/01/13/62ff52527a054.png"&gt;&lt;/p&gt;
&lt;p&gt;这个游戏对暴力元素的处理很巧妙，首先是人物模型，不是那种追求真人效果的模型，而是用几何的处理方法。其次，对于血的处理，这里的飙血特效是像玻璃杯脆裂一样的效果，连音效也是“刺啦刺啦”的，减轻了血腥元素引起的不适感。讲真，有时候我反而会喜欢那种脆裂的声音，从感官上满足了玩家对“暴力-破坏”的某种追求。&lt;/p&gt;
&lt;p&gt;不多说，直接看视频吧。&lt;/p&gt;
&lt;iframe src="//player.bilibili.com/player.html?aid=83366593" scrolling="no" width="95%" height="600" allowfullscreen="true"&gt; &lt;/iframe&gt;</description></item><item><title>我在VRChat里搞事情</title><link>https://ruajingjing.top/post/%E6%88%91%E5%9C%A8vrchat%E9%87%8C%E6%90%9E%E4%BA%8B%E6%83%85/</link><pubDate>Thu, 09 Jan 2020 22:31:24 +0000</pubDate><guid>https://ruajingjing.top/post/%E6%88%91%E5%9C%A8vrchat%E9%87%8C%E6%90%9E%E4%BA%8B%E6%83%85/</guid><description>&lt;img src="https://ruajingjing.top/" alt="Featured image of post 我在VRChat里搞事情" /&gt;&lt;p&gt;VRchat号称世界上最贵的免费游戏，steam平台上它是免费的，但是如果要完美体验“VR”的chat，还必须有一台VR设备，从头盔到手柄和VRread电脑，少说也要4位数吧！想我这样的穷学生自然是买不起的，不过我实验中心的老板十分舍得在设备上砸钱，这个四位数的问题解决了。&lt;/p&gt;
&lt;p&gt;平常这设备自然是不能拿来搞事情的，但现在期末了嘛，项目也结了，学生们也在紧张地复习（预习）期末考试，而我这个无所事事的大四狗看着同样无所事事的设备，对管理老师说：&lt;/p&gt;
&lt;p&gt;“哎，您看这设备闲着可不？要不来点维护维护（搞事）啥的……”&lt;/p&gt;
&lt;p&gt;然后，我就拿过设备搞事情了。&lt;/p&gt;
&lt;h2 id="steam-账户注册与-vrchat-下载"&gt;steam 账户注册与 VRChat 下载
&lt;/h2&gt;&lt;p&gt;对，我之前是一个不玩游戏的乖宝宝，这是我第一次注册steam，感觉仿佛在做坏事呢，呵呵呵。
注册没有什么大问题，目前steam除了好友列表仿佛是因为“The Great Wall”的原因访问有点问题外，注册和下载游戏没有什么大问题。&lt;/p&gt;
&lt;p&gt;在steam商店界面搜索&lt;code&gt;VRcaht&lt;/code&gt;即可找到下载&lt;/p&gt;
&lt;h2 id="htc-vive-二代-vr设备安装和配置"&gt;HTC Vive 二代 VR设备安装和配置
&lt;/h2&gt;&lt;p&gt;虽然只有一台笔记本也可以玩VRchat，也就是VR玩家说的“PC玩家”或“人棍玩家”，但是没有“VR”的Chat和某鹅某信有什么区别。关于安装&lt;a class="link" href="https://www.bilibili.com/video/av4238586?from=search&amp;amp;seid=6023560706891788155" target="_blank" rel="noopener"
 &gt;官方拍摄的视频演示&lt;/a&gt;的很清楚，虽然是英文的，不过听不懂也没关系照着样子装就行了。那两个方盒子要固定好，按后面的按钮调整一个“b”一个“c”。线什么的，看接口形状插，可以说每根线接口特征很明显，怼上去就完事了。&lt;/p&gt;
&lt;p&gt;配置什么的，下载steam VR，自动安装的，你只需要在合适的时候点next就行了。最后运行房间设置，圈一块5平米的空地就可以开黑了。&lt;/p&gt;
&lt;h2 id="登录vrchat-设置形象"&gt;登录VRchat 设置形象
&lt;/h2&gt;&lt;p&gt;下载好VRchat后，点击运行以VR模式启动。刚登陆进去会教你基本的瞬移操作，按下图&lt;code&gt;3&lt;/code&gt;键指定位置，松开后瞬移。这个功能非常好用，冬天的早上起床，我都恨不得用这个功能瞬移到教室答个到，然后再瞬移回被窝。&lt;/p&gt;
&lt;p&gt;&lt;img alt="HTC Vive 手柄按键图" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2020/01/09/56f7697b667e1.jpg"&gt;&lt;/p&gt;
&lt;p&gt;走完教程，来到VRchat Home，一个初始场景，你的初始状态是这样的：
&lt;img alt="我，一个没有感情的火柴人" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2020/01/09/5719e9e3be809.jpg"&gt;&lt;/p&gt;
&lt;p&gt;这个火柴人显然不太符合我的形象，我们来换个造型。按压你手柄的菜单键，也就是HTC Vive手柄上有三个杠的那个按钮，也就是上图中&lt;code&gt;1&lt;/code&gt;那个按钮&lt;/p&gt;
&lt;p&gt;在跳出的菜单中选择&lt;code&gt;Avatar&lt;/code&gt;或者下图右边洞洞的那个&lt;code&gt;Big AI's Avater Coddidors&lt;/code&gt;的那个场景。&lt;/p&gt;
&lt;p&gt;&lt;img alt="菜单面板" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2020/01/09/cb47ece5f8d00.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="换形象" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2020/01/10/c0d57b92a09fa.png"&gt;&lt;/p&gt;
&lt;p&gt;好了，我换了个企鹅造型。
&lt;img alt="LZ我真帅" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2020/01/09/93bcc5ed955ee.jpg"&gt;&lt;/p&gt;
&lt;p&gt;看我洁白的毛，光滑的背，还有那周润发般帅气的大背头，乌黑发亮的大眼睛（编不下去了）
&lt;img alt="LZ我最帅" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2020/01/09/d88ee8ee34316.jpg"&gt;&lt;/p&gt;
&lt;h2 id="进入房间"&gt;进入房间
&lt;/h2&gt;&lt;p&gt;好的，现在可以进入&lt;code&gt;world&lt;/code&gt;选一个房间了，VRchat的玩家进到一个新场景优先去的地方是WC，因为有镜子。镜子除了可以欣赏自己的盛世美颜之外，还有一个重要功能就是“交友”。&lt;/p&gt;
&lt;p&gt;&lt;img alt="最右边到底是啥？进or不进" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2020/01/09/bdcde54adade8.jpg"&gt;&lt;/p&gt;
&lt;p&gt;不过我在这个WC前驻足良久，决定还是不要进去了。镜子嘛，多数房间不止有一面镜子，玩家们总是聚集在镜子前做各种沙雕行为，或者就单纯的站着。像这样，这样，这样的。&lt;/p&gt;
&lt;p&gt;&lt;img alt="我看着你们一对一对的" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2020/01/09/5ce84e322e260.jpg"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="你瞅啥" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2020/01/09/ff15e7b7ce3ab.jpg"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="千手观音，保持队形" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2020/01/09/719d55f7061e4.jpg"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="掉线重连中" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2020/01/09/53919ca56fb5a.jpg"&gt;&lt;/p&gt;
&lt;h2 id="奇怪的房间"&gt;奇怪的房间
&lt;/h2&gt;&lt;p&gt;我发现一个奇妙的房间，这个房间只能有两个人，名字听着就很和谐。当然，我这样的single dog 只能一个人玩。&lt;/p&gt;
&lt;p&gt;辣眼睛警告，警告，警告三连。&lt;/p&gt;
&lt;p&gt;&lt;img alt="台灯" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2020/01/09/3b4cc4f8fb93b.png"&gt;&lt;/p&gt;
&lt;p&gt;看着柔和的灯光，典雅厚重的窗帘，遮光良好。&lt;/p&gt;
&lt;p&gt;&lt;img alt="窗帘" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2020/01/09/309c8a65ff8e0.png"&gt;&lt;/p&gt;
&lt;p&gt;看这美腿&lt;/p&gt;
&lt;p&gt;&lt;img alt="美腿" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2020/01/09/32db01a1ef59f.png"&gt;&lt;/p&gt;
&lt;p&gt;看这眼神&lt;/p&gt;
&lt;p&gt;&lt;img alt="VRChat_1920x1080_2020-01-04_17-45-58.867.png" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2020/01/09/ea49cbb3b92d8.png"&gt;&lt;/p&gt;
&lt;p&gt;仿佛在说&lt;/p&gt;
&lt;p&gt;&lt;img alt="20200104174956_1.jpg" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2020/01/09/086fd60bee261.jpg"&gt;&lt;/p&gt;
&lt;p&gt;好的，不闹了， 我真的很好奇，在VRChat升级加入保护距离后，这个房间要怎么玩？保护距离是为了保护玩家不被人恶意“摸”，骚扰而设置的，简单来说，就是假如张三进入到了你的保护距离，你就看不见他的模型（形象）了。也就是说进入到这个房间的人除了互相干瞪眼外啥都干不了。即便是好友解锁了保护距离，然后呢，这个房间大概是给全身追踪的大佬准备的吧。&lt;/p&gt;
&lt;h2 id="语言问题"&gt;语言问题
&lt;/h2&gt;&lt;p&gt;VRchat中大多数人都会用英语交流，或者使用几个简单的单词配合肢体语言表达自己的意思。但VRchat的玩家不局限于英美，在这里你可能会听到各种语言。像下图的那只驴子直升机，一上来就飙了一串毛式弹舌（我一句都没听懂）&lt;/p&gt;
&lt;p&gt;&lt;img alt="20200104184547_1.jpg" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2020/01/10/670a77b768709.jpg"&gt;&lt;/p&gt;
&lt;p&gt;还有日本，韩国的玩家，他们会建自己语言的房间。比较著名的国际级交流的房间（一般用英语的）有&lt;code&gt;The Great Pug&lt;/code&gt; &lt;code&gt;The Black Cat&lt;/code&gt; &lt;code&gt;The room of rain&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="World" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2020/01/10/392a9980f3cb1.png"&gt;&lt;/p&gt;
&lt;p&gt;英语不好也没关系，咱还有&lt;code&gt;中文吧&lt;/code&gt;，是一个泛舟星海的场景，非常贴合国人习惯，还布置了很多羽毛笔，给不方便开麦的玩家。以及，非常符合政策的垃圾分类。&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2020/01/10/36fa8b436b8cf.jpg"&gt;&lt;/p&gt;
&lt;h2 id="探索房间"&gt;探索房间
&lt;/h2&gt;&lt;p&gt;除了中文吧，我比较喜欢去&lt;code&gt;The Great Pug&lt;/code&gt;，虽然俺英语还没过六级，口语只会一点简单句，这个房间即使不开麦也挺好玩的。今天偶然发现这个房间有5层楼，之前以为只有两层（我这个路痴）。&lt;/p&gt;
&lt;p&gt;&lt;img alt="20200109132503_1.jpg" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2020/01/10/90a75fb4101cd.jpg"&gt;&lt;/p&gt;
&lt;p&gt;就是这个入口，连上三层有两个大圆桌&lt;/p&gt;
&lt;p&gt;&lt;img alt="20200109132527_1.jpg" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2020/01/10/6585f28686e85.jpg"&gt;&lt;/p&gt;
&lt;p&gt;圆桌会议的既视感&lt;/p&gt;
&lt;p&gt;&lt;img alt="20200109132546_1.jpg" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2020/01/10/f3d00d6b83fc0.jpg"&gt;&lt;/p&gt;
&lt;p&gt;这里放了一把西洋剑&lt;/p&gt;
&lt;p&gt;&lt;img alt="20200109132650_1.jpg" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2020/01/10/d894e0cecd7fc.jpg"&gt;&lt;/p&gt;
&lt;p&gt;楼上的夜景简直美哭了，好想就这么躺下了看星星，进入黑甜乡。&lt;/p&gt;
&lt;h2 id="怎么受欢迎"&gt;怎么受欢迎
&lt;/h2&gt;&lt;p&gt;Avater 是皮，多数人都是围着好看的模型。称VRChat是大型多人在线换装游戏也不过分。不过选Avater不要选太大的，以及太复杂的。大模型会遮挡其他玩家的视线，复杂模型加载慢，影响你的画面和声音传输。&lt;/p&gt;
&lt;p&gt;如果你不想太惹眼，选个普通的模型就好，我是奔着交朋友学语言去的，所以选择了一个非常有吸引力的模型。&lt;/p&gt;
&lt;p&gt;&lt;img alt="Snipaste_2020-01-09_09-34-46.png" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2020/01/10/95b7fae3cdb83.png"&gt;&lt;/p&gt;
&lt;p&gt;也有满足虚荣心的成分吧，现实中缺什么，就在虚拟的世界中要什么，比如CUP。&lt;/p&gt;
&lt;p&gt;&lt;img alt="目测G-Cup" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2020/01/10/1db2789f86214.jpg"&gt;&lt;/p&gt;
&lt;p&gt;这个模型是中文吧的模型房提供的，更有趣的是，表情会随手势变化，给做模型的人点赞。&lt;/p&gt;
&lt;p&gt;&lt;img alt="看我比个兰花值" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2020/01/10/28863add6d3fb.jpg"&gt;&lt;/p&gt;
&lt;p&gt;HTC 的手柄暂时没有手势追踪的功能，这个手势是通过触摸全盘上的键位实现的。&lt;/p&gt;
&lt;p&gt;&lt;img alt="胜利V" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2020/01/10/a3681942f328a.jpg"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="在喊666，大概" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2020/01/10/51cf68a32d413.jpg"&gt;&lt;/p&gt;
&lt;h2 id="还有什么玩法"&gt;还有什么玩法
&lt;/h2&gt;&lt;p&gt;除了照镜子，最常见的大概就是堆盘子玩了，比如这样&lt;/p&gt;
&lt;p&gt;&lt;img alt="20200104181704_1.jpg" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2020/01/10/fe99065a74858.jpg"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="20200104181738_1.jpg" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2020/01/10/bf7fccd296630.jpg"&gt;&lt;/p&gt;
&lt;p&gt;倒了也不要紧，反正不会被妈妈打，这些“不可伤害”物体也不会碎。人物模型的高度决定你能堆多高，这个狐狸小哥模型比我高一个头，就能把黄色酒杯堆上去。&lt;/p&gt;
&lt;p&gt;&lt;img alt="20200109134501_1.jpg" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2020/01/10/005a885645b0b.jpg"&gt;&lt;/p&gt;
&lt;p&gt;这个黄色酒杯的位置已经比我的模型高了，我够不到了，然后小哥轻松拿起酒杯堆上去，他帅气的样子没截到图，我还原一下，大概是这样。&lt;/p&gt;
&lt;p&gt;&lt;img alt="Snipaste_2020-01-10_01-33-22.png" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2020/01/10/3ce9c487b2735.png"&gt;&lt;/p&gt;
&lt;p&gt;帅就完事了，鼓掌，Clap，老夫的少女心炸裂了，哈哈哈！&lt;/p&gt;</description></item></channel></rss>