《刺猬索尼克3》DC版索尼克改版:从素材替换到补丁制作

发布时间:2026/9/4 21:23:11
《刺猬索尼克3》DC版索尼克改版:从素材替换到补丁制作 《刺猬索尼克3》中的“世嘉DC版索尼克”是经典游戏改版Hack研究里一个很有代表性的对象。它讨论的不是把 Dreamcast 主机上的 3D《索尼克大冒险》直接塞进 16 位卡带而是通过 ROM 修改、像素素材替换、动画帧整理和补丁封装让 MD/Genesis 平台上的《刺猬索尼克3》呈现出后来 DC 世代角色设计的比例、配色和气质。很多初学者看到这类 Hack 时会有两种反应一种是以为改版只是换皮肤另一种是以为必须精通汇编才能动手实际上两者都偏了。文章会围绕这个具体改版方向拆开讲先区分它属于游戏修改中的哪一层工作再梳理 ROM、补丁、素材和模拟器之间的关系然后给出可落地的环境搭建和操作流程最后把最容易翻车的花屏、不生效、补丁版本不匹配等问题逐条排列。读完以后你不仅能看懂别人发布的 DC 版索尼克补丁是怎么组织出来的也能在自己的本地环境里完成一次“原版验证、素材替换、补丁制作、运行测试”的最小闭环。先说明一下术语边界游戏修改圈里常说的“Hack”或“ROM Hack”指对原版游戏数据做个性化修改和素材替换属于创作性改版不是网络安全领域里的攻击行为。本文只讨论前者。1. 先看清“世嘉DC版索尼克”到底是什么类型的改版1.1 DC 世代索尼克为什么会“回到”16 位游戏世嘉 DC 主机在世纪之交推出时索尼克系列已经尝试从传统 2D 横版跳跃转向全 3D 场景冒险。以《索尼克大冒险》为代表的角色设计明显比 MD/Genesis 时代更强调修长身形、细腻线条和更丰富的色彩层次。这里的“DC 版索尼克”更多指的是一种视觉风格和角色造型语言而不是某个可以直接移植的模型文件。因此当我们说“在《刺猬索尼克3》中做世嘉DC版索尼克”时需要理解原版游戏使用的是 16 位主机上的像素绘图显存结构基于 8x8 的 tile 块色板有明确限制。要把 DC 世代的索尼克风格带回这个平台不能只放一张高清图进去必须用像素重绘的方式把“DC 味道”翻译成经典平台能够承载的素材规格。这种改版工作通常集中在角色外观、动画帧、调色板和少量关卡物件上而不是替换游戏的物理引擎或关卡结构。换句话说它要保留的是《刺猬索尼克3》的玩法手感变化的只是“索尼克看起来像是从 DC 世代走出来的角色”。理解这一点后才不会高估操作难度也不会低估素材层面的细致程度。1.2 游戏改版Hack的分类和常见产物在 ROM 修改社区里改版可以分为几个不同层次不同层次需要的能力完全不同。粗略划分如下改版层次主要修改对象典型工作量起手门槛文本汉化与字库替换剧情文本、对话字库中低角色与场景素材替换精灵图、瓦片、调色板中高低到中关卡结构与机关配置碰撞盒、物件摆放、路线高中音乐音效替换芯片音乐、音频引擎数据中高中程序逻辑和系统功能汇编代码、数据表、反汇编极高高《刺猬索尼克3》中的“世嘉DC版索尼克”如果只做角色素材替换单看技术难度可能不高但它真正的工作量在素材整理和像素绘制。因为一个完整的索尼克角色不止一张站立图而是包含跑动、跳跃、旋转、受伤、待机等多个动画组的帧序列而每一帧都需要符合 DC 风格造型又需要按 MD 平台的 tile 和色板限制重新编排。1.3 改版对象是“外观层”不是“引擎层”很多第一次接触改版的人会问这个 Hack 是不是意味着把《索尼克大冒险》的动作带进了《索尼克3》并不是。绝大多数“DC版索尼克”类改版修改的是外观资源不影响原版索尼克3的物理参数。外观替换类改动落到 ROM 里通常体现为以下几类修改索尼克角色精灵数据被替换动画帧按 DC 风格重新绘制。调色板数据被调整让角色颜色更接近 Dreamcast 时代的宣传图或模型配色。部分 HUD、图标和过场立绘可能被打造成 DC 版本风格。关卡素材基本保持原样避免改动范围失控。这样做有一个实际好处玩法验证成本低。只要原来《索尼克3》跑得通替换素材后仍然应该能跑通问题集中在“素材显示是否正确”而不是“游戏逻辑是否被破坏”。从研究角度看这类改版是一块很好的入门跳板。它以视觉任务为主不需要立刻深入汇编和内存映射但对素材格式、补丁流程、版本匹配和模拟器调试的要求一样不少。2. 改版工作的底层链路ROM、补丁与素材替换2.1 一份 ROM Hack 为什么通常以“补丁”形式发布原版《刺猬索尼克3》是一个商业游戏 ROM。修改者会基于自己合法获得的原版副本制作改版数据但对外发布时通常不会直接放出一个完整改版镜像而是发布一个“补丁文件”。玩家拿到补丁后需要手动将其应用到对应的原版 ROM 上。这样做主要有三个原因文件体量小。补丁只记录原版文件与修改后文件之间的差异可能只有几 KB 到几百 KB而完整游戏镜像要大得多。版权边界更清晰。直接传播完整商业 ROM 风险很高而补丁本身不包含完整版权素材发布边界更容易把控。便于维护。修改者修复某个 bug 后只需要重新生成补丁不需要让所有使用者重新下载整套镜像。从开发者角度理解补丁可以把原版 ROM 想象成一张“白纸基线”补丁记录的是“在哪里改了什么”。因此补丁必须匹配正确的原版版本。如果你手上的 ROM 是欧版或日版而补丁说明里写明适用于美版补丁很可能无法应用或者应用后游戏出现乱码、花屏与崩溃。2.2 IPS、BPS 与 xdelta补丁不是同一个东西补丁是修改数据的载体但不同格式的补丁记录差异的方式不同。常见格式如下补丁格式适合场景特点常见工具IPS老式、小型修改结构简单兼容范围广不支持超大文件Lunar IPSBPS新一代通用补丁支持校验和能记录更多差异信息压缩率更好Floating IPSxdelta / VCDIFF大型文件或完整项目适合差异化较大的文件同步常用于超大型改版xdelta3 命令行对索尼克3这类 MD/Genesis 游戏来说IPS 和 BPS 都经常出现。BPS 更现代自带校验和能降低“用错原版 ROM”的概率所以近年来更推荐优先选择 BPS。如果没有现成补丁需要自己制作Floating IPS 是常见选择因为它可以同时用来“应用补丁”和“创建补丁”。注意不要只凭 ROM 文件名判断版本。同一个文件名可能对应不同区域版本。更稳妥的方式是先记录原版 ROM 的 MD5 或 SHA-256拿到补丁后核对其 README 标注的校验值。2.3 16 位主机上的素材结构tile、帧、色板要把“DC 版索尼克”塞进《索尼克3》必须先理解 MD 平台绘制角色的基本单位。MD 的精灵和背景在底层都由 tile 组成一个 tile 通常是 8x8 像素的小块。角色看起来是一整张图实际上大多由多个 tile 拼接而成并且为了支持动画不同状态下会引用不同的 tile 组。可以把它理解为拼图每个 8x8 的 tile 是一块碎片索尼克待机、跑动、跳跃时的动作由不同排列的碎片拼出来。替换素材时如果把一张角色大图直接贴进 ROM而没有按 tile 边界重新切分就会看到角色身上出现大量错位的花色碎片。调色板是另一个重要限制。MD 的调色板以“行”为单位管理常见一行为 16 种颜色精灵可以按行引用颜色。DC 风格的索尼克颜色层次更丰富光照和渐变更细腻但经典平台做不到每像素任意取色。素材制作者通常需要把参考图降色到指定调色板并保证同屏多个角色使用的调色板行数不超限。用十六进制工具查看 ROM 中的素材区域时看到的内容形态大概像下面这样00000200 0f 00 0f 10 21 32 00 00 1b 3c 45 66 01 34 55 02 00000210 1f 21 33 4f 23 56 77 12 24 35 46 54 32 10 0f 23这段是示意数据不是某个特定 ROM 的固定偏移。它的作用是提醒你原始素材在 ROM 里不是一张可视化图片而是编码后的数据。真正动手替换时通常要依靠支持 MD 素材解析的编辑器而不是直接用画图软件修改整个 ROM。3. 搭一套可复现的本地研究环境3.1 材料清单先确认手上有什么版本研究改版前先把本地目录规划好避免把不同版本的原版文件混在一起。下面的材料是常规组合一份《刺猬索尼克3》原版 ROM建议确认来源并使用自己合法持有的原版备份。一份目标改版补丁通常是.ips、.bps或.md格式的补丁文件。README 或补丁说明文档里面会写清楚适用的 ROM 版本、区域、修订版本和作者推荐模拟器。能应用补丁的工具如 Floating IPS、Lunar IPS 或合适的命令行工具。可以运行 MD/Genesis ROM 的模拟器以及可选的带调试功能的模拟器。在 Linux 或 macOS 环境中可以用下面这条命令先给候选 ROM 建立哈希记录md5sum Sonic The Hedgehog 3.bin sha256sum Sonic The Hedgehog 3.binWindows 下可以直接使用 PowerShellGet-FileHash Sonic The Hedgehog 3.bin -Algorithm SHA256拿到哈希值后把它与补丁作者的说明文件做比对。如果不一致说明这份补丁很可能不是为当前版本准备的继续操作没有意义。这一步最容易被跳过但又是整个改版流程中最重要的护栏。3.2 工作目录怎么组织才不容易乱接触多个版本、多套素材后最怕出现“我改过的 ROM 放在哪了”的问题。可以按下面结构组织文件。这里的目录只是示例实际使用时可结合个人习惯调整但“原版隔离、输出隔离、补丁隔离”的原则值得保留sonic3-dc/ ├── originals/ # 原版 ROM始终不直接修改 ├── clean/ # 只经过合法补丁处理后的工作 ROM ├── work-in/ # 本次修改前的备份区 ├── work-out/ # 修改后素材导出、整理的区域 └── patches/ # 下载的补丁和自己生成的补丁始终保留一份未经修改的原版 ROM这是最基础的安全意识。后续所有操作都基于副本进行一旦改坏只要从原版重新生成副本即可。3.3 模拟器与研究辅助工具怎么选模拟器层面的选择会影响验证效率。常用方案如下用途可选工具说明常规运行与画面检查Kega Fusion老牌 MD 模拟器对改版兼容性有较长历史模块化多机种模拟RetroArch Genesis Plus GX 内核适合统一研究多个平台游戏精确向调试运行BlastEm、Mednafen 等更接近实机表现有的支持日志和调试信息素材查看与编辑Tile Layer Pro / YY-CHR / 像素编辑软件用于查看 tile、导出图片、编辑像素补丁制作Floating IPS / Lunar IPS / xdelta负责应用和生成补丁学习环境里只要模拟器能稳定跑完原版 ROM就可以作为验证基线。不要一上来就追求精确到单个色点的调试环境先跑通闭环更重要。生产环境式的“可复现改版工作流”则强调保留版本记录、验证哈希、备份中间产物、给补丁写说明。这套习惯比具体工具更值得养成。3.4 环境就绪后先做一次原版基线测试在接触任何改版之前先运行一遍原版《刺猬索尼克3》。进入标题画面后至少完成第一关一次跳跃和一次冲刺确认画面无花屏、无 tile 错位。索尼克角色动画播放正常。背景和前景层显示正确。按钮映射正常键位不会造成误触。如果原版在这种模拟器下已经异常那问题出在模拟器配置或 ROM 文件本身而不是后续补丁。尽早发现这一点可以省下大量排错时间。4. “DC 版索尼克”素材改造为什么容易出问题4.1 MD 素材与 DC 风格之间的翻译思路DC 时代的索尼克不同版本有不同设定但整体视觉趋势是身体比例更修长、线条更接近动画作画、配色层次更丰富。《索尼克3》原版角色则更接近早期 16 位像素风格头身比更夸张像素颗粒感明显。如果想在保留游戏手感的前提下做“DC化”常见的方向并不复杂视觉处理项原版索尼克3风格DC 风格化改版方向头身比例头大、身体紧凑强调高速感整体拉长姿态更偏现代动画造型线条处理高对比轮廓清晰单层体积感轮廓更柔和用中间色过渡体积感颜色数量受 MD 色板行数限制明显尽可能用有限槽位模拟更多渐变动态姿势偏向横版跑酷动作姿态更接近 3D 建模的侧视图重绘要注意DC 版风格并不是唯一标准。不同作者理解的“DC 版索尼克”可能完全不同。有的补丁重点在配色有的重点在角色立绘的整体重绘有的甚至会加入后期作品才出现的造型细节。研究时不要看到一个“DC 版”标题就假设它一定修改了所有角色帧先跑一遍实际效果再结合补丁说明判断修改范围。4.2 素材替换的通用工序抽取、索引、替换、装配一套完整的素材替换流程可以拆成四步很多花屏问题都出在中间一两步的细节上。第一步是“抽取”。用 MD 素材编辑器打开原版 ROM定位到索尼克角色动画对应的 tile 区域把每个动画帧导出成带调色板信息的位图或 PNG。这一步的关键是按帧切图不能只导出一整块“看起来像角色”的大图。第二步是“索引”。新绘制的 DC 风格素材通常是高色深图。要把图片颜色映射到 MD 调色板合法范围内并确认每个帧只使用规划好的色板行。要特别检查半透明和阴影效果MD 没有现代意义上的 Alpha 混合通道很多“看起来很好”的透明过渡在实机上会变成花点。第三步是“替换”。把处理后的素材重新写回 ROM 对应的数据区域。替换前需要了解原版素材是未压缩数据还是经过压缩的数据。如果原版使用压缩直接替换会得到乱码。很多成熟素材编辑器会负责处理这些细节但也要求使用者知道当前 ROM 的格式。第四步是“装配”。替换完成后启动模拟器按角色动作逐帧检查素材是否显示正确。一个帧对的不代表所有帧对。跳跃、转身、冲刺、受伤、旋转这些特殊动作都容易暴露拼接问题。4.3 最容易翻车的四个校验点第一tile 边界。角色动画只要是 8x8 的粒度素材图就必须按边界切齐。某个精灵画得再漂亮如果右侧超出了 3 像素拼接进 ROM 时就会把多余像素裁掉或挡住别的物件。表现为角色边缘周期性出现“缺角”尤其在跑动中更容易被注意到。第二调色板行号。MD 精灵通过调色板行号取色如果替换素材的索引表没有跟着改蓝色索尼克可能显示成红色或者身体部分颜色整体错乱。这不是“图坏了”而是索引引用错了行。第三压缩格式。部分 MD 游戏对素材做过程序压缩。直接把未压缩图片覆盖到压缩区域运行时会读到随机数据表现为大面积花屏或者直接崩溃。处理这类 ROM 需要使用能识别压缩格式的编辑器或者先在程序层面解压再回写。第四特殊状态帧。索尼克在高速滚动、进入旋转状态、受到伤害时动画帧长度和动作切换方式和其他状态不同。只替换待机和跑动帧不替换特殊帧会在游戏过程中产生“突然变回旧版画风”的割裂感。5. 从原版到 DC 风格素材的最小操作示例5.1 用脚本固化素材文件指纹做素材研究时经常要把原始 ROM 放到一边对修改后的中间文件做比对。用 Python 写一个简单的哈希工具可以省很多时间。下面的脚本会递归扫描一个目录中的所有常见 ROM 文件并输出它们的 SHA-256 值。代码不依赖第三方库适合作为研究辅助脚本放在本地环境里。import hashlib from pathlib import Path def sha256_file(path: Path) - str: digest hashlib.sha256() with path.open(rb) as fp: for chunk in iter(lambda: fp.read(65536), b): digest.update(chunk) return digest.hexdigest() if __name__ __main__: rom_dir Path(originals) suffix_list {.bin, .md, .gen, .sms} for candidate in sorted(rom_dir.rglob(*)): if not candidate.is_file(): continue if candidate.suffix.lower() in suffix_list: print(f{candidate.name}\t{sha256_file(candidate)})脚本的核心逻辑很简单按 64 KB 分块读取文件避免一次性把大文件读进内存输出文件名和哈希值方便复制到表格或文档里核对。运行前把目录名改成你实际的 ROM 目录即可。python3 scan_roms.py输出结果示例Sonic The Hedgehog 3.bin 1cf375ac3c52e6cbd84f7c9dca6c19d9... Sonic The Hedgehog 3 (Japan).md f49d44c1f0b04e85d3b255e5d9a8c3ba...看到多个 ROM 有不同哈希值时说明它们不是同一个文件。接下来做补丁应用实验时要以补丁 README 中指定的哈希值为准。5.2 一次可以落地的补丁制作闭环假设你已经有一份符合补丁要求的原版 ROM还下载到了别人发布的 DC 版索尼克补丁第一次验证流程可以这样走复制原版 ROM 到clean/目录命名为Sonic3-DC.bin不要直接修改originals/下的原版。打开 Floating IPS选择“Apply Patch”选中补丁文件再选中复制出来的原版 ROM。等待补丁应用完成工具会生成一个新的 ROM 文件。不同工具的输出方式不同通常是在原路径下生成 patched 后缀或在同目录生成原文件名。用模拟器打开补丁应用后的 ROM进入游戏先看标题画面和索尼克待机动画。如果画面正常不要停在这一步。至少跑完第一关的几个区块测试跳跃、冲刺、下落和受伤后的素材切换。确认正常后用 5.1 中的脚本给修改后的 ROM 记录一个新哈希写进自己的研究笔记里。如果自己也想创建补丁操作方向相反。以 Floating IPS 的“Create Patch”为例常见流程是先选择未修改的原版 ROM再选择修改完成后的 ROM生成一个.bps补丁文件。不同版本界面文案可能不同但核心逻辑都是“对比原始文件与修改文件生成差异”。不要只验证“跑起来了”要逐帧看高速运动中的角色素材有没有撕裂、色偏和越界。多数 DC 风格换皮补丁的问题不是“不能启动”而是“动起来之后在某个姿势下露出花屏”。5.3 运行结果验证不能只看标题画面素材替换类改版里标题画面替换成功往往很简单真正的测试负担在游戏内部动画。下面是运行验证时建议逐项检查的清单模板检查项预期效果如果异常优先怀疑点标题画面索尼克显示 DC 风格角色无乱码美工资源是否对应标题区数据待机动画呼吸和眨眼节奏自然帧序列索引是否完整跑动动画多帧拼接无错位tile 切图和分割边界跳跃与旋转形态变换不花屏特殊动作帧是否被替换受伤无敌帧闪烁表现不破碎调色板行与索引表结算/hud 图标颜色不冲突色板行占用是否超限验证时建议使用模拟器的逐帧模式或慢速模式一帧一帧翻看比肉眼盯实时画面更容易发现“只出现 1 帧的错位”。一旦发现问题不要急着整个换素材先记录当前帧对应的动作状态再回素材编辑器中对应该帧检查。6. 改版不生效、花屏、崩溃从现象倒推原因6.1 先判断问题出在哪个环节遇到改版异常时第一件事不是改素材而是确定问题层级。可以按下面顺序走排查原版是否正常。先运行未打补丁的原版 ROM。如果原版已经异常问题在于模拟器或文件本身和补丁无关。补丁是否应用成功。检查补丁工具输出、生成 ROM 的哈希值、补丁说明中的适用版本。修改后的 ROM 是否能被模拟器读取。有些模拟器对文件扩展名敏感.bin、.md、.gen识别不一样。是否能进入游戏。如果进入即崩溃优先怀疑补丁源文件版本不匹配。游戏进行到特定动作时是否花屏。这一般对应素材替换的帧或调色板问题。一句话概括先站在“ROM 数据层”看问题再进入“素材替换层”查细节。这样能避免在错误的环节上反复试错。6.2 常见问题速查表下面是针对《刺猬索尼克3》 DC 版改版中比较常见的问题分析。它不是唯一的排查路径但能覆盖大多数初学者遇到的故障。问题现象常见原因检查方式处理建议补丁应用时报错或失败原版 ROM 版本不匹配核对 ROM 哈希和补丁 README换用指定区域版本的原版文件补丁应用成功但启动后黑屏补丁工具输出文件扩展名错误检查生成文件大小重命名为.bin或.md或重新选择输出格式角色显示成杂乱碎块tile 未按 8x8 边界组织用素材编辑器查看 tile 网格重新切图逐帧替换避免整图导入角色颜色明显不对调色板行引用错误检查该帧使用的色板行 ID回到素材编辑器修正索引只有部分动画是新风格只替换了常规帧未替换特殊帧逐帧检查转身、旋转、受伤动画补齐特殊状态帧素材游戏运行中随机崩溃数据覆盖了程序区或压缩区对比原版和修改后 ROM 的差异区域使用编辑器确认素材区域不止看视觉位置背景或 boss 出现色偏同屏多个精灵竞争调色板行调出精灵的颜色行分配表调整角色使用的调色板行不与场景冲突6.3 日志和调试信息不是摆设使用较精确的模拟器时不要忽略它提供的日志窗口或调试输出。很多模拟器在运行异常 ROM 时会输出类似“invalid tile index”“unknown bank direction”或“guru meditation”的信息。虽然这些提示对不同游戏的含义不完全一致但它们能帮你定位问题到底发生在 tile 读取、内存映射还是文件解析阶段。如果模拟器没有日志也可以用“二分替换”来排查素材问题只替换一个动画帧然后运行看结果。接着逐步增加替换范围直到找到导致花屏的帧。这个办法看起来笨但比一次替换全部素材后盲目猜测要高效得多。对改版研究来说“最小改动验证”是最有价值的工作习惯。7. 改版研究与发布前必须守住的安全边界7.1 版权与发布规范只做修改数据不发布原版镜像研究《刺猬索尼克3》的 DC 版索尼克素材本质是围绕商业游戏做非官方修改。这种行为的适用边界在不同地区和法律框架下并不相同从工程实践角度至少应该遵守几条经验规则只基于自己合法持有的原版 ROM 做个人学习与测试。不在公开渠道分发原版镜像、完整改版镜像或打包了原版素材的整合包。对外发布时只发布补丁文件不发布原版 ROM 本体。制作素材时尽量使用原创绘制不要直接使用其他团队未授权的模型提取图或扫描立绘。在自己的改版说明中保留原版游戏名称、版权归属和作者信息。这些规则不是为了限制创作而是为了在分享技术经验的同时避免给原作者和平台带来合规风险。技术博客、补丁发布、素材交流都属于公开行为边界意识要前置。7.2 从初版到正式发布前的一组检查清单无论改版最终是自己玩还是分享给社区发布之前都建议对照下面清单走一遍。这里针对的是“DC 风格索尼克”这类素材改版因此很多项与素材完整性有关[ ] 确认原版 ROM 区版本与补丁说明一致。[ ] 确认修改过程始终基于副本原版备份哈希未变。[ ] 生成补丁前先运行完整的第一关流程包括受伤、高速滚动和检查点。[ ] 逐帧检查跑动、跳跃、旋转、受伤这四类常见动画组。[ ] 检查标题画面、关卡内 HUD 和关卡结束后的角色头像是否色偏。[ ] 记录修改后的 ROM 哈希方便后续版本比对。[ ] 为补丁写清楚适用版本、所需文件、默认键位和测试结果。[ ] 发布时只分发补丁不附加原版镜像或受版权保护的美术素材。这个清单不是一次性的。之后每次新增素材或修复问题都应该从“原版副本重新生成”开始避免在已经改坏的中间文件上继续堆叠。7.3 继续深入可以从哪几个方向走完成一次 DC 版索尼克素材替换后如果还想深入《刺猬索尼克3》改版这个话题还可以向几个方向延伸研究关卡编辑器和碰撞数据学会把自己喜欢的 DC 风格索尼克放到自定义关卡里。学习 MD 声音合成的基本结构尝试为角色补充特效音而不是只看视觉层。用反汇编工具观察角色动画的帧控制流程理解“游戏如何决定当前应该显示哪一帧”。研究多个 DC 风格改版的补丁结构对比它们对同一批素材采用了哪些不同处理方案。从技术学习的角度看素材替换类 Hack 最大的价值不是“把图换掉了”而是让人在旧平台的限制里重新思考角色设计、数据组织和验证方式。索尼克3 的高速移动特性又会放大素材细节问题做出一个跑起来不掉链子的 DC 版本比做出一个只站在标题画面时好看的版本要难得多但后者没有真正完成改版。先跑通“原版-素材-补丁-模拟器”的闭环再在每次失败时记录现象和根因这种能力会长期伴随你不管以后研究的是哪个平台、哪款游戏。把《刺猬索尼克3》的 DC 版索尼克当成练手对象是一个上手路径清晰、反馈直接、又能把像素素材基本功彻底打牢的尝试。