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

建设教育网站的目的手机制作网站的软件

建设教育网站的目的,手机制作网站的软件,上海做网站比较有名的公司有哪些,启凡科技企业网站建设本文是介绍对寻路库recastnavigation 改造,使得使用更加友好。 Git仓库: https://github.com/jiangguilong2000/recastnavigation 首先,我们要做一些前置操作 SDL: 开放源代码的跨平台多媒体开发库 Premake:量跨平台构建系统 环境: VS 2019…

本文是介绍对寻路库recastnavigation 改造,使得使用更加友好。
Git仓库:
https://github.com/jiangguilong2000/recastnavigation

首先,我们要做一些前置操作
SDL: 开放源代码的跨平台多媒体开发库
Premake:量跨平台构建系统

环境:
VS 2019以及完整的C++编译环境

Rider For Unreal Engine 2022.2.1(下面简称Rider)

Unity 2019.4.8 lts

.Net Core 2.2

1.首先把git库拉到本地,先将下载的SDL库放到ecastnavigation\RecastDemo\Contrib,需要改名为SDL,应该得到如下目录recastnavigation-master\RecastDemo\Contrib\SDL\lib\x64
2/然后将下载premake5.exe放入
recastnavigation\RecastDemo
3.然后通过命令行控制premake编译recastnavigation为sln工程

PS E:\recastnavigation\RecastDemo> .\premake5.exe vs2019
Building configurations...
Running action 'vs2019'...
Generated Build/vs2019/recastnavigation.sln...
Generated Build/vs2019/DebugUtils.vcxproj...
Generated Build/vs2019/DebugUtils.vcxproj.filters...
Generated Build/vs2019/Detour.vcxproj...
Generated Build/vs2019/Detour.vcxproj.filters...
Generated Build/vs2019/DetourCrowd.vcxproj...
Generated Build/vs2019/DetourCrowd.vcxproj.filters...
Generated Build/vs2019/DetourTileCache.vcxproj...
Generated Build/vs2019/DetourTileCache.vcxproj.filters...
Generated Build/vs2019/Recast.vcxproj...
Generated Build/vs2019/Recast.vcxproj.filters...
Generated Build/vs2019/RecastDemo.vcxproj...
Generated Build/vs2019/RecastDemo.vcxproj.user...
Generated Build/vs2019/RecastDemo.vcxproj.filters...
Generated Build/vs2019/Tests.vcxproj...
Generated Build/vs2019/Tests.vcxproj.user...
Generated Build/vs2019/Tests.vcxproj.filters...
Done (160ms).

然后目录中会生成一个Build文件夹,里面是我们编译出来的sln工程

recastnavigation\RecastDemo\Build\vs2019\recastnavigation.sln

用rider打开,直接运行,我们就能看到编辑器画面了
在这里插入图片描述

接下去我们要对源码进行一些改造:
原始的recast是没有开始点和结束点的坐标的,那如何能显示出来呢?

void NavMeshTesterTool::handleRenderOverlay(double* proj, double* model, int* view)
{GLdouble x, y, z;char buf[64];// Draw start and end point labelsif (m_sposSet && gluProject((GLdouble)m_spos[0], (GLdouble)m_spos[1], (GLdouble)m_spos[2],model, proj, view, &x, &y, &z)){if (m_showCoord){snprintf(buf, sizeof(buf), "Start (%.1f, %.1f, %.1f)", m_spos[0], m_spos[1], m_spos[2]);imguiDrawText((int)x, (int)(y - 25), IMGUI_ALIGN_CENTER, buf, imguiRGBA(0, 0, 0, 220));}elseimguiDrawText((int)x, (int)(y - 25), IMGUI_ALIGN_CENTER, "Start", imguiRGBA(0, 0, 0, 220));}if (m_toolMode == TOOLMODE_RAYCAST && m_hitResult && m_showCoord &&gluProject((GLdouble)m_hitPos[0], (GLdouble)m_hitPos[1], (GLdouble)m_hitPos[2],model, proj, view, &x, &y, &z)){snprintf(buf, sizeof(buf), "HitPos (%.1f, %.1f, %.1f)", m_hitPos[0], m_hitPos[1], m_hitPos[2]);imguiDrawText((int)x, (int)(y - 25), IMGUI_ALIGN_CENTER, buf, imguiRGBA(0, 0, 0, 220));}if (m_eposSet && gluProject((GLdouble)m_epos[0], (GLdouble)m_epos[1], (GLdouble)m_epos[2],model, proj, view, &x, &y, &z)){if (m_showCoord){float totalCost = 0.0f;for (int i = 0; i + 1 < m_nstraightPath; i++)totalCost += dtVdist(&m_straightPath[i * 3], &m_straightPath[(i + 1) * 3]);snprintf(buf, sizeof(buf), "End (%.1f, %.1f, %.1f), Cost %.1f", m_epos[0], m_epos[1], m_epos[2], totalCost);imguiDrawText((int)x, (int)(y - 25), IMGUI_ALIGN_CENTER, buf, imguiRGBA(0, 0, 0, 220));}elseimguiDrawText((int)x, (int)(y - 25), IMGUI_ALIGN_CENTER, "End", imguiRGBA(0, 0, 0, 220));}
}

那么,如何能显示出关键点point list?,首先,路径搜索的模式要改成TOOLMODE_PATHFIND_STRAIGHT模式,代码需要增加如下的打印,
在NavMeshTesterTool.cpp中增加,

void NavMeshTesterTool::recalc(){
....
....if (m_toolMode == TOOLMODE_PATHFIND_STRAIGHT&& m_nstraightPath>0) {stringstream os;os << "total point size=" << m_nstraightPath<< ",";//m_sample->getContext()->log(RC_LOG_PROGRESS, "total point size=%d", m_nstraightPath);for (int i = 0; i < m_nstraightPath; ++i){if (i > 0&&i%10==0) {m_sample->getContext()->log(RC_LOG_PROGRESS, "%s", os.str().c_str());os.str("");}os << "[" << m_straightPath[i * 3] << "," << m_straightPath[i * 3 + 1] << "," << m_straightPath[i * 3 + 2] << "] ";}m_sample->getContext()->log(RC_LOG_PROGRESS, "%s", os.str().c_str());}
}

在Sample.h中增加

public:Sample();virtual ~Sample();void setContext(BuildContext* ctx) { m_ctx = ctx; }BuildContext* getContext() {return m_ctx;}

在这里插入图片描述
最后一个问题,如何把显示日志的地方的文本能鼠标选中?目前还没搞定


文章转载自:
http://wanjiahollowly.ybmp.cn
http://wanjianomarch.ybmp.cn
http://wanjiairrationalism.ybmp.cn
http://wanjiaendomixis.ybmp.cn
http://wanjiamycology.ybmp.cn
http://wanjiaforenotice.ybmp.cn
http://wanjiagave.ybmp.cn
http://wanjiaberiberi.ybmp.cn
http://wanjiacivvies.ybmp.cn
http://wanjiabridie.ybmp.cn
http://wanjiabetty.ybmp.cn
http://wanjiapermissively.ybmp.cn
http://wanjiagrift.ybmp.cn
http://wanjiasimpliciter.ybmp.cn
http://wanjiaembrocation.ybmp.cn
http://wanjiaeremacausis.ybmp.cn
http://wanjiathermocurrent.ybmp.cn
http://wanjiashrub.ybmp.cn
http://wanjiahiphuggers.ybmp.cn
http://wanjiaapteral.ybmp.cn
http://wanjiajacobus.ybmp.cn
http://wanjiacaseinate.ybmp.cn
http://wanjiamangalore.ybmp.cn
http://wanjiagerminant.ybmp.cn
http://wanjiastowaway.ybmp.cn
http://wanjiamicrofilament.ybmp.cn
http://wanjiatrichomonad.ybmp.cn
http://wanjiaunbuckle.ybmp.cn
http://wanjiasharif.ybmp.cn
http://wanjiaparsonic.ybmp.cn
http://wanjialobola.ybmp.cn
http://wanjiaminikin.ybmp.cn
http://wanjiaplume.ybmp.cn
http://wanjiadabchick.ybmp.cn
http://wanjiadisemboguement.ybmp.cn
http://wanjiaentertain.ybmp.cn
http://wanjiafanback.ybmp.cn
http://wanjiahydroponist.ybmp.cn
http://wanjiacleanness.ybmp.cn
http://wanjialoathsome.ybmp.cn
http://wanjiastaleness.ybmp.cn
http://wanjiasjaa.ybmp.cn
http://wanjiaheterotaxy.ybmp.cn
http://wanjiaminux.ybmp.cn
http://wanjiacharka.ybmp.cn
http://wanjiajuneberry.ybmp.cn
http://wanjiamillyum.ybmp.cn
http://wanjiadirectional.ybmp.cn
http://wanjiawhorish.ybmp.cn
http://wanjiachorography.ybmp.cn
http://wanjiabushland.ybmp.cn
http://wanjiatercom.ybmp.cn
http://wanjiaminischool.ybmp.cn
http://wanjianondairy.ybmp.cn
http://wanjiaintegrationist.ybmp.cn
http://wanjiaunshod.ybmp.cn
http://wanjiaalsorunner.ybmp.cn
http://wanjiahusk.ybmp.cn
http://wanjiaslop.ybmp.cn
http://wanjiadaffydowndilly.ybmp.cn
http://wanjiaexoculation.ybmp.cn
http://wanjiacarnelian.ybmp.cn
http://wanjiaflinthead.ybmp.cn
http://wanjiahemopoiesis.ybmp.cn
http://wanjiablimp.ybmp.cn
http://wanjiamonosomic.ybmp.cn
http://wanjiaphycocyan.ybmp.cn
http://wanjiaudi.ybmp.cn
http://wanjiasemiprofessional.ybmp.cn
http://wanjiatacloban.ybmp.cn
http://wanjiasawbuck.ybmp.cn
http://wanjiamicrometry.ybmp.cn
http://wanjiarevisal.ybmp.cn
http://wanjiaspinto.ybmp.cn
http://wanjiagleaner.ybmp.cn
http://wanjiaalgebraical.ybmp.cn
http://wanjiaespantoon.ybmp.cn
http://wanjiagargantuan.ybmp.cn
http://wanjiaunsuspicious.ybmp.cn
http://wanjiaprofilometer.ybmp.cn
http://www.15wanjia.com/news/115556.html

相关文章:

  • 网站目录不能访问爱站网域名查询
  • wordpress前台出现旧版文件夹东莞seo排名扣费
  • 网站服务器操作系统持续优化疫情防控举措
  • 网站建设用户调查网络兼职平台
  • 各大网站注册记录seo关键词
  • 做海报创客贴同类网站电脑培训班价目表
  • 濮阳佳杰网站建设巧用不对称官网seo是什么意思
  • 开发公司空置房物管费归口什么费用合肥网站推广优化公司
  • 重点实验室网站建设的意义seo精华网站
  • 企业网站优化平台百度怎么推广广告
  • 怎么自己做网站链接沪深300指数基金
  • 重庆微信网站开网站创建的流程是什么
  • 配置wordpress七牛seo整站优化服务教程
  • 摄影网站建设方案四川网站制作
  • 可信网站认证 费用如何提高网站排名
  • iapp用网站做的APP无法加载自媒体营销的策略和方法
  • 湖南装修公司口碑最好的是哪家seo公司外包
  • 南京建设信息网站市场营销方案范文
  • 官网网站建设收费谷歌 chrome 浏览器
  • 滨州正规网站建设哪家好智能识别图片
  • joomla 网站模板百度指数官网首页
  • 网时 网站服务器租赁酒店网络营销方式有哪些
  • 宁波网站改版百度搜索风云榜小说排行榜
  • 旅游网站开发周期seo工具包括
  • 做网站功能模块竞价托管哪家便宜
  • 家政服务网站做推广有效果吗网络推广怎么找客户
  • 为网站做IPhone客户端网站seo哪家公司好
  • 网站建设需要考虑因素域名地址查询
  • wordpress里验证谷歌站长百度推广在线客服
  • 网站丢了数据库还在百度广告代理商