Skip to content

Commit 338854b

Browse files
committed
added node as separate model
1 parent f921694 commit 338854b

File tree

6 files changed

+239
-7
lines changed

6 files changed

+239
-7
lines changed

3d_models/node.gltf

+156
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,156 @@
1+
{
2+
"asset" : {
3+
"generator" : "Khronos glTF Blender I/O v1.0.5",
4+
"version" : "2.0"
5+
},
6+
"scene" : 0,
7+
"scenes" : [
8+
{
9+
"extras" : {
10+
"glTF2ExportSettings" : {
11+
"export_extras" : 1,
12+
"export_format" : "GLTF_EMBEDDED"
13+
}
14+
},
15+
"name" : "Scene",
16+
"nodes" : [
17+
0,
18+
1,
19+
2
20+
]
21+
}
22+
],
23+
"nodes" : [
24+
{
25+
"name" : "Light",
26+
"rotation" : [
27+
0.16907575726509094,
28+
0.7558803558349609,
29+
-0.27217137813568115,
30+
0.570947527885437
31+
],
32+
"translation" : [
33+
4.076245307922363,
34+
5.903861999511719,
35+
-1.0054539442062378
36+
]
37+
},
38+
{
39+
"name" : "Camera",
40+
"rotation" : [
41+
0.483536034822464,
42+
0.33687159419059753,
43+
-0.20870360732078552,
44+
0.7804827094078064
45+
],
46+
"translation" : [
47+
7.358891487121582,
48+
4.958309173583984,
49+
6.925790786743164
50+
]
51+
},
52+
{
53+
"extras" : {
54+
"mouseEvent" : "true"
55+
},
56+
"mesh" : 0,
57+
"name" : "Node"
58+
}
59+
],
60+
"materials" : [
61+
{
62+
"doubleSided" : true,
63+
"name" : "Material.001",
64+
"pbrMetallicRoughness" : {
65+
"baseColorFactor" : [
66+
0.09433863312005997,
67+
0.24857880175113678,
68+
0.8000000715255737,
69+
1
70+
],
71+
"metallicFactor" : 0,
72+
"roughnessFactor" : 0.5
73+
}
74+
}
75+
],
76+
"meshes" : [
77+
{
78+
"name" : "Cylinder",
79+
"primitives" : [
80+
{
81+
"attributes" : {
82+
"POSITION" : 0,
83+
"NORMAL" : 1,
84+
"TEXCOORD_0" : 2
85+
},
86+
"indices" : 3,
87+
"material" : 0
88+
}
89+
]
90+
}
91+
],
92+
"accessors" : [
93+
{
94+
"bufferView" : 0,
95+
"componentType" : 5126,
96+
"count" : 192,
97+
"max" : [
98+
1,
99+
0.19999998807907104,
100+
0.34772002696990967
101+
],
102+
"min" : [
103+
-0.9999999403953552,
104+
0,
105+
-0.3477204442024231
106+
],
107+
"type" : "VEC3"
108+
},
109+
{
110+
"bufferView" : 1,
111+
"componentType" : 5126,
112+
"count" : 192,
113+
"type" : "VEC3"
114+
},
115+
{
116+
"bufferView" : 2,
117+
"componentType" : 5126,
118+
"count" : 192,
119+
"type" : "VEC2"
120+
},
121+
{
122+
"bufferView" : 3,
123+
"componentType" : 5123,
124+
"count" : 372,
125+
"type" : "SCALAR"
126+
}
127+
],
128+
"bufferViews" : [
129+
{
130+
"buffer" : 0,
131+
"byteLength" : 2304,
132+
"byteOffset" : 0
133+
},
134+
{
135+
"buffer" : 0,
136+
"byteLength" : 2304,
137+
"byteOffset" : 2304
138+
},
139+
{
140+
"buffer" : 0,
141+
"byteLength" : 1536,
142+
"byteOffset" : 4608
143+
},
144+
{
145+
"buffer" : 0,
146+
"byteLength" : 744,
147+
"byteOffset" : 6144
148+
}
149+
],
150+
"buffers" : [
151+
{
152+
"byteLength" : 6888,
153+
"uri" : "data:application/octet-stream;base64,wsVHPszMTD6snK6+wsVHPgAAAACsnK6+AAAAAAAAAABqCLK+AAAAAMzMTD5qCLK+Fu/DPszMTD4ee6S+Fu/DPgAAAAAee6S+wsVHPgAAAACsnK6+wsVHPszMTD6snK6+2jkOP8zMTD5oB5S+2jkOPwAAAABoB5S+Fu/DPgAAAAAee6S+Fu/DPszMTD4ee6S+8wQ1P8zMTD7Mxnu+8wQ1PwAAAADMxnu+2jkOPwAAAABoB5S+2jkOP8zMTD5oB5S+MttUP8zMTD7Q0UW+MttUPwAAAADQ0UW+8wQ1PwAAAADMxnu+8wQ1P8zMTD7Mxnu+XoNsP8zMTD60Qgi+XoNsPwAAAAC0Qgi+MttUPwAAAADQ0UW+MttUP8zMTD7Q0UW+vhR7P8zMTD4o7oq9vhR7PwAAAAAo7oq9XoNsPwAAAAC0Qgi+XoNsP8zMTD60Qgi+AACAP8zMTD6IRHu0AACAPwAAAACIRHu0vhR7PwAAAAAo7oq9vhR7P8zMTD4o7oq9vxR7P8zMTD7q7Yo9vxR7PwAAAADq7Yo9AACAPwAAAACIRHu0AACAP8zMTD6IRHu0X4NsP8zMTD6WQgg+X4NsPwAAAACWQgg+vxR7PwAAAADq7Yo9vxR7P8zMTD7q7Yo9MttUP8zMTD600UU+MttUPwAAAAC00UU+X4NsPwAAAACWQgg+X4NsP8zMTD6WQgg+8wQ1P8zMTD6wxns+8wQ1PwAAAACwxns+MttUPwAAAAC00UU+MttUP8zMTD600UU+2TkOP8zMTD5aB5Q+2TkOPwAAAABaB5Q+8wQ1PwAAAACwxns+8wQ1P8zMTD6wxns+EO/DPszMTD4Qe6Q+EO/DPgAAAAAQe6Q+2TkOPwAAAABaB5Q+2TkOP8zMTD5aB5Q+ssVHPszMTD6enK4+ssVHPgAAAACenK4+EO/DPgAAAAAQe6Q+EO/DPszMTD4Qe6Q+TO+utMzMTD5cCLI+TO+utAAAAABcCLI+ssVHPgAAAACenK4+ssVHPszMTD6enK4+3cVHvszMTD6enK4+3cVHvgAAAACenK4+TO+utAAAAABcCLI+TO+utMzMTD5cCLI+JO/DvszMTD4Me6Q+JO/DvgAAAAAMe6Q+3cVHvgAAAACenK4+3cVHvszMTD6enK4+4jkOv8zMTD5UB5Q+4jkOvwAAAABUB5Q+JO/DvgAAAAAMe6Q+JO/DvszMTD4Me6Q++wQ1v8zMTD6kxns++wQ1vwAAAACkxns+4jkOvwAAAABUB5Q+4jkOv8zMTD5UB5Q+ONtUv8zMTD6o0UU+ONtUvwAAAACo0UU++wQ1vwAAAACkxns++wQ1v8zMTD6kxns+ZINsv8zMTD6IQgg+ZINsvwAAAACIQgg+ONtUvwAAAACo0UU+ONtUv8zMTD6o0UU+wRR7v8zMTD7I7Yo9wRR7vwAAAADI7Yo9ZINsvwAAAACIQgg+ZINsv8zMTD6IQgg+//9/v8zMTD495hG1//9/vwAAAAA95hG1wRR7vwAAAADI7Yo9wRR7v8zMTD7I7Yo9uxR7v8zMTD5Y7oq9uxR7vwAAAABY7oq9//9/vwAAAAA95hG1//9/v8zMTD495hG1V4Nsv8zMTD7NQgi+V4NsvwAAAADNQgi+uxR7vwAAAABY7oq9uxR7v8zMTD5Y7oq9JttUv8zMTD7o0UW+JttUvwAAAADo0UW+V4NsvwAAAADNQgi+V4Nsv8zMTD7NQgi+5AQ1v8zMTD7gxnu+5AQ1vwAAAADgxnu+JttUvwAAAADo0UW+JttUv8zMTD7o0UW+xzkOv8zMTD5wB5S+xzkOvwAAAABwB5S+5AQ1vwAAAADgxnu+5AQ1v8zMTD7gxnu+6O7DvszMTD4ke6S+6O7DvgAAAAAke6S+xzkOvwAAAABwB5S+xzkOv8zMTD5wB5S+wsVHPszMTD6snK6+AAAAAMzMTD5qCLK+XcVHvszMTD6wnK6+6O7DvszMTD4ke6S+Fu/DPszMTD4ee6S+xzkOv8zMTD5wB5S+2jkOP8zMTD5oB5S+5AQ1v8zMTD7gxnu+8wQ1P8zMTD7Mxnu+JttUv8zMTD7o0UW+MttUP8zMTD7Q0UW+V4Nsv8zMTD7NQgi+XoNsP8zMTD60Qgi+uxR7v8zMTD5Y7oq9vhR7P8zMTD4o7oq9//9/v8zMTD495hG1AACAP8zMTD6IRHu0wRR7v8zMTD7I7Yo9vxR7P8zMTD7q7Yo9ZINsv8zMTD6IQgg+X4NsP8zMTD6WQgg+ONtUv8zMTD6o0UU+MttUP8zMTD600UU++wQ1v8zMTD6kxns+8wQ1P8zMTD6wxns+4jkOv8zMTD5UB5Q+2TkOP8zMTD5aB5Q+JO/DvszMTD4Me6Q+EO/DPszMTD4Qe6Q+3cVHvszMTD6enK4+ssVHPszMTD6enK4+TO+utMzMTD5cCLI+XcVHvszMTD6wnK6+XcVHvgAAAACwnK6+6O7DvgAAAAAke6S+6O7DvszMTD4ke6S+AAAAAMzMTD5qCLK+AAAAAAAAAABqCLK+XcVHvgAAAACwnK6+XcVHvszMTD6wnK6+XcVHvgAAAACwnK6+AAAAAAAAAABqCLK+wsVHPgAAAACsnK6+6O7DvgAAAAAke6S+Fu/DPgAAAAAee6S+xzkOvwAAAABwB5S+2jkOPwAAAABoB5S+5AQ1vwAAAADgxnu+8wQ1PwAAAADMxnu+JttUvwAAAADo0UW+MttUPwAAAADQ0UW+V4NsvwAAAADNQgi+XoNsPwAAAAC0Qgi+uxR7vwAAAABY7oq9vhR7PwAAAAAo7oq9//9/vwAAAAA95hG1AACAPwAAAACIRHu0wRR7vwAAAADI7Yo9vxR7PwAAAADq7Yo9ZINsvwAAAACIQgg+X4NsPwAAAACWQgg+ONtUvwAAAACo0UU+MttUPwAAAAC00UU++wQ1vwAAAACkxns+8wQ1PwAAAACwxns+4jkOvwAAAABUB5Q+2TkOPwAAAABaB5Q+JO/DvgAAAAAMe6Q+EO/DPgAAAAAQe6Q+3cVHvgAAAACenK4+ssVHPgAAAACenK4+TO+utAAAAABcCLI+NjIMPQAAAACb2X+/NjIMPQAAAACb2X+/NjIMPQAAAACb2X+/NjIMPQAAAACb2X+/mdTWPQAAAABxln6/mdTWPQAAAABxln6/mdTWPQAAAABxln6/mdTWPQAAAABxln6/2R07PgAAAACRsHu/2R07PgAAAACRsHu/2R07PgAAAACRsHu/2R07PgAAAACRsHu/vH+MPgAAAAA3LHa/vH+MPgAAAAA3LHa/vH+MPgAAAAA3LHa/vH+MPgAAAAA3LHa/gL7HPgAAAAALt2u/gL7HPgAAAAALt2u/gL7HPgAAAAALt2u/gL7HPgAAAAALt2u/LpkLPwAAAAC0lla/LpkLPwAAAAC0lla/LpkLPwAAAAC0lla/LpkLPwAAAAC0lla/v+hAPwAAAACjSii/v+hAPwAAAACjSii/v+hAPwAAAACjSii/v+hAPwAAAACjSii/U092PwAAAADIiIu+U092PwAAAADIiIu+U092PwAAAADIiIu+U092PwAAAADIiIu+V092PwAAAACuiIs+V092PwAAAACuiIs+V092PwAAAACuiIs+V092PwAAAACuiIs+wehAPwAAAACiSig/wehAPwAAAACiSig/wehAPwAAAACiSig/wehAPwAAAACiSig/LJkLPwAAAAC0llY/LJkLPwAAAAC0llY/LJkLPwAAAAC0llY/LJkLPwAAAAC0llY/gL7HPgAAAAALt2s/gL7HPgAAAAALt2s/gL7HPgAAAAALt2s/gL7HPgAAAAALt2s/uH+MPgAAAAA4LHY/uH+MPgAAAAA4LHY/uH+MPgAAAAA4LHY/uH+MPgAAAAA4LHY/0B07PgAAAACRsHs/0B07PgAAAACRsHs/0B07PgAAAACRsHs/0B07PgAAAACRsHs/ldTWPQAAAABxln4/ldTWPQAAAABxln4/ldTWPQAAAABxln4/ldTWPQAAAABxln4/MTIMPQAAAACa2X8/MTIMPQAAAACa2X8/MTIMPQAAAACa2X8/MTIMPQAAAACa2X8/MzIMvQAAAACb2X8/MzIMvQAAAACb2X8/MzIMvQAAAACb2X8/MzIMvQAAAACb2X8/7dTWvQAAAABwln4/7dTWvQAAAABwln4/7dTWvQAAAABwln4/7dTWvQAAAABwln4/6h07vgAAAACQsHs/6h07vgAAAACQsHs/6h07vgAAAACQsHs/6h07vgAAAACQsHs/vH+MvgAAAAA3LHY/vH+MvgAAAAA3LHY/vH+MvgAAAAA3LHY/vH+MvgAAAAA3LHY/i77HvgAAAAAKt2s/i77HvgAAAAAKt2s/i77HvgAAAAAKt2s/i77HvgAAAAAKt2s/NJkLvwAAAACwllY/NJkLvwAAAACwllY/NJkLvwAAAACwllY/NJkLvwAAAACwllY/1uhAvwAAAACKSig/1uhAvwAAAACKSig/1uhAvwAAAACKSig/1uhAvwAAAACKSig/Y092vwAAAABYiIs+Y092vwAAAABYiIs+Y092vwAAAABYiIs+Y092vwAAAABYiIs+TU92vwAAAAD3iIu+TU92vwAAAAD3iIu+TU92vwAAAAD3iIu+TU92vwAAAAD3iIu+quhAvwAAAAC8Sii/quhAvwAAAAC8Sii/quhAvwAAAAC8Sii/quhAvwAAAAC8Sii/F5kLvwAAAADBlla/F5kLvwAAAADBlla/F5kLvwAAAADBlla/F5kLvwAAAADBlla/Yr7HvgAAAAARt2u/Yr7HvgAAAAARt2u/Yr7HvgAAAAARt2u/Yr7HvgAAAAARt2u/pH+MvgAAAAA8LHa/pH+MvgAAAAA8LHa/pH+MvgAAAAA8LHa/pH+MvgAAAAA8LHa/sx07vgAAAACUsHu/sx07vgAAAACUsHu/sx07vgAAAACUsHu/sx07vgAAAACUsHu/AAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAZ9TWvQAAAAByln6/Z9TWvQAAAAByln6/Z9TWvQAAAAByln6/Z9TWvQAAAAByln6/2DEMvQAAAACZ2X+/2DEMvQAAAACZ2X+/2DEMvQAAAACZ2X+/2DEMvQAAAACZ2X+/AAAAAAAAgL8AAACAAAAAAAAAgL8AAACAAAAAAAAAgL8AAACAAAAAAAAAgL8AAACAAAAAAAAAgL8AAACAAAAAAAAAgL8AAACAAAAAAAAAgL8AAACAAAAAAAAAgL8AAACAAAAAAAAAgL8AAACAAAAAAAAAgL8AAACAAAAAAAAAgL8AAACAAAAAAAAAgL8AAACAAAAAAAAAgL8AAACAAAAAAAAAgL8AAACAAAAAAAAAgL8AAACAAAAAAAAAgL8AAACAAAAAAAAAgL8AAACAAAAAAAAAgL8AAACAAAAAAAAAgL8AAACAAAAAAAAAgL8AAACAAAAAAAAAgL8AAACAAAAAAAAAgL8AAACAAAAAAAAAgL8AAACAAAAAAAAAgL8AAACAAAAAAAAAgL8AAACAAAAAAAAAgL8AAACAAAAAAAAAgL8AAACAAAAAAAAAgL8AAACAAAAAAAAAgL8AAACAAAAAAAAAgL8AAACAAAAAAAAAgL8AAACAAAAAAAAAgL8AAACAAAB4PwAAAAAAAHg/AAAAPwAAgD8AAAA/AACAPwAAAAAAAHA/AAAAAAAAcD8AAAA/AAB4PwAAAD8AAHg/AAAAAAAAaD8AAAAAAABoPwAAAD8AAHA/AAAAPwAAcD8AAAAAAABgPwAAAAAAAGA/AAAAPwAAaD8AAAA/AABoPwAAAAAAAFg/AAAAAAAAWD8AAAA/AABgPwAAAD8AAGA/AAAAAAAAUD8AAAAAAABQPwAAAD8AAFg/AAAAPwAAWD8AAAAAAABIPwAAAAAAAEg/AAAAPwAAUD8AAAA/AABQPwAAAAAAAEA/AAAAAAAAQD8AAAA/AABIPwAAAD8AAEg/AAAAAAAAOD8AAAAAAAA4PwAAAD8AAEA/AAAAPwAAQD8AAAAAAAAwPwAAAAAAADA/AAAAPwAAOD8AAAA/AAA4PwAAAAAAACg/AAAAAAAAKD8AAAA/AAAwPwAAAD8AADA/AAAAAAAAID8AAAAAAAAgPwAAAD8AACg/AAAAPwAAKD8AAAAAAAAYPwAAAAAAABg/AAAAPwAAID8AAAA/AAAgPwAAAAAAABA/AAAAAAAAED8AAAA/AAAYPwAAAD8AABg/AAAAAAAACD8AAAAAAAAIPwAAAD8AABA/AAAAPwAAED8AAAAAAAAAPwAAAAAAAAA/AAAAPwAACD8AAAA/AAAIPwAAAAAAAPA+AAAAAAAA8D4AAAA/AAAAPwAAAD8AAAA/AAAAAAAA4D4AAAAAAADgPgAAAD8AAPA+AAAAPwAA8D4AAAAAAADQPgAAAAAAANA+AAAAPwAA4D4AAAA/AADgPgAAAAAAAMA+AAAAAAAAwD4AAAA/AADQPgAAAD8AANA+AAAAAAAAsD4AAAAAAACwPgAAAD8AAMA+AAAAPwAAwD4AAAAAAACgPgAAAAAAAKA+AAAAPwAAsD4AAAA/AACwPgAAAAAAAJA+AAAAAAAAkD4AAAA/AACgPgAAAD8AAKA+AAAAAAAAgD4AAAAAAACAPgAAAD8AAJA+AAAAPwAAkD4AAAAAAABgPgAAAAAAAGA+AAAAPwAAgD4AAAA/AACAPgAAAAAAAEA+AAAAAAAAQD4AAAA/AABgPgAAAD8AAGA+AAAAAAAAID4AAAAAAAAgPgAAAD8AAEA+AAAAPwAAQD4AAAAAAAAAPgAAAAAAAAA+AAAAPwAAID4AAAA/AAAgPgAAAAAAAMA9AAAAAAAAwD0AAAA/AAAAPgAAAD8AAAA+AAAAAAAAgD0AAAAAAACAPQAAAD8AAMA9AAAAPwAAwD0AAAAAA/mXPpW9Az8AAIA+XI8CPxMOUD6UvQM/uvMhPqA8Bz8uBq8+ojwHPzrt7j0a6gw/ukTEPh3qDD9+caQ9KI4UP6jj1j4sjhQ/AKJOPZ/dHT/GK+Y+o90dP3CU5zzlfCg/vIbxPul8KD9wZW88egM0P9aE+D5+AzQ/ENcjPPz/Pz9I4fo+AABAPxBlbzx+/Es/1oT4PoH8Sz8QlOc8FINXP72G8T4Wg1c/uKFOPVsiYj/GK+Y+XSJiP1JxpD3ScWs/qOPWPtRxaz8G7e494hVzP7pExD7jFXM/nfMhPl7DeD8tBq8+X8N4P/QNUD5rQnw/AfmXPmtCfD/7/38+pHB9PwAAAD0AAAAAAAAAPQAAAD8AAIA9AAAAPwAAgD0AAAAAAAAAAAAAAAAAAAAAAAAAPwAAAD0AAAA/AAAAPQAAAACFAzQ/lL0DPwAAQD9cjwI/gfxLP5W9Az/ufCg/oDwHPxeDVz+iPAc/p90dPxrqDD9dImI/HeoMPzCOFD8ojhQ/1HFrPyyOFD8g6gw/n90dP+MVcz+j3R0/pDwHP+V8KD9ew3g/6XwoP5a9Az96AzQ/a0J8P34DND9cjwI//P8/P6RwfT8AAEA/lL0DP378Sz9rQnw/gfxLP6A8Bz8Ug1c/XsN4PxaDVz8c6gw/WyJiP+MVcz9dImI/Ko4UP9Jxaz/UcWs/1HFrP6HdHT/iFXM/XSJiP+MVcz/nfCg/XsN4PxaDVz9fw3g/fQM0P2tCfD+A/Es/a0J8P///Pz+kcH0/AAABAAIAAAACAAMABAAFAAYABAAGAAcACAAJAAoACAAKAAsADAANAA4ADAAOAA8AEAARABIAEAASABMAFAAVABYAFAAWABcAGAAZABoAGAAaABsAHAAdAB4AHAAeAB8AIAAhACIAIAAiACMAJAAlACYAJAAmACcAKAApACoAKAAqACsALAAtAC4ALAAuAC8AMAAxADIAMAAyADMANAA1ADYANAA2ADcAOAA5ADoAOAA6ADsAPAA9AD4APAA+AD8AQABBAEIAQABCAEMARABFAEYARABGAEcASABJAEoASABKAEsATABNAE4ATABOAE8AUABRAFIAUABSAFMAVABVAFYAVABWAFcAWABZAFoAWABaAFsAXABdAF4AXABeAF8AYABhAGIAYABiAGMAZABlAGYAZABmAGcAaABpAGoAaABqAGsAbABtAG4AbABuAG8AcABxAHIAcAByAHMAdAB1AHYAdAB2AHcAeAB5AHoAeAB6AHsAfAB4AHsAfAB7AH0AfgB8AH0AfgB9AH8AgAB+AH8AgAB/AIEAggCAAIEAggCBAIMAhACCAIMAhACDAIUAhgCEAIUAhgCFAIcAiACGAIcAiACHAIkAigCIAIkAigCJAIsAjACKAIsAjACLAI0AjgCMAI0AjgCNAI8AkACOAI8AkACPAJEAkgCQAJEAkgCRAJMAlACSAJMAlACTAJUAlgCUAJUAlwCWAJUAmACZAJoAmACaAJsAnACdAJ4AnACeAJ8AoAChAKIAowCgAKIAowCiAKQApQCjAKQApQCkAKYApwClAKYApwCmAKgAqQCnAKgAqQCoAKoAqwCpAKoAqwCqAKwArQCrAKwArQCsAK4ArwCtAK4ArwCuALAAsQCvALAAsQCwALIAswCxALIAswCyALQAtQCzALQAtQC0ALYAtwC1ALYAtwC2ALgAuQC3ALgAuQC4ALoAuwC5ALoAuwC6ALwAvQC7ALwAvQC8AL4AvwC9AL4A"
154+
}
155+
]
156+
}

README.md

+4
Original file line numberDiff line numberDiff line change
@@ -6,3 +6,7 @@ The core engine of the network graph rendering with viewing features and interac
66
## relates to
77
[smart_home_3d_webapp](https://github.com/HomeSmartMesh/smart_home_3d_webapp)
88

9+
# References
10+
* Nework Graph : https://github.com/visjs/vis-network
11+
* Smart Home : https://github.com/HomeSmartMesh/smart_home_3d_webapp
12+

config.js

+2-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,8 @@ export default
33
"scene":{
44
"background":"0x4f6f8f"
55
},
6-
"glTF_model":"./3d_models/ground.gltf",
6+
"ground":"./3d_models/ground.gltf",
7+
"node":"./3d_models/node.gltf",
78
"mouse":{
89
click_hold_delay_ms : 600
910
},

src/home_app.js

+41-6
Original file line numberDiff line numberDiff line change
@@ -8,28 +8,63 @@
88

99
import * as three from "./three_app.js";
1010
import * as mouse from "./three_mouse.js";
11+
import * as node from "./node.js";
1112
import { GUI } from './../jsm/dat.gui.module.js';
1213

1314
import config from "./../config.js";
1415

1516
function init(){
16-
three.init(on_load,config.glTF_model);
17+
three.init(on_load,config.ground);
1718

1819
window.addEventListener( 'mesh_mouse_enter', onMeshMouseEnter, false );
1920
window.addEventListener( 'mesh_mouse_exit', onMeshMouseExit, false );
2021

21-
}
22+
let viewer = document.getElementById('viewer');
23+
['dragenter', 'dragover', 'dragleave', 'drop'].forEach(eventName => {
24+
viewer.addEventListener(eventName, onDragEvents, false)
25+
})
2226

23-
function send_custom_event(event_name,data){
24-
var event = new CustomEvent(event_name, {detail:data});
25-
window.dispatchEvent(event);
2627
}
2728

2829
//in this callback, three is ready
2930
function on_load(){
30-
31+
console.log("home_app> on_load()");
3132
mouse.init(three.getCamera());
33+
node.init(three.getScene(),config.node,node_on_load);
34+
}
3235

36+
function node_on_load(){
37+
console.log("home_app> node_on_load()");
38+
mouse.SetMeshList([three.getScene().getObjectByName("Node")]);
39+
}
40+
41+
function onDragEvents(event){
42+
event.stopPropagation();
43+
event.preventDefault();
44+
if(event.type == "dragenter"){
45+
event.dataTransfer.dropEffect = "copy";
46+
}
47+
if(event.type == "drop"){
48+
if(event.dataTransfer.files.length != 1){
49+
alert("only one file allowed");
50+
return;
51+
}
52+
if(event.dataTransfer.files[0].type != "application/json"){
53+
alert("only json files allowed");
54+
return;
55+
}
56+
var reader = new FileReader();
57+
reader.onloadend = function(e) {
58+
var result = JSON.parse(this.result);
59+
console.log(result);
60+
};
61+
reader.readAsText(event.dataTransfer.files[0]);
62+
}
63+
}
64+
65+
function send_custom_event(event_name,data){
66+
var event = new CustomEvent(event_name, {detail:data});
67+
window.dispatchEvent(event);
3368
}
3469

3570
function onMeshMouseEnter(e){

src/node.js

+35
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
/**
2+
* sent events :
3+
*
4+
* used events :
5+
*/
6+
7+
import * as THREE from "./../jsm/three/three.module.js";
8+
import { GLTFLoader } from "./../jsm/three/GLTFLoader.js";
9+
10+
import config from "./../config.js";
11+
12+
var scene;
13+
14+
function init(l_scene,file_name,user_on_load){
15+
scene = l_scene;
16+
var loader = new GLTFLoader();
17+
loader.load(file_name,
18+
gltf => {
19+
console.log("node> gltf loaded");
20+
21+
let node = gltf.scene.getObjectByName("Node");
22+
//node.visible = false;
23+
scene.add(node);
24+
user_on_load();
25+
}
26+
);
27+
console.log("node> init()");
28+
}
29+
30+
function send_custom_event(event_name,data){
31+
var event = new CustomEvent(event_name, {detail:data});
32+
window.dispatchEvent(event);
33+
}
34+
35+
export{init};

src/three_mouse.js

+1
Original file line numberDiff line numberDiff line change
@@ -170,6 +170,7 @@ function onMouseMove(event){
170170

171171
function SetMeshList(l_mesh_list){
172172
mesh_list = l_mesh_list;
173+
//console.log(mesh_list);
173174
//mesh_list.forEach(mesh =>{
174175
// console.log(`three_mouse> added mouseEvent to mesh ${mesh.name}`);
175176
//})

0 commit comments

Comments
 (0)