Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
车家大少爷
three.js
提交
6d16c9a8
T
three.js
项目概览
车家大少爷
/
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,发现更多精彩内容 >>
未验证
提交
6d16c9a8
编写于
8月 25, 2018
作者:
M
Mr.doob
提交者:
GitHub
8月 25, 2018
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #14781 from Mugen87/dev17
Examples: Moved webgl_skinning_simple to gltf
上级
ab5f3903
648e6b9d
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
593 addition
and
32 deletion
+593
-32
examples/models/gltf/SimpleSkinning.gltf
examples/models/gltf/SimpleSkinning.gltf
+513
-0
examples/webgl_skinning_simple.html
examples/webgl_skinning_simple.html
+80
-32
未找到文件。
examples/models/gltf/SimpleSkinning.gltf
0 → 100644
浏览文件 @
6d16c9a8
{
"accessors": [
{
"bufferView": 2,
"componentType": 5126,
"count": 64,
"max": [
4.482270240783691,
1.1916500329971313,
0.5620899796485901
],
"min": [
-0.7385400533676147,
-0.8083500266075134,
-6.14601993560791
],
"type": "VEC3",
"byteOffset": 0
},
{
"bufferView": 2,
"byteOffset": 768,
"componentType": 5126,
"count": 64,
"max": [
1,
1,
1
],
"min": [
-1,
-1,
-1
],
"type": "VEC3"
},
{
"bufferView": 1,
"componentType": 5125,
"count": 132,
"max": [
63
],
"min": [
0
],
"type": "SCALAR",
"byteOffset": 0
},
{
"bufferView": 4,
"componentType": 5126,
"count": 3,
"max": [
1,
0,
0,
0,
0.0007900000200606883,
1,
0,
0,
0.015599999576807022,
0,
1,
0,
3.7517900466918945,
0,
0.12797999382019043,
1
],
"min": [
-0.9998800158500671,
-0.015599999576807022,
-0.0007900000200606883,
0,
0,
0.0006000000284984708,
-1,
0,
0,
-0.9998800158500671,
-0.000590000010561198,
0,
0,
-0.09928999841213226,
0,
1
],
"type": "MAT4",
"byteOffset": 0
},
{
"bufferView": 0,
"componentType": 5123,
"count": 64,
"max": [
2,
2,
2,
2
],
"min": [
1,
1,
2,
2
],
"type": "VEC4",
"byteOffset": 0
},
{
"bufferView": 3,
"componentType": 5126,
"count": 64,
"max": [
1,
0.13106000423431396,
0,
0
],
"min": [
0.868939995765686,
0,
0,
0
],
"type": "VEC4",
"byteOffset": 0
},
{
"bufferView": 5,
"componentType": 5126,
"count": 10,
"max": [
0.4166699945926666
],
"min": [
0.041669998317956924
],
"type": "SCALAR",
"byteOffset": 0
},
{
"bufferView": 6,
"componentType": 5126,
"count": 10,
"max": [
-0.006437911186367273,
0.8523336052894592,
-0.5229341387748718,
-0.0009889232460409403
],
"min": [
-0.009998129680752754,
0.4723302721977234,
-0.8813651204109192,
-0.0044136554934084415
],
"type": "VEC4",
"byteOffset": 0
},
{
"bufferView": 5,
"byteOffset": 40,
"componentType": 5126,
"count": 10,
"max": [
0.4166699945926666
],
"min": [
0.041669998317956924
],
"type": "SCALAR"
},
{
"bufferView": 6,
"byteOffset": 160,
"componentType": 5126,
"count": 10,
"max": [
-0.0010160086676478386,
0.8522936701774597,
-0.5229744911193848,
-0.0070647685788571835
],
"min": [
-0.0033321231603622437,
0.47228026390075684,
-0.8814147114753723,
-0.00925880204886198
],
"type": "VEC4"
}
],
"animations": [
{
"channels": [
{
"sampler": 0,
"target": {
"node": 7,
"path": "rotation"
}
},
{
"sampler": 1,
"target": {
"node": 8,
"path": "rotation"
}
}
],
"name": "Take 01",
"samplers": [
{
"input": 6,
"interpolation": "LINEAR",
"output": 7
},
{
"input": 8,
"interpolation": "LINEAR",
"output": 9
}
]
}
],
"asset": {
"version": "2.0"
},
"bufferViews": [
{
"buffer": 0,
"byteLength": 512,
"byteOffset": 0,
"byteStride": 8,
"name": "shortBufferViews",
"target": 34962
},
{
"buffer": 0,
"byteLength": 528,
"byteOffset": 512,
"name": "floatBufferViews",
"target": 34963
},
{
"buffer": 0,
"byteLength": 1536,
"byteOffset": 1040,
"byteStride": 12,
"name": "floatBufferViews",
"target": 34962
},
{
"buffer": 0,
"byteLength": 1024,
"byteOffset": 2576,
"byteStride": 16,
"name": "floatBufferViews",
"target": 34962
},
{
"buffer": 0,
"byteLength": 192,
"byteOffset": 3600,
"byteStride": 64,
"name": "floatBufferViews"
},
{
"buffer": 0,
"byteLength": 80,
"byteOffset": 3792,
"name": "floatBufferViews"
},
{
"buffer": 0,
"byteLength": 320,
"byteOffset": 3872,
"byteStride": 16,
"name": "floatBufferViews"
}
],
"buffers": [
{
"name": "scene",
"byteLength": 4192,
"uri": "data:application/octet-stream;base64,AgABAAIAAgACAAEAAgACAAEAAgACAAIAAQACAAIAAgACAAEAAgACAAIAAQACAAIAAgACAAIAAgACAAIAAgACAAIAAQACAAIAAgABAAIAAgABAAIAAgACAAEAAgACAAIAAQACAAIAAgABAAIAAgACAAEAAgACAAIAAQACAAIAAgACAAEAAgACAAIAAQACAAIAAQACAAIAAgABAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAQACAAIAAgABAAIAAgACAAEAAgACAAIAAQACAAIAAgABAAIAAgACAAEAAgACAAIAAQACAAIAAgABAAIAAgACAAEAAgACAAIAAQACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgABAAIAAgACAAEAAgACAAIAAgACAAIAAgACAAIAAgABAAIAAgACAAEAAgACAAIAAQACAAIAAgABAAIAAgACAAEAAgACAAIAAQACAAIAAgABAAIAAgACAAEAAgACAAIAAQACAAIAAgABAAIAAgACAAEAAgACAAIAAQACAAIAAgAAAAAAAQAAAAIAAAAAAAAAAgAAAAMAAAAEAAAABQAAAAYAAAAEAAAABgAAAAcAAAAIAAAACQAAAAoAAAAIAAAACgAAAAsAAAAMAAAADQAAAA4AAAAMAAAADgAAAA8AAAAQAAAAEQAAABIAAAAQAAAAEgAAABMAAAAUAAAAFQAAABYAAAAUAAAAFgAAABcAAAAJAAAACAAAABgAAAAJAAAAGAAAABkAAAARAAAAEAAAABoAAAARAAAAGgAAABsAAAARAAAAGwAAABwAAAARAAAAHAAAAB0AAAAeAAAAHwAAACAAAAAeAAAAIAAAACEAAAATAAAAEgAAACIAAAATAAAAIgAAACMAAAALAAAACgAAACQAAAALAAAAJAAAACUAAAALAAAAJQAAACYAAAALAAAAJgAAACcAAAAoAAAAKQAAACoAAAAoAAAAKgAAACsAAAAYAAAACAAAACwAAAAYAAAALAAAAC0AAAAUAAAAFwAAAC4AAAAUAAAALgAAAC8AAAAwAAAA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"
}
],
"materials": [
{
"doubleSided": true,
"emissiveFactor": [
0,
0,
0
],
"name": "Material",
"pbrMetallicRoughness": {
"baseColorFactor": [
0.196225211,
0.2164051533,
0.8000000119,
1
],
"metallicFactor": 0,
"roughnessFactor": 0.6
},
"alphaMode": "OPAQUE"
}
],
"meshes": [
{
"name": "Cube",
"primitives": [
{
"attributes": {
"JOINTS_0": 4,
"NORMAL": 1,
"POSITION": 0,
"WEIGHTS_0": 5
},
"indices": 2,
"material": 0,
"mode": 4
}
]
}
],
"nodes": [
{
"children": [
1
],
"name": "RootNode (gltf orientation matrix)",
"rotation": [
-0.7071067811865475,
0,
0,
0.7071067811865476
],
"translation": [
0,
0,
0
],
"scale": [
1,
1,
1
]
},
{
"children": [
2
],
"name": "RootNode (model correction matrix)"
},
{
"children": [
3,
5
],
"name": "Root"
},
{
"children": [
4
],
"matrix": [
-0.29086000000000006,
0.9551700000000001,
-0.05519000000000001,
0,
-0.7711,
-0.19988000000000003,
0.6045200000000001,
0,
0.5663900000000001,
0.21839000000000003,
0.7946700000000001,
0,
4.076250000000001,
1.00545,
5.903860000000001,
1
],
"name": "Lamp"
},
{
"name": "Lamp"
},
{
"children": [
6,
10,
9
],
"matrix": [
1,
0,
0,
0,
0,
1,
0,
0,
0,
0,
1,
0,
-1.2499399999999998,
-0.19165000000000001,
0.4379100000000001,
1
],
"name": "Armature"
},
{
"children": [
7,
8
],
"name": "Armature_rootJoint"
},
{
"name": "leg.R_Armature",
"rotation": [
-0.0052362778224051,
0.7072955369949341,
-0.7068748474121094,
-0.005794902332127094
],
"scale": [
1.000006079673767,
1.0000020265579224,
0.9999963641166687
],
"translation": [
0,
0,
0
]
},
{
"name": "leg.L_Armature",
"rotation": [
-0.0052362778224051,
0.7072955369949341,
-0.7068748474121094,
-0.005794902332127094
],
"scale": [
1.000006079673767,
1.0000020265579224,
0.9999963641166687
],
"translation": [
3.749890089035034,
0.1251000016927719,
-0.15771999955177307
]
},
{
"matrix": [
1,
0,
0,
0,
0,
1,
0,
0,
0,
0,
1,
0,
1.7602800000000003,
0.19165000000000001,
-0.4379100000000001,
1
],
"name": "Cube"
},
{
"mesh": 0,
"name": "Cube_0",
"skin": 0
}
],
"scene": 0,
"scenes": [
{
"name": "OSG_Scene",
"nodes": [
0
]
}
],
"skins": [
{
"inverseBindMatrices": 3,
"joints": [
6,
7,
8
],
"skeleton": 6
}
]
}
examples/webgl_skinning_simple.html
浏览文件 @
6d16c9a8
...
...
@@ -7,79 +7,127 @@
<style>
body
{
font-family
:
Monospace
;
background-color
:
#f0f0f0
;
background-color
:
#000
;
color
:
#fff
;
margin
:
0px
;
overflow
:
hidden
;
}
#info
{
color
:
#fff
;
position
:
absolute
;
top
:
10px
;
width
:
100%
;
text-align
:
center
;
z-index
:
100
;
display
:
block
;
}
#info
a
{
color
:
#046
;
font-weight
:
bold
;
}
</style>
</head>
<body>
<div
id=
"info"
>
<a
href=
"https://threejs.org"
target=
"_blank"
rel=
"noopener"
>
three.js
</a>
webgl - simple skinning -
<a
href=
"https://github.com/mrdoob/three.js/blob/master/examples/models/skinned/simple/simple.blend"
target=
"_blank"
rel=
"noopener"
>
Blender File
</a>
</div>
<script
src=
"../build/three.js"
></script>
<script
src=
"js/libs/stats.min.js"
></script>
<script
src=
"js/controls/OrbitControls.js"
></script>
<script
src=
"js/loaders/GLTFLoader.js"
></script>
<script>
var
container
,
stats
,
controls
;
var
camera
,
scene
,
renderer
,
loader
,
clock
,
light
;
var
skinnedMesh
,
animation
,
mixer
;
var
stats
,
mixer
,
camera
,
scene
,
renderer
,
clock
;
init
();
animate
();
function
init
()
{
container
=
document
.
createElement
(
'
div
'
);
var
container
=
document
.
createElement
(
'
div
'
);
document
.
body
.
appendChild
(
container
);
camera
=
new
THREE
.
PerspectiveCamera
(
45
,
window
.
innerWidth
/
window
.
innerHeight
,
1
,
1000
0
);
camera
.
position
.
set
(
10
,
0
,
10
);
camera
=
new
THREE
.
PerspectiveCamera
(
45
,
window
.
innerWidth
/
window
.
innerHeight
,
1
,
1000
);
camera
.
position
.
set
(
24
,
8
,
24
);
scene
=
new
THREE
.
Scene
();
loader
=
new
THREE
.
JSONLoader
(
);
clock
=
new
THREE
.
Clock
;
scene
.
background
=
new
THREE
.
Color
(
0xa0a0a0
);
scene
.
fog
=
new
THREE
.
Fog
(
0xa0a0a0
,
70
,
100
)
;
renderer
=
new
THREE
.
WebGLRenderer
();
renderer
.
setPixelRatio
(
window
.
devicePixelRatio
);
renderer
.
setSize
(
window
.
innerWidth
,
window
.
innerHeight
);
container
.
appendChild
(
renderer
.
domElement
);
clock
=
new
THREE
.
Clock
();
controls
=
new
THREE
.
OrbitControls
(
camera
,
renderer
.
domElement
);
// ground
stats
=
new
Stats
();
container
.
appendChild
(
stats
.
dom
);
var
geometry
=
new
THREE
.
PlaneBufferGeometry
(
16000
,
16000
);
var
material
=
new
THREE
.
MeshBasicMaterial
(
{
emissive
:
0xbbbbbb
}
);
var
geometry
=
new
THREE
.
PlaneBufferGeometry
(
500
,
500
);
var
material
=
new
THREE
.
MeshPhongMaterial
(
{
color
:
0x999999
,
depthWrite
:
false
}
);
var
ground
=
new
THREE
.
Mesh
(
geometry
,
material
);
ground
.
position
.
set
(
0
,
-
5
,
0
);
ground
.
rotation
.
x
=
-
Math
.
PI
/
2
;
ground
.
position
.
set
(
0
,
-
5
,
0
);
ground
.
rotation
.
x
=
-
Math
.
PI
/
2
;
ground
.
receiveShadow
=
true
;
scene
.
add
(
ground
);
light
=
new
THREE
.
HemisphereLight
(
0xffffff
,
0x003300
,
1
);
light
.
position
.
set
(
-
80
,
500
,
50
);
var
grid
=
new
THREE
.
GridHelper
(
500
,
100
,
0x000000
,
0x000000
);
grid
.
position
.
y
=
-
5
;
grid
.
material
.
opacity
=
0.2
;
grid
.
material
.
transparent
=
true
;
scene
.
add
(
grid
);
// lights
var
light
=
new
THREE
.
HemisphereLight
(
0xffffff
,
0x444444
,
0.6
);
light
.
position
.
set
(
0
,
200
,
0
);
scene
.
add
(
light
);
loader
.
load
(
'
./models/skinned/simple/simple.js
'
,
function
(
geometry
,
materials
)
{
light
=
new
THREE
.
DirectionalLight
(
0xffffff
,
0.8
);
light
.
position
.
set
(
0
,
20
,
10
);
light
.
castShadow
=
true
;
light
.
shadow
.
camera
.
top
=
18
;
light
.
shadow
.
camera
.
bottom
=
-
10
;
light
.
shadow
.
camera
.
left
=
-
12
;
light
.
shadow
.
camera
.
right
=
12
;
scene
.
add
(
light
);
for
(
var
k
in
materials
)
{
//
materials
[
k
].
skinning
=
true
;
var
loader
=
new
THREE
.
GLTFLoader
();
loader
.
load
(
'
./models/gltf/SimpleSkinning.gltf
'
,
function
(
gltf
)
{
}
scene
.
add
(
gltf
.
scene
);
skinnedMesh
=
new
THREE
.
SkinnedMesh
(
geometry
,
materials
);
skinnedMesh
.
scale
.
set
(
1
,
1
,
1
);
gltf
.
scene
.
traverse
(
function
(
child
)
{
scene
.
add
(
skinnedMesh
)
;
if
(
child
.
isSkinnedMesh
)
child
.
castShadow
=
true
;
mixer
=
new
THREE
.
AnimationMixer
(
skinnedMesh
);
mixer
.
clipAction
(
skinnedMesh
.
geometry
.
animations
[
0
]
).
play
();
}
);
mixer
=
new
THREE
.
AnimationMixer
(
gltf
.
scene
);
mixer
.
clipAction
(
gltf
.
animations
[
0
]
).
play
();
}
);
//
renderer
=
new
THREE
.
WebGLRenderer
();
renderer
.
setPixelRatio
(
window
.
devicePixelRatio
);
renderer
.
setSize
(
window
.
innerWidth
,
window
.
innerHeight
);
renderer
.
shadowMap
.
enabled
=
true
;
container
.
appendChild
(
renderer
.
domElement
);
//
stats
=
new
Stats
();
container
.
appendChild
(
stats
.
dom
);
var
controls
=
new
THREE
.
OrbitControls
(
camera
,
renderer
.
domElement
);
controls
.
enablePan
=
false
;
controls
.
minDistance
=
5
;
controls
.
maxDistance
=
50
;
}
function
animate
()
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录