gazebo 导入从blender导出的dae等文件

背景: gazebo 模型库里的模型在我需要完成的任务中不够用,还是得从 solidworks、3DMax, blender这种建模软件里面在手动画一些,或者去他们的库里面在挖一挖。

目录

1 blender

1-2 install

2 gazebo导入模型

 2-1 gazebo导入模型文件类型主要有三种

2-2 blender创建红色小方格后导出

2-2-1 blender创建红色小方格

2-2-2 导出三种模式 

2-2-2-1 制作world文件   

 2-2-2-2 gazebo 导入.dae

 2-2-2-3 gazebo 导入.obj :与.dae流程效果一模一样

 2-2-2-4  gazebo 导入.stl

2-3 blender创建小方格贴图后导出 

2-3-1 观察.gazebo/models/ 里的摆放

 2-3-2 把自己的数据整理成标准的样式

2-4 blender导入网上模型资产库,再导出三种模式文件 


1 blender

        Blender是一款免费开源三维图形图像软件,提供从建模、动画、材质、渲染、到音频处理、视频剪辑等一系列动画短片制作解决方案。

1. Blender3.5建模入门教程_超细节100集课程 :https://www.bilibili.com/video/BV1fb4y1e7PD/
2. Blender官方说明:
    https://docs.blender.org/manual/zh-hans/2.91/getting_started/index.html
3. Blender3D建模模型素材下载网 :https://blenderco.cn/

1-2 install

sudo apt install blender

2 gazebo导入模型

 2-1 gazebo导入模型文件类型主要有三种

1. .dae
    - 能带形状和颜色。
    - 翻越模型库,最多存在的,至少占半数以上。
2. .obj + .mtl
    - 能带形状和颜色。
    - 存在比较少。
3. .stl
    - 只能带形状,需要各个部位保存成不同的stl文件,然后到gazebo里面model edit在二次编辑。
    - 存在数量居中。

当然,blender 也能导出这三种的和其他种类的文件。

2-2 blender创建红色小方格后导出

    在blender创建一个红色的小方格然后导出(.dae、.obj + .mtl、 .stl)三种类型的文件在gazebo里保存成sdf的模型文件。

2-2-1 blender创建红色小方格

  1. 打开blender
  2. 界面变成中文显示 : 编辑 -> 偏好设置 -> 界面(翻译(简体中文))
  3. 添加一个立方体 :位于上侧,依次点击: 添加 -> 网格 -> 立方体
  4. 染色红色 :位于右侧,依次点击: 材质 -> +号 -> 基础色设为红色

2-2-2 导出三种模式 

mkdir cube_01 && cube_01 && touch cube_red.world && tree ./cube_01
../cube_01
├── cube_red.dae
├── cube_red.mtl
├── cube_red.obj
├── cube_red.stl
└── cube_red.world

2-2-2-1 制作world文件
   

- https://blog.csdn.net/qq_39433050/article/details/107099404?spm=1001.2014.3001.5506 

<?xml version="1.0"?>
<sdf version="1.7">
    <world name="default">
        <include>
            <uri>model://sun</uri>
        </include>
        <include>
            <uri>model://ground_plane</uri>
        </include>
        <model name="cube_red">
            <pose>0 0 0 0 0 0</pose>
            <static>true</static>
            <link name="basic">
                <visual name="visual">
                    <geometry>
                        <mesh><uri>file:///xxx/cube_01/cube_red.dae</uri></mesh>
                    </geometry>
                </visual>
            </link>
        </model>
    </world>
</sdf>

 2-2-2-2 gazebo 导入.dae

gazebo ./cube_01/cube_red.world

点击: file -> Save -> cube_red_dae

tree ./cube_01
./cube_01
├── cube_red.dae
├── cube_red_dae
│   ├── model.config
│   └── model.sdf
├── cube_red.mtl
├── cube_red.obj
├── cube_red.stl
└── cube_red.world

点击:Insert -> Add Path -> 

 2-2-2-3 gazebo 导入.obj :与.dae流程效果一模一样

 2-2-2-4  gazebo 导入.stl

        与.dae流程效果大致相同,只是在Edit Model 后在gazebo 添加颜色, stl 不带颜色信息。

 

2-3 blender创建小方格贴图后导出 

打开blender

  1. 界面变成中文显示 : 编辑 -> 偏好设置 -> 界面(翻译(简体中文))
  2. 添加一个立方体 :位于上侧,依次点击: 添加 -> 网格 -> 立方体
  3. 添加材质 :位于右侧,依次点击: 材质 -> +号 -> 新建
  4. 左下方 -> 打开着色器编辑器 -> 拽图片到下方编辑区 -> 连接节点
  5. 导出

 后续步骤和2-2-2 一模一样

2-3-1 观察.gazebo/models/ 里的摆放
 

/xxx/.gazebo/models/cafe
├── materials
│   └── textures
│       ├── __auto_10.jpg
│       ├── __auto_21.jpg
├── meshes
│   └── cafe.dae
├── model.config
└── model.sdf

 2-3-2 把自己的数据整理成标准的样式

.dae

./cube_02/cube_anime_dae
├── materials
│   └── textures
│       └── anime.jpeg
├── meshes
│   └── cube_anime.dae
├── model.config
└── model.sdf

./cube_02/cube_anime_dae/model.sdf

<?xml version='1.0'?>
<sdf version='1.7'><model name='cube_anime'>
...<visual name='visual'><geometry><mesh> <uri>/home/wyc/ytj-temp/notebook/python/cube_02/cube_anime_dae/meshes/cube_anime.dae</uri>   <--- 修改绝对路径</mesh></geometry>...</model>
</sdf>

.obj

./cube_02/cube_anime_obj
├── materials
│   └── textures
│       └── anime.jpeg
├── meshes
│   ├── cube_anime.mtl
│   └── cube_anime.obj
├── model.config
└── model.sdf

<?xml version='1.0'?>
<sdf version='1.7'><model name='cube_anime_obj'>... <visual name='visual'> <geometry> <mesh>  <uri>/home/wyc/ytj-temp/notebook/python/cube_02/cube_anime_dae/meshes/cube_anime.obj</uri> <--- 修改绝对路径 </mesh> </geometry> ...</model>
</sdf>

2-4 blender导入网上模型资产库,再导出三种模式文件 

  1. 打开blender
  2. 界面变成中文显示 : 编辑 -> 偏好设置 -> 界面(翻译(简体中文))
  3. 网上下载想要的模型 -> 放到指定位置解压
  4. 编辑 -> 偏好设置 -> 文件路径 -> 资产库 -> +号 -> 选择路径
  5. 左下方 -> 资产浏览器 -> 选择模型拽到试图区
  6. 导出

 后续步骤和2-2-2 一模一样

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/61713.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

世界算力简史(下)

世界算力简史&#xff08;上&#xff09; 世界算力简史&#xff08;中&#xff09; 今天终于要完结了…… █ 1980-1990&#xff1a;PC时代 IBM-PC和“兼容机” 上一篇&#xff0c;我们说到&#xff0c;70年代微处理器崛起&#xff0c;使得个人电脑开始大量出现。 这种情况&…

php webshell 免杀入门

webshell 查杀软件&#xff1a; d盾、安全狗、护卫神、Sangfor WebShellKill 在线查杀 百度WEBDIR https://scanner.baidu.com 河马 https://www.shellpub.com cloudwalker牧云 https://webshellchop.chaitin.cn 查杀技术 静态检测、动态检测、日志检查 静态检查&#xff1a…

eNSP:双向重定向和路由策略练习

实验要求&#xff1a; 拓扑图&#xff1a; IP、路由器 r1: <Huawei>sys [Huawei]sys r1 [r1]int g 0/0/0 [r1-GigabitEthernet0/0/0]ip add 12.1.1.1 24 [r1-GigabitEthernet0/0/0]int g 0/0/1 [r1-GigabitEthernet0/0/1]ip add 14.1.1.1 24 [r1-GigabitEthernet0/0/1]…

C++核心编程——函数高级、类和对象

3 函数提高 3.1 函数默认参数 在C中&#xff0c;函数的形参列表中的形参是可以有默认值的。 语法&#xff1a;返回值类型 函数名 &#xff08;参数默认值&#xff09;{} 注意事项&#xff1a; 1、如果函数的参数列表中某个参数已经有了默认参数&#xff0c;那么从这个参…

【树】 二叉树 堆与堆排序 平衡(AVL)树 红黑(RB)树

目录 1 树1.1 认识树1.2 树的相关概念1.3 树的表示孩子兄弟表示法 2 二叉树2.1 概念2. 2 特殊二叉树2.3 二叉树的性质2.4 二叉树的存储结构 3 堆 — 完全二叉树的顺序结构实现3.1 堆的概念3.2 核心代码3.3 堆应用1 堆排序2 TOP-K问题 4 二叉树的链式存储4.1 二叉链结构与初始化…

css冒号对齐

实现后的样式效果 实现方式 html&#xff1a; <el-col v-if"item.showInSingle ! false" :span"6" style"padding: 4px 0"><label>{{ item.label }}&#xff1a;</label><span v-if"singleData[item.prop] ! 0 &…

容灾备份服务器怎么样?

容灾备份服务器是一种用于保护信息系统的设备&#xff0c;它可以在系统出现故障时提供备用服务。容灾备份服务器通常包括两个部分&#xff1a;容灾和备份。容灾是指在遭遇灾害时能保证信息系统能正常运行&#xff0c;帮助企业实现业务连续性的目标。备份是为了应对灾难来临时造…

配置nginx服务端口时-在同一个页面中打开多个地址端口-查看服务情况

1&#xff1a;把代码保存到xxx.html文件中 2&#xff1a;因为一个个端口打开查看&#xff0c;实在太麻烦了 3&#xff1a;在一个页面中查看多页的响应才能提高测试效率 <html><head><title>本地连接列表</title> </head><body><cente…

后端人员如何快速上手vue

一、环境搭建 了解更多vue-cli 官网地址:https://cli.vuejs.org/zh/guide/browser-compatibility.html 前提 1.安装node(js代码的运行环境)、npm、cnpm/yarn&#xff1b; nodejs官网&#xff1a;https://nodejs.org/en cnpm安装&#xff1a;https://www.python100.com/htm…

微信小程序备案流程

微信小程序备案流程 &#x1f4d4; 千寻简笔记介绍 千寻简笔记已开源&#xff0c;Gitee与GitHub搜索chihiro-notes&#xff0c;包含笔记源文件.md&#xff0c;以及PDF版本方便阅读&#xff0c;且是用了精美主题&#xff0c;阅读体验更佳&#xff0c;如果文章对你有帮助请帮我…

FreeIPA Server/Client不同版本组合,对podman rootless container的支持

FreeIPA Server/Client不同版本组合&#xff0c;对podman rootless container的支持 根据实验&#xff0c; CentOS 7.9 yum仓库自带的FreeIPA Server 4.6.8&#xff0c; ipa client版本支持CentOS 7.9 yum仓库自带的FreeIPA Client 4.6.8不支持subids&#xff0c;podman调用…

matplotlib 笔记 注释annotate

在图中的特定位置添加文本注释、箭头和连接线&#xff0c;以便更清晰地解释图形中的数据或信息 主要参数 text文本内容xy箭头指向的目标点的坐标xytext注释文本的坐标arrowprops 一个字典&#xff0c;指定注释箭头的属性&#xff0c;如颜色、箭头样式等 没有arrowprops的时候…