赞
踩
从abaqus到unity:
目录
3. 在unity中添加obj 并挂载shader和material
在probe中选择element,输出单元类型及连接节点信息
abaqus默认单元类型为C3D8R,为六面体网格,含有8个节点
其中C3D8R单元nodes的排列方式如下,其他类型单元nodes排列方式:单元信息Three-dimensional solid element library (mit.edu)
在probe中选择node,输出节点坐标及应力值
其中C3D8R单元nodes的排列方式如下,其他类型单元nodes排列方式:单元信息Three-dimensional solid element library (mit.edu)
每个面切分为多个三角形,按逆时针排列节点顺序:
以以上单元face3为例:
三角1:1,2,6
三角2:1,6,5
整个单元划分为12个三角面
参考博客:从有限元到Unity——从abaqus网格模型文件到Unity模型数据_怎么把有限元结果与unity结合-CSDN博客
文件包含:
节点坐标,材质信息,顶点法线,面信息
v;vt;vn;f
obj文件示例:
- v -0.500000 -0.500000 0.500000
-
- v 0.500000 -0.500000 0.500000
-
- v -0.500000 0.500000 0.500000
-
- v 0.500000 0.500000 0.500000
-
- v -0.500000 0.500000 -0.500000
-
- v 0.500000 0.500000 -0.500000
-
- v -0.500000 -0.500000 -0.500000
-
- v 0.500000 -0.500000 -0.500000
-
- vt 0.000000 0.000000
-
- vt 0.1 0.000000
-
- vt 0.2 0
-
- vt 0.3 0
-
- vn 0.000000 0.000000 1.000000
-
- vn 0.000000 0.000000 1.000000
-
- vn 0.000000 0.000000 1.000000
-
- vn 0.000000 0.000000 1.000000
-
- vn 0.000000 1.000000 0.000000
-
- vn 0.000000 1.000000 0.000000
-
- vn 0.000000 1.000000 0.000000
-
- vn 0.000000 1.000000 0.000000
-
- vn 0.000000 0.000000 -1.000000
-
- vn 0.000000 0.000000 -1.000000
-
- vn 0.000000 0.000000 -1.000000
-
- vn 0.000000 0.000000 -1.000000
-
- vn 0.000000 -1.000000 0.000000
-
- vn 0.000000 -1.000000 0.000000
-
- vn 0.000000 -1.000000 0.000000
-
- vn 0.000000 -1.000000 0.000000
-
- vn 1.000000 0.000000 0.000000
-
- vn 1.000000 0.000000 0.000000
-
- vn 1.000000 0.000000 0.000000
-
- vn 1.000000 0.000000 0.000000
-
- vn -1.000000 0.000000 0.000000
-
- vn -1.000000 0.000000 0.000000
-
- vn -1.000000 0.000000 0.000000
-
- vn -1.000000 0.000000 0.000000
-
-
- f 1/1/1 2/2/2 4/4/3 3/3/4
-
- f 3/3/5 4/4/6 6/1/7 5/2/8
-
- f 5/3/9 6/3/10 8/3/11 7/3/12
-
- f 7/4/13 8/4/14 2/4/15 1/4/16
-
- f 2/2/17 8/4/18 6/4/19 4/4/20
-
- f 7/3/21 1/1/22 3/3/23 5/2/24
shader文件示例:
- Shader"Custom/beam"
- {
- Properties
- {
-
- //2D贴图
- _Texture2D ("Texture2D", 2D) = ""{}
-
-
-
- }
- SubShader
- {
- Pass
- {
- CGPROGRAM
- // 声明vert函数为顶点着色器
- #pragma vertex vert
- // 声明frag函数片元着色器
- #pragma fragment frag
-
- //需要使用以上变量,在CG程序中重新声明
-
- sampler2D _Texture2D;
-
-
- //结构体,用于传递应用程序到顶点函数、顶点函数到片元函数
- //应用程序到顶点函数结构体
- struct a2v
- {
- float4 vertex : POSITION;//将模型空间的顶点坐标填充给vertex
- float3 normal : NORMAL;//将模型空间的法线方向填充给normal
- float2 texcoord : TEXCOORD;//将第一套纹理坐标填充给texcoord
- };
- //顶点函数到片元函数结构体
- struct v2f
- {
- float4 position : SV_Position;
- float3 color : COLOR;
- float2 texcoord : TEXCOORD;
- };
- //顶点函数
- v2f vert(a2v v)
- {
- v2f f;
- f.position = UnityObjectToClipPos(v.vertex);//顶点坐标从模型空间到剪裁空间的转换
- f.texcoord = v.texcoord;
-
-
- return f;
- }
-
- fixed4 frag(v2f i) : SV_Target
- {
- fixed4 col = tex2D(_Texture2D, i.texcoord);
-
- return col;
- }
- ENDCG
- }
- }
- FallBack "Diffuse"
- }
-
以上全流程文件+V 17386033638
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。