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

基于UE5和ROS2的激光雷达+深度RGBD相机小车的仿真指南(五):Blender锥桶建模

前言

  • 本系列教程旨在使用UE5配置一个具备激光雷达+深度摄像机的仿真小车,并使用通过跨平台的方式进行ROS2UE5仿真的通讯,达到小车自主导航的目的。
  • 本教程默认有ROS2导航及其gazebo仿真相关方面基础,Nav2相关的学习教程可以参考本人的其他博客Nav2代价地图实现和原理–Nav2源码解读之CostMap2D(上)-CSDN博客
  • 往期教程:
    • 第一期:基于UE5和ROS2的激光雷达+深度RGBD相机小车的仿真指南(一)—UnrealCV获取深度+分割图像-CSDN博客
    • 第二期:基于UE5和ROS2的激光雷达+深度RGBD相机小车的仿真指南(二)—ROS2与UE5进行图像数据传输-CSDN博客
    • 第三期:基于UE5和ROS2的激光雷达+深度RGBD相机小车的仿真指南(三)—创建自定义激光雷达Componet组件-CSDN博客
  • UE5系列教程:
    • 第一期:UE5-C++入门教程(一):使用代码创建一个指定目标的移动小球-CSDN博客
    • 第二期:UE5-C++入门教程(二)—编写Editor类别的自定义模型实现小球规划路线的可视化-CSDN博客
    • 备注:最近博主在unity开发独立游戏,UE5系列的相关长期教程先暂时不更新了请大家多多谅解
  • 本教程环境支持:
    • UE5.43
    • ubuntu 22.04 ros2 humble
  • 本期我们来讲一下如何使用blender完成一个锥桶的建模和贴图,本节的最后我们会得到下面这样的效果请添加图片描述

01 Blender介绍

请添加图片描述

  • Blender 是一款开源且免费的3D建模软件,广泛用于3D建模、动画、渲染、视频编辑、游戏设计等多个领域。
  1. 多功能性:它不仅仅是一个3D建模软件,还包含了完整的动画制作、渲染、视频编辑和游戏设计功能。
  2. 开源:Blender的源代码是开放的,用户可以自由地查看、修改和分发。
  3. 跨平台:Blender可以在Windows、macOS和Linux等多个操作系统上运行。
  4. 社区支持:由于其开源的特性,Blender拥有一个庞大的社区,用户可以通过社区获得技术支持和教程。
  5. 教育用途:由于其免费和开源的特性,Blender被广泛用于教育和培训中,帮助学生学习3D建模和动画制作。
  6. 商业用途:尽管是免费的,但Blender的专业功能使其在商业领域也得到了广泛应用,许多专业的3D艺术家和工作室都在使用它。

02 安装

  • 我们打开blender官网下载页面Blender官网选择LTS版本进行下载请添加图片描述

  • 根据提示一路next,选择安装路径然后install即可请添加图片描述

  • 安装好后点击blender图标,初次进入可以进行偏好设置请添加图片描述

  • 打开界面会有如下界面请添加图片描述


3 Blender快速入门

基础操作
  • 使用鼠标滚轮中键可以进行场景的选择

  • 使用鼠标滚轮中键+shift可以进行移动

  • 左侧的工具键有一些基本的移动缩放按钮请添加图片描述

  • 我们使用鼠标左键框选界面的全部物体,右上角的提示栏会显示基本的物体请添加图片描述

  • 我们一般设计建模物体的时候不需要光源和摄像头,选中他们,点击delete键删除

  • 选择基础的立方体,我们点击键盘上的N,可以看到此立方体的基础属性 请添加图片描述

  • 有时候我们要进行小物体建模的时候,我们希望物体的尺寸是cm,我们在右侧场景栏目更改缩放单位和长度的基本单位请添加图片描述

  • 这是你的网格会出现类似下述的状况,我们在右上角找到试图叠加层请添加图片描述

  • 把缩放更改回和上述单位设置的缩放单位一致就行了,可以看到网格恢复一致了请添加图片描述


4 快速建模

4-1 数据确认
  • 从实验室顺一个锥桶我们简单测一下数据请添加图片描述
4-1 底盘平面和编辑模式
  • 我们在上侧‘添加’点击网格,选择创建一个平面请添加图片描述

  • 调整尺寸为21cm✖21cm,并设置为Z识图俯视请添加图片描述

  • 我们选中物体,进入编辑模式请添加图片描述

  • 物体模式(Object Mode)编辑模式(Edit Mode)是Blender中用于操作3D物体的两种主要模式。它们在Blender的用户界面中通过一个模式选择器进行切换,通常位于3D视图的底部。

    • 物体模式(Object Mode): 物体模式是默认的模式,当你在Blender中打开一个新文件或者创建一个新的物体时,你通常是在物体模式下。在物体模式下,你可以执行以下操作:
      • 移动、旋转和缩放整个物体。
      • 选择、添加、删除物体。
      • 设置物体的变换中心点。
      • 应用变换(例如,将移动、旋转或缩放变换应用到物体的几何数据上)。
      • 创建父子关系,将一个物体作为另一个物体的子物体。
      • 设置物体的渲染属性,如材质、纹理和灯光。
    • 编辑模式(Edit Mode): 编辑模式是用于编辑物体内部几何结构的模式。当你切换到编辑模式时,你可以访问和修改物体的顶点、边、面和体。在编辑模式下,你可以执行以下操作:
      • 选择、移动、旋转和缩放物体的顶点、边或面。
      • 删除或添加几何元素。
      • 对几何元素进行布尔运算(合并、差集、交集)。
      • 使用各种建模工具,如倒角、循环切割、挤出、缩放、扭曲等。
      • 设置边的权重,用于平滑着色和变形。
      • 使用雕刻工具,对物体进行精细的雕刻和塑造。

4-2 快速细分
  • 选择平面,右键,选择细分请添加图片描述

  • 选择切割次数为7,这样21cm/7=3cm一个格请添加图片描述

  • 我们现在进行中间锥形的掏空,锥底部是15cm,21-15=6cm,一边就是3cm一个格子,拖动选择中间的格子请添加图片描述

  • 按住i进行inset,拖动选中框的角,进行适当缩放(inset 是一个用于编辑模式的建模工具,它允许用户在选定的面上创建一个向内的倒角或切口。这个工具在创建复杂的几何形状或添加细节时非常有用。)请添加图片描述

  • 让点击键盘的x进行删除,选择面x请添加图片描述

  • 删除完变成下述如下请添加图片描述

  • 我们选中上述轮廓,点击alt+shift+s进行求球面化,这时候你的鼠标变成一个球型化箭头请添加图片描述

  • 往外拖得到球型化的结果请添加图片描述

  • 然后右键选择平滑顶点请添加图片描述

  • 选择重复到5请添加图片描述

  • 然后再次进行alt+shift+s进行再次球型化请添加图片描述


4-3 拉伸锥体
  • 我们切换到侧视图请添加图片描述

  • 保持刚刚中心轮廓存在的同时点击e进行Extrude(Extrude(挤出)是一个用于编辑模式的建模工具,它允许用户从选定的几何元素(如顶点、边或面)中创建新的几何元素。),同时按住ctrl向上拖动,可以进行跨整网格进行移动,同时我们设置Z为26cm请添加图片描述

  • 按住S进行Scale缩放,5.5cm/15cm=0.3666的缩放比请添加图片描述

  • 我们转一个视角,选择上方轮廓如下图所示请添加图片描述

  • 点击S继续进行缩放,3.5cm/5.5cm=0.636请添加图片描述

  • 点击E向下稍微拉伸请添加图片描述

  • ctrl+R 进行 Loop Cut,Loop Cut(循环切割)是一个用于编辑模式的建模工具,它允许用户在选定的几何元素(如面或边)之间添加等距的循环边。Loop Cut 工具通常用于细分模型,增加细节,或者改善模型的拓扑结构。

  • 请添加图片描述

  • 同理我们在锥桶两侧也添加loop cut请添加图片描述


4-4 锥桶底部
  • 点击底边屏幕的一条边,alt+左键双击全选整个面请添加图片描述

  • 键盘点击e进行向下拉伸,和上面的操作一致


4-5 基本型细分
  • 我们切回物体模式![[Pasted image 20240907153325.png]]请添加图片描述

  • 选择整个物体,右键进行平滑着色请添加图片描述

  • 请添加图片描述

  • 然后点击ctrl+2进行细分,我们进行级别2的细分请添加图片描述

  • 同时我们再次使用环切提前把反光条的位置画出来请添加图片描述


5 贴图和材质渲染

5-1 着色
  • 点击右上角的试图着色方式请添加图片描述

  • 点击正上方进入Shading模式, Shading(着色)是3D渲染中的一个重要步骤,它涉及到为3D模型表面添加颜色、纹理和光照效果,以模拟真实世界中的视觉外观。在Blender中,着色主要通过节点编辑器来完成,这个过程可以极大地影响最终渲染图像的质量和外观。

  • 着色的基本概念

    1. 材质(Material):材质定义了物体表面的视觉属性,如颜色、纹理、反光率等。
    2. 纹理(Texture):纹理用于添加细节到材质上,如木纹、布料纹理等。
    3. 光照(Lighting):光照是模拟光线如何与物体表面交互的过程,包括反射、折射和阴影等。请添加图片描述

5-2 Node Wrapper
  • 在编辑视图找到偏好设置

  • 请添加图片描述

  • 在插件中使能Node Wrangler:Node Wrangler是Blender中的一个强大插件,旨在提高节点编辑的效率和便捷性。以下是关于Node Wrangler插件的基本信息、功能和使用教程的总结: 主要功能

    1. 快捷键组合:Node Wrangler提供了许多快捷键,可以大大提高工作效率。例如,通过快捷键可以快速重新加载节点树中使用的所有图像,无需手动加载5。
    2. 节点选择和操作:用户可以快速选择、复制和粘贴节点,以及根据不同标准对节点进行标签和重命名812。
    3. 节点管理:插件可以帮助用户管理复杂的节点树,通过分组、折叠和整理节点来简化工作流程13请添加图片描述

5-3 材质(Material)和纹理(Texture)
  • 以下几个小节为了方便查询,我们在设置-偏好中把语言改为英文

  • 我们来创建一个全新的材料,点击下方的按钮new,取名为body请添加图片描述

  • 新建的材质会出现如下的材质请添加图片描述

  • 点击shift+A可以添加新的组件,我们添加下述几个材质请添加图片描述

  • 效果如下==(注意这里的材质由于缩放比例的原因发生了变形,后续6-3修正后会变回去)==请添加图片描述


6 反光带贴图

6-1 添加材质
  • 然后我们回到编辑模
    型,alt+鼠标左键x选择中间的部分请添加图片描述

  • 我们在右侧添加一个新的材料请添加图片描述

  • 点击Assign应用到实体上请添加图片描述

  • 如此依赖基本的锥桶就有了,接下来我们来添加贴图==(注意这里的材质由于缩放比例的原因发生了变形,后续6-3修正后会变回去)==请添加图片描述

6-2 找寻贴图材质
  • 我们在任意素材网站上找到想要贴上去的图片,这里我找了一个反光的贴图请添加图片描述

  • 我们即将使用到的一个名为Unwrap的功能,Unwrap(UV展开)是Blender中的一个关键功能,主要用于将3D模型的表面展开成2D平面,以便于后续的纹理映射和绘制。在3D建模中,UV展开是一个重要的步骤,它涉及到将3D模型的表面(通常称为“网格”或“几何体”)展开成一个或多个2D平面,这些平面称为“UV贴图”。这个过程允许艺术家在一个平面上设计纹理,然后将这些纹理应用到3D模型的表面。通过UV展开,艺术家可以精确控制纹理在模型上的分布,从而实现更加细致和真实的视觉效果。请添加图片描述


6-3 重要检查
  • 在进行unwrap前我们必须要做到一下几个基础要求,否则unwarp展开的图片会变得和奇怪,我们必须保证我们的主体实物的位置和旋转分别是0,0,0,此外缩放比必须是1:1:1(如下图,我的缩放比不正确,我们必须进行修正)请添加图片描述

  • 我们选中物体,ctrl+A,选择旋转+缩放请添加图片描述

  • 这时候你会发现我们的缩放比被修正为1:1:1请添加图片描述


6-4 Unwrap
  • 我们在正上方选中UV Editiing进入uv模式请添加图片描述

  • 我们在左上角新建一个UV网格

  • 请添加图片描述

  • 选择如下参数

  • 请添加图片描述

  • 会有如下UV默认帮助你进行贴图确认的网格出现 请添加图片描述

  • 然后我们在右侧材料,找到刚刚创建的材料,选择固有色请添加图片描述

  • 选择图像纹理

  • 选择我们刚刚创建的UV_Grid![[Pasted image 20240907225836.png]]请添加图片描述

  • 我们点击右上角的视图着色方式,可以看到UV_Grid被在这个材质中展开了,但是展开的方式不太对,这时候我们就需要进行调整请添加图片描述


6-5 UnWrap调整–裁切
  • 我们在编辑模式下全选锥桶模型,并点击UV_editor右上角的打叉暂时关闭GV_Grid显示请添加图片描述

  • 然后我们现在正式开始UV图的调整,搜先我们需要做的就是UV图的裁剪请添加图片描述

  • 进入选择模式请添加图片描述

  • alt+鼠标左击选择反光条的上侧请添加图片描述

  • 右键选择标记缝合边
    请添加图片描述

  • 同理我们标记下边缘![[Pasted image 20240907230614.png]]请添加图片描述

  • 紧接着我们按下A选择全部物体请添加图片描述

  • 按下U选择展开Unwrap请添加图片描述

  • 我们就拿到展开图了请添加图片描述

  • 如果出现展开是如下情况,回到6-3进行重要检查的确认请添加图片描述

  • 然后我们再次进行裁剪,alt左键选择,右键标记分割线请添加图片描述

  • 然后A选中全部,U展开请添加图片描述


6-5 UnWrap调整–微调
  • 我们希望网格应该是顺着圆锥的母线镜像下移动

  • 请添加图片描述

  • 我们选择左侧编线,右键选择请添加图片描述

  • X向拉直请添加图片描述

  • 可以方向一遍已经对齐请添加图片描述

  • 同理我们有如下请添加图片描述

  • 对于倾斜的斜面

  • 请添加图片描述

  • 右键选择自动对齐

  • 请添加图片描述

  • 然后依次自动对齐我们就有请添加图片描述

  • 这是快大功告成辣!!!!


6-6 替换贴图图片
  • w我们在材质右侧找到图片替换请添加图片描述

  • 选择刚刚的图片并导入,不要慌,我们缩放一下图片请添加图片描述

  • A选择全部,然后I进行缩放![[Pasted image 20240907234227.png]]请添加图片描述请添加图片描述

  • 左侧进行缩放,鼠标左键进行拖拽

  • 大功告成!!!!!!!!!!!!!!!!!!!!!!!!!请添加图片描述


7 总结

  • 本节我们介绍了如何入门到完成下述这个带材质和贴图的锥桶!!!
  • 下一节我们讲讲如何将这个模型导入UE5,并通过深度相机访问它
  • 如有错误欢迎指出!感谢大家的支持
    请添加图片描述

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • C++语法知识点合集:11.模板
  • 锡林郭勒奶酪品牌呼和浩特市大召店盛大开业
  • Kafka【八】如何保证消息发送的可靠性、重复性、有序性
  • 什么是 TDengine?
  • 【机器学习】高斯网络的基本概念和应用领域
  • Python | Leetcode Python题解之第394题字符串解码
  • [数据集][目标检测]抽烟检测数据集VOC+YOLO格式22559张2类别
  • 外卖霸王餐对接接口为用户提供了哪些好处?
  • OpenVPN的测试主要包括安装客户端、配置连接、连接测试以及网络验证等步骤。以下是一个详细的测试流程:
  • 合宙LuatOS开发板Core_Air780EP使用说明
  • Android12上新增jar遇到的问题总结
  • 代码随想录Day39|322. 零钱兑换、279.完全平方数、139.单词拆分
  • Flask中的上下文(Context)
  • Mysql 主从复制、读写分离
  • 【网络安全】Exif 数据储存型XSS
  • Android开发 - 掌握ConstraintLayout(四)创建基本约束
  • Android开源项目规范总结
  • co模块的前端实现
  • create-react-app项目添加less配置
  • JS进阶 - JS 、JS-Web-API与DOM、BOM
  • leetcode-27. Remove Element
  • Sass Day-01
  • webpack+react项目初体验——记录我的webpack环境配置
  • 表单中readonly的input等标签,禁止光标进入(focus)的几种方式
  • 产品三维模型在线预览
  • 从零搭建Koa2 Server
  • 基于 Babel 的 npm 包最小化设置
  • 前端自动化解决方案
  • 前嗅ForeSpider中数据浏览界面介绍
  • 如何利用MongoDB打造TOP榜小程序
  • 腾讯大梁:DevOps最后一棒,有效构建海量运营的持续反馈能力
  • 提升用户体验的利器——使用Vue-Occupy实现占位效果
  • 智能合约开发环境搭建及Hello World合约
  • 智能网联汽车信息安全
  • zabbix3.2监控linux磁盘IO
  • !$boo在php中什么意思,php前戏
  • ## 基础知识
  • #DBA杂记1
  • (1)(1.13) SiK无线电高级配置(六)
  • (1)(1.8) MSP(MultiWii 串行协议)(4.1 版)
  • (1)Map集合 (2)异常机制 (3)File类 (4)I/O流
  • (23)Linux的软硬连接
  • (33)STM32——485实验笔记
  • (6)设计一个TimeMap
  • (PADS学习)第二章:原理图绘制 第一部分
  • (八)光盘的挂载与解挂、挂载CentOS镜像、rpm安装软件详细学习笔记
  • (没学懂,待填坑)【动态规划】数位动态规划
  • (七)Knockout 创建自定义绑定
  • (十一)c52学习之旅-动态数码管
  • (原)Matlab的svmtrain和svmclassify
  • (转)用.Net的File控件上传文件的解决方案
  • (转载)PyTorch代码规范最佳实践和样式指南
  • .bat批处理(七):PC端从手机内复制文件到本地
  • .FileZilla的使用和主动模式被动模式介绍
  • .gitattributes 文件