Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Ablesons
three.js
提交
dd67f5e3
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,发现更多精彩内容 >>
未验证
提交
dd67f5e3
编写于
12月 15, 2017
作者:
M
Mr.doob
提交者:
GitHub
12月 15, 2017
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #12885 from donmccurdy/feat-gltfloader-cubicspline
GLTFLoader: Implement basic CUBICSPLINE support
上级
b8b2e775
5249a1b3
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
26 addition
and
3 deletion
+26
-3
examples/js/loaders/GLTFLoader.js
examples/js/loaders/GLTFLoader.js
+26
-3
未找到文件。
examples/js/loaders/GLTFLoader.js
浏览文件 @
dd67f5e3
...
...
@@ -994,7 +994,6 @@ THREE.GLTFLoader = ( function () {
};
var
INTERPOLATION
=
{
CATMULLROMSPLINE
:
THREE
.
InterpolateSmooth
,
CUBICSPLINE
:
THREE
.
InterpolateSmooth
,
LINEAR
:
THREE
.
InterpolateLinear
,
STEP
:
THREE
.
InterpolateDiscrete
...
...
@@ -2297,9 +2296,33 @@ THREE.GLTFLoader = ( function () {
var
targetName
=
node
.
name
?
node
.
name
:
node
.
uuid
;
if
(
sampler
.
interpolation
===
'
C
ATMULLROM
SPLINE
'
)
{
if
(
sampler
.
interpolation
===
'
C
UBIC
SPLINE
'
)
{
console
.
warn
(
'
THREE.GLTFLoader: CATMULLROMSPLINE interpolation is not supported. Using CUBICSPLINE instead.
'
);
var
itemSize
=
outputAccessor
.
itemSize
;
var
TypedArray
=
outputAccessor
.
array
.
constructor
;
var
outputAccessorValues
=
new
TypedArray
(
outputAccessor
.
count
*
itemSize
/
3
);
// Layout of keyframe output values for CUBICSPLINE animations:
//
// [ inTangent1, splineVertex1, outTangent1, inTangent2, splineVertex2, ... ]
//
// THREE.KeyframeTrack infers tangents from the spline vertices when interpolating:
// those values are extracted below. This still guarantees smooth curves, but does
// throw away more precise information in the tangents. In the future, consider
// re-sampling at a higher framerate using the tangents provided.
//
// See: https://github.com/KhronosGroup/glTF/blob/master/specification/2.0/README.md#appendix-c-spline-interpolation
for
(
var
j
=
0
,
jl
=
outputAccessor
.
count
;
j
<
jl
;
j
+=
3
)
{
outputAccessorValues
[
j
/
3
]
=
outputAccessor
.
getX
(
j
+
1
);
if
(
itemSize
>
1
)
outputAccessorValues
[
j
/
3
+
1
]
=
outputAccessor
.
getY
(
j
+
1
);
if
(
itemSize
>
2
)
outputAccessorValues
[
j
/
3
+
2
]
=
outputAccessor
.
getZ
(
j
+
1
);
if
(
itemSize
>
3
)
outputAccessorValues
[
j
/
3
+
3
]
=
outputAccessor
.
getW
(
j
+
1
);
}
outputAccessor
=
new
THREE
.
BufferAttribute
(
outputAccessorValues
,
itemSize
/
3
,
outputAccessor
.
normalized
);
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录