Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Ablesons
three.js
提交
d64fb0f6
T
three.js
项目概览
Ablesons
/
three.js
与 Fork 源项目一致
从无法访问的项目Fork
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
T
three.js
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
d64fb0f6
编写于
4月 09, 2020
作者:
K
Karl Haubenwallner
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
modify /js/loaders instead of jsm/loaders/
上级
c69fc607
变更
2
显示空白变更内容
内联
并排
Showing
2 changed file
with
32 addition
and
28 deletion
+32
-28
examples/js/loaders/FBXLoader.js
examples/js/loaders/FBXLoader.js
+19
-13
examples/jsm/loaders/FBXLoader.js
examples/jsm/loaders/FBXLoader.js
+13
-15
未找到文件。
examples/js/loaders/FBXLoader.js
浏览文件 @
d64fb0f6
...
@@ -3986,43 +3986,49 @@ THREE.FBXLoader = ( function () {
...
@@ -3986,43 +3986,49 @@ THREE.FBXLoader = ( function () {
// Global Shear*Scaling
// Global Shear*Scaling
var
lParentTM
=
new
THREE
.
Matrix4
();
var
lParentTM
=
new
THREE
.
Matrix4
();
var
lLSM
;
var
lLSM
=
new
Matrix4
();
var
lParentGSM
;
var
lParentGSM
=
new
Matrix4
();
var
lParentGRSM
;
var
lParentGRSM
=
new
Matrix4
();
var
lParentTM_inv
=
new
Matrix4
().
getInverse
(
lParentTM
);
lParentTM
.
copyPosition
(
lParentGX
);
lParentTM
.
copyPosition
(
lParentGX
);
lParentGRSM
=
lParentTM
.
getInverse
(
lParentTM
).
multiply
(
lParentGX
);
lParentGRSM
.
multiply
(
lParentTM_inv
).
multiply
(
lParentGX
);
lParentGSM
=
lParentGRM
.
getInverse
(
lParentGRM
).
multiply
(
lParentGRSM
);
var
lParentGRM_inv
=
new
Matrix4
().
getInverse
(
lParentGRM
);
lParentGSM
.
multiply
(
lParentGRM_inv
).
multiply
(
lParentGRSM
);
lLSM
=
lScalingM
;
lLSM
=
lScalingM
;
var
lGlobalRS
;
var
lGlobalRS
=
new
Matrix4
()
;
if
(
inheritType
===
0
)
{
if
(
inheritType
===
0
)
{
lGlobalRS
=
lParentGRM
.
multiply
(
lLRM
).
multiply
(
lParentGSM
).
multiply
(
lLSM
);
lGlobalRS
.
multiply
(
lParentGRM
)
.
multiply
(
lLRM
).
multiply
(
lParentGSM
).
multiply
(
lLSM
);
}
else
if
(
inheritType
===
1
)
{
}
else
if
(
inheritType
===
1
)
{
lGlobalRS
=
lParentGRM
.
multiply
(
lParentGSM
).
multiply
(
lLRM
).
multiply
(
lLSM
);
lGlobalRS
.
multiply
(
lParentGRM
)
.
multiply
(
lParentGSM
).
multiply
(
lLRM
).
multiply
(
lLSM
);
}
else
{
}
else
{
var
lParentLSM
=
new
THREE
.
Matrix4
().
copy
(
lScalingM
);
var
lParentLSM
=
new
THREE
.
Matrix4
().
copy
(
lScalingM
);
var
lParentGSM_noLocal
=
lParentGSM
.
multiply
(
lParentLSM
.
getInverse
(
lParentLSM
)
);
var
lParentLSM_inv
=
new
Matrix4
().
getInverse
(
lParentLSM
);
var
lParentGSM_noLocal
=
new
Matrix4
().
multiply
(
lParentGSM
).
multiply
(
lParentLSM_inv
);
lGlobalRS
=
lParentGRM
.
multiply
(
lLRM
).
multiply
(
lParentGSM_noLocal
).
multiply
(
lLSM
);
lGlobalRS
.
multiply
(
lParentGRM
)
.
multiply
(
lLRM
).
multiply
(
lParentGSM_noLocal
).
multiply
(
lLSM
);
}
}
// Calculate the local transform matrix
// Calculate the local transform matrix
var
lTransform
=
lTranslationM
.
multiply
(
lRotationOffsetM
).
multiply
(
lRotationPivotM
).
multiply
(
lPreRotationM
).
multiply
(
lRotationM
).
multiply
(
lPostRotationM
).
multiply
(
lRotationPivotM
.
getInverse
(
lRotationPivotM
)
).
multiply
(
lScalingOffsetM
).
multiply
(
lScalingPivotM
).
multiply
(
lScalingM
).
multiply
(
lScalingPivotM
.
getInverse
(
lScalingPivotM
)
);
var
lTransform
=
new
Matrix4
();
lTransform
.
multiply
(
lTranslationM
).
multiply
(
lRotationOffsetM
).
multiply
(
lRotationPivotM
).
multiply
(
lPreRotationM
).
multiply
(
lRotationM
).
multiply
(
lPostRotationM
).
multiply
(
lRotationPivotM_inv
).
multiply
(
lScalingOffsetM
).
multiply
(
lScalingPivotM
).
multiply
(
lScalingM
).
multiply
(
lScalingPivotM_inv
);
var
lLocalTWithAllPivotAndOffsetInfo
=
new
THREE
.
Matrix4
().
copyPosition
(
lTransform
);
var
lLocalTWithAllPivotAndOffsetInfo
=
new
THREE
.
Matrix4
().
copyPosition
(
lTransform
);
var
lGlobalTranslation
=
lParentGX
.
multiply
(
lLocalTWithAllPivotAndOffsetInfo
);
var
lGlobalTranslation
=
new
Matrix4
().
multiply
(
lParentGX
)
.
multiply
(
lLocalTWithAllPivotAndOffsetInfo
);
lGlobalT
.
copyPosition
(
lGlobalTranslation
);
lGlobalT
.
copyPosition
(
lGlobalTranslation
);
lTransform
=
lGlobalT
.
multiply
(
lGlobalRS
);
lTransform
=
new
Matrix4
().
multiply
(
lGlobalT
)
.
multiply
(
lGlobalRS
);
return
lTransform
;
return
lTransform
;
...
...
examples/jsm/loaders/FBXLoader.js
浏览文件 @
d64fb0f6
...
@@ -4004,6 +4004,7 @@ var FBXLoader = ( function () {
...
@@ -4004,6 +4004,7 @@ var FBXLoader = ( function () {
var
array
=
transformData
.
rotation
.
map
(
MathUtils
.
degToRad
);
var
array
=
transformData
.
rotation
.
map
(
MathUtils
.
degToRad
);
array
.
push
(
transformData
.
eulerOrder
);
array
.
push
(
transformData
.
eulerOrder
);
lRotationM
.
makeRotationFromEuler
(
tempEuler
.
fromArray
(
array
)
);
lRotationM
.
makeRotationFromEuler
(
tempEuler
.
fromArray
(
array
)
);
}
}
if
(
transformData
.
postRotation
)
{
if
(
transformData
.
postRotation
)
{
...
@@ -4026,7 +4027,7 @@ var FBXLoader = ( function () {
...
@@ -4026,7 +4027,7 @@ var FBXLoader = ( function () {
if
(
transformData
.
parentMatrixWorld
)
lParentGX
=
transformData
.
parentMatrixWorld
;
if
(
transformData
.
parentMatrixWorld
)
lParentGX
=
transformData
.
parentMatrixWorld
;
// Global Rotation
// Global Rotation
var
lLRM
=
new
Matrix4
().
multiply
(
lPreRotationM
).
multiply
(
lRotationM
).
multiply
(
lPostRotationM
);
var
lLRM
=
lPreRotationM
.
multiply
(
lRotationM
).
multiply
(
lPostRotationM
);
var
lParentGRM
=
new
Matrix4
();
var
lParentGRM
=
new
Matrix4
();
lParentGX
.
extractRotation
(
lParentGRM
);
lParentGX
.
extractRotation
(
lParentGRM
);
...
@@ -4036,16 +4037,15 @@ var FBXLoader = ( function () {
...
@@ -4036,16 +4037,15 @@ var FBXLoader = ( function () {
var
lParentGSM
=
new
Matrix4
();
var
lParentGSM
=
new
Matrix4
();
var
lParentGRSM
=
new
Matrix4
();
var
lParentGRSM
=
new
Matrix4
();
var
lParentTM_inv
=
new
Matrix4
().
getInverse
(
lParentTM
);
var
lParentTM_inv
=
new
Matrix4
().
getInverse
(
lParentTM
);
lParentTM
.
copyPosition
(
lParentGX
);
lParentTM
.
copyPosition
(
lParentGX
);
lParentGRSM
.
multiply
(
lParentTM_inv
).
multiply
(
lParentGX
);
lParentGRSM
.
multiply
(
lParentTM_inv
).
multiply
(
lParentGX
);
var
lParentGRM_inv
=
new
Matrix4
().
getInverse
(
lParentGRM
);
var
lParentGRM_inv
=
new
Matrix4
().
getInverse
(
lParentGRM
);
lParentGSM
.
multiply
(
lParentGRM_inv
).
multiply
(
lParentGRSM
);
lParentGSM
.
multiply
(
lParentGRM_inv
).
multiply
(
lParentGRSM
);
lLSM
=
lScalingM
;
lLSM
=
lScalingM
;
var
lGlobalRS
=
new
Matrix4
();
var
lGlobalRS
=
new
Matrix4
();
if
(
inheritType
===
0
)
{
if
(
inheritType
===
0
)
{
...
@@ -4053,24 +4053,22 @@ var FBXLoader = ( function () {
...
@@ -4053,24 +4053,22 @@ var FBXLoader = ( function () {
}
else
if
(
inheritType
===
1
)
{
}
else
if
(
inheritType
===
1
)
{
lGlobalRS
.
multiply
(
lParentGRM
).
multiply
(
lParentGSM
).
multiply
(
lLRM
).
multiply
(
lLSM
);
lGlobalRS
.
multiply
(
lParentGRM
).
multiply
(
lParentGSM
).
multiply
(
lLRM
).
multiply
(
lLSM
);
}
else
{
}
else
{
var
lParentLSM
=
new
Matrix4
().
copy
(
lScalingM
);
var
lParentLSM
=
new
Matrix4
().
copy
(
lScalingM
);
var
lParentGSM_noLocal
=
new
Matrix4
().
multiply
(
lParentGSM
).
multiply
(
lParentLSM
.
getInverse
(
lParentLSM
)
);
var
lParentLSM_inv
=
new
Matrix4
().
getInverse
(
lParentLSM
);
var
lParentGSM_noLocal
=
new
Matrix4
().
multiply
(
lParentGSM
).
multiply
(
lParentLSM_inv
);
lGlobalRS
.
multiply
(
lParentGRM
).
multiply
(
lLRM
).
multiply
(
lParentGSM_noLocal
).
multiply
(
lLSM
);
lGlobalRS
.
multiply
(
lParentGRM
).
multiply
(
lLRM
).
multiply
(
lParentGSM_noLocal
).
multiply
(
lLSM
);
}
}
var
lRotationPivotM_inv
=
new
Matrix4
().
getInverse
(
lRotationPivotM
);
var
lScalingPivotM_inv
=
new
Matrix4
().
getInverse
(
lScalingPivotM
);
// Calculate the local transform matrix
// Calculate the local transform matrix
var
lTransform
=
new
Matrix4
;
var
lTransform
=
new
Matrix4
()
;
lTransform
.
multiply
(
lTranslationM
).
multiply
(
lRotationOffsetM
).
multiply
(
lRotationPivotM
).
multiply
(
lPreRotationM
).
multiply
(
lRotationM
).
multiply
(
lPostRotationM
).
multiply
(
lRotationPivotM_inv
).
multiply
(
lScalingOffsetM
).
multiply
(
lScalingPivotM
).
multiply
(
lScalingM
).
multiply
(
lScalingPivotM_inv
);
lTransform
.
multiply
(
lTranslationM
).
multiply
(
lRotationOffsetM
).
multiply
(
lRotationPivotM
).
multiply
(
lPreRotationM
).
multiply
(
lRotationM
).
multiply
(
lPostRotationM
).
multiply
(
lRotationPivotM_inv
).
multiply
(
lScalingOffsetM
).
multiply
(
lScalingPivotM
).
multiply
(
lScalingM
).
multiply
(
lScalingPivotM_inv
);
var
lLocalTWithAllPivotAndOffsetInfo
=
new
Matrix4
().
copyPosition
(
lTransform
);
var
lLocalTWithAllPivotAndOffsetInfo
=
new
Matrix4
().
copyPosition
(
lTransform
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录