FBX文件简述

article/2025/9/12 17:12:37

1.  关于FBX

Autodesk FBX是Autodesk公司出品的一款用于跨平台的免费三维创作与交换格式的软件,通过FBX用户能访问大多数三维供应商的三维文件。FBX 文件格式支持所有主要的三维数据元素以及二维、音频和视频媒体元素。

FBX由Kaydara开发并于2006年被AUTODESK收购。

参考 https://en.wikipedia.org/wiki/FBX

2.  关于FBX SDK

Autodesk为FBX文件提供了一套C++ SDK,可以使用户拥有读取、写入FBX文件的能力。SDK下载地址:http://usa.autodesk.com/adsk/servlet/pc/item?siteID=123112&id=24535361

SDK文档地址: http://help.autodesk.com/view/FBX/2016/ENU/

        FBX SDK论坛地址:http://forums.autodesk.com/t5/fbx/ct-p/area-c7

3.  FBX文件格式简介:

FBX数据以树状结构存储在文件中,每个FBX文件中有一个“场景”,其子节点有一些全局设置数据,以及使用最为频繁的模型节点,模型节点以及树状结构存放于场景的“根节点”中。

4.  FBX模型节点:

FBX模型节点(FBXNode)可以视作几何模型的一个包装(Wrapper),节点本身并不包含太多的几何信息,其几何信息主要保存在其所持有的节点属性(FBXNodeAttribute)中。​​

模型节点最主要的作用是在模型树上维护树状结构,除此之外,FbxNode还保存了一些矩阵变换信息以及材质信息。

5.  FBX模型属性:

FBX模型属性(FbxNodeAttribute)作为FbxNode中的成员,它定义了该节点所表示的元素,如光源、相机或几何元素等。

6.  FBX网格:

FBX网格(FbxMexh)继承于FbxNodeAttribute,用来表示FBX节点中的网格图元,其基本信息有:

a.      控制点列表control Points/ vertices;

b.      多边形列表polygons;

c.       一系列的层(FbxLayer),用来保存网格的法向、贴图以及材质信息。

7.  FBX矩阵变换:

FBX文件中的矩阵变换比较复杂,每个FbxNode中有3个转换矩阵,分别是

a.      LocalTransform 本地转换矩阵,这个转换矩阵是指节点相对于父节点的变换,局部变换可以通过FbxNode::EvaluateLocalTransform()函数获得;

b.      GlobalTransform 全局变换,这个转换矩阵是指节点相对于世界坐标的变换,全局变换可以通过FbxNode::EvaluateGlobalTransform()函数获得,也可以由节点本身开始,获得上层所有节点的转换进行叠加获得。

c.      GeometricTransform 物理变换,这个变换矩阵与其他节点无关,可以视作节点的几何数据相对于节点自身的坐标系的一个转换,获得物理变换的方法是

FbxAMatrix matrixGeo;

  matrixGeo.SetIdentity();

  if (node->GetNodeAttribute())

  {

            const FbxVector4 lT = node->GetGeometricTranslation(FbxNode::eSourcePivot);

            const FbxVector4 lR =node->GetGeometricRotation(FbxNode::eSourcePivot);

            const FbxVector4 lS =node->GetGeometricScaling(FbxNode::eSourcePivot);

            matrixGeo.SetT(lT);

            matrixGeo.SetR(lR);

            matrixGeo.SetS(lS);

  }

终上所述,要获得一个网格数据相对于全局的变换可以使用GlobalTranform * GeometricTransform获得。另外需要注意的是FBX的矩阵是基于列的,转为Hidas矩阵时需要做转置


http://chatgpt.dhexx.cn/article/A1Qb0FKD.shtml

相关文章

fbx格式研究

Part1fbx简介 Autodesk FBX是Autodesk公司出品的一款用于跨平台的免费三维创作与交换格式的软件,通过FBX用户能访问大多数三维供应商的三维文件。FBX 文件格式支持所有主要的三维数据元素以及二维、音频和视频媒体元素。FBX对于三维软件的兼容性非常非常强大&#x…

matlab 画图的颜色

plot函数代表不同颜色的标示符一共有八种: y:黄色;k:黑色;w:白色;b:蓝色;g:绿色;r:红色;c:亮青色&#xff1b…

Matlab画图线型、符号及颜色汇总

【1】线型、标记符、颜色的说明 【2】对于坐标轴的注释内容xlabel,ylabel的属性说明 figure,plot(Seg1,SS1_QJ1,k);hold onplot(Seg1,SS1_QJ1,ks)plot(Seg1,Q1*ones(length(Seg1)),r)xlabel(\bf{安装角}(),FontSize,10.508) %\bf是加粗的意思%xlabel(\fontsize{10.508}\fontn…

matlab绘图颜色RGB

一.1.MATLAB中颜色数值 二.常用颜色

matlab中的颜色,Matlab里面除了常用的还有哪些颜色?已知的颜色不够怎么办?

我这里有个自己写的函数,支持64个色 %% H:取色函数 % INTRODUCTORY TEXT %标题综述************************ %调用默认色图可实现64色的选取 %输入**************************** %①所选颜色个数 %输出**************************** %①待用颜色的RGB矩阵 %调用流程…

Matlab中绘制颜色渐变曲线

大家在文章中是否看见过各类颜色渐变的曲线呢?今天小编就教大家在matlab中如何绘制这类颜色渐变的曲线。 一、scatter3函数 这个函数是大家最常想到的函数,具体用法就看其帮助文档,小编就给出一段示例代码: % Matlab% data z …

matlab画图配色RGB+线性

转载自https://blog.csdn.net/a_cherry_blossoms/article/details/115185831 画图的线型和符号该博主链接中可以找到:https://blog.csdn.net/weixin_45634606/article/details/104422695 1.使用matlab画图时,怎样才能调出顺眼的颜色呢?反正我…

matlab中surf怎么改变颜色_MATLAB作图

未完,之后将逐渐更新 %%2D作图 1、极坐标转直角坐标 1.1直接用公式 利用极坐标转直接坐标公式 thet=0:2*pi/100:2*pi; rho=1; x=rho.*cos(thet); y=rho.*sin(thet); plot(x,y); 1.2 用pol2cart [x,y]=pol2cart(thet,rho);相当于1.1中第三第四行代码 同理直角坐标转极坐标用car…

Matlab 绘图 曲线颜色自定义

Matlab 绘图 曲线颜色自定义 同时组合图内间距小 确定绘制曲线的RGB颜色根据RGB颜色将其除以255归一化到0-1,plot中选择属性’color’为RGB值即可。示例如下 rn 2; % The number of rows cn 2; % The number of columns% color1 [34 139 34]; % color2 [255…

matlab 中曲线颜色,matlab曲线颜色样式设置

满意答案 南渡江ndj 2013.09.03 采纳率:43% 等级:12 已帮助:19801人 你好 这是我总结的画图资料 比如画一条蓝色的x号线 plot(x,y,bg) 画图: 线形:-实线 -. 点划线 --长虚线 :短虚线 符号 颜色 符号 线形 b 蓝 . 点 c 青 。 圈 g 绿 标记 k 黑 - 实线 m 紫红 * 星号 r 红…

MATLAB画图颜色渐变

原文(https://wenku.baidu.com/view/bf87a9d5804d2b160a4ec03f.html) 1 渐变 1.1 t[linspace(0,2*pi) nan]; xsin(t);ycos(2*t);zsqrt(t);%所要绘制的曲线方程 patch(x,y,z,z,edgecolor,flat,facecolor,none) view(3);grid on;colorbar 1.2 x-200…

[Matlab]绘图颜色

[Matlab]绘图颜色 修改或规定Matlab中几何图形的颜色,对颜色可以有四种描述方法,分别是:颜色名称、短名称、RGB三元组、十六进制颜色代码。 Matlab中较美观的颜色(RGB三元组) %% 适用于Matlab的RGB颜色 [0.00,0.45,0.74] //蓝 [0.85,0.33,…

matlab画图的参数,Matlab 画图plot参数 颜色 类型

this.p{ m:2, b:2, loftPermalink:, id:fks_094074086082083066081094082095081081081071087084083068, blogTitle:Matlab 画图plot参数 颜色 类型, blogAbstract:绘图参数 y 黄 - 实线 . 点 < 小于号 m 紫 &#xff1a;点线 o 圆 s 正方形 c 青 -. 点…

matlab画图中颜色渐变

最近又开始用matlab画图了&#xff0c;以前配色一直用colormap&#xff0c;用过自带的配色&#xff0c;比如et, hsv, autumn, bone等&#xff0c;也自己定义过mycolormap。现在开始用m_map配色了&#xff0c;爽心悦目&#xff0c;感觉很不错&#xff01;强烈推荐下m_map工具箱官…

Matlab | 画图线型及颜色符号汇总

这里写目录标题 线条的主要属性Color: 颜色LineStyle: 线型LineWidth: 线宽Marker: 标记点的形状MarkerFaceColor: 标记点填充颜色MarkerEdgeColor: 标记点边缘颜色MarkerSize: 标记点大小 matlab 中 线条的主要属性 Color: 颜色 颜色rgbcmykw说明红色绿色蓝色青绿色洋红色黄…

Matlab画图颜色设置

注意&#xff1a;MATLAB中调色板色彩强度[0,1]&#xff0c;0代表最暗&#xff0c;1代表最亮。 常用颜色的RGB值 -------------------------------------------- 颜色 R G B 颜色 R G B -------------------------------------------- 黑 …

oracle 按旬统计并且每月小计 行转列 PIVOT函数 与分组小计 ROLLUP 函数

数据库版本:oralce 11g 表名WM_TD_WATER_DAILY 结构如下,我把没用到的字段隐藏了,全放出来不太好哈. MONITOR_ID为BI_TB_MONITOR_BI的ID ,用于关联站点名称(SHORT_NAME). 业务需求 :现有日水量表,每条数据记录着一天的用水量,bi_tb_monitor_bi中有一下九个站点 全部SQL如下…

rollup分析函数

表的初始数据&#xff1a; 使用rollup进行汇总之后的数据&#xff1a; select t.first_name,sum(t.salary) from t_test1 tgroup by rollup(t.first_name) 可以改写为&#xff1a; select nvl(t.first_name,total),sum(t.salary) from t_test1 tgroup by rollup(t.first_name…

达梦cube和rollup函数使用

在使用前需要安装达梦数据库&#xff0c;并创建示例库DMHR ● ROLLUP ● 比如获取公司各城市每个部门员工人数分布和薪资分布情况&#xff0c;使用group by rollup的sql样例参考如下&#xff1a; 从结果集中可以看出group by rollup聚合了城市和部门组合&#xff0c;城市组合…

with rollup函数做合计以及行转列

MySQL-with rollup函数运用 _20160930 在博客里http://www.cnblogs.com/Mr-Cxy/p/5898839.html提到了行转列&#xff0c;(http://blog.csdn.net/ybygjy/article/details/41557425)行转列 列转行都有 如果想在下面这个表下面添加一行 总计 数据行SQL代码怎么实现 并且根据9月金…