Blender 3D建模要点

3d模型可以为场景的仿真模拟带来真实感,它还有助于更轻松地识别场景中的所有内容。 例如,如果场景中的所有对象都是简单的形状,如立方体和圆形,则很难在仿真中区分对象。

1、碰撞形状与视觉形状

像立方体和球体这样的简单形状,通常被称为“基本体”,通常用作碰撞块。 与视觉网格相比,碰撞形状使用简化的几何体,因为它们在模拟中有不同的用途。

碰撞模型很重要,因为它们与物理环境相互作用,使用基本形状的计算开销更少。

视觉形状是详细的网格。 制作这些形状的目的是为模拟场景带来真实感。 这些形状在多边形中更密集,并且通常附有纹理。 这些形状是相机传感器拾取的,也是观看者在观看仿真时看到的。

2、创建3D模型

Blender 有很多工具可以创建简单/复杂的模型。 创建复杂对象的一个好方法是从简单的事物开始。 在下面的示例中,我们看到了一个从简单基元创建的复杂模型。 虽然这是一个很好的建模策略,但从简单的网格到复杂的网格通常需要使用很多工具。

‌因为我们使用了上面的车轮示例,所以我将使用该形状来完成我的建模工作流程。 我还将解释我使用的一些工具和修改器。 在开始本教程之前,建议对Blender热键有一些基本了解。

3、创建/添加简单网格

我们使用圆柱体网格用作这个建模的起点。

有建模对象的参考图像会有很大帮助,我们始终推荐这一点。

大多数 3D 建模过程都使用移动、旋转和缩放。 这三个动作通常称为变换 Gizmo。

变换 gizmos 热键:G,R,S

通常,将模型导入程序后出现问题是因为与这些变换相关的简单错误。 这些问题相当普遍,但并不难解决。 相应地更改其中一个属性并将其与更新一起导出可以解决大多数问题。

  • 移动 Gizmo:允许你更改对象沿 x、y、z 轴的位置,热键 G。

  • 旋转 Gizmo:允许你沿 x、y、z 轴旋转对象方向,热键 R。这用于为轮子垂直旋转圆柱体。

  • 缩放 Gizmo:允许你缩放对象。 如果需要,还可以沿单个轴缩放对象,热键 S。
  • 斜角:Bevel。允许你创建弯曲/倒角的边缘,这用于创建轮子的弯曲侧面。

  • 挤出:Extrude。沿选定的面/边添加额外的几何体。 挤出工具可用于推出面或推入面。 此处给出了两个示例。

  • 环切:Loop cut。允许你使用新的环状边缘分割面。 这样就可以对面部进行更详细的操作。结合使用挤出工具,你可以根据自己的形状制作小脊。
  • 复制:Duplicate。允许你制作选定对象的相同副本。
  • 其他修改器:在建模过程中使用的其他一些命令是:晶格函数、布尔值、平滑、抽取等。

4、多边形数量 vs.性能

3D模型由多边形组成,多边形越高,3D模型就越详细。 具有太多多边形的3D模型会使网格编辑过于复杂,或者会使仿真模拟运行非常缓慢。 这就是为什么优化形状很重要,这样它可以保留大部分细节,但又不会使多边形数量过高。

如果你发现3D模型过于密集而无法使用。 “抽取”命令(Decimate)可用于降低所述网格的多边形计数,同时仍保持其一般形状。

创建复杂模型需要很好地理解 3d 建模程序中的许多工具。 它们都服务于特定的目的并且非常强大。 它们必须以不同的方式相互叠加使用才能获得最终结果。 你添加/编辑的形状越多,从长远来看它看起来就越好。

6、导出模型

为 Gazebo 导出模型时,建议使用 .dae (COLLADA) 文件类型。 还支持 STL 和 OBJ 文件,但在导入到 Gazebo 时不太常见。

在点击导出后,将出现“Blender 文件视图”。 这是选择文件位置的地方,你还可以选择导出模型的方式。

仔细检查“global Orientation”可以节省时间,在这里你可以快速将“Up Axis”更改为 Z up。 这是 Gazebo 中的标准方向

同样确保如果3D模型要放置在地面上,请将原点放在底座上,并使模型面向 X(前向轴)。

7、故障排除

创建用于模拟仿真的 3d 形状时,需要考虑一些事项。 确保你的比例和方向设置为 Gazebo 标准可以为你节省大量时间。

  • 检查比例/位置:如果将导入的形状以错误的单位导入 Gazebo,则它可能对于场景来说太大/太小。 确保你的建模单位与 Gazebo 中的单位是 1:1(Gazebo 使用米)。

要更改 Blender 中的单位以匹配 Gazebo,请转到“场景属性”。 将“单位系统”更改为公制并将“长度”更改为米。

要更改网格大小,请转到“Show Overlays”并更改“Scale”量。

  • 检查轴心/原点: 导出3D模型时,通常最佳做法是确保模型位于栅格(0,0,0) ,除非该模型是更大场景的一部分。

形状的轴心是形状移动、旋转和缩放的起点。

在导出之前,你不仅需要确保形状位于正确的位置,还需要确保轴心点也位于正确的位置。

复杂的3D模型通常具有子/父关系。 当3D模型的较小部分连接到较大的部分时,具有不同的轴心点。

例如:本教程中使用的车轮是一个子形状。 它会附加到汽车的车身。 如图所示,轮子的枢轴点位于其中心轴上,但整个形状的一般枢轴将基于父形状附加在关节原点周围。 当你导出到 Gazebo 时,请确保选择了整个形状并且主体位于原点 (0,0,0),并且 X 轴朝前。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

火灾自动报警及消防联动控制系统主机的九个主要组成部分

关于火灾报警联动系统的主机组成,一般有两种不同的概括,下面分别讨论。 一: 火灾报警主机的组成部分较多,主要包括以下消防设备:主电源、联动电源、打印机、驱动器、直接控制板、总线控制板、消防广播、消防电话主机…

免费Web应用防火墙:uuWAF

一款国产的由社区驱动的免费、高性能、高扩展顶级Web应用安全防护产品-南墙。南墙 WEB应用防火墙(简称:uuWAF)是有安科技推出的一款全方位网站防护产品。通过有安科技专有的WEB入侵异常检测等技术,结合有安科技团队多年应用安全的…

多功能、功耗低。工作温度范围宽(-40℃~+80℃),性价比高,并可与MAXIM、AD等公司的uP监控产品兼容的国产芯片——D706

概 述 近年来,微处理器在IT业控制领域和智能化产品中得到了广泛的应用。在系统和产品的开发设计过程中,为了提高其抗干扰能力,使用uP监控是首选技术措施之一。监控芯片可为系统提供上电、掉电复位功能,也可提供其它功能&#x…

【感悟《剑指offer》典型编程题的极练之路】01数组篇!

​​​​​​​ ​​​​​​​ 个人主页:秋风起,再归来~ ​​​​​​​ 文章所属专栏:《剑指offer》典型编程题的极练之路 ​​​​​​​ ​​​​​​​ …

CSS其他属性

文章目录 1. vertical-align1.1. 概念1.2. 常用值1.3. 作用1.4. 出现的情况一1.4.1. 原因1.4.2. 解决方案 1.5. 出现情况二1.5.1. 解决方案一1.5.2. 解决方案二1.5.3. 解决方案三 1.6. 出现情况三1.6.1. 原因1.6.2. 解决方案 2. 溢出效果2.1. 作用2.2. 属性名 3. 隐藏效果3.1. …

买卖股票的最佳时机1,2,3

买卖股票的最佳时机 力扣题目链接 dp[i][0] 表示第i天持有股票所得最多现金 定义二维数组 两列 :0代表持有股票 1代表不持有股票 行代表第几天 dp[i][0] max(dp[i - 1][0], -prices[i]); 第i天持有股票:两种情况 第一种是昨天就已经持有股票了 所…

NVM使用教程

文章目录 ⭐️写在前面的话⭐️1、卸载已经安装的node2、卸载nvm3、安装nvm4、配置路径以及下载源5、使用nvm下载node6、nvm常用命令7、全局安装npm、cnpm8、使用淘宝镜像cnpm9、配置全局的node仓库🚀 先看后赞,养成习惯!🚀&#…

探索AI+电商领域应用与发展

AI火的已经一塌糊涂了,已经有很大一部分的企业和个人已经坐上了这趟超音速列车,但对于电商领域具体都有哪些助理,目前为止还是比较散,今天来顺一下AIGC之与电商到底带来了些什么? 一、什么是AIGC AIGC是内容生产方式…

个人开发者上架App流程

摘要 个人开发者完全可以将自己开发的App上传至应用商店进行上架。本文将介绍上架流程的通用步骤,包括确定App功能和定位、准备相关资料、开发App、提交审核、发布App和宣传推广等内容。 引言 个人开发者在如今的移动应用市场中也有机会将自己的作品推向更广泛的…

C++之模版详解

一.array与vector对比 由图发现&#xff0c;使用array数组是必须提前开好空间&#xff0c;而vector是顺序表&#xff0c;可以实现动态开辟空间 array也支持迭代器&#xff0c;如下&#xff1a; int main() {array<int, 10> arr{ 1,2,3,4,5,6,7,8,9,10 };auto it arr.be…

重生奇迹MU 的全部地图

卓越首饰类&#xff1a;火项链、毒戒指——海1小巴、美人鱼、卡2门口&#xff0c;卡1最里面&#xff0c;地3等等 雷项链&#xff0c;冰戒指——海1蓝翼怪&#xff0c;卡2龙虾以上&#xff0c;失落3&#xff08;门口黄金点哦&#xff0c;盛产冰戒指&#xff09;等等 冰项链——…

第十二届蓝桥杯省赛CC++ 研究生组-货物摆放

还是整数分解问题,注意n本身也是约数 #include <iostream> int main(){printf("2430");return 0; }#include <iostream> #include<cmath> #include<algorithm> using namespace std; typedef long long ll; const ll n 2021041820210418LL…

Jenkins 一个进程存在多个实例问题排查

Jenkins 一个进程存在多个实例问题排查 最近Jenkins升级到2.440.1​版本后&#xff0c;使用tomcat​服务部署&#xff0c;发现每次定时任务总会有3-4个请求到我的机器人上&#xff0c;导致出现奇奇怪怪的问题。 问题发现 机器人运行异常&#xff0c;总有好几个同时请求的服务。…

宋仕强论道之华强北科技创新说

宋仕强论道之华强北科技创新说&#xff0c;“创新”是深圳市和华强北灵魂&#xff0c;创新再加上敢想敢干永不言败&#xff0c;造就了深圳市经济奇迹和华强北财富神话&#xff01;首次在深圳市落槌的“土地拍卖”&#xff0c;华强北“一米柜台”赋予独立经营权&#xff0c;把最…

TCP协议中的传输控制机制图文详解「重传机制」「流量控制」「拥塞控制」

目录 TCP重传机制 超时重传 快速重传 SACK 方法 Duplicate SACK TCP 流量控制 滑动窗口 累积确认 窗口大小由哪一方决定&#xff1f; 接收窗口和发送窗口的大小是相等的吗&#xff1f; 流量控制 窗口关闭的后果 糊涂窗口综合症 TCP拥塞处理 为什么要有拥塞控制呀&#xff0c;不…

高速CAN 收发器AMIS30660CANH2RG 用于各种数据传输协议的调制解调器和收发器

AMIS30660CANH2RG CAN 收发器是控制器区域网络 (CAN) 协议控制器和物理总线之间的接口&#xff0c;可在 12 V 和 24 V 系统中使用。该收发器为总线提供差分发射功能&#xff0c;向 CAN 控制器提供差分接收功能。由于接收器输入较宽的共模电压范围和其他设计功能&#xff0c; 能…

Python爬取豆瓣电影Top 250,豆瓣电影评分可视化,豆瓣电影评分预测系统

博主介绍&#xff1a;✌程序员徐师兄、7年大厂程序员经历。全网粉丝12w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推荐订阅&#x1f447;…

C++ 模板入门详解

目录 0. 模板引入 1.函数模板 1. 函数重载的缺点 2. 函数模板的概念和格式 2. 函数模板的实例化 2.1 隐式实例化&#xff1a;让编译器根据实参推演模板参数的实际类型 2.2 显式实例化&#xff1a;在函数名后的<>中指定模板参数的实际类型 2.3 函数模板参数的匹…

[HFCTF 2021 Final]easyflask

[HFCTF 2021 Final]easyflask [[python反序列化]] 首先题目给了提示&#xff0c;有文件读取漏洞&#xff0c;读取源码 #!/usr/bin/python3.6 import os import picklefrom base64 import b64decode from flask import Flask, request, render_template, sessionapp Flask(_…

【Leetcode-54.螺旋矩阵】

题目&#xff1a; 给你一个 m 行 n 列的矩阵 matrix &#xff0c;请按照 顺时针螺旋顺序 &#xff0c;返回矩阵中的所有元素。 示例 1&#xff1a; 输入&#xff1a;matrix [[1,2,3],[4,5,6],[7,8,9]] 输出&#xff1a;[1,2,3,6,9,8,7,4,5]示例 2&#xff1a; 输入&#xff1…