新闻详情

新闻详情

首页 / 资讯中心 / 详情

Xberg 迁移指南:从 Unstructured 平滑迁移到 Rust 原生文档智能引擎

发布时间:2026/9/25 2:49:09来源:尧图网络
Xberg 迁移指南:从 Unstructured 平滑迁移到 Rust 原生文档智能引擎
后端AI 应用NLP【免费下载链接】xbergPolyglot document intelligence with a Rust core: extract text, metadata, images, tables, and structured data from 106 formats across 140 file extensions, plus code intelligence for 371 languages. Fifteen bindings, with CLI, REST API, and MCP server.项目地址https://gitcode.com/gh_mirrors/kr/xberg点击查看免费下载本文是一份面向文档智能Document Intelligence工作负载的实战迁移手册帮助你从 Unstructured.io 迁移到 Xberg包括 API 端点与输出格式的对应关系、元素类型Element Type与配置参数的逐项映射、Python / TypeScript / cURL 三种语言的代码改写示例以及一套可直接照做的迁移检查清单与性能优化建议。读完本文你将能够把现有基于 Unstructured 的抽取管线平滑切换为 Xberg并利用其更丰富的元数据、逐页内容PageContent、内建 Embedding 与 100 格式支持获得超出原方案的能力。本文内容以 官方迁移文档 为骨架并结合 Xberg 仓库源码配置类型定义、结果类型定义、API 路由展开原理级讲解。快速上手一分钟完成迁移两种方案的 API 都是multipart/form-data文件上传切换成本极低。Unstructured APIcurl -X POST https://api.unstructured.io/general/v0/general \ -F filesdocument.pdfXberg APIcurl -X POST http://localhost:8000/extract \ -F filesdocument.pdf \ -F config{result_format:element_based}可以看到Xberg 默认启动后监听localhost:8000/extract端点接受同样的files字段唯一的关键差异是Unstructured 把按元素切分作为默认行为而 Xberg 默认返回统一输出Unified Output需要元素化结果时才通过configJSON 中的result_formatelement_based显式开启。值得注意的细节Xberg 的/extract端点对 multipart 字段采用白名单校验。从 API 处理器源码 可见仅接受file、files、urls、inputs、config、output_format、pdf_password、format这 8 个字段拼写错误的字段如configuration、outputFormat会直接返回校验错误而不是被静默忽略——这意味着迁移时把 Unstructured 的strategy、coordinates等顶层字段放进configJSON 内即可字段拼写错误会第一时间暴露。输出格式对比统一输出默认Unified OutputXberg 的默认输出把所有正文合并进一个content字段同时附带远超 Unstructured 的元数据结构。这也是二者在设计哲学上的核心差异Unstructured 把一切拆成元素列表Xberg 则默认给出完整文档 结构化附件。Xberg Unified{ content: Full document text..., mime_type: application/pdf, metadata: { title: Document Title, authors: [Author Name], created_at: 2024-01-15T10:30:00Z, format: { format_type: pdf, page_count: 10, version: 1.7 } }, tables: [...], images: [...], pages: [...] }从源码看这是ExtractedDocument结构的直接体现。类型定义 中的字段还包括counts页数/表格数/图片数的轻量统计即使未开启逐页提取也始终填充、detected_languagesISO 639-1 语言检测结果、chunks开启分块时的文本块、extraction_methodnative / OCR / mixed 的提取路径标注等。mime_type直接反映源文档类型便于下游按类型分流处理。元素化输出Element-Based Output当result_formatelement_based时Xberg 返回与 Unstructured 高度同构的elements数组Xberg{ elements: [ { element_id: elem-a3f2b1c4, element_type: title, text: Introduction, metadata: { page_number: 1, filename: Document Title, coordinates: { x0: 72.0, y0: 100.0, x1: 540.0, y1: 130.0 }, element_index: 0, additional: { level: h1, font_size: 24.0 } } }, { element_type: narrative_text, text: This is a paragraph..., metadata: { page_number: 1 } } ] }Unstructured[ { type: Title, text: Introduction, metadata: { page_number: 1, filename: document.pdf } }, { type: NarrativeText, text: This is a paragraph..., metadata: { page_number: 1 } } ] ]对照可见三处结构性差异均来自 Xberg 的类型定义extraction.rselement_idXberg 为每个元素生成确定性的唯一标识符仅反序列化旧载荷时为空方便下游做去重、增量索引与溯源coordinates只要源文档提供几何信息PDF 文本层、OCR 结果边界框就默认附带无需像 Unstructured 那样显式开启coordinatestrue。BoundingBox结构为x0/y0/x1/y1四点坐标additional任意字符串键值对用于携带levelh1-h6、font_size等扩展属性同时保持核心 schema 稳定。命名规范方面Xberg 全程使用snake_casenarrative_text、page_number而 Unstructured 使用 PascalCase 类型名NarrativeText迁移时元素类型的引用需要一并调整。API 端点映射UnstructuredXbergNotesPOST /general/v0/generalPOST /extractSingle/batch extractionN/APOST /embedBuilt-in embeddings (ONNX models)N/AGET /healthHealth checkN/AGET /cache/statsCache statistics需要说明的是/embed端点对应 Xberg 内建的 ONNX 向量化能力无需外部 API Key而/health与/cache/stats则来自 API 路由定义。实际上 Xberg 的 HTTP 面远不止这四个端点从路由源码可以梳理出完整的端点全景迁移后可以按需启用POST /extract同步抽取单文件/多文件批量、字节/URL 输入POST /extract-async与GET/DELETE /jobs/{job_id}异步抽取与任务查询/取消适合长耗时大文档POST /detectMIME 类型探测GET /formats列出所有支持的格式GET /health、GET /info、GET /version服务健康、信息与版本GET /cache/stats、DELETE /cache/clear、GET /cache/manifest、POST /cache/warm内建文件缓存的管理接口GET /openapi.jsonOpenAPI 3.1 规范featureapi开启时GET /metricsPrometheus 指标featureprometheus开启时。路由层还内置了请求体大小限制默认 100 MB可通过ApiSizeLimits::from_mb调整、CORS 配置生产环境建议通过XBERG_CORS_ORIGINS环境变量收紧来源白名单以及全局并发限制默认按 CPU 数的两倍钳制在 4~32 之间XBERG_MAX_CONCURRENT_REQUESTS0可关闭这些能力是 Unstructured 云端 API 所不具备的自托管优势。元素类型映射UnstructuredXbergNotesTitletitlePDF hierarchy (h1-h6) detectionNarrativeTextnarrative_textParagraphs split on double newlinesListItemlist_itemBullets, numbered, letteredTabletableTab-separated text representationImageimageFormat, dimensions in metadataPageBreakpage_breakBetween pages in multi-page docsHeaderheaderPage header textFooterfooterPage footer textN/AheadingSection headings (beyond title)N/Acode_blockCode snippetsN/Ablock_quoteQuoted text blocks上表来自官方迁移文档而 ElementType 枚举源码 揭示了更完整的类型体系除了表中的 11 类Xberg 还定义了formula数学公式text字段携带 LaTeX 源码这一 Unstructured 没有的类型。也就是说元素分类实际共 12 种。element_type的序列化同样统一为 snake_case。这些元素从何而来从 抽取管线实现 看元素构建发生在抽取管线内部PDF 文本层按段落规则如双换行切分段落产出narrative_text层级检测h1-h6与代码块、引用块等结构在管线中统一归类。对 PDF 场景标题层级来自pdf_options.hierarchy的字体大小聚类详见下文配置映射。代码示例PythonUnstructuredfrom unstructured.partition.auto import partition elements partition(filenamedocument.pdf) for element in elements: print(f{element.category}: {element.text})Xbergimport asyncio from xberg import ExtractInput, ExtractionConfig, extract async def main(pdf_bytes: bytes) - None: # Option 1: Element-based output config ExtractionConfig(result_formatelement_based) output await extract( ExtractInput(kindbytes, bytespdf_bytes, mime_typeapplication/pdf), config ) result output.results[0] for element in result.elements: print(f{element.element_type}: {element.text}) if element.metadata.page_number: print(f Page: {element.metadata.page_number}) # Option 2: Unified output (default, richer metadata) output await extract( ExtractInput(kindbytes, bytespdf_bytes, mime_typeapplication/pdf) ) result output.results[0] print(result.content) # Full text print(result.metadata.title) # Document metadata for page in result.pages: print(fPage {page.page_number}: {page.content[:100]}) asyncio.run(main(pdf_bytes))Xberg 的 Python 绑定是基于 Rust 核心的异步 APIextract()接收ExtractInput与可选的ExtractionConfig返回ExtractionResult信封results列表支持批处理。ExtractInput(kindbytes, ...)传入字节流并显式声明 MIME 类型同样的结构也支持kinduri直接抽取本地路径或 HTTP(S) URL。Python 绑定接口定义见 packages/python/xberg/_xberg.pyiExtractionConfig的result_format字段与 Rust 侧ResultFormat枚举一一对应默认Unified。TypeScriptUnstructuredvia APIconst formData new FormData(); formData.append(files, fileBlob); const response await fetch(https://api.unstructured.io/general/v0/general, { method: POST, body: formData, }); const elements await response.json();Xbergimport { ExtractInputKind, extract } from xberg-io/xberg; // Option 1: Element-based output const elementOutput await extract( { kind: ExtractInputKind.Bytes, bytes: pdfBuffer, mimeType: application/pdf, filename: document.pdf, }, { resultFormat: element_based }, ); const elementResult elementOutput.results[0]; for (const element of elementResult.elements) { console.log(${element.elementType}: ${element.text}); } // Option 2: Unified output with pages const pageOutput await extract( { kind: ExtractInputKind.Bytes, bytes: pdfBuffer, mimeType: application/pdf, filename: document.pdf, }, { pages: { extractPages: true } }, ); const pageResult pageOutput.results[0]; for (const page of pageResult.pages) { console.log(Page ${page.pageNumber}:, page.content); }TypeScript 绑定使用 camelCase 选项resultFormat、extractPages与 REST/配置文件的 snake_case 形式不同——这是绑定层自动转换的约定。Node 绑定入口见 crates/xberg-node/index.d.ts同时该仓库还提供xberg-io/xberg-wasm用于浏览器与边缘运行时场景。CURLUnstructuredcurl -X POST https://api.unstructured.io/general/v0/general \ -H unstructured-api-key: $API_KEY \ -F filesdocument.pdf \ -F strategyhi_resXberg# Element-based output curl -X POST http://localhost:8000/extract \ -F filesdocument.pdf \ -F config{result_format:element_based} # With configuration JSON curl -X POST http://localhost:8000/extract \ -F filesdocument.pdf \ -F config{result_format:element_based,pages:{extract_pages:true}}REST 场景下Unstructured 的顶层参数strategy等在 Xberg 中全部收拢进config字段的 JSON 对象。由于/extract天然支持多文件与 URL 输入一个请求即可完成批量迁移测试-F filesa.pdf -F filesb.docx或-F urlshttps://example.com/doc.pdf。特性对比Xberg 新增的能力更丰富的元数据格式特定的判别联合PDF、Excel、Email 等各有专属元数据字段如 PDF 的page_count、version原生逐页内容PageContent携带页面文本、字节偏移、层级结构、表格与图片索引。从 PageContent 定义 可见其完整形态page_number1 起始、content、tablesArc 共享零拷贝、image_indices指向文档级图片列表、hierarchyH1-H6、is_blank、ocr_confidence以及 XLSX/ODS 的sheet_name、PPTX 的speaker_notes与section_name等格式专属字段107 种格式对比 Unstructured 约 30 种格式注意以当前仓库文档声明为准格式清单可查阅GET /formats端点性能Rust 原生实现对比 Python 实现15 种语言绑定Rust、Python、TypeScript/Node、Ruby、PHP、Go、Java、C#、Elixir、Dart、Kotlin Android、Swift、Zig、WASM、C FFI各绑定源码分布于 packages 与 crates 目录内建 EmbeddingsONNX 模型经/embed端点提供无需外部 API智能层级PDF 字体大小聚类实现 h1-h6 检测详见下文 Hierarchy 配置边界框从 PDF 源文档保留到元素坐标中。Unstructured 仍具优势布局检测模型基于 ML 的布局分析支持 GPU 加速云端 API托管服务开箱即用Xberg 需要自托管更多元素类型更细粒度的元素分类体系成熟生态社区更大、集成更多。配置映射迁移时逐项对照Unstructured ParameterXberg ConfigNotesstrategyhi_respdf_options.hierarchy.enabledtruePDF hierarchy extractioncoordinatestrueAlways included when availableBounding boxes in element metadatalanguages[eng]ocr.languageengOCR languageextract_image_block_types[image]images.extract_imagestrueImage extractionchunking_strategyby_titlechunking.max_chars1000Text chunking (basic)embedding_model...chunking.embedding.model...Embedding generation下面结合源码逐一展开这些配置的真实语义result_format结果形态开关定义于 ExtractionConfig取值unified默认或element_based。从 ResultFormat 枚举 的注释可见它独立于OutputFormat后者控制纯文本 / Markdown / HTML / Djot 等渲染格式二者可自由组合。管线层面pipeline/mod.rsElementBased 模式会自动开启逐页提取extract_pages因为元素需要归属到具体页面。pdf_options.hierarchyPDF 标题层级对应 Unstructured 的strategyhi_res场景下的结构信息。从 PdfConfig 看pdf_options还包含extract_images、extract_tables默认 true含网格检测 文本层启发式两轮回退、extract_metadata默认 true、passwords加密 PDF 密码列表等。hierarchy子配置HierarchyConfig包含enabled默认truek_clusters字体大小聚类数1~7默认3即两个标题级别 正文值越大层级越细校验逻辑会拒绝超出范围的取值include_bbox层级块是否携带边界框默认true。它正是官方文档中Smart Hierarchy: PDF font-size clustering for h1-h6 detection的实现来源产出结果挂在PageContent.hierarchy上blocks[].level为h1~h6。ocr.language与 OCR 策略对应 Unstructured 的languages[eng]。从 OcrConfig 定义 看language识别语言码列表默认[eng]Tesseract 后端会将多语言以连接如engdeu配置文件/JSON/REST 层同时接受单字符串eng或连接形式backend默认tesseract可选paddleocr、paddle-ocr、sceptre、vlmenabled: false等价于顶层disable_ocr: true的简写。顶层还有三个 OCR 控制开关ExtractionConfigforce_ocr对可搜索 PDF 也强制 OCR、force_ocr_pages仅对指定页码 OCR1 起始、disable_ocr完全关闭 OCR图片只返回元数据、PDF 只用文本层。三者互斥规则在配置校验中强制执行如disable_ocr与force_ocr不能同时为 true。值得注意ocr_strategy默认Auto——可搜索 PDF 默认跳过 OCR只有文本层质量不达标或完全没有文本层纯扫描的 PDF 才自动路由到 OCR这与迁移文档中Searchable PDFs already skip OCR by default的说明一致。images.extract_images图片提取ExtractionConfig.images为OptionImageExtractionConfigNone表示不提取图片。开启后文档级images数组会携带原始数据、格式与尺寸元数据并可通过include_data_base64输出 base64 副本JSON-only 客户端使用。每张图还可选择性附加ocr_result即pdf_options.ocr_inline_images的行为。逐页场景下PageContent.image_indices用零基索引指向顶层图片列表避免数据重复。chunking.max_chars文本分块对应 Unstructured 的chunking_strategyby_title。Xberg 的 ChunkingConfig 远不止一个参数max_chars每块最大字符数JSON/TOML 中字段名即max_chars别名max_characters默认1000max_overlap块间重叠字符数默认200trim块边界空白修剪默认truechunker_typeText或Markdown分块器sizing按字符默认或按 token需chunking-tiktoken/chunking-tokenizersfeature计量embedding块级稠密向量ONNX 本地推理sparse_embeddingSPLADE与late_interactionColBERT两类可选的稀疏/多向量增强分别要求sparse-embeddings、late-interactionfeaturepreset预设配置覆盖。分块结果挂载到ExtractedDocument.chunks每块携带文本、可选向量与位置元数据。chunking.embedding.model内建 Embedding对应 Unstructured 的embedding_model参数。Xberg 的嵌入走本地 ONNX 推理REST 层的/embed端点即暴露这一能力无需调用外部嵌入 API天然适合构建 RAG 管线的第一步。迁移检查清单更新 API 端点 URLUnstructured → Xberg若使用元素化工作流在configJSON 中添加result_formatelement_based更新元素类型引用Title→titlecamelCase → snake_case更新元数据字段引用Xberg 元数据结构更丰富用样例文档验证输出等价性更新错误处理Xberg 对校验错误返回 HTTP 422按需配置缓存Xberg 内建基于文件的缓存若使用 RAG 管线配置内建 ONNX Embedding补充两点实操提示错误处理Xberg 对配置校验失败返回HTTP 422且错误信息会明确指出非法字段例如k_clusters超出 1~7 范围、未知 multipart 字段名迁移时测试脚本应针对 422 建立断言而不是默认依赖 4xx 通用逻辑缓存管理use_cache默认开启重复抽取同一文档命中文件缓存可大幅提速通过/cache/stats观察命中率用/cache/clear在版本迭代后清理陈旧缓存。进阶混合方案Element Page 同时启用元素化与逐页输出并非互斥Xberg 允许两者同时使用兼顾语义元素处理与版面级检索import asyncio from xberg import ExtractInput, ExtractionConfig, PageConfig, extract async def main(pdf_bytes: bytes) - None: config ExtractionConfig( result_formatelement_based, # Get elements pagesPageConfig(extract_pagesTrue), # Also get per-page content ) output await extract( ExtractInput(kindbytes, bytespdf_bytes, mime_typeapplication/pdf), config ) result output.results[0] # Element-based processing for element in result.elements: if element.element_type title: index_heading(element.text) # Page-based processing for page in result.pages: if page.hierarchy: for block in page.hierarchy.blocks: if block.level h1: process_section(block.text) asyncio.run(main(pdf_bytes))这一组合的典型用法是用elements做语义级索引标题、段落、列表、表格用pageshierarchy做版面级还原哪个标题在哪个页面、页面内块级结构两者通过element.metadata.page_number与page.page_number天然对齐。性能建议开启缓存use_cache: true默认开启重复抽取直接命中文件缓存按需关闭 OCR纯文本文档可设disable_ocr: true连图片也不走 OCR仅返回元数据可搜索 PDF 默认已跳过 OCRforce_ocr: false无需额外配置限制逐页提取仅在需要逐页内容时启用pagesextract_pages因为逐页结构会带来额外的组装开销批量处理单请求多文件总大小上限默认 100 MBApiSizeLimits::default()见 api/types.rs按需用ApiSizeLimits::from_mb调整合理使用 Embedding仅对要写入向量数据库的分块内容开启chunking.embedding避免为全量文档做无谓的向量化。另外两个服务级调优手段大并发场景下用XBERG_MAX_CONCURRENT_REQUESTS控制背压默认按 CPU 两倍钳制在 4~32防止内存峰值 OOM生产环境通过XBERG_CORS_ORIGINS收紧跨域白名单。若单个文档极长或嵌套极深可留意extraction_timeout_secs默认 600 秒/文件与安全限制配置security_limits针对压缩炸弹、超深嵌套、超大表格等恶意输入。迁移后的下一步完成切换后建议依次探索 Xberg 的独有能力层级与逐页元数据启用pdf_options.hierarchy与pages观察 PDF 结构信息如何丰富你的索引与 QA 检索Embedding 管线用/embed或chunking.embedding构建纯本地 RAG 管线无需外部向量化服务Rust 原生性能用批量抽取extract_batch/ 多文件POST /extract 缓存命中验证吞吐提升异步任务超长文档改用POST /extract-asyncGET /jobs/{job_id}轮询避免同步请求超时服务观测开启prometheusfeature 后通过/metrics对接监控/health接入探活。如需进一步了解安装与基础用法可阅读 快速开始 与 安装指南端点细节可在服务启动后通过GET /openapi.json获取 OpenAPI 3.1 规范路由全集见 API 路由源码同一迁移主题还有面向旧版 Kreuzberg 的 from-kreuzberg-v4.md 可供参考。赞分享后端AI 应用NLP【免费下载链接】xbergPolyglot document intelligence with a Rust core: extract text, metadata, images, tables, and structured data from 106 formats across 140 file extensions, plus code intelligence for 371 languages. Fifteen bindings, with CLI, REST API, and MCP server.项目地址https://gitcode.com/gh_mirrors/kr/xberg点击查看免费下载相关推荐Newton 迁移指南从 warp.sim 平滑迁移到 Newton 物理引擎Newton 迁移指南从 warp.sim 平滑迁移到 Newton 物理引擎 本文是一份面向 warp.sim 用户的官方迁移指南对应仓库文档 docs/物理引擎机器人Wazuh 5.0 迁移指南从 CIS-CAT 与 OpenSCAP 平滑迁移到原生 SCA 模块Wazuh 5.0 迁移指南从 CIS CAT 与 OpenSCAP 平滑迁移到原生 SCA 模块 本指南面向在 Wazuh 4.x 中使用 CIS CAT网络安全IDS日志分析应用安全漏洞扫描SvelteKit 迁移指南从 Sapper 应用平滑迁移到 SvelteKitSvelteKit 迁移指南从 Sapper 应用平滑迁移到 SvelteKit SvelteKit 是 Sapper 的继任者二者在设计上共享大量元素但Web框架后端前端上一篇Dify工作流终极指南3步构建企业级应用零代码实现AI自动化下一篇Helm医疗健康合规医疗应用部署最佳实践创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

cuDF pylibcudf nvtext.replace 实战:GPU 加速的 replace_tokens 与 filter_tokens 文本替换 API 深度解析 2026/9/25 3:20:23

cuDF pylibcudf nvtext.replace 实战:GPU 加速的 replace_tokens 与 filter_tokens 文本替换 API 深度解析

数据分析数据工程机器学习 【免费下载链接】cudf cuDF - GPU DataFrame Library 项目地址: https://gitcode.com/gh_mirrors/cu/cudf 点击查看 免费下载 本文以 cuDF 官方 API 文档页 pylibcudf nvtext replace 为核心,深入解析 pylibcudf.nvtext.repl…

阅读更多 →
RocketRide currency_convert_explicit 节点完全指南:可复现、可审计的显式汇率货币转换 2026/9/25 3:20:23

RocketRide currency_convert_explicit 节点完全指南:可复现、可审计的显式汇率货币转换

【免费下载链接】rocketride-server High-performance AI pipeline engine with a C core and 50 Python-extensible nodes. Build, debug, and scale LLM workflows with 13 model providers, 8 vector databases, and agent orchestration, all from your IDE. Includes VS C…

阅读更多 →
KOReader K2pdfopt 重排调参完整指南:让扫描版 PDF 在墨水屏上读得下去 2026/9/25 3:20:23

KOReader K2pdfopt 重排调参完整指南:让扫描版 PDF 在墨水屏上读得下去

KOReader K2pdfopt 重排调参完整指南:让扫描版 PDF 在墨水屏上读得下去 【免费下载链接】koreader An ebook reader application supporting PDF, DjVu, EPUB, FB2 and many more formats, running on Cervantes, Kindle, Kobo, PocketBook and Android devices 项…

阅读更多 →
ESP32从Debug切到-O2就崩溃?嵌入式编译优化避坑指南 2026/9/25 3:20:23

ESP32从Debug切到-O2就崩溃?嵌入式编译优化避坑指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
如何获取滚轮停止后的选中值:wheel-picker-cj 滚动监听与回调机制详解 2026/9/25 3:20:23

如何获取滚轮停止后的选中值:wheel-picker-cj 滚动监听与回调机制详解

如何获取滚轮停止后的选中值:wheel-picker-cj 滚动监听与回调机制详解 【免费下载链接】wheel-picker-cj 滚轮选择UI组件 项目地址: https://gitcode.com/Cangjie-TPC/wheel-picker-cj wheel-picker-cj 是一个基于仓颉语言的滚轮选择 UI 组件库,提…

阅读更多 →
Oceanology_FluidNinja水体波纹交互条件 2026/9/25 3:20:06

Oceanology_FluidNinja水体波纹交互条件

插件:Oceanology_Plugin、WaterInteractionPlugin、FluidNinjaLive一、可以实现水体波纹交互的条件1.必须是蓝图 2.蓝图轴心也可产生交互,要不想要轴心交互需将模型体碰撞复杂度改为“将复杂碰撞改为简单碰撞” 3.必须是UE自带的几何体才会产生交互&…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉