From 826991d6b4cea470ecda8701ca978565adaa3bf6 Mon Sep 17 00:00:00 2001 From: Alezia Kurdis <60075796+AleziaKurdis@users.noreply.github.com> Date: Wed, 23 Sep 2020 22:28:52 -0400 Subject: [PATCH] Code Adjustments and Optimizations Remove an unused commented const. Generate all the material using a centralized function, using an array to store the keys. Make them deleted by iteration on this array. Using now defaultFallthrough = true instead of setting albedo to fallthrough. Replace "materialMappingMode" "projected" for "uv" Added "ignorePickIntersection": true on the Material entities --- .../entitySelectionTool.js | 257 +++--------------- 1 file changed, 43 insertions(+), 214 deletions(-) diff --git a/scripts/system/create/entitySelectionTool/entitySelectionTool.js b/scripts/system/create/entitySelectionTool/entitySelectionTool.js index b8413282d8..33f9bbafb3 100644 --- a/scripts/system/create/entitySelectionTool/entitySelectionTool.js +++ b/scripts/system/create/entitySelectionTool/entitySelectionTool.js @@ -650,7 +650,6 @@ SelectionDisplay = (function() { const COLOR_ROTATE_CURRENT_RING = { red: 255, green: 99, blue: 9 }; const COLOR_BOUNDING_EDGE = { red: 128, green: 128, blue: 128 }; const COLOR_SCALE_CUBE = { red: 160, green: 160, blue: 160 }; - //const COLOR_SCALE_CUBE_SELECTED = { red: 18, green: 18, blue: 18 }; const COLOR_DEBUG_PICK_PLANE = { red: 255, green: 255, blue: 255 }; const COLOR_DEBUG_PICK_PLANE_HIT = { red: 255, green: 165, blue: 0 }; @@ -747,9 +746,9 @@ SelectionDisplay = (function() { var ctrlPressed = false; - that.replaceCollisionsAfterStretch = false; + var toolEntityMaterial = []; - var toolEntitiesMaterialData = "{\n \"materialVersion\": 1,\n \"materials\": [\n {\n \"name\": \"0\",\n \"albedo\": \"fallthrough\",\n \"unlit\": true,\n \"model\": \"hifi_pbr\"\n }\n ]\n}"; + that.replaceCollisionsAfterStretch = false; var handlePropertiesTranslateArrowCones = { type: "Shape", @@ -782,66 +781,12 @@ SelectionDisplay = (function() { Entities.editEntity(handleTranslateZCone, { color: COLOR_BLUE }); Entities.editEntity(handleTranslateZCylinder, { color: COLOR_BLUE }); - var materialHandleTranslateXCone = Entities.addEntity({ - "type": "Material", - "parentID": handleTranslateXCone, - "name": "tool-material", - "parentMaterialName": "0", - "materialURL": "materialData", - "priority": 1, - "materialMappingMode": "projected", - "materialData": toolEntitiesMaterialData - }, "local"); - var materialHandleTranslateYCone = Entities.addEntity({ - "type": "Material", - "parentID": handleTranslateYCone, - "name": "tool-material", - "parentMaterialName": "0", - "materialURL": "materialData", - "priority": 1, - "materialMappingMode": "projected", - "materialData": toolEntitiesMaterialData - }, "local"); - var materialHandleTranslateZCone = Entities.addEntity({ - "type": "Material", - "parentID": handleTranslateZCone, - "name": "tool-material", - "parentMaterialName": "0", - "materialURL": "materialData", - "priority": 1, - "materialMappingMode": "projected", - "materialData": toolEntitiesMaterialData - }, "local"); - var materialHandleTranslateXCylinder = Entities.addEntity({ - "type": "Material", - "parentID": handleTranslateXCylinder, - "name": "tool-material", - "parentMaterialName": "0", - "materialURL": "materialData", - "priority": 1, - "materialMappingMode": "projected", - "materialData": toolEntitiesMaterialData - }, "local"); - var materialHandleTranslateYCylinder = Entities.addEntity({ - "type": "Material", - "parentID": handleTranslateYCylinder, - "name": "tool-material", - "parentMaterialName": "0", - "materialURL": "materialData", - "priority": 1, - "materialMappingMode": "projected", - "materialData": toolEntitiesMaterialData - }, "local"); - var materialHandleTranslateZCylinder = Entities.addEntity({ - "type": "Material", - "parentID": handleTranslateZCylinder, - "name": "tool-material", - "parentMaterialName": "0", - "materialURL": "materialData", - "priority": 1, - "materialMappingMode": "projected", - "materialData": toolEntitiesMaterialData - }, "local"); + toolEntityMaterial.push(addUnlitMaterialOnToolEntity(handleTranslateXCone)); + toolEntityMaterial.push(addUnlitMaterialOnToolEntity(handleTranslateYCone)); + toolEntityMaterial.push(addUnlitMaterialOnToolEntity(handleTranslateZCone)); + toolEntityMaterial.push(addUnlitMaterialOnToolEntity(handleTranslateXCylinder)); + toolEntityMaterial.push(addUnlitMaterialOnToolEntity(handleTranslateYCylinder)); + toolEntityMaterial.push(addUnlitMaterialOnToolEntity(handleTranslateZCylinder)); var handlePropertiesRotateRings = { type: "Gizmo", @@ -873,16 +818,7 @@ SelectionDisplay = (function() { majorTickMarksColor: COLOR_RED } }); - var materialHandleRotatePitchXRedRing = Entities.addEntity({ - "type": "Material", - "parentID": handleRotatePitchXRedRing, - "name": "tool-material", - "parentMaterialName": "0", - "materialURL": "materialData", - "priority": 1, - "materialMappingMode": "projected", - "materialData": toolEntitiesMaterialData - }, "local"); + toolEntityMaterial.push(addUnlitMaterialOnToolEntity(handleRotatePitchXRedRing)); var handleRotateYawYGreenRing = Entities.addEntity(handlePropertiesRotateRings, "local"); Entities.editEntity(handleRotateYawYGreenRing, { @@ -894,16 +830,7 @@ SelectionDisplay = (function() { majorTickMarksColor: COLOR_GREEN } }); - var materialHandleRotateYawYGreenRing = Entities.addEntity({ - "type": "Material", - "parentID": handleRotateYawYGreenRing, - "name": "tool-material", - "parentMaterialName": "0", - "materialURL": "materialData", - "priority": 1, - "materialMappingMode": "projected", - "materialData": toolEntitiesMaterialData - }, "local"); + toolEntityMaterial.push(addUnlitMaterialOnToolEntity(handleRotateYawYGreenRing)); var handleRotateRollZBlueRing = Entities.addEntity(handlePropertiesRotateRings, "local"); Entities.editEntity(handleRotateRollZBlueRing, { @@ -915,17 +842,8 @@ SelectionDisplay = (function() { majorTickMarksColor: COLOR_BLUE } }); - var materialHandleRotateRollZBlueRing = Entities.addEntity({ - "type": "Material", - "parentID": handleRotateRollZBlueRing, - "name": "tool-material", - "parentMaterialName": "0", - "materialURL": "materialData", - "priority": 1, - "materialMappingMode": "projected", - "materialData": toolEntitiesMaterialData - }, "local"); - + toolEntityMaterial.push(addUnlitMaterialOnToolEntity(handleRotateRollZBlueRing)); + var handleRotateCurrentRing = Entities.addEntity({ type: "Gizmo", gizmoType: "ring", @@ -947,16 +865,7 @@ SelectionDisplay = (function() { ignorePickIntersection: true, renderLayer: "front" }, "local"); - var materialHandleRotateCurrentRing = Entities.addEntity({ - "type": "Material", - "parentID": handleRotateCurrentRing, - "name": "tool-material", - "parentMaterialName": "0", - "materialURL": "materialData", - "priority": 1, - "materialMappingMode": "projected", - "materialData": toolEntitiesMaterialData - }, "local"); + toolEntityMaterial.push(addUnlitMaterialOnToolEntity(handleRotateCurrentRing)); var rotationDegreesDisplay = Entities.addEntity({ type: "Text", @@ -994,36 +903,9 @@ SelectionDisplay = (function() { var handleStretchZCube = Entities.addEntity(handlePropertiesStretchCubes, "local"); Entities.editEntity(handleStretchZCube, { color: COLOR_BLUE }); - var materialHandleStretchXCube = Entities.addEntity({ - "type": "Material", - "parentID": handleStretchXCube, - "name": "tool-material", - "parentMaterialName": "0", - "materialURL": "materialData", - "priority": 1, - "materialMappingMode": "projected", - "materialData": toolEntitiesMaterialData - }, "local"); - var materialHandleStretchYCube = Entities.addEntity({ - "type": "Material", - "parentID": handleStretchYCube, - "name": "tool-material", - "parentMaterialName": "0", - "materialURL": "materialData", - "priority": 1, - "materialMappingMode": "projected", - "materialData": toolEntitiesMaterialData - }, "local"); - var materialHandleStretchZCube = Entities.addEntity({ - "type": "Material", - "parentID": handleStretchZCube, - "name": "tool-material", - "parentMaterialName": "0", - "materialURL": "materialData", - "priority": 1, - "materialMappingMode": "projected", - "materialData": toolEntitiesMaterialData - }, "local"); + toolEntityMaterial.push(addUnlitMaterialOnToolEntity(handleStretchXCube)); + toolEntityMaterial.push(addUnlitMaterialOnToolEntity(handleStretchYCube)); + toolEntityMaterial.push(addUnlitMaterialOnToolEntity(handleStretchZCube)); var handlePropertiesStretchPanel = { type: "Shape", @@ -1041,36 +923,9 @@ SelectionDisplay = (function() { var handleStretchZPanel = Entities.addEntity(handlePropertiesStretchPanel, "local"); Entities.editEntity(handleStretchZPanel, { color: COLOR_BLUE }); - var materialHandleStretchXPanel = Entities.addEntity({ - "type": "Material", - "parentID": handleStretchXPanel, - "name": "tool-material", - "parentMaterialName": "0", - "materialURL": "materialData", - "priority": 1, - "materialMappingMode": "projected", - "materialData": toolEntitiesMaterialData - }, "local"); - var materialHandleStretchYPanel = Entities.addEntity({ - "type": "Material", - "parentID": handleStretchYPanel, - "name": "tool-material", - "parentMaterialName": "0", - "materialURL": "materialData", - "priority": 1, - "materialMappingMode": "projected", - "materialData": toolEntitiesMaterialData - }, "local"); - var materialHandleStretchZPanel = Entities.addEntity({ - "type": "Material", - "parentID": handleStretchZPanel, - "name": "tool-material", - "parentMaterialName": "0", - "materialURL": "materialData", - "priority": 1, - "materialMappingMode": "projected", - "materialData": toolEntitiesMaterialData - }, "local"); + toolEntityMaterial.push(addUnlitMaterialOnToolEntity(handleStretchXPanel)); + toolEntityMaterial.push(addUnlitMaterialOnToolEntity(handleStretchYPanel)); + toolEntityMaterial.push(addUnlitMaterialOnToolEntity(handleStretchZPanel)); var handleScaleCube = Entities.addEntity({ type: "Shape", @@ -1082,16 +937,7 @@ SelectionDisplay = (function() { ignorePickIntersection: true, renderLayer: "front" }, "local"); - var materialHandleScaleCube = Entities.addEntity({ - "type": "Material", - "parentID": handleScaleCube, - "name": "tool-material", - "parentMaterialName": "0", - "materialURL": "materialData", - "priority": 1, - "materialMappingMode": "projected", - "materialData": toolEntitiesMaterialData - }, "local"); + toolEntityMaterial.push(addUnlitMaterialOnToolEntity(handleScaleCube)); var handleBoundingBox = Entities.addEntity({ type: "Shape", @@ -1103,16 +949,7 @@ SelectionDisplay = (function() { ignorePickIntersection: true, renderLayer: "front" }, "local"); - var materialHandleBoundingBox = Entities.addEntity({ - "type": "Material", - "parentID": handleBoundingBox, - "name": "tool-material", - "parentMaterialName": "0", - "materialURL": "materialData", - "priority": 1, - "materialMappingMode": "projected", - "materialData": toolEntitiesMaterialData - }, "local"); + toolEntityMaterial.push(addUnlitMaterialOnToolEntity(handleBoundingBox)); var handleDuplicator = Entities.addEntity({ type: "Shape", @@ -1125,16 +962,7 @@ SelectionDisplay = (function() { ignorePickIntersection: true, renderLayer: "front" }, "local"); - var materialHandleDuplicator = Entities.addEntity({ - "type": "Material", - "parentID": handleDuplicator, - "name": "tool-material", - "parentMaterialName": "0", - "materialURL": "materialData", - "priority": 1, - "materialMappingMode": "projected", - "materialData": toolEntitiesMaterialData - }, "local"); + toolEntityMaterial.push(addUnlitMaterialOnToolEntity(handleDuplicator)); // setting to 0 alpha for now to keep this hidden vs using visible false // because its used as the translate xz tool handle toolEntity @@ -1777,26 +1605,11 @@ SelectionDisplay = (function() { for (var i = 0; i < allToolEntities.length; i++) { Entities.deleteEntity(allToolEntities[i]); } - Entities.deleteEntity(materialHandleTranslateXCone); - Entities.deleteEntity(materialHandleTranslateYCone); - Entities.deleteEntity(materialHandleTranslateZCone); - Entities.deleteEntity(materialHandleTranslateXCylinder); - Entities.deleteEntity(materialHandleTranslateYCylinder); - Entities.deleteEntity(materialHandleTranslateZCylinder); - Entities.deleteEntity(materialHandleStretchXCube); - Entities.deleteEntity(materialHandleStretchYCube); - Entities.deleteEntity(materialHandleStretchZCube); - Entities.deleteEntity(materialHandleStretchXPanel); - Entities.deleteEntity(materialHandleStretchYPanel); - Entities.deleteEntity(materialHandleStretchZPanel); - Entities.deleteEntity(materialHandleScaleCube); - Entities.deleteEntity(materialHandleBoundingBox); - Entities.deleteEntity(materialHandleDuplicator); - Entities.deleteEntity(materialHandleRotatePitchXRedRing); - Entities.deleteEntity(materialHandleRotateYawYGreenRing); - Entities.deleteEntity(materialHandleRotateRollZBlueRing); - Entities.deleteEntity(materialHandleRotateCurrentRing); - + + for (i = 0; i < toolEntityMaterial.length; i++) { + Entities.deleteEntity(toolEntityMaterial[i]); + } + that.clearDebugPickPlane(); }; @@ -2401,6 +2214,22 @@ SelectionDisplay = (function() { debugPickPlaneHits = []; }; + function addUnlitMaterialOnToolEntity(toolEntityParentID) { + var toolEntitiesMaterialData = "{\n \"materialVersion\": 1,\n \"materials\": [\n {\n \"name\": \"0\",\n \"defaultFallthrough\": true,\n \"unlit\": true,\n \"model\": \"hifi_pbr\"\n }\n ]\n}"; + var materialEntityID = Entities.addEntity({ + "type": "Material", + "parentID": toolEntityParentID, + "name": "tool-material", + "parentMaterialName": "0", + "materialURL": "materialData", + "priority": 1, + "materialMappingMode": "uv", + "ignorePickIntersection": true, + "materialData": toolEntitiesMaterialData + }, "local"); + return materialEntityID; + } + // TOOL DEFINITION: HANDLE TRANSLATE XZ TOOL function addHandleTranslateXZTool(toolEntity, mode, doDuplicate) { var initialPick = null;