游戏引擎剖析(九)

游戏引擎哪家强?选哪一个更有钱途 游戏引擎乃是构筑及开发视频游戏的软件架构。其供应一整套工具与库,以处置常见的游戏开发事务,诸如渲染图形、模拟物理、管控音频等等。凭借对游戏引擎的运用,开发人员能够将精力倾注于构建其游戏的独特之处,而非再度发明此类基础要素。 阅读详情
原文作者:Jake Simpson
译者: 向海



第9部分: 现成产品与定做的游戏引擎设计工具,游戏特定主题


现成产品与定做的设计工具
  我们从第8部份的脚本引擎来到这一章节中的许多主题,我们认为那些铁杆游戏玩家和有志成为游戏开发者的那些人将会发现它们相当有趣。我们将开始讨论现成产品与定制的设计工具。

  你的工具的选择是你引擎设计的一个非常重要的部份,因为这是你将用来给你的游戏产生内容的东西,是最耗时的部份。在这个过程中有助于节省时间和资源的任何东西都是好的。那些不能的东西就是糟糕的。在那里,那是容易的。

  当然没有那么容易。有比这更多的事情可能会立刻被注意到。你的工具集的选择,和从工具到游戏的资产路径比它听起来更有技巧得多,并受到很多因素的影响,比如,是否适宜手边的工作,费用,内容生产者的熟悉,市场渗透,工具支持等等。当考虑选择现货成品工具,或者即使当开发你自己的工具时,记得开发者实际在做工作,最好能够做需要借助工具做的。一些现货成品工具能在价格上达到那里,当你陷入多个拷贝许可时,费用猛涨。

  然后就有诱人的可能性从头制造你自己的工具,为你游戏和引擎的需要而设计。这当然需要时间,和程序员大量的努力来产生在开发者友好方式中所需要的东西。快速打造基于窗口的文件转换器是一回事情,从头建造一个完整的关卡设计工具又是另外一回事情。另一方面,如果你确实选择这条道路,最后你会有游戏开发者地带其他人没有的工具,因此你的东西将会看起来是独特的。如今与众不同是一件非常值得想望的事情,而且从群众这些天起突出是一件非常令人想要的事物,产生所有的竞争。

  当然由于内部的工具开发,你需要某人来做所有那些不可避免的小的改变和修正。但这里真正的意义是这是可能的。使用现成的工具,工具开发者会很少因为你需要的一些特征而改变他们的输出文件格式。这样你的东西最后看起来更加通用一些,否则你必须采用额外的步骤使用另外的工具来得到想要的结果,当然会花费开发者更多的时间。

  值得记住的是如今许多有名的3D工具已经有一段时间的历史了,并且正在产生简直没有错误的产品,更重要的是,对他们所做的已经有一定程度的经验了。

  如果你选择建造你自己的工具,多半你是,a) 重新创造车轮到某种程度 b) 陷入那些建造现成工具的人们已经遇到过的相同的问题之中,只是他们已经解决了这些问题。时常人们建造一个单一特定的工具花费了相当的时间和努力,并产生了一个远远超出你自己的个人需求的工具。还有,他们有代表性地收编了一些你或者认为是没有用的,或者没有时间自己实现的特征。加上他们典型地有吸收特征你或会没有想有用,或没有时间实现你自己. 这是第三方软件无法争辩的。


插件和目的建造工具
  通常大多数的游戏开发过程最终都是这样的混合,自己开发的文件转换器工具,现成的内容创造工具,和通常那些要增加一些必须的特殊功能的工具的一些附加插件。现成工具在提供你不可避免会需要的功能方面有很长一段时间了,但是正如不可避免,总有一些很有用的,有帮助的,或者完全必须的东西你不能得到。一个小的插件可能是一个很好的替代品,而且时常那就是所走过的路。为特定目的建造的预处理程序也是可用的,比如把TGA文件转换为一个对PS2友好的格式,或者那些相关的东西。

  如果你或你的公司打算建造某种类型游戏的工具,那么这些工具一般是从一个项目到一个项目地演变发展,而不是每次都从头重新建造。如果你变换游戏类型,很好,那些产生具有每个多边形命中能力的高分辨率模型的工具明显地不是一款RTS(即时战略)风格游戏所必须的。

  Gil Gribb,Rave Software的技术带头人,对‘现成的工具’和‘自己动手建造’的问题是这么说的:

  "自己开发的工具有能够根据自己产品的需要进行定制的优势,你拥有代码,可以修正任何错误或者增加任何的改进。

  自制工具的缺点是建造和维护它们是非常昂贵的,通常成本要比现成工具高很多。在许多情况下,由于应用程序范围的缘故,建立自己的工具是完全不可能的,比如说3D建模和动画软件包或者位图编辑软件。"

  当然,如果你想要游戏玩家能够修改你的游戏,而且你自己建立了所有的工具,那么你就必须要向世界发布这些工具。这可能会引起一点点疑惑,记住建立你自己的工具的部分原因是你可以领先你的竞争者。有时侯发布这些工具的源代码甚至可能让你获益匪浅,这确实提供了一种创造内容的方法。再次,Gil Gribb阐述这个主题:

  "我是支持发布几乎所有的源代码。我认为我们没有任何来自我们的竞争者的害怕的事情,合法的业务不会想到窃取知识产权。游戏迷,业余游戏制作者,以及游戏的普及都能够从发布的源代码获益。"

  好,我们的游戏引擎剖析系列到这里,当然我们已经特别讨论了许多和引擎相关的主题,下面让我们继续讨论一些与游戏特定相关的部分。


游戏控制机制
  控制机制能够对开发中的游戏带来巨大的差别,有时甚至表明你正在建立的游戏的种类或者风格。

  尝试在某个时候用gamepad玩一个即时战略类游戏--它不只没有乐趣。有时当你被限制在一个特定的输入装置的时候,例如鼠标和键盘,为你的游戏发明新的控制方法会是一个令人筋疲力尽的过程。当Raven开始开发Heretic II时他们决定做的第一件事情之一就是为用鼠标使用第三人称照相机尝试和找出一个直观的方法。在这以前,大多数游戏采用的是Tomb Raider风格的照相机(第三人称预兆的追逐)他们发现这时常不能正确地工作,在很多情形下会给玩家带来挫折。照相机时常会得到任意的视角,如果可能的话移动相机,而且有时改变玩家的方向。

  假定他们的目标对象是FPS游戏人群,Raven需要找到一个对FPS游戏玩家来说直观的控制乌鸦座(Corvus)的方式。他们这样做了,但确实花费了一些时间,和一些不同的方式—他们应当让照相机固定在一个方向吗,或者让它是浮动的吗?大多数游戏开发努力—除非一个确定类型游戏的一个没有虚饰的实现—倾向于花费一些研发找出物理控制装置和游戏需要的内部控制机制的最直接的合并。这里是一个暗示—一旦你发现一个方式很起作用,就坚持下去。用这种方式控制游戏内在的东西能把视野,直觉,甚至游戏的焦点完全改变成你从未想要过的东西。发现起作用的东西,证明它起作用,然后就别管它。过分设计控制会导致特征偏离和可察觉的游戏概念问题。

  像这类特征偏离的一个很好的例子可以在Independence War中看到。这款游戏有着如此多的模式,按键,等等,仅仅熟悉和操纵游戏都不可能。

  很明确这里的关键是简单。一个好的经验法则是,在正常的游戏中,如果你的游戏需要比在普通的gamepad的按键或者你手上的手指更多的按键,那么一些事情需要被重做。注意, 我不是说一款游戏不应该有灵活性—Soldier of Fortune必定有许多可能的按键设定。但通常,当你认为它们大多数实际上都是不需要的时候Quake引擎有一个很好的方式。是的,你可以选择你想要使用什么武器,但你不是必须这样。游戏将会自动地为你那样做。这就是灵活性和过度设计之间的不同。如果游戏需要你按下某个键来选择一个武器,那将会有问题。你理解这个了吗?

  控制机制不能被过高估价 -- 一款游戏时常将会根据玩家觉得他们对事件或者主要角色有多少控制而获得成功或失败。如果控制被改变,重新定向,或仅仅简单地从他们哪儿移除,它能导致游戏自身缺乏参与,不用说,那是一件很糟糕的事情。在这上面花费时间并让它保持简单,将会有巨大的帮助。


实体和照相机
  现在我们来到了引擎不太令人愉快的部份,也是定义得最少的部分。当游戏运行的时候,游戏在这个部分能变得极端地多出错,耗时间,或仅彻底的极限。

  在这里我们所谈论的是游戏引擎的 "游戏" 部份。这个部分使用所有的其它技术让一些事物显示在屏幕上,到处移动,让它对你产生反应并且让你对一些事物产生反应。这个系统有许多方法,但现在我将紧扣Quake的方法因为那是我最熟悉的。

  让我们从实体开始。这些可以被定义为‘游戏对象’。现在那不仅仅意谓你在屏幕上看见的模型,虽然实体确定地控制这些 -- 实体也可能是其他的事物。基本上它是游戏在任何给定时间需要知道的任何事物,例如让事情继续进行的定时器,模型的碰撞检测盒,特效,模型,游戏玩家,等等。

  甚至照相机都可能是实体(在几乎所有Raven的产品中都是这样)。照相机在世界中被分配一个有角度的原点,它们每幀都被刷新并告知渲染器应该从哪里得到它的视野数据,and off we go。典型地实体是为了返回到游戏早先的状态而被存储和装载的那些东西。通常在装载过程中使用的方法是把游戏地图装载进来,好像你正在重新开始一个关卡一样,然后装载所有存储的实体,这样他们就返回到游戏存储时它们的状态。Voila,即刻返回一个存储的游戏。当我理解Heretic II的方法时这并不是那么的容易—装载/存储几乎比其他任何事情带给我的问题还多,特别是在协作模式。

照相机有许多形式:

  自由形式:照相机能去任何地方
  脚本:照相机可以沿着一条设定的路径前进
  游戏时间:照相机有必须要遵循的定义的行为

  仅仅说"嗯,我将仅仅跟随主要的角色"是不够的。这意谓你也可能需要让照相机穿过墙壁,或让它按一些方式移动以致甚至引起一些胃的恶心。让它沿着一些定义的上下运动路径前进也有益处,如同任何玩Descent游戏超过一小时的人可以告诉你的一样。身体和头部习惯于上下是一个静态的变量,并当它不是时,他们不喜欢它。制作Quake 1的 Mike Abrash,曾经告诉我即使当它被定义,他仍然处理 的麦可 Abrash 地震 1,曾经告诉我即使当它被定义,他仍然从他们正制作的游戏感到运动恶心。他提到,对于他来说,离开制作Quake 1一年时间才让他的胃安定下来。啊哈,我们所作出的牺牲。


武器系统
  游戏模块的另外一个部份是武器系统。大多数的游戏有武器系统或类似的东西。 这是在世界中影响其他的物体,而且使他们对给定情形产生反应的东西,--比如说被射击。通常武器系统由许多不同的类型组成;攻击扫描,基于飞弹的,以及范围形式。

  攻击扫描是直接攻击武器。在屏幕上他们产生的效果只是那样,一个效果。当使用它的时候,和武器的实际操作没有任何关系。当你用手枪开火时,子弹被认为立即穿过世界并直接击中在它运动轨迹上的任何人/事物。

  基于飞弹的武器有一个占用有限时间穿越世界的真实射弹,从而带给对方一些可以躲避的时间。

  基于范围的武器像手榴弹和炸弹一样的东西,不必击中就可以伤害到你;你只是必须处于爆炸范围内。处在那种爆炸范围内的玩家受到飞溅损害。熔岩是另外一种形式的基于范围的武器。

  那么你如何决定什么被击中而什么没有被击中呢?很好,这个问题把我们带到了追踪,我们将在接下来的物理学和人工智能章节更多的接触追踪。这是一组函数例程,当给定世界中一条从A点到B点的直线时,比如从枪的末端到预先定义的距离,它告诉游戏什么被击中。追踪很棒,但很昂贵,因为他们必须对那条线上的所有多边形进行‘碰撞检测’来看是否有什么地方被击中,更不用说模型和其它对象了。这也是一些物理学的工作方式,从一个给定的角色做一个笔直向下的跟踪可以知道地板位于什么地方。肆意的滥用追踪 — 如,在游戏的一幀中多次使用它们 -- 对于今天许多游戏的速度下降是有责任的。在Jedi Knight II:Outcast,他们的光刀战斗已经遇到了这个问题,因为他们不仅需要知道光刀是否击中了某处的什么和它现在的位置,而且对于它们之间的所有点都得这样,他们对光刀做了多次追踪。


  好吧,又一个章节结束了,仅仅剩下两个章节了。下面我们介绍人工智能和搜索的更多细节。
 
三相电流型逆变电路换流过程详解:从拓扑到工程应用 在电力电子技术学习中,电压型逆变电路强调电压源思维,而电流型逆变电路则以直流侧大电感为核心,形成恒流源。三相电流型逆变电路采用120°导通逻辑,任意时刻只有两只开关导通,直流电流必须保持连续通路。其真正的技术难点在于换流过程:由于直流电感强制电流不能突变,必须遵循“先开后关”原则,借助交流侧换流电容将电流从旧管支路平稳转移至新管支路。理解这一过程,就掌握了器件选型、输出波形谐波以及换流重叠角等关键工程参数。三相电流型逆变电路在中压大功率传动、感应加热和能量回馈等场景具有优势,其“电流不能断流”的边界条件也为 阅读详情

相关推荐

游戏引擎剖析游戏引擎剖析

游戏引擎剖析游戏引擎剖析游戏引擎剖析游戏引擎剖析

什么是 游戏引擎 ?各个主流引擎的区别

资料和教程最多的游戏引擎之一,很方便学习游戏开发的初学者。官网不爽的地方:需要安装额外的idea不爽点:idea比较繁琐,需要使用其他的额外idea,ui方面需要使用其他的工具。推荐点:对小白入手很友好,游戏引擎性能也是杠杠滴、使用人数也很多Cocos Creator 使用JavanScript/TypeScript开发。回到2010年,手游刚刚兴起的时候,如果没有听过Cocos, 那么你一定不是手游行业的。

IT小郭的技术博客 3万+

MiniMaxH3+ComfyUI本地部署:一键整合包、工作流搭建与报错排查

本地部署视频生成模型时,模型权重、推理框架与自定义节点的匹配是核心挑战。MiniMaxH3作为多模态生成模型,通常依赖ComfyUI这类节点式工作流引擎实现可视化调度。一键整合包将Python环境、PyTorch算子、模型文件预置封装,大幅降低部署门槛,并通过半精度加载、显存碎片回收等机制优化推理速度。在文生视频、图生视频与批量生成场景中,清晰的节点链路和参数调优能力直接影响输出质量与显存占用。针对模型不识别、节点执行失败等高频问题,系统排查命令行日志与模型目录可快速定位故障。本文以MiniMaxH3整合包

weixin_29047545的博客 585

2024最佳游戏引擎排行

游戏产业几十年来一直是一个大生意,而且发展势头迅猛。尽管如今有市面上有各种各样的解决方案,但游戏开发人员和管理者在选择适合他们需求的游戏引擎平台时面临更加复杂的决策环境,本文希望帮助游戏开发团队根据实际需求做出正确的选择,内容干货满满。以下是一些游戏开发过程中必不可少的工具选项,2024 年最佳的游戏引擎排行。

讨论软件开发加速、持续集成/持续交付(CI/CD)、C++、开发者生产力以及所有相关话题。 1万+

MS1826A HDMI 多功能视频处理器 HDMI4进1出画面分割芯片

基本介绍 MS1826A 是一款多功能视频处理器,包含 4 路独立 HDMI 音视频输入通道、1 路 HDMI 音视 频输出通道以及 1 路独立可配置为输入或者输出的 SPDIF、I2S 音频信号。支持 4 个独立的字库定 制型 OSD;可处理隔行和逐行视频或者图形输入信号;有四路独立视频播放引擎可支持视频多路 播放。该产品提供了高质量的视频输出,有解隔行输入、视频增强,以及帧率转换的处理能力。 功能特征 视频输入输出  四路独立 HDMI 输入通道  一路 HDMI 输出通道  最高支持 4K@3

qq_45645383的博客 1782

ZYNQ AXI DMA零拷贝实战:用mmap在用户空间玩转高速数据流(基于Petalinux 2020.2)

本文详细介绍了在ZYNQ平台上使用AXI DMA和mmap技术实现零拷贝数据传输的实战方法。基于Petalinux 2020.2环境,通过内核配置、设备树修改和用户空间库设计,大幅提升PS与PL之间的数据传输效率,特别适用于高清视频流、高速AD采样等高性能场景。

weixin_27956639的博客 365

游戏引擎全面解析:从概念到应用,解锁游戏开发的秘密

游戏引擎是一套软件框架,它集成了多种技术,使得游戏开发者能够高效地创建和运行视频游戏。它通常包括图形渲染、物理模拟、音效处理、人工智能、网络通信等模块,为游戏提供了必要的技术支持。游戏引擎的重要性在于它能够简化开发流程,提高开发效率,降低技术门槛,使得开发者能够将更多的精力投入到游戏内容的设计和创新上。在本文的第一部分中,我们全面回顾了游戏引擎的概念、发展历史、核心技术和应用领域。游戏引擎作为游戏开发的基础设施,其重要性不言而喻。

极客代码 3581

YOLOv11改进策略【模型轻量化】| 替换华为的极简主义骨干网络:VanillaNet

本文记录的是基于VanillaNet的YOLOv11轻量化改进方法研究。VanillaNet的极简主义在于无 shortcut 连接,并且在网络的每个阶段仅使用一层卷积,无额外复杂模块,仅通过自身简洁的架构设计和训练策略,实现有效地训练和优化。本文在替换骨干网络中配置了原论文中的、和11种模型,以满足不同的需求。

Limiiiing的博客 1726

什么是游戏引擎

游戏引擎是现代游戏开发的核心组成部分,它为开发者提供了一个强大的工具箱,可以创造出令人惊叹的游戏世界。本文将介绍游戏引擎的定义、功能以及对游戏行业的重要性。

有求必应,有问必答(只要是我能解决的) 6840

在 SAP 系统中设置成本中心(Cost Center)和利润中心(Profit Center)需在管理会计(CO)模块中完成,涉及主数据创建、组织结构配置等步骤

本文详细介绍了SAP系统中成本中心和利润中心的设置流程。成本中心设置包括:配置成本控制范围、定义标准层次结构、创建主数据(KS01/KS02/KS03)等步骤。利润中心设置需先激活利润中心会计功能,再定义标准层次并创建主数据(KE01/KE02/KE03)。关键是将成本中心与利润中心关联,实现成本数据自动流向利润中心。最后可通过相关报表验证设置是否生效。整个流程强调主数据创建和组织结构关联,以实现成本归集和利润分析功能。

金牌架构师 2224

二、NovAtel Connect 2.3.2 版本 操作说明

一、连接方式 有 串口连接、USB连接、蓝牙连接、无线网连接、网口连接,具体的连接方式看博客: https://blog.youkuaiyun.com/hltt3838/article/details/110622732 下面具体的介绍一下 串口的连接方式: 接收机有三个串口,COM1、COM2、COM3,看上面的连接就知道了! 并且有三个对应的线,1 2 3 ; 把线和串口对应连接,串口的另一端和电脑连接,当然如果电脑没有串口,可以用 串口转USB,如线图所示: (当然,一定要连接电源呀) ...

努力努力努力 4384

游戏引擎全剖析

第1部分: 游戏引擎介绍, 渲染和构造3D世界  介绍  自Doom游戏时代以来我们已经走了很远。 DOOM不只是一款伟大的游戏,它同时也开创了一种新的游戏编程模式: 游戏 "引擎"。 这种模块化,可伸缩和扩展的设计观念可以让游戏玩家和程序设计者深入到游戏核心,用新的模型,场景和声音创造新的游戏, 或向已有的游戏素材中添加新的东西。大量的新游戏根据已经存在的游戏引擎开发出来,而大多数都以I

kellymalan的专栏 3656

【RT-DETR实战】117、华为昇腾CANN部署探索:从模型转换到推理踩坑实录

本文总结了RT-DETR模型在昇腾310B芯片上部署的关键挑战与解决方案。主要遇到四大问题:1)模型转换时需注意ONNX导出设置,建议先固定尺寸验证;2)内存布局差异导致推理异常,需精确匹配NHWC/NCHW格式;3)流水线并发优化中内存复用和异步处理是关键;4)调试阶段需利用专用工具逐层比对。作者提出六条实用建议,包括小尺寸验证、预处理对齐、内存池设计等,强调部署是持续适配过程,需建立完整的测试体系应对工具链迭代。

企鹅码农的专属播客,分享10多年的实战案例和经验解读,包含YOLO、RT-DETR、AI等各个工作领域。 194

3D游戏引擎剖析

介绍 自Doom游戏时代以来我们已经走了很远。 DOOM不只是一款伟大的游戏,它同时也开创了一种新的游戏编程模式: 游戏 "引擎"。 这种模块化,可伸缩和扩展的设计观念可以让游戏玩家和程序设计者深入到游戏核心,用新的模型,场景和声音创造新的游戏, 或向已有的游戏素材中添加新的东西。大量的新游戏根据已经存在的游戏引擎开发出来,而大多数都以ID公司的Quake引擎为基础, 这些游戏包括Coun

舒夜无痕--成为更好的自己 7593

【C2000系列DSP的Bootloader详解】如何打包源文件为库文件且加密仅授权使用,一步步教你如何实现

如果想要在 TI 的 CCS 开发环境中为 C2000 系列 MCU 生成 lib 库文件,并对这些库文件进行加密保护,确保只有授权方(持有密钥)才能调用和使用,以此保护源代码的知识产权。

昔时扬尘处 177

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

游戏引擎剖析 1

游戏引擎剖析原文作者:Jake Simpson译者: 向海Email:GameWorldChina@myway.com第1部分: 游戏引擎介绍, 渲染和构造3D世界介绍自Doom游戏时代以来我们已经走了很远。 DOOM不只是一款伟大的游戏,它同时也开创了一种新的游戏编程模式: 游戏 "引擎"。 这种模块化,可伸缩和扩展的设计观念可以让游戏玩家和程序设计者深入到游戏核心,用新的模型,场景和声音创造新

gameworldchina的专栏 1947

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

游戏引擎剖析

原文作者:Jake Simpson 译者: 向海 Email:GameWorldChina@myway.com 第1部分: 游戏引擎介绍, 渲染和构造3D世界 介绍   自Doom游戏时代以来我们已经走了很远。 DOOM不只是一款伟大的游戏,它同时也开创了一种新的游戏编程模式: 游戏 "引擎"。 这种模块化,可伸缩和扩展的设计观念可以让游戏玩家和程序设计者深入到游戏核心,...

weixin_30566149的博客 755

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

游戏引擎剖析(一)

原文作者:Jake Simpson译者: 向海第1部分: 游戏引擎介绍, 渲染和构造3D世界介绍  自Doom游戏时代以来我们已经走了很远。 DOOM不只是一款伟大的游戏,它同时也开创了一种新的游戏编程模式: 游戏 "引擎"。 这种模块化,可伸缩和扩展的设计观念可以让游戏玩家和程序设计者深入到游戏核心,用新的模型,场景和声音创造新的游戏, 或向已有的游戏素材中添加新的东西。大量的新游戏根据已经存在

Nicholas黎的专栏 1915
上一篇: 游戏引擎剖析(八)
下一篇: 游戏引擎剖析(十)
Image_Graphics
博客等级 码龄20年 18粉丝 52原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值