从有限元到Unity
一、从有限元到Unity——有限元网格信息导出及分析
二、从有限元到Unity——Unity网格编程
三、从有限元到Unity——从abaqus网格模型文件到Unity模型数据
四、从有限元到Unity——有限元分析结果导出
五、从有限元到Unity——渲染管线与着色器
前言
上一篇文章大概说了Unity的网格编程是什么以及怎么实现,本篇文章承接前面内容,阐述下怎么将Abaqus导出的网格信息转化为Unity中的网格模型数据,并通过网格编程方式将有限元网格重构出来。
一、用三角面片表示不同单元类型
前面讲到,Unity中模型是以点和三角面为基础构成的。因此,要在Unity中利用Abaqus的网格信息复现网格模型,则需要以其单元为基础,将单元拆分为以三角面组成的一个个小网格,再把原模型完整构建出来。
体网格单元类型大致包括四面体、六面体、楔形体,以及其它二阶单元。对于二阶单元,若考虑二阶单元所有的节点的话,则在Unity中所构建的网格在顶点数和面片数上都会比一阶的高上数倍,渲染过程中无论是内存还是性能开销上都会给计算机带来比较大的压力;另外,如果仅在Unity中进行直观可视化渲染而非精确的分析描述,笔者认为,将导出的二阶单元看作一阶单元也能够满足需求了,因此,本文以一节单元为例展开阐述。
1.四面体
我们从前面不同单元体的节点组成方式了解了不同单元的组成。对于四面体来说,其组成如下:
四面体以四个节点、四个三角面组成,以上篇文章中Unity网格编程对组成单元的顶点坐标和三角面片构造序列进行定义。其中其顶点坐标即为节点坐标,面片构造序列以下表进行定义:
三角面片id | 顶点1 | 顶点2 | 顶点3 |
---|---|---|---|
1 | 1 | 2 | 3 |
2 | 2 | 4 | 3 |
3 | 1 | 3 | 4 |
4 | 1 | 4 | 2 |
2.六面体
六面体的定义方式与前面正方体形式一致,面片构造序列以下表进行定义:文章来源:https://www.toymoban.com/news/detail-777321.html
三角面片id | 顶点1 | 顶点2 | 顶点3 |
---|---|---|---|
1 | 1 | 2 | 3 |
2 | 1 | 3 | 4 |
3 | 1 | 5 | 6 |
4 | 1 | 6 | 2 |
5 | 1 | 4 | 8 |
6 | 1 | 8 | 5 |
7 | 7 | 6 | 5 |
8 | 7 | 5 | 8 |
9 | 7 | 8 | 4 |
10 | 7 | 4 | 3 |
11 | 7 | 3 | 2 |
12 | 7 | 2 | 6 |
3.楔形体
同样的,楔形体的三角面片可以通过上图进行如下定义:文章来源地址https://www.toymoban.com/news/detail-777321.html
三角面片id | 顶点1 | 顶点2 | 顶点3 |
---|---|---|---|
1 | 1 | 2 | 3 |
2 | 4 | 6 | 5 |
3 | 1 | 4 | 5 |
4 | 1 | 5 | 2 |
5 | 1 | 3 | 4 |
6 | 3 | 6 | 4 |
7 | 2 | 5 | 6 |
8 | 2 | 6 | 3 |
二、更复
到了这里,关于从有限元到Unity——从abaqus网格模型文件到Unity模型数据的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!