Spaces:
Running
Running
Update viewer.js
Browse files
viewer.js
CHANGED
|
@@ -13,7 +13,7 @@ let resizeObserver = null;
|
|
| 13 |
// These will hold references to the material(s) you want to update.
|
| 14 |
let matTransparent = null;
|
| 15 |
let matOpaque = null;
|
| 16 |
-
let
|
| 17 |
|
| 18 |
|
| 19 |
let chosenCameraX, chosenCameraY, chosenCameraZ;
|
|
@@ -260,17 +260,24 @@ export async function initializeViewer(config, instanceId) {
|
|
| 260 |
|
| 261 |
|
| 262 |
//material for the tube
|
| 263 |
-
|
| 264 |
-
|
| 265 |
-
|
| 266 |
-
|
| 267 |
-
|
| 268 |
-
|
| 269 |
-
|
| 270 |
-
|
| 271 |
-
|
| 272 |
-
|
|
|
|
| 273 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 274 |
|
| 275 |
traverse(modelEntity, node => {
|
| 276 |
if (node.render && node.render.meshInstances) {
|
|
@@ -284,7 +291,7 @@ export async function initializeViewer(config, instanceId) {
|
|
| 284 |
traverse(tubeEntity, node => {
|
| 285 |
if (node.render && node.render.meshInstances) {
|
| 286 |
for (let mi of node.render.meshInstances) {
|
| 287 |
-
mi.material =
|
| 288 |
}
|
| 289 |
}
|
| 290 |
});
|
|
@@ -476,6 +483,14 @@ export function changeColor(dr, dg, db, er, eg, eb, boolTrans) {
|
|
| 476 |
}
|
| 477 |
}
|
| 478 |
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 479 |
}else{
|
| 480 |
if (!matOpaque) return;
|
| 481 |
|
|
@@ -490,5 +505,13 @@ export function changeColor(dr, dg, db, er, eg, eb, boolTrans) {
|
|
| 490 |
}
|
| 491 |
}
|
| 492 |
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 493 |
}
|
| 494 |
}
|
|
|
|
| 13 |
// These will hold references to the material(s) you want to update.
|
| 14 |
let matTransparent = null;
|
| 15 |
let matOpaque = null;
|
| 16 |
+
let tubeTransparent = null;
|
| 17 |
|
| 18 |
|
| 19 |
let chosenCameraX, chosenCameraY, chosenCameraZ;
|
|
|
|
| 260 |
|
| 261 |
|
| 262 |
//material for the tube
|
| 263 |
+
//transparent
|
| 264 |
+
tubeTransparent = new pc.StandardMaterial();
|
| 265 |
+
tubeTransparent.diffuse = new pc.Color(1, 1, 1);
|
| 266 |
+
tubeTransparent.blendType = pc.BLEND_NORMAL;
|
| 267 |
+
tubeTransparent.opacity = 0.1;
|
| 268 |
+
tubeTransparent.depthTest = true;
|
| 269 |
+
tubeTransparent.depthWrite = false;
|
| 270 |
+
tubeTransparent.useMetalness = true;
|
| 271 |
+
tubeTransparent.useDynamicRefraction = true;
|
| 272 |
+
tubeTransparent.thickness = 0.04;
|
| 273 |
+
tubeTransparent.update();
|
| 274 |
|
| 275 |
+
|
| 276 |
+
//opaque
|
| 277 |
+
tubeOpaque = new pc.StandardMaterial();
|
| 278 |
+
tubeOpaque.diffuse = new pc.Color(1, 1, 1);
|
| 279 |
+
tubeOpaque.opacity = 0.9;
|
| 280 |
+
tubeOpaque.update();
|
| 281 |
|
| 282 |
traverse(modelEntity, node => {
|
| 283 |
if (node.render && node.render.meshInstances) {
|
|
|
|
| 291 |
traverse(tubeEntity, node => {
|
| 292 |
if (node.render && node.render.meshInstances) {
|
| 293 |
for (let mi of node.render.meshInstances) {
|
| 294 |
+
mi.material = tubeOpaque;
|
| 295 |
}
|
| 296 |
}
|
| 297 |
});
|
|
|
|
| 483 |
}
|
| 484 |
}
|
| 485 |
});
|
| 486 |
+
|
| 487 |
+
traverse(tubeEntity, node => {
|
| 488 |
+
if (node.render && node.render.meshInstances) {
|
| 489 |
+
for (let mi of node.render.meshInstances) {
|
| 490 |
+
mi.material = tubeTransparent;
|
| 491 |
+
}
|
| 492 |
+
}
|
| 493 |
+
});
|
| 494 |
}else{
|
| 495 |
if (!matOpaque) return;
|
| 496 |
|
|
|
|
| 505 |
}
|
| 506 |
}
|
| 507 |
});
|
| 508 |
+
|
| 509 |
+
traverse(tubeEntity, node => {
|
| 510 |
+
if (node.render && node.render.meshInstances) {
|
| 511 |
+
for (let mi of node.render.meshInstances) {
|
| 512 |
+
mi.material = tubeOpaque;
|
| 513 |
+
}
|
| 514 |
+
}
|
| 515 |
+
});
|
| 516 |
}
|
| 517 |
}
|