倾斜模型导入Carla
导入道路和红绿灯
0.将RoadRunner插件.zip
解压到carla\Unreal\CarlaUE4\Plugins
,运行make launch
重启编辑器。
1.在carla\Unreal\CarlaUE4\Content\roadrunner
中新建static
(放资产)和map
(放地图);
在编辑器中static目录中右键导入baidutest2test.fbx。
导入选项:
勾选 纹理中反转法线贴图
。
2.将light.umap
拷贝到carla\Unreal\CarlaUE4\Content\roadrunner\map
路径下。
3.在虚幻编辑器中点“文件”菜单中的“关卡另存为”(方便管理,把地图和红绿灯放一块),选择carla\Unreal\CarlaUE4\Content\roadrunner\map
4.将light.umap
引入到baidutest2test.umap
(虚幻编辑器中点“窗口”菜单中的“关卡”,将carla\Unreal\CarlaUE4\Content\roadrunner\map\light
拖入到关卡窗口中->右键light,修改流送方式->固定加载)。
5.将carla\Unreal\CarlaUE4\Content\Carla\Maps\OpenDrive\baidutest2test.xodr
拷贝到carla\Unreal\CarlaUE4\Content\roadrunner\map\OpenDrive\baidutest2test.xodr
倾斜模型导入Carla
1.下载并解压 Cesium for Unreal 插件 到CarlaUE引擎的plugins/Marketplace文件夹下:
2.如果CesiumForUnreal未启用,则在CarlaUE中添加插件
添加完成后重启引擎。
3.添加插件对象到场景中,配置参数和模型路径:
CesiumGeoreference
设置为:28.235238, 112.877178, 0
Source
设置为File:///D:/model1/model1/tileset.json
。
注意
从链接 中的map
文件夹内下载中电软件园_cesium_model.zip
并解压。这里测试用的是本地路径,也可以用静态资源服务。
去掉Keep World Origin Near Camear
勾选。
(4.将Trees.umap中放到本地文件夹下,菜单中点击窗口->关卡
,从内容浏览器
中将Trees.umap
拖进导弹出界面,然后右键Trees
关卡,选择修改流送方法->固定加载
。)
(5.在世界大纲视图
中选中Cesium3DTileset
,将Cesium
中的Mobility
修改为可移动
。)
(6.添加光源DirectionalLight
、ExponentialHeightFog
、SkyAtmosphere
、SkyLight
。)
7.模型在CarlaUE中的场景效果
注意
在编辑器中如果运行时出现倾斜摄影模型部分不加载,则使用独立进程运行可全部加载。
倾斜摄影
由倾斜摄影osgb转换成3Dtiles格式(cesium可直接使用)。
导入中电软件园场景
1.从源代码编译Carla;
2.导入插件:roadrunner插件(包括RoadRunnerCarlaContent、RoadRunnerCarlaDatasmith、RoadRunnerCarlaIntegration、RoadRunnerDatasmith、RoadRunnerImporter、RoadRunnerMaterials、RoadRunnerRuntime)、Cesium插件;
3.导入fbx地图(导入选项都是默认),默认生成的地图是Content/Carla/Maps/roadbuild
;
4.根据倾斜模型导入Carla的步骤添加除了建筑以外的其他资产;
5.导入自己设计的关卡:虚幻编辑器->窗口->关卡,从内容浏览器
中将langan.umap
、tafficsign.umap
、Trees1.umap
等关卡拖到弹出的关卡
页面,并右键每个关卡->修改流送方法->固定加载
;
打包地图
1.参考 RoadRunner Scenario+CARLA联合仿真 进行地图打包。
2.将打包后场景的WindowsNoEditor\CarlaUE4\Content\Carla\Maps\OpenDrive\baidutest2test.xodr
文件拷贝到WindowsNoEditor\CarlaUE4\Content\RoadRunner\map\OpenDrive\baidutest2test.xodr
,否则调用client.get_trafficmanager(args.tm_port)
会出现failed to generate map
的错误。
3.报警告WARNING: requested 30 vehicles, but could only find 0 spawn points
,重新运行场景即可。
相对路径加载资产
1.在“世界大纲视图”中搜索FbxScene_baidutest2test
,编辑编辑
2.事件开始运行
3.右键加一个“根目录”
4.右键“附加”(字符串-附件),由2个输入变成3个。其中 A 为: file:///
,B 从根目录连接来,C 为: ccsp/tileset.json
cesium:
5.在左边“我的蓝图”中新建一个变量 Cesium3DTileset(cesium),
右边“细节”中的“变量类型”改变为 Cesium3Dtiles
6.右键 获取 Cesium 3DTileset (组件 设置) 右边修改“默认值”(浏览)
7.连接到 SET url
(设置 Url) Ceisium 3DTileset
问题:不可编辑类默认对象中的此值。
解决:将 Cesium3DTileset 拖动到不可编辑的地方(保存不了)。
报错:图表被连接到外部映射中的对象。
原因:蓝图中引用了外部的Cesium3DTileset。
选中交通灯,“细节”中的 BoxTrigger、TotalVolume起作用,调整缩放xy。
调出影响范围的函数
RoutePlanner证明路口和路是断开的
源代码分析
加载的逻辑位于carla\Unreal\CarlaUE4\Plugins\Marketplace\CesiumForUnreal\Source\CesiumRuntime\Private\Cesium3DTileset.cpp
中的:
this->_pTileset = MakeUnique<Cesium3DTilesSelection::Tileset>(
externals,
TCHAR_TO_UTF8(*this->Url),
options);
MakeUnique 使用给定的参数分配一个类型 T 的新对象并将其作为 TUniquePtr 返回。
TCHAR_TO_UTF8(const TCHAR*): unicode到utf8的转换