Unity EasyRoads3D插件使用
一、插件介绍

描述
Unity 中的道路基础设施和参数化建模
在 Unity 中使用内置的可自定义动态交叉预制件和基于您自己导入的模型的自定义交叉预制件,直接创建独特的道路网络。
添加额外辅助对象,让你的场景栩栩如生:桥梁、安全护栏、栅栏、墙壁、电线、树林或其它任何沿途的几何图形。
EurityRoads3D v3工具集也可用于创建其他基础设施,例如铁路和河床雕琢在地形上的河流。
功能:
- 在风景优美的环境和复杂的城市道路网中制作蜿蜒的道路或泥泞小路。
- 内置可定制的交叉路口
- 自定义交叉路口 - 导入自己的交叉路口模型
- 辅助物体:桥梁、护栏、栅栏、围墙、电线等。
- 其他基础设施(例如,铁路和河流)的自定义形状
- 地形符合道路形状,移动草木/树木,在地形贴图中可选道路形状烘焙
- 道路数据导入,用于真实世界的可视化 (OSM/KML)
- 脚本化 API:在 Unity 编辑器中和运行时均通过代码进行道路创建
访问我们的网站以获取完整的功能列表。
演示项目包含教程和附加资源,可以在此下载,免费提供给带有 EasyRoads3D Pro 许可证者。
网站
CSDN积分下载
二、下载后导入插件

三、使用EasyRoads3D插件之前必须要做的初始化操作
一、在使用之前最好需要在场景中新建一个地形(经本人测试不新建地形的话也可以创建出道路物体)
1、在Hierarchy界面中鼠标右击,然后点击3D Object——Terrain,创建新的道路物体。


二、创建Road Network物体
1、在Hierarchy界面中鼠标右击,然后点击3D Object——EasyRoads3D——New Road NetWork,创建新的道路网Road Network物体,然后在弹出的选择界面中都选择“Yes”对新创建的道路网Road Network物体进行初始化操作。




三、大概介绍下新创建的道路网Road Network物体
1、道路网Road Network物体上面的ER Modular Base脚本一共有七个大按钮,从左到右分别是:回到管理器,道路管理器,交叉路管理器,地形适配器,设置,路边管理器,帮助。

四、EasyRoads3D插件的使用
一、建立道路
1、点击Road Network物体上面的ER Modular Base脚本中的第二个按钮,道路管理器。 设置好道路相关的参数(Type、Name、Layer等等这些)后点击 Add New Object 进入道路编辑状态,此时会在Hierarchy中生成一段道路元素。根据提示,在Scene窗口中 按住 Shift + 鼠标左键连续点击,生成一段路线。 一旦生成了道路,Hierarchy窗口的下方就会多出很多设置项,这些就是当前道路的设置选项。



二、建立路边栏
1、在建立路边拦之前,我们首先需要设置好路边栏相关的参数。点击路边管理器,进入的就是当前道路边栏相关的设置,这里有类别按钮分别是障碍,栅栏,墙,桥梁,道具,地形,雾。

2、我们可以点击Create New Side Object按钮创建出一个新的路边栏物体,这里我觉得也可以叫做路边栏预制体。后续就是靠这个路边栏预制体在你的场景中不断复制粘贴出更多跟路边栏预制体一样参数的游戏物体出来。

3、这里可以对路边栏预制体设置具体参数,可以对路边栏预制体添加新的模型或设置材质参数什么的。
1、这里我是把一棵树作为路边栏预制体的源物体,也就是需要创建出来的路边栏预制体其实就一棵树。

2、然后我设置路边栏预制体也就是这棵树沿道路的排列方式,我把Position设置成Relative to the left side of the road,意思就是把路边栏预制体也就是这棵树相对于路的左边进行排列。

---------------------------------------------------------PS:小技巧Begin------------------------------------------------------------------
PS:关于这个路边栏物体(也可以叫做路边拦预制体)其实有很多种类型,分别是障碍,栅栏,墙,桥梁,道具,地形,雾。
如果你想要知道创建出其他物体的设置方法可以看看这个资源包(EasyRoads3D Demo Project)。
你也可以在这里进行下载,在这里下载的资源用Unity2017打开并导入,因为这个版本下的资源包才能正常运行(CSDN积分下载)。
然后你可以把这个EasyRoads3D Demo Project这个资源包中的内容根据需要导入到你的项目中,然后依葫芦画瓢,根据对应需要的物体进行对应的设置就可以了。

示例:
1、就比如这几颗树,先把这几颗树的父物体选中,然后会出现对应的路边拦Side Object类型是Palm Trees Right。

2、然后需要在Selected SideObject选项中找到上述名为Palm Trees Right的选项,选中之后,就会出现名为Palm Trees Right的上述树路边拦预制体相关参数。然后你就可以把相关使用到的预支体导入到你的项目中,然后参数的设置就和下面的一样。

--------------------------------------------------------PS:小技巧End------------------------------------------------------------------
4、建立路边栏
1、上述的路边栏物体(也可以叫做路边拦预制体)创建并设置好后,点击Road Network物体,然后点击ER Modular Base脚本中的第一个回到管理器选项,然后点击Slde Objects按钮,然后点击Barriers按钮,最后点击勾选Side Object 26后效果就出来了,在道路的左侧就出现了我们创建出来的树。

2、我们也可以对我们创建出来的树进行设置,比如设置树与树之间的间距,树偏移值等等参数。

3、如果我们对前面创建出来的路边栏物体(也可以叫做路边拦预制体)进行了更改的话,那么场景中这些已经创建出来的这些物体也需要同步路边栏物体(也可以叫做路边拦预制体)修改的话可以参考以下步骤。
首先把Selected Side Object选项选择为前面创建出来的路边栏物体(也可以叫做路边拦预制体)为Slide Object 26,然后修改路边栏物体(也可以叫做路边拦预制体)的源物体,目前源物体Source Object是一棵树,然后我修改成了墙,然后点击Update Active Scene Instances按钮,就可以把场景中这些已经创建出来的这些物体替换成墙。


也可以在回到管理器选项对应的路边拦物体下面的设置直接进行设置,这样也是可以有效设置到。

三、融合地面与道路
1、我在场景中新建了一段与地形存在高度差的路段。


2、我点击Road Network物体上面的ER Modular Base脚本中的第四个按钮,地形适配器。然后点击Build Terrain按钮后效果就出来了,可以明显看到之前道路与地形之间的高度空间都被地形材质给填充了。


相关文章:
Unity EasyRoads3D插件使用
一、插件介绍 描述 Unity 中的道路基础设施和参数化建模 在 Unity 中使用内置的可自定义动态交叉预制件和基于您自己导入的模型的自定义交叉预制件,直接创建独特的道路网络。 添加额外辅助对象,让你的场景栩栩如生:桥梁、安全护栏、栅栏、墙壁…...
Redis 地理散列GeoHash
用数据库来算附近的人 地图元素的位置数据使用二维的经纬度表示,经度范围(-180,180],纬度范围 (-90,90],纬度正负以赤道为界,北正南负,经度正负已本初子午线(英国格林尼…...
vim 显示行号
在 Vim 中,你可以通过几种不同的方式来显示行号。以下是两种常用的方法: 临时显示行号: 当你打开 Vim 并想要临时查看文件的行号时,你可以使用 :set number 命令。这个命令会在当前 Vim 会话中显示行号。如果你想要关闭行号显示&a…...
C++:调整数组顺序使奇数位于偶数前面【面试】
在C,如果要调整数组顺序使所有奇数位于偶数前面,这里提供一种简单且常用的方法:双指针技术。这种方法不需要额外的空间,并且时间复杂度为O(n)。 以下是使用双指针技术实现的示例代码: #include <iostream> #in…...
WPF/C#:程序关闭的三种模式
ShutdownMode枚举类型介绍 ShutdownMode是一个枚举类型,它定义了WPF应用程序的关闭方式。这个枚举类型有三个成员: OnLastWindowClose:当最后一个窗口关闭或者调用System.Windows.Application.Shutdown方法时,应用程序会关闭。O…...
登录/注册- 滑动拼图验证码(IOS/Swift)
本章介绍如何使用ios开发出滑动拼图验证码,分别OC代码和swift代码调用 1.导入项目model文件OC代码(下载完整Demo) 2.放入你需要显示的图片 一:OC调用 #import "ViewController.h" #import "CodeView.h"…...
MyBatis进行模糊查询时SQL语句拼接引起的异常问题
项目场景: CRM项目,本文遇到的问题是在实现根据页面表单中输入条件,在数据库中分页模糊查询数据,并在页面分页显示的功能时,出现的“诡异”bug。 开发环境如下: 操作系统:Windows11 Java&#…...
网站调用Edge浏览器API:https://api-edge.cognitive.microsofttranslator.com/translate
Edge浏览器有自带的翻译功能,在运行pc项目可能会遇到疯狂调用Edge的API https://api-edge.cognitive.microsofttranslator.com/translate 这个URL(https://api-edge.cognitive.microsofttranslator.com/translate)指向的是微软服务中的API接…...
css实现优惠券样式
实现优惠券效果: 实现思路: 需要三个盒子元素,使用 css 剪裁,利用 ellipse 属性,将两个盒子分别裁剪成两个半圆,位置固定在另一个盒子元素左右两边适当位置上。为另一个盒子设置想要的样式,圆角…...
函数递归(C语言)(详细过程!)
函数递归 一. 递归是什么1.1 递归的思想1.2 递归的限制条件 二. 递归举例2.1 求n的阶乘2.2 按顺序打印一个整数的每一位 三. 递归与迭代3.1 求第n个斐波那契数 一. 递归是什么 递归是学习C语言很重要的一个知识,递归就是函数自己调用自己,是一种解决问题…...
uniapp 接口请求封装
根目录下创建 config目录 api.js request.js // request.js // 封装一个通用的网络请求函数 适当调整 function httpRequest(options) {const userToken uni.getStorageSync(access_token).token;return new Promise((resolve, reject) > {uni.request({url: ${options.ur…...
C++中的观察者模式
目录 观察者模式(Observer Pattern) 实际应用 股票价格监控系统 发布-订阅系统 总结 观察者模式(Observer Pattern) 观察者模式是一种行为型设计模式,它定义了对象间的一对多依赖关系。当一个对象的状态发生改变…...
conda虚拟环境,安装pytorch cuda cudnn版本一致,最简单方式
1、pytorch版本安装(卸载也会有问题) (1)版本如何选择参考和卸载 https://zhuanlan.zhihu.com/p/401931724 (2)对应版本如何安装命令 https://pytorch.org/get-started/previous-versions/ 最简答安装参考…...
第 5 章:面向生产的 Spring Boot
在 4.1.2 节中,我们介绍了 Spring Boot 的四大核心组成部分,第 4 章主要介绍了其中的起步依赖与自动配置,本章将重点介绍 Spring Boot Actuator,包括如何通过 Actuator 提供的各种端点(endpoint)了解系统的…...
在 Windows 操作系统中,可以通过命令行工具来杀死进程
1. 使用 taskkill 命令 taskkill 命令是一个用于终止进程的命令行工具,可以通过进程名称或进程 ID (PID) 来杀死进程。 按进程名称杀死进程 taskkill /IM processname.exe /Fprocessname.exe 是进程的名称。/F 参数表示强制终止进程。 例如,终止名为…...
uni-app文件下载 h5 xls 乱码 锟斤拷 Blob pdf打不开
原先下载方式,PC管理端和浏览器打开文件能下载,xls没出现乱码,pdf能正常显示,H5下载xls乱码锟斤拷,PDF显示空白内容 怀疑是前端问题,也尝试过修改后端代码 后端设置编码格式 response.setCharacterEncoding(characte…...
Vue25-内置指令02:v-text指令
一、v-html对比v-text v-html支持结构的解析,v-text不支持结构的解析。 二、v-html的安全性问题 2-1、cookie的原理(node.js) 7天免登录,cookie实现。 cookie的本质就是类似于json的字符串,格式是:key-va…...
stable diffusion中的negative prompt是如何工作的
https://stable-diffusion-art.com/how-negative-prompt-work/https://stable-diffusion-art.com/how-negative-prompt-work/https://zhuanlan.zhihu.com/p/644879268...
STM32项目分享:智能小区充电桩系统
目录 一、前言 二、项目简介 1.功能详解 2.主要器件 三、原理图设计 四、PCB硬件设计 1.PCB图 2.PCB板打样焊接图 五、程序设计 六、实验效果 七、资料内容 项目分享 一、前言 项目成品图片: 哔哩哔哩视频链接: https://www.bilibili.c…...
PDU模块中浪涌保护模块与空开模块的应用
由于PDU具体应用的特殊性,其在规划设计时具有应用场景的针对性,同时PDU的高度定制化的特点,是其他电气联接与保护产品所不具备的。 PDU基础的输出输入功能外,其电路的控制与电压保护器同时也极为重要。空气开关和浪涌保护器相关功…...
SpringBoot-17-MyBatis动态SQL标签之常用标签
文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…...
wordpress后台更新后 前端没变化的解决方法
使用siteground主机的wordpress网站,会出现更新了网站内容和修改了php模板文件、js文件、css文件、图片文件后,网站没有变化的情况。 不熟悉siteground主机的新手,遇到这个问题,就很抓狂,明明是哪都没操作错误&#x…...
使用docker在3台服务器上搭建基于redis 6.x的一主两从三台均是哨兵模式
一、环境及版本说明 如果服务器已经安装了docker,则忽略此步骤,如果没有安装,则可以按照一下方式安装: 1. 在线安装(有互联网环境): 请看我这篇文章 传送阵>> 点我查看 2. 离线安装(内网环境):请看我这篇文章 传送阵>> 点我查看 说明:假设每台服务器已…...
TDengine 快速体验(Docker 镜像方式)
简介 TDengine 可以通过安装包、Docker 镜像 及云服务快速体验 TDengine 的功能,本节首先介绍如何通过 Docker 快速体验 TDengine,然后介绍如何在 Docker 环境下体验 TDengine 的写入和查询功能。如果你不熟悉 Docker,请使用 安装包的方式快…...
Spring Boot 实现流式响应(兼容 2.7.x)
在实际开发中,我们可能会遇到一些流式数据处理的场景,比如接收来自上游接口的 Server-Sent Events(SSE) 或 流式 JSON 内容,并将其原样中转给前端页面或客户端。这种情况下,传统的 RestTemplate 缓存机制会…...
三维GIS开发cesium智慧地铁教程(5)Cesium相机控制
一、环境搭建 <script src"../cesium1.99/Build/Cesium/Cesium.js"></script> <link rel"stylesheet" href"../cesium1.99/Build/Cesium/Widgets/widgets.css"> 关键配置点: 路径验证:确保相对路径.…...
汽车生产虚拟实训中的技能提升与生产优化
在制造业蓬勃发展的大背景下,虚拟教学实训宛如一颗璀璨的新星,正发挥着不可或缺且日益凸显的关键作用,源源不断地为企业的稳健前行与创新发展注入磅礴强大的动力。就以汽车制造企业这一极具代表性的行业主体为例,汽车生产线上各类…...
【单片机期末】单片机系统设计
主要内容:系统状态机,系统时基,系统需求分析,系统构建,系统状态流图 一、题目要求 二、绘制系统状态流图 题目:根据上述描述绘制系统状态流图,注明状态转移条件及方向。 三、利用定时器产生时…...
ElasticSearch搜索引擎之倒排索引及其底层算法
文章目录 一、搜索引擎1、什么是搜索引擎?2、搜索引擎的分类3、常用的搜索引擎4、搜索引擎的特点二、倒排索引1、简介2、为什么倒排索引不用B+树1.创建时间长,文件大。2.其次,树深,IO次数可怕。3.索引可能会失效。4.精准度差。三. 倒排索引四、算法1、Term Index的算法2、 …...
HashMap中的put方法执行流程(流程图)
1 put操作整体流程 HashMap 的 put 操作是其最核心的功能之一。在 JDK 1.8 及以后版本中,其主要逻辑封装在 putVal 这个内部方法中。整个过程大致如下: 初始判断与哈希计算: 首先,putVal 方法会检查当前的 table(也就…...
