游戏开发【免费下载链接】recastnavigationIndustry-standard navigation-mesh toolset for games项目地址https://gitcode.com/gh_mirrors/re/recastnavigation点击查看免费下载本文以 Docs/Readme.md 为核心系统讲解 Recast Navigation 项目 API 文档的组织方式与 Doxygen 构建流程。文章会结合仓库根目录的 Doxyfile、Docs/DoxygenLayout.xml、Docs/header.html、Docs/footer.html 以及 Docs/Extern/Recast_api.txt 等真实配置与文档源文件帮助你在自己的游戏引擎或工具链中复现这套低侵入式 API 文档方案并正确构建出可浏览的 HTML 文档。一、文档目录的整体定位Recast Navigation 的Docs目录是文档工作区它既存放文档的源文件Markdown 页面、Doxygen 注释载体、自定义格式文件也是Doxygen 输出的落盘位置。也就是说这个目录一进一出——Docs下的源素材喂给 doxygendoxygen 生成的 HTML 又写回Docs/html。从 Doxyfile 的配置可以确认这一分工OUTPUT_DIRECTORY Docs所有输出HTML 等都写到Docs目录下INPUT README.md Docs . DetourCrowd DetourTileCache Recast Docs/Externdoxygen 的输入不止Docs还包括仓库根目录的README.md、三个核心模块目录以及Docs/ExternIMAGE_PATH Docs/Images文档中通过\image命令引用的图片统一从Docs/Images加载。目录布局速览按 Docs/Readme.md 的说明Docs目录由四部分构成路径职责Docs根高层级内容与格式文件例如 CSS、header、footer、DoxygenLayout.xmlDocs/Extern位于源码文件之外的 API 文档当 API 文档过大或过于复杂不适合放进头文件/源文件时就放到这里Docs/Images与文档相关的图片如项目 Logologo.png与演示截图screenshot.pngDocs/htmlDoxygen 构建的目标目录在构建过程中生成当前仓库中不存在属于产物值得注意的是Docs/html并不是随仓库提交的静态目录而是每次运行 doxygen 后重新生成的结果。这一点从 Doxyfile 中HTML_OUTPUT html与OUTPUT_DIRECTORY Docs的组合可以看出相对路径html会被拼接到输出目录之前最终产物落在Docs/html。二、API 文档的编写规范如何做到最小侵入Docs/Readme.md 提出了 API 文档的一条核心要求对头文件声明的侵入影响必须降到最低。也就是说头文件里的声明通常只写摘要summary文档详细文档放在别处。这一约定让库的使用者比如集成 Recast 到自家引擎的团队能一眼扫清接口清单而不会被大段注释淹没。详细文档的具体落位遵循以下三条规则元素定义在 cpp 文件中详细文档放在对应的源码文件里跟随定义位置元素没有关联的 cpp 文件详细文档放在头文件末尾头文件末尾的详细文档堆积过多内容迁移到Extern目录下的独立文件。Docs/Extern/Recast_api.txt 就是第三条规则的活样本文件开头明确写着This file contains the detail API documentation for elements defined in the Recast.h.即Recast.h中声明的 API 其细节文档集中存放在这个外部 txt 文件中头文件本身保持精简。该文件还给出了 Recast 的典型构建流水线rcHeightfield→rcCompactHeightfield→rcContourSet→rcPolyMesh→rcPolyMeshDetail→ Detour tile并详细注释了rcConfig各参数cs、ch、walkableSlopeAngle、borderSize、tileSize等的取值建议是文档独立于声明这一策略的绝佳示例。而 Doxyfile 中的FILE_PATTERNS *.cpp *.h *_c.txt *_api.txt *.md恰好把这种.txt文档文件纳入了解析范围*_api.txt模式同时RECURSIVE YES保证子目录也会被递归扫描。这意味着只要遵守命名约定Extern下的 API 文档不需要额外配置即可被 doxygen 收录。三、构建文档两条命令走完全流程Docs/Readme.md 给出的构建步骤非常简洁完整复刻如下安装合适版本的 Doxygen。当前仓库要求的具体版本号写在 Doxyfile 第一行——# Doxyfile 1.10.0即 Doxygen 1.10.0。在项目根目录运行 doxygen无需任何参数因为 Doxyfile 就在根目录doxygen 会自动读取它。生成的 HTML 文件位于Docs/html目录。对应到命令行就是doxygen -v # 先确认安装的 Doxygen 版本与 Doxyfile 要求的 1.10.0 一致 doxygen # 在仓库根目录执行读取 Doxyfile 并生成文档构建完成后打开Docs/html/index.html即可浏览文档首页。配置自检与排错命令doxygen 还提供了几个官方自检命令适合在文档生成结果不对时使用doxygen -x # 将当前 Doxyfile 与官方模板配置对比展示哪些项被修改过 doxygen -x_noenv # 同上但不展开环境变量和 CMake 替换变量 doxygen -w html new_header.html new_footer.html new_stylesheet.css # 导出 doxygen 默认的 header/footer/样式表便于在此基础上定制 doxygen -l # 生成默认的 DoxygenLayout.xml 布局文件若不指定文件名则生成 DoxygenLayout.xml其中doxygen -w正是 Docs/header.html 与 Docs/footer.html 这类自定义模板的产出路径它们由官方默认模板导出后手工修改而来两个文件的头部注释都保留着 HTML header/footer for doxygen 1.8.6 的字样说明其最初基于 1.8.6 模板导出。四、Doxyfile 关键配置解读这份文档是怎么拼出来的Doxyfile 共约 2800 行本节只挑与文档外观、内容收录、页面组织直接相关的关键项展开全部有仓库文件佐证。4.1 项目身份信息配置项当前值作用PROJECT_NAMERecast Navigation显示在生成页面的标题中PROJECT_BRIEFNavigation-mesh Toolset for Games页面顶部的项目一句话简介PROJECT_LOGODocs/Images/logo.png文档 Logo最大高度 55px、最大宽度 200px4.2 输入与排除范围INPUT决定了 doxygen 扫描哪些目录INPUT README.md \ Docs \ . \ DetourCrowd \ DetourTileCache \ Recast \ Docs/Extern即根 README、整个Docs、当前目录根目录、三个核心库模块目录以及Extern外部文档目录。USE_MDFILE_AS_MAINPAGE ./README.md会把根目录 README.md 的内容直接作为文档首页index.html实现GitHub 简介页 文档主页的复用。EXCLUDE则显式排除了不需要进入文档的内容EXCLUDE Doxyfile \ License.txt \ Docs/Readme.md \ RecastDemo/Contrib \ RecastDemo/Build \ RecastDemo/Bin \ Tests \ Docs/doxygen-awesome-css注意两点一是Docs/Readme.md本身被排除它只指导文档的构建与维护不进入最终 API 文档二是第三方代码RecastDemo/Contrib、构建产物Build、Bin与测试目录Tests都被隔离在文档之外。另有EXCLUDE_PATTERNS CMakeLists.txt用于排除所有构建脚本。4.3 内容提取策略EXTRACT_ALL YES即使没有文档注释也假设所有实体都有文档并收录避免海量未文档化警告EXTRACT_STATIC YES静态文件成员也纳入文档WARNINGS YES且WARN_FORMAT $file:$line: $text写文档期间开启警告有助于及时发现遗漏QUIET YES构建时控制台保持安静只在出错时输出信息。4.4 HTML 输出与外观配置项当前值说明GENERATE_HTMLYES生成 HTML 输出GENERATE_LATEX NO本项目只出 HTMLHTML_OUTPUThtml结合OUTPUT_DIRECTORY Docs最终输出到Docs/htmlHTML_FOOTERDocs/footer.html使用自定义页脚模板内含 Project Home / Licence (ZLib) / Copyright 2009 Mikko Mononen 等链接区HTML_HEADER空未显式指定使用 doxygen 默认头部模板Docs/header.html保留在目录中可供参考或启用HTML_EXTRA_STYLESHEETDocs/doxygen-awesome-css/doxygen-awesome.cssdoxygen-awesome-sidebar-only.css叠加 doxygen-awesome 主题提供侧边栏风格LAYOUT_FILEDocs/DoxygenLayout.xml自定义页面布局GENERATE_TREEVIEWYES生成可折叠的树状导航侧栏HTML_COLORSTYLEAUTO_LIGHT跟随系统偏好自动切换亮/暗主题SEARCHENGINEYES页面内嵌 JavaScript 搜索框HTML_EXTRA_FILESLicense.txt将许可证文件复制进输出目录TIMESTAMPYES每个生成页面标注生成时间方便比对多次构建HAVE_DOT NO说明当前构建不依赖 Graphviz 绘制继承图CLASS_GRAPH YES在无 dot 的情况下会退回 doxygen 内置的图生成器因此普通类图仍然可用但不产生调用图CALL_GRAPH NO。五、页面布局与导航的定制DoxygenLayout.xmlDocs/DoxygenLayout.xml 是 doxygen 1.8.6 导出的默认布局模板控制每个页面的内容区块顺序与可见性。该项目在其基础上做了几处关键取舍导航 tab主页mainpage、页面pages、模块modules、类classes含类列表/类索引/继承层次/类成员、文件files含文件列表/全局符号、示例examples全部可见命名空间namespacestab 被整体隐藏visibleno因为 Recast 是纯 C 风格 API命名空间维度没有展示价值类页面保留 brief description、includes、继承图$CLASS_GRAPH、协作图$COLLABORATION_GRAPH与全部成员分类区块文件页面显示 include 图与被谁包含图$INCLUDE_GRAPH、$INCLUDED_BY_GRAPH并展示源码链接sourcelink。修改布局时注意doxygen 会自动解析运行目录下的Doxyfile同级DoxygenLayout.xml而 Doxyfile 里LAYOUT_FILE Docs/DoxygenLayout.xml是显式指定两者指向同一文件。六、构建产物与验证方式构建完成后建议按以下清单验证文档是否健康检查Docs/html/index.html是否存在确认输出目录正确对应 Docs/Readme.md 中 The generated html files will be located in the /Docs/html directory确认首页内容USE_MDFILE_AS_MAINPAGE ./README.md生效时首页应呈现根 README 的内容抽查类/文件页面例如打开Detour模块页面应能看到dtNavMesh、dtNavMeshQuery等核心类的声明、成员与源码链接检查搜索功能SEARCHENGINE YES时页面右上角应有搜索框观察控制台输出QUIET YES下正常构建几乎没有输出若出现WARNINGS信息可结合WARN_FORMAT的$file:$line定位到具体注释位置修复。七、与其他文档的配合Docs目录下的其余 Markdown 页面与本文档构建说明共同构成项目的文档体系构建时会被INPUT Docs一并收录Docs/_1_Introduction.md导航网格原理与 Recast 体素化构建流程总览含Sample_SoloMesh::handleBuild的完整调用链Docs/_2_BuildingAndIntegrating.mdRecastDemo 的 Premake/CMake 构建、预处理器宏RC_DISABLE_ASSERTS、DT_POLYREF64、DT_VIRTUAL_QUERYFILTER、源码集成方式与vcpkg install recastDocs/_3_FAQ.md 与 Docs/_99_Roadmap.md常见问题与开发路线图如稳定 C API 目前仍在路线图上。若你的目标是给自家引擎集成 Recast 并维护配套文档推荐的最小工作流是克隆仓库 → 安装 Doxygen 1.10.0 → 根目录执行doxygen→ 在Docs/html下浏览/部署然后根据 Docs/Readme.md 的三条落位规则持续补充 API 注释让声明保持精简、细节文档各归其位。赞分享游戏开发【免费下载链接】recastnavigationIndustry-standard navigation-mesh toolset for games项目地址https://gitcode.com/gh_mirrors/re/recastnavigation点击查看免费下载相关推荐libcudf C 文档编写指南Doxygen 注释规范与 API 文档构建实践cuDFlibcudf C 文档编写指南Doxygen 注释规范与 API 文档构建实践cuDF cuDF 是 NVIDIA 开源的 GPU 加速 DataF数据分析数据工程机器学习libcudf C 文档编写指南基于 Doxygen 的源码注释规范与文档构建实践libcudf C 文档编写指南基于 Doxygen 的源码注释规范与文档构建实践 本文是 cuDFGPU DataFrame LibraryC数据分析数据工程机器学习HuggingFace Hub 文档构建与编写规范指南HuggingFace Hub 文档构建与编写规范指南 概述 HuggingFace Hub 作为机器学习模型、数据集和演示应用的核心平台其文档质量直接影响开开发工具CLI机器学习创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考