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

stm32h743的hrtim使用生成pwm波

HRTIM(High-Resolution Timer)是一种高精度定时器,其时钟频率可直接与CPU主频同步,达到480MHz。相比之下,其他传统定时器需挂载在APB总线上,受总线频率限制,最高仅支持240MHz。这种直接时钟同步机制显著提升了定时器的分辨率和精度。

d13211322的博客 1610

PotPlayer 史诗级更新!实时字幕生成+实时翻译,看片真的无敌了!

potplayer已经更新实时字幕生成+实时字幕翻译功能

阿虚同学的博客 1万+

Android Blueprint简介

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

hongel110的博客 1048

Zemax中场曲与畸变图的深度解析与应用场景对比

本文深度解析了Zemax中场曲/畸变图与网格畸变图的核心原理、计算逻辑与适用场景。通过对比常规成像镜头、扫描镜头、鱼眼镜头及变形宽银幕镜头等实际案例,详细阐述了如何根据系统对称性、视场角及核心需求选择正确的分析工具与畸变评价标准,为光学设计中的畸变诊断与优化提供清晰指导。

sand8的博客 482

OSGI中blueprint简介

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

u012734441的专栏 1万+

2024年Unity 面试题 |五萬字 二佰道| Unity面试题大全,面试题总结【全网最全,收藏一篇足够面试】

正所谓 金三银四 ,又到了找工作的大好时机了,不知道大家有没有意向找一份更好的工作呢~ 之前写了很多Unity的学习和实例文章,但是面试题部分还没有一个系统的整理。 那本篇文章就来整理一下Unity中一些常见的面试题,说不准就会面试的时候就会遇到! 本篇文章会将Unity所有方面的面试资料都融会贯通,绝对是2022年Unity面试领域最实用的文章啦!

努力前行,总会成为自己心中的那道光 17万+

【银河麒麟V10】【桌面】【服务器】系统启动问题

1、如果之前运行好好的,重启后系统报错,一般80%是因为fstab的问题,回想下之前有没有添加过外接存储,修改过/etc/fstab,如果是的话一般是因为存储异常(比如网络存储无法连接,本地存储路径变化)导致系统开机自检失败,导致无法正常启动; 处理方式:进入单用户(单用户进入的几种方式上面有专门文章介绍),修改/etc/fstab,将新增的内容暂时注释掉,然后重启系统,能正常进入系统后再分析失败原因。 ...

桂安俊@KylinOS 3万+

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

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

私房菜 1万+

【AutoCAD中实现双击文本编辑功能】

例如:以下是官方博客例子浅析先加入相关的头文件和库文件。在AutoCAD中有一个很重要的功能,就是双击图形尺寸或文本后会出现一个文本编辑框,用户可在该编辑框中修改文字。本文介绍了如何使用AcEdInplaceTextEditor来实现该功能。实现cad的消息监听。创建一个消息监听的类并在cad中注册来实现消息监听。主要是监听键盘输入。提示:以下是本篇文章正文内容,下面案例可供参考提示:这里对文章进行总结:例如:以上就是今天要讲的内容,本文仅仅简单介绍了的函数和方法。

我的博客 1148

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

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

IngresGe 的专栏 4119

【PINN高级教程】 第1讲:函数空间与逼近理论

结论:在解决偏微分方程(PDE)时,解往往属于某个 Sobolev 空间 HsHs,其正则性受限于 PDE 的系数与边界条件;而 PINN 在训练过程中实际上是在逼近 Barron 空间中的函数。由于 Barron 空间允许高频信息的压缩,PINN 可以在参数规模较小的情况下捕捉到 PDE 解所需的细节,但其正则性保证仍然比 Sobolev 更弱。因此,在设计 PINN 时,需要通过正则化或网络结构(如残差连接、归一化层)来“逼近”Sobolev 正则性。

u012133341的博客 236

国产化替代落地:C#+Avalonia跨平台开发(麒麟系统适配全流程)

摘要: 随着国产化替代政策的推进,麒麟操作系统成为国产替代的重要选择。本文介绍了如何使用C#和Avalonia框架开发跨平台应用,适配麒麟系统。Avalonia支持Windows、Linux(包括麒麟)和macOS,通过XAML设计UI,便于开发者快速上手。文章详细讲解了开发环境配置、XAML控件设计、Linux特性适配及性能优化,并强调政府30%研发补贴带来的政策红利。未来,随着国产系统生态完善,C#+Avalonia将成为企业跨平台开发的高效解决方案。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 3475

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

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

一个好的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

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Blueprint: A CSS Framework

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

csstome 128

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

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

使用 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、付费专栏及课程。

余额充值