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基础的输出输入功能外,其电路的控制与电压保护器同时也极为重要。空气开关和浪涌保护器相关功…...
浏览器访问 AWS ECS 上部署的 Docker 容器(监听 80 端口)
✅ 一、ECS 服务配置 Dockerfile 确保监听 80 端口 EXPOSE 80 CMD ["nginx", "-g", "daemon off;"]或 EXPOSE 80 CMD ["python3", "-m", "http.server", "80"]任务定义(Task Definition&…...

(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)
题目:3442. 奇偶频次间的最大差值 I 思路 :哈希,时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况,哈希表这里用数组即可实现。 C版本: class Solution { public:int maxDifference(string s) {int a[26]…...

华为云AI开发平台ModelArts
华为云ModelArts:重塑AI开发流程的“智能引擎”与“创新加速器”! 在人工智能浪潮席卷全球的2025年,企业拥抱AI的意愿空前高涨,但技术门槛高、流程复杂、资源投入巨大的现实,却让许多创新构想止步于实验室。数据科学家…...

基于Flask实现的医疗保险欺诈识别监测模型
基于Flask实现的医疗保险欺诈识别监测模型 项目截图 项目简介 社会医疗保险是国家通过立法形式强制实施,由雇主和个人按一定比例缴纳保险费,建立社会医疗保险基金,支付雇员医疗费用的一种医疗保险制度, 它是促进社会文明和进步的…...
Qt Widget类解析与代码注释
#include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this); }Widget::~Widget() {delete ui; }//解释这串代码,写上注释 当然可以!这段代码是 Qt …...

Vue2 第一节_Vue2上手_插值表达式{{}}_访问数据和修改数据_Vue开发者工具
文章目录 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染2. 插值表达式{{}}3. 访问数据和修改数据4. vue响应式5. Vue开发者工具--方便调试 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染 准备容器引包创建Vue实例 new Vue()指定配置项 ->渲染数据 准备一个容器,例如: …...

江苏艾立泰跨国资源接力:废料变黄金的绿色供应链革命
在华东塑料包装行业面临限塑令深度调整的背景下,江苏艾立泰以一场跨国资源接力的创新实践,重新定义了绿色供应链的边界。 跨国回收网络:废料变黄金的全球棋局 艾立泰在欧洲、东南亚建立再生塑料回收点,将海外废弃包装箱通过标准…...

华为OD机试-食堂供餐-二分法
import java.util.Arrays; import java.util.Scanner;public class DemoTest3 {public static void main(String[] args) {Scanner in new Scanner(System.in);// 注意 hasNext 和 hasNextLine 的区别while (in.hasNextLine()) { // 注意 while 处理多个 caseint a in.nextIn…...

Mac软件卸载指南,简单易懂!
刚和Adobe分手,它却总在Library里给你写"回忆录"?卸载的Final Cut Pro像电子幽灵般阴魂不散?总是会有残留文件,别慌!这份Mac软件卸载指南,将用最硬核的方式教你"数字分手术"࿰…...
爬虫基础学习day2
# 爬虫设计领域 工商:企查查、天眼查短视频:抖音、快手、西瓜 ---> 飞瓜电商:京东、淘宝、聚美优品、亚马逊 ---> 分析店铺经营决策标题、排名航空:抓取所有航空公司价格 ---> 去哪儿自媒体:采集自媒体数据进…...