当前位置: 首页 > news >正文

RecastDemo用法

这里写自定义目录标题

    • recastnavigation介绍
      • recastnavigation的内容
    • RecastDemo安装
    • RecastDemo介绍
    • 可配置参数
    • 合理的创建标题,有助于目录的生成
    • 如何改变文本的样式
    • 生成一个适合你的列表
    • 创建一个表格
      • 设定内容居中、居左、居右
      • SmartyPants
    • 创建一个自定义列表
    • 如何创建一个注脚
    • 注释也是必不可少的
    • KaTeX数学公式
    • 新的甘特图功能,丰富你的文章
    • UML 图表
    • FLowchart流程图
    • 导出与导入
      • 导出
      • 导入

recastnavigation介绍

对于3D MMO游戏来说,游戏后端需要实现寻路功能,recastnavigation是最为经典实用的一个。recastnavigation项目自带了RecastDemo,用图形化的界面帮助用户认识寻路网格(navmesh)的生成以及寻路的过程。

recastnavigation官网地址: https://github.com/recastnavigation/recastnavigation

recastnavigation的内容

NavMesh(导航网格寻路)= 邻接的凸多边形(Recast) + A*寻路(Detour)

  • Recast,用于生成邻接的凸多边形集合数据,使用参照示例:RecastDemo/Sample_SoloMesh.cpp
     - ① Solo Mesh,纯粹的邻接凸多边形集合。
     - ② Tile Mesh,基于Tile划分的N个邻接凸多边形集合。
     - ③ Temp Obstacles,支持动态障碍物的,基于tile划分的N个邻接的凸多边形集合。

  • Detour,基于邻接的凸多边形集合的A*寻路算法,示例参照:RecastDemo/NavMeshTesterTool.cpp

RecastDemo安装

RecastDemo是recastnavigation的一个演示项目,包含了recastnavigation的所有功能,官网对它的介绍为

You can find a comprehensive demo project in the RecastDemo folder. It’s a kitchen sink demo showcasing all the functionality of the library. If you are new to Recast & Detour, check out Sample_SoloMesh.cpp to get started with building navmeshes and NavMeshTesterTool.cpp to see how Detour can be used to find paths.

下载源码之后开始构建RecastDemo,按照官网的介绍,需要premake5和SDL2

premake5的下载地址: https://premake.github.io/download
SDL2的下载地址: https://github.com/libsdl-org/SDL/releases
windows下载的是SDL2-devel-2.26.3-VC.zip

然后把premake5.exe放入RecastDemo目录下,SDL2-devel-2.26.3-VC.zip解压放入RecastDemo\Contrib 目录下,并重命名为SDL

1、Navigate to the RecastDemo folder and run premake5 vs2022
2、Open Build/vs2022/recastnavigation.sln.
3、Set RecastDemo as the startup project, build, and run

然后在RecastDemo的bin目录下有了一个RecastDemo.exe,直接执行

RecastDemo介绍

源码结构:
   - DebugUtils 调试
   - Detour 利用导航网格做寻路操作。导航网格可以使Recast生成的,也可以是其他工具生成的。
   - DetourCrowd 提供群体寻路行为的功能
   - DetourTileCache Tile缓存
   - Recast 根据提供的模型生成用于寻路的导航网格
   - RecastDemo 展现Recast、Detour提供的功能的Demo
   - Test 测试

SoloMesh生成过程(RecastDemo/Sample_SoloMesh.cpp中handleBuild函数),导航网格生成步骤:
   - 场景模型体素化(Voxelization),或者叫光栅化(Rasterization)。
   - 过滤可行走表面(Walkable Suface)
   - 区域生成(Region)
   - 轮廓生成(Contour边缘)
   - 轮廓网格生成(Poly Mesh)
   - 三角形化(Triangulation)生成细节网格(Detailed Mesh)

可配置参数

类别可配置参数参数说明
体素块大小配置(Rasterization)Cell Size体素块底部边长
Cell Height体素块高度
Agent可走区域标识(Agent)Height配置可走高度
Radius可走半径
Max Climb最大爬坡高度
Max Slope最大爬坡角度
区域(Region)Min Region Size最小未连接的区域大小
Merged Region Size合并的区域大小
区域生成算法(互斥)(Partitioning)Watershed分水岭算法
Monotone单调算法
Layers分层算法
高度区间过滤(可选)(Tile Mesh)(Polygonization)Low Hanging Obstacles不可走变可走
Ledge Spans峭壁区间检查
Walkable Low Height Spans同列相邻距离检查
凸多边形相关参数(Temp Obstacles)(Polygonization)Max Edge Length限制最大轮廓边长
Max Edge Error允许最大边界误差(轮廓优化)
Ver Per Poly多边形最大顶点数
详细三角形生成参数(DetailMesh)Sample Distance采样等分距离
Max Sample Error最大采样距离允许误差

合理的创建标题,有助于目录的生成

直接输入1次#,并按下space后,将生成1级标题。
输入2次#,并按下space后,将生成2级标题。
以此类推,我们支持6级标题。有助于使用TOC语法后生成一个完美的目录。

如何改变文本的样式

强调文本 强调文本

加粗文本 加粗文本

标记文本

删除文本

引用文本

H2O is是液体。

210 运算结果是 1024.

生成一个适合你的列表

  • 项目
    • 项目
      • 项目
  1. 项目1
  2. 项目2
  3. 项目3
  • 计划任务
  • 完成任务

创建一个表格

一个简单的表格是这么创建的:

项目Value
电脑$1600
手机$12
导管$1

设定内容居中、居左、居右

使用:---------:居中
使用:----------居左
使用----------:居右

第一列第二列第三列
第一列文本居中第二列文本居右第三列文本居左

SmartyPants

SmartyPants将ASCII标点字符转换为“智能”印刷标点HTML实体。例如:

TYPEASCIIHTML
Single backticks'Isn't this fun?'‘Isn’t this fun?’
Quotes"Isn't this fun?"“Isn’t this fun?”
Dashes-- is en-dash, --- is em-dash– is en-dash, — is em-dash

创建一个自定义列表

Markdown
Text-to-HTML conversion tool
Authors
John
Luke

如何创建一个注脚

一个具有注脚的文本。1

注释也是必不可少的

Markdown将文本转换为 HTML

KaTeX数学公式

您可以使用渲染LaTeX数学表达式 KaTeX:

Gamma公式展示 Γ(n)=(n−1)!∀n∈N\Gamma(n) = (n-1)!\quad\forall n\in\mathbb NΓ(n)=(n1)!nN 是通过欧拉积分

Γ(z)=∫0∞tz−1e−tdt.\Gamma(z) = \int_0^\infty t^{z-1}e^{-t}dt\,. Γ(z)=0tz1etdt.

你可以找到更多关于的信息 LaTeX 数学表达式here.

新的甘特图功能,丰富你的文章

Mon 06Mon 13Mon 20已完成 进行中 计划一 计划二 现有任务Adding GANTT diagram functionality to mermaid
  • 关于 甘特图 语法,参考 这儿,

UML 图表

可以使用UML图表进行渲染。 Mermaid. 例如下面产生的一个序列图:

张三李四王五你好!李四, 最近怎么样?你最近怎么样,王五?我很好,谢谢!我很好,谢谢!李四想了很长时间, 文字太长了不适合放在一行.打量着王五...很好... 王五, 你怎么样?张三李四王五

这将产生一个流程图。:

链接
长方形
圆角长方形
菱形
  • 关于 Mermaid 语法,参考 这儿,

FLowchart流程图

我们依旧会支持flowchart的流程图:

Created with Raphaël 2.3.0开始我的操作确认?结束yesno
  • 关于 Flowchart流程图 语法,参考 这儿.

导出与导入

导出

如果你想尝试使用此编辑器, 你可以在此篇文章任意编辑。当你完成了一篇文章的写作, 在上方工具栏找到 文章导出 ,生成一个.md文件或者.html文件进行本地保存。

导入

如果你想加载一篇你写过的.md文件,在上方工具栏可以选择导入功能进行对应扩展名的文件导入,
继续你的创作。


  1. 注脚的解释 ↩︎

http://www.lryc.cn/news/26079.html

相关文章:

  • IIC总线式驱动开发(mpu6050)(二)
  • 盘点一下那些远程办公的神仙公司
  • Spring Cloud Alibaba全家桶(四)——微服务调用组件Feign
  • 安装pytorch
  • 自动化测试 Appium之Python运行环境搭建 Part2
  • LeetCode 2 - 两数相加
  • 用Python实现九九乘法表的几种方式,最简单只需一行代码
  • 入职外包三个月,我提桶跑路了
  • 企业邮箱对企业有哪些好处以及便捷性
  • ConvNeXt V2实战:使用ConvNeXt V2实现图像分类任务(一)
  • 3.2 报错整理
  • 从0开始学python -46
  • JavaScript事件委托机制详解
  • 【项目实战】MySQL中union和union all的相同点与不同点
  • ChatGPT最牛应用,让它帮你更新网站新闻吧!
  • 乌班图安装kvm并配置网络
  • 蓝库云|ERP系统在企业数字化转型中最常用的八大功能
  • Pytorch学习笔记#1:拟合函数/梯度下降
  • 挑战图像处理100问(24)——伽玛校正
  • 高级信息系统项目管理师(高项)软考论文评分标准(附历年高项论文题目汇总)
  • MySQL实战记录篇2
  • C++实现AVL树
  • 高并发语言erlang编程初步
  • springboot 问题记录
  • 【PAT甲级题解记录】1034 Head of a Gang (30 分)
  • Python搭建一个steam钓鱼网站,只要免费领游戏,一钓一个准
  • maven 私服nexus安装与使用
  • 详解数据结构中的顺序表的手动实现,顺序表功能接口【数据结构】
  • 【二】kubernetes操作
  • 如何在 C++ 中调用 python 解析器来执行 python 代码(五)?