Blueprint —— 简介

Flask--Blueprint(蓝图)简单使用笔记 flask蓝图使用笔记 阅读详情

目录

介绍

蓝图分类

蓝图与C++区别

Basic Scripting with Blueprints

Blueprints Visual Scripting Overview

蓝图类型

蓝图分析


介绍

        蓝图可视化脚本系统(Blueprint Visual Scripting system)是完整的游戏脚本系统(gameplay scripting system),基于节点来创建游戏元素;类似常见的脚本语言,是用于定义引擎中面向对象的类和对象;该系统非常灵活和强大,提供了一般仅供程序员使用的所有概念及工具;

        蓝图基本形式是,通过引线将节点Node、事件Event、函数Function、及变量Variable连接起来,以创建复杂的游戏元素(gameplay elements);蓝图是使用节点图表(graphs of Nodes)来实现各种目的(如object construction、individual functions、general gameplay events);

        蓝图可执行许多操作,但部分特定制作可能会对性能产生影响,如每 tick 都执行大量操作和复杂的数学计算(可考虑使用C++);蓝图适合创建事件驱动的功能,如处理伤害接收、控制,或其他非每帧调用的操作;

蓝图分类

        最常用的两种蓝图是关卡蓝图Level Blueprints、蓝图类Blueprint Classes,其他蓝图还有Blueprint Macros、Blueprint Interfaces;

  • Level Blueprints,每个关卡都拥有自己的关卡蓝图;
    • 可引用和操作关卡内的Actors;
    • 使用Level Sequence Actors控制过场动画;
    • 管理关卡流送;
    • 还可与关卡内的蓝图类交互,如读取/设置变量或触发自定义事件;
  • Blueprint Classes,定义可以作为实例放入地图中的新类或Actor类型;
    • 非常适合创建交互资源(如门、开关等),将其拖入关卡即可被构造;如编译蓝图则所有该蓝图的实例均会更新;

蓝图的其他用途:

  • 使用Construction Script(只在Actor被放置或更新时计算),创建自定义预设;
  • 创建可操作的角色,Pawn是一种蓝图类,其可将角色所需的所有元素结合在一起;
  • 使用Blueprint script,创建HUD,可包含事件序列与变量,会被指定到GameMode上;

        Blueprint Editor 是用于构造蓝图元素以构建可视化脚本的用户界面,UI会因选择的蓝图类型而异;大部分 蓝图编辑器 的核心功能是用于布置 事件图表(Event Graph)选项卡;

蓝图与C++区别

        蓝图是UE自创的一种节点化编程语言,使用上与C++不同,需要连接各种变量、函数、事件等,以此为Actor创建功能;还可借助这些函数和事件,让不同Actor蓝图相互通信、传输数据;

        蓝图也并非与C++无关,蓝图在虚拟机上运行,而虚拟机本质是一种将蓝图解译为C++的独立进程;意味着,蓝图Actor可能需要占用更多算力;蓝图是一种节点化的C++编程方法,本质上是一种可视化的C++代码;

        蓝图不仅可创建Actor类,还可创建Gamemode、Game State、Character、Pawn等各种类;

        使用C++,则可访问更底层、更广泛、更核心的虚幻功能,如可修改引擎,改进管线;

Basic Scripting with Blueprints

        蓝图为脚本语言提供了一种可视化的方法;就其本身而言,此系统与标准书面脚本语言有许多细微差别,例如数据类型化变量、数组、结构体等等;执行流的工作方式与在典型脚本语言中一样,但蓝图要求每个节点的显式线性执行;

Variables

        变量能以各种不同类型被创建,包括数据类型如Boolean, integer, and float,并常用颜色编码,以便在蓝图中识别;

        蓝图变量还可以是用于保存对象、Actor和类等内容的引用类型;

Execution Flow

        在蓝图中,要执行的第一个节点是一个事件,然后是从左至右通过白色执行线的执行流;游戏运行时,可以在编辑器中可视化执行流,以便于调试;数据还流经采用匹配变量类型的彩色导线;当节点执行时,将对输入引脚进行评估,反向从右至左跟踪数据线,直到计算出最终结果并将其提供给节点;

        带有执行引脚(非纯节点)的节点在执行时存储其输出引脚的值,而不带执行引脚(纯节点)的节点则在每次与其输出相连的节点执行时重新计算其输出;

  • Connecting Nodes

  • Events

  • Flow Control

  • Nodes

  • Custom Events

Blueprints Visual Scripting Overview

        虚幻引擎中的 蓝图可视化脚本(Blueprint Visual Scripting)系统是使用基于节点创建Gameplay元素的可视化编程语言;基于节点的工作流程为设计师提供了通常只有程序员才能使用的广泛脚本概念和工具;此外,在引擎的C++实现方案中,可用的蓝图特有标记可以让程序员创建基线系统,并让设计师扩展这些系统;

        蓝图不是虚幻脚本的替代品;之前利用虚幻脚本进行的游戏编程和其他操作仍然可以通过C++代码进行处理; 同时,蓝图并非刻意为替代虚幻脚本而生,但它们的许多用途确实和虚幻脚本相同,如:

  • 扩展类;
  • 保存并编辑默认属性;
  • 管理类的子对象(如组件)实例化;

        期望达到的结果是:gameplay程序员构建基础类,其公开一套有用的函数和属性; 这些基础类形成的蓝图可使用这些函数和属性并进行延展;

UnrealScript (UE3)Blueprints (UE5)C++ (UE5)
.uc fileBlueprint Asset.h/.cpp files
UClassUBlueprintGeneratedClassUClass
extends [ClassName]parentClass: [ClassName]
VariableVariableUProperty()
FunctionGraphs/EventsUFunction()
defaultproperties{}Class Defaultsnative constructor
Default ComponentsComponents Listnative constructor
蓝图类型

        蓝图有数种类型,每种均有其独特用法,包括创建新类型编写关卡事件脚本, 或是定义其他蓝图使用的接口和宏;

Blueprint Class

        Blueprint Class(蓝图类), 一般缩写为 Blueprint(蓝图),是一种允许内容创建者轻松地基于现有游戏类添加功能的资源; 蓝图 是在虚幻编辑器中可视化地创建的,不需要书写代码,会被作为类保存在内容包中; 实际上,这些类蓝图定义了一种新类或Actor类型,这些Actor可以作为实例放置到地图中, 和其他类型的Actor的行为一样;

Data-Only Blueprint

        Data-Only Blueprint(仅包含数据的蓝图)是指仅包含代码(以节点图表的形式)、变量及从其父类继承的组件的类蓝图;仅包含数据的蓝图允许调整及修改继承的属性,但是不能添加新元素;从本质上讲,这些蓝图是原型的替代物,设计人员可以使用它们来调整属性或者设置具有变种的项目;

        Data-Only Blueprints (仅包含数据的蓝图) 是在合并的属性编辑器中进行编辑的,但是也可以通过使用完整的 蓝图编辑器 来添加代码、 变量或组件,来将其转换为完整的蓝图;

        关卡蓝图(Level Blueprint)是一种专门类型的 蓝图,用作关卡范围的全局事件图表;在默认情况下,项目中的每个关卡都创建了自己的关卡蓝图,可以编辑这些关卡蓝图, 但是不能通过编辑器接口创建新的关卡蓝图;

        整个level相关的事件,或关卡内Actor的特定实例, 用于以函数调用或流控制操作的形式触发操作序列;

        关卡蓝图还提供了关卡流送和Sequencer的控制机制,以及将事件绑定到关卡内的Actor的控制机制;

Blueprint Interface

        蓝图接口(Blueprint Interface)是一个或多个函数的集合 - 只有名称,没有实现-
可以添加到其他蓝图中;任何添加了该接口的蓝图都保证拥有这些函数;接口的函数可以在添加它的每个蓝图中提供功能;在本质上,这类似于一般编程中的接口概念, 它允许多个不同类型的对象通过一个公共接口共享和被访问;简单地说,蓝图接口允许不同的蓝图相互共享和发送数据;

        内容创建者可以通过编辑器以与其他蓝图类似的方式创建蓝图接口,但它们仍有一定的局限性,原因在于以下操作不可执行:

  • 添加新变量
  • 编辑图表
  • 添加组件

Blueprint Macro Library

        蓝图宏库(Blueprint Macro Library)是一个容器,它包含一组 宏 或自包含的图表,这些图表可以作为节点放置在其他蓝图中;它们可以节省时间,因为它们可以存储常用的节点序列, 包括执行和数据传输所需的输入和输出;

        宏在引用它们的所有图表之间共享,但是它们会自动扩展到图表中, 就像它们在编译期间是一个折叠节点那样;这意味着蓝图宏库不需要编译;但是,对宏的更改仅反映在重新编译包含这些图表的蓝图时引用该宏的图表中;

Blueprint Utilities

        蓝图工具(简称 Blutility),是用于执行编辑器行为或延展编辑器功能的纯编辑器蓝图;其可将不带参数的Events作为 UI 按键公开,并能执行对 蓝图 公开的任意函数,同时对视口中当前选定的 Actor 集产生作用;

蓝图分析

        蓝图功能由诸多元素定义;部分元素默认存在,其余可按需添加;这些元素可用于定义组件、执行初始化和设置操作、对事件作出响应、组织并模块化操作,以及定义属性等行为;

Components Window

        蓝图编辑器(Blueprint Editor)中的 组件(Components)窗口允许将组件添加到蓝图;这提供了以下方法: 通过胶囊组件(CapsuleComponent)、盒体组件(BoxComponent)或球体组件(SphereComponent)添加碰撞几何体, 以静态网格体组件(StaticMeshComponent)或骨骼网格体组件(SkeletalMeshComponent)形式添加渲染几何体,使用移动组件(MovementComponent)控制移动;还可以将组件(Components)列表中添加的组件指定给实例变量,以便在此蓝图或其他蓝图的图表中访问它们;

Construction Script

        创建蓝图类的实例时,构造脚本(Construction Script)在组件列表之后运行;它包含的节点图表允许蓝图实例执行初始化操作; 构造脚本的功能可以非常丰富,它们可以执行场景射线追踪、设置网格体和材质等操作,从而根据场景环境来进行设置; 如光源蓝图可判断其所在地面类型,然后从一组网格体中选择合适的网格体,或栅栏蓝图可以向各个方向射出射线, 从而确定栅栏可以有多长;

Event Graph

        蓝图的EventGraph包含一张节点图表,它使用事件和函数调用来执行操作,以响应与蓝图相关联的Gameplay事件;这被用于为蓝图的所有实例添加公共功能;交互性和动态响应也在这里设置;如光源蓝图可以对伤害事件做出响应,方法是关闭其 LightComponent,并更改其网格体所使用材质;这将自动为光源蓝图的所有实例提供此行为;

Functions

        函数(Functions)是属于特定 蓝图 的节点图表,它们可以从蓝图中的另一个图表执行或调用;函数具有一个由节点指定的单一进入点,函数的名称包含一个执行输出引脚;当从另一个图表调用函数时,输出执行引脚将被激活,从而使连接的网络执行;

函数 和 宏 两者在外部完成相同目标:

  • 宏拥有宏图表,函数拥有函数图表;
  • 均可使用本地变量;宏使用没有特定的命名,只保存数值的"匿名"本地变量;
  • 均适用于封装重复使用和清晰功能;
  • 函数会被实际调用,宏是替换;
  • 宏可放置隐藏节点,宏无法实现类覆写功能;

        总之,如需要在各处重复使用一些快速的功能,最好使用宏;但如需调整蓝图子项中的行为,或需从另一个蓝图直接进行访问,则最好使用函数!

Variables

        变量(Variables)是保存值或引用世界场景中的对象或Actor的属性;这些属性可以由包含它们的 蓝图(Blueprint)通过内部方式访问,也可以通过外部方式访问,以便设计人员使用放置在关卡中的蓝图实例来修改它们的值;

  • Local variables,只会出现在定义的范围中,因此,函数中的本地变量仅限该函数可见,其他函数、事件图表都不可见;
  • Class variables,需从蓝图中多处进行访问的内容,因此,诸如对网格体或其他组件的引用,或需要公开以便从其他蓝图访问的变量;

如何学习虚幻引擎的Blueprint? ​ 蓝图(BluePrint) 是Epic Games 针对虚幻4引擎开发的可视化脚本语言。当你使用蓝图的时候,其实就是在编写代码,只不过它采用更加可视化的方法,它不需要你编写任何C++代码,只需要将不同功能的蓝图节点连接起来,就能实现想要的功能。 ​ 阅读详情

相关推荐

Ambari-Blueprint介绍

Ambari-Blueprint整体介绍 ambari-blueprint主要作用是通过提供一个restAPI,调用几次API就可以创建一个集群,ambari-server解析stack下的role_command_order.json文件来自动部署集群,role_command_order.json文件记录着各个服务与组件的部署顺序,ambari-server会自动根据顺序建立task,这

韩小侠的专栏 已迁移至lssea.com 3853

Blueprint介绍和使用

衡量系统网络的使用情况,可以使用的命令有sar、ifconfig、netstat以及查看net的dev速率,通过查看收发包的吞吐率达到网卡的最大上限(**问题:**网络的最大上限怎么看呢?通过这些监控分析情况,我们可以用命令有vmstat、sar、dstat、mpstat、top、ps等命令来进行统计分析。在系统的内存分析定位过程中,当系统内存的利用率大于50%的时候,我们就需要注意了;:CPU、IO(磁盘IO、网络IO)、内存等,本文中,定性地给出了对于不同的系统资源瓶颈的度量方法和衡量标准。

神棍之路 1474

blueprintjs-dashboard:使用Blueprint.js的管理仪表板

Create React App入门 该项目是通过引导的。 可用脚本 在项目目录中,可以运行: yarn start 在开发模式下运行该应用程序。 打开在浏览器中查看它。 如果您进行编辑,则页面将重新加载。 您还将在控制台中看到任何棉绒错误。 yarn test 在交互式监视模式下启动测试运行器。 有关更多信息,请参见关于的部分。 yarn build 构建生产到应用程序build文件夹。 它在生产模式下正确捆绑了React,并优化了构建以获得最佳性能。 生成被最小化,并且文件名包括哈希值。 您的应用已准备好进行部署! 有关更多信息,请参见关于的部分。 yarn eject 注意:这是单向操作。 eject ,您将无法返回! 如果您对构建工具和配置选择不满意,则可以随时eject 。 此命令将从您的项目中删除单个生成依赖项。 相反,它将所有配置文件和传递依赖项(webpa

Practical Python书籍推荐:从入门到专家必读的完整指南

**Practical Python编程教程**是Python学习者的终极宝藏,由著名Python专家David Beazley精心打造。这个免费的Python学习资源已经帮助了超过400个团队,包括交易员、系统管理员、天文学家,甚至还有帮助火星探测器的火箭科学家!🚀 ## 为什么选择Practical Python? **Practical Python编程**课程不同于传统的编程教材,它

gitblog_00032的博客 674

智能客服系统知识库数据清洗

数据清洗(Data Cleaning)是确保智能客服知识库高效运行的重要环节,主要涉及。| 分类 & 标签优化 | 重新组织 FAQ,创建关键字索引 || 定期更新 | 结合用户反馈,每 1-3 个月优化 |才能提供更优质、正确的回答,提升客户满意度!、Zendesk、Intercom 等)中,: FAQ 或客服回答中可能存在。,会影响 AI 匹配的准确性。是一个持续优化的过程,

z1941563559的博客 2098

数学建模国赛C题实战:从数据预处理到模型优化的完整流程(附Python代码)

本文系统讲解了数学建模国赛C题的完整实战流程,涵盖从数据预处理、模型选择与构建到优化与结果可视化的关键步骤。文章重点分享了如何利用Python进行高效的数据清洗、特征工程,并提供了多种机器学习模型的实现代码与对比验证方法,旨在帮助参赛者构建逻辑清晰、结果可靠的解决方案。

weixin_29079643的博客 293

Android Blueprint简介

在Blueprint中,每个构建目标都是一个模块。模块通过关键字(如cc_librarycc_binary等)来定义,并跟随一系列属性和参数。

hongel110的博客 1048

【随机过程】 3 - 随机过程的频域分析1 - 功率谱

随机过程的频域分析 文章目录随机过程的频域分析1. 什么是谱2. 确定信号的频谱2.1 周期信号的频谱2.2 非周期信号的频谱3. 随机信号的谱3.1 随机信号做傅里叶分析的困难3.2 功率谱密度的物理和数学表示形式3.2.1 功率谱密度的物理表示3.2.2 功率谱密度的数学表示3.3 功率谱密度的解读3.3.1 量纲分析3.3.2 谱3.3.3 密度3.3.4 wiener和khinchin3.4 功率谱密度的性质3.4.1 非线性3.4.2 偶函数3.5 wiener-khinchin关系的应用3.6

qq_41741344的博客 3132

OSGI中blueprint简介

OSGI中blueprint简介上篇博文我们开始了felix中的一个example编写,原本计划是讲felix中的几个example全部编写一遍,但是随后发现felix的这几个example都差不多,只是略微有些区别,编写来编写去始终都是这几行代码,讲起来也没什么意思,想着还是开始osgi中新的东西的讲解,思考来去,还是从blueprint开始。blueprint简介在osgi中服务的使用有多种方式

u012734441的专栏 1万+

主流双目相机技术参数横向评测:从ZED到INDEMIND的深度解析

本文对主流双目相机进行了深度横向评测,涵盖ZED、Bumblebee、Leap Motion、DUO 3D及INDEMIND等国内外产品。文章详细解析了分辨率、帧率、视场角、基线等核心参数,并结合科研、机器人导航、无人机、工业检测等典型应用场景,提供了实战选型指南,帮助读者根据具体需求挑选最合适的双目视觉解决方案。

weixin_29212867的博客 640

麒麟KylinV10系统yum源更换全攻略:从官方源到第三方仓库的保姆级教程

本文详细介绍了麒麟KylinV10系统yum源的更换与优化方法,包括官方源配置、第三方仓库集成及RPM包管理技巧。通过实战案例和命令示例,帮助用户快速解决软件依赖问题,提升系统管理效率。特别适合需要在国产操作系统上进行开发的工程师参考。

weixin_30752699的博客 647

Android中的Android.bp、Blueprint 和Soong简介

随着android工程越来越大,包含的 module 越来越多,以makefile组织的项目编译花费的时间越来越多。谷歌在7.0开始引入了ninja进行编译系统的组织。相对于make来说Ninja在大的项目管理中速度和并行方面有突出的优势,因此谷歌采用了Ninja来取代之前使用的make。Android 7.0 之后再很多地方出现了Android.bp的文件,也不清楚这个后缀是什么意思,本文主要是介绍其由来和简单的语法和其使用方法,以及与其相关的Blueprint 和Soong。

私房菜 1万+

基于改进Unet的多场景水果图像分割与分类研究

本文针对复杂场景下的水果图像分割问题,提出了一种改进Unet模型。通过构建包含8类水果、3种成熟度及多种干扰场景的数据集,采用ResNet50与MobileNetV3作为骨干网络,并在跳跃连接层集成CBAM注意力机制。实验表明,改进模型在测试集上达到91.6%的mIoU,推理速度提升23%,特别在重叠水果和低光照场景表现突出。研究为农业视觉检测提供了有效解决方案。

AI的内部世界的博客 303

Blueprint简介-Android10.0编译系统(六)

摘要:Android.bp由Blueprint进行解析翻译,最终通过soong build编译成ninja文件,那么Blueprint是什么呢? 阅读本文大约需要花费10分钟。 文章首发微信公众号:IngresGe 专注于Android系统级源码分析,Android的平台设计,欢迎关注我,谢谢! 欢迎关注我的公众号! [Android取经之路] 的源码都基于Android-Q(10.0) 进行分析 [Android取经之路] 系列文章: 《系统启动篇》 Android系统架构 An

IngresGe 的专栏 4119

损失函数大汇总(六十一)(Signed Distance Map Loss附公式推导与代码)

摘要 本文介绍了Signed Distance Map (SDM) Loss,一种将形状先验直接融入分割任务的方法。SDM将每个像素表示为到目标边界的带符号距离(内部为负,外部为正),相比二值mask能更连续地表达形状几何信息。SDM Loss的核心思想是让网络学习这个隐式形状场,通过可微的Heaviside函数近似将SDM转换为分割结果。文中重点分析了一种product-based regression loss,它能同时关注距离数值和内外符号的正确性,对边界区域尤为敏感。SDM Loss通常与传统的分割

悦学共鸣,温柔以待,汇聚光芒,共同成长 187

还原 Windows 环境变量的默认值

有时候,我们可能需要还原环境变量的默认值,以修复可能的配置问题或恢复系统的正常运行。如果您只想还原某个特定的环境变量,可以跳过删除其他变量的步骤,仅删除需要还原的变量即可。在“环境变量”对话框中,继续向下滚动到“系统变量”部分。请注意,在执行以下步骤之前,您应该备份当前的环境变量设置,以便在需要时可以还原。在删除所有需要还原的环境变量后,点击“确定”按钮关闭“环境变量”对话框。在“用户变量”部分,选择需要还原的变量,然后点击“删除”按钮。在“高级”选项卡下方的“环境变量”部分,点击“环境变量”按钮。

PvDeveloper的博客 6341

Flask学习1:简介

Flask入门web工作原理1.C/S和B/S架构​ C/S:客户端/服务器​ B/S:浏览器/服务器2.B/S架构工作原理​ 客户端(浏览器) <=> WEB服务器(apache/nginx) <=> WSGI <=> Python(Flask)Flask框架1.简介​ flask是一个非常小的Python Web框架,被称为微型框架,只提供了一个强健的核心,其他

喜欢海 569

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

一个好的css 框架blueprint

你没看错, css也可以做框架,http://code.google.com/p/blueprintcss/ 当你在页面导入它后, 只要将最顶端的div class设为container, 如果你需要一个固定宽度的框,就用span-1做为div的class, 以此类推 直至span-24, span之间为10px的间隔, 如果你需要更多间隔就加prepend-1或者 append-1。 这样你就可...

DigiHacker 327

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

Blueprint: A CSS Framework

好吧我知道现在是Framework满天飞的时代了(咚一个易拉罐飞了过来),什么JAVA,Ruby,PHP之类的Framework早就是习以为常,最近一两年很多的Javascript Framework也因为Web 2.0而火了起来。各种Framekwork让我们(如果你不是开发人员的话,我就不跟你套近乎了。。。)的开发工作容易了很多。作为一个直接网页开发人员,每次新开始一个项目的时候还有一...

csstome 128

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

使用 Blueprint Container 规范构建 OSGi 应用程序

原文地址:http://www.ibm.com/developerworks/cn/opensource/os-osgiblueprint/

418

需要知道到一个CSS框架:blueprint

Blueprint是由Olav创建的一个CSS framework,目的就是为了缩短你开发CSS的时间。如果你是初次接触blueprint,请阅读这篇文章!该项目栖身google code,刚刚发布最新版本0.4。你可以先看看用blueprint开......

Just another subsidiary blog 188

Blueprint Framemaker介绍

Blueprint是一个非常成熟也非常流行的CSS框架,其目的是减少你的开发时间,目前很多网站都基于Blueprint搭建前端结构,比如Wordpress、Drupal等。Blueprint拥有良好的基础结构、合理的排版、有用的插件以及打印样式表,你可以直接使用它到你的项目上去。官方网址:http://www.blueprintcss.org/目前其版本号:0.9.1

muzitianqing的专栏 1483

API Blueprint笔记

API Blueprint,是一个用于编写web api的规范,采用类似于markdown的语法,语法本身没什么难点,记住几个关键词,也就差不多了。

liuyueyi1995的博客 4786
上一篇: Material —— 材质节点 | Utility
下一篇: Linux —— Gitee
挨代码
博客等级 码龄5年 1696粉丝 384原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值