From b2f16570967c72d243ebc8680eb5c220ba628f5a Mon Sep 17 00:00:00 2001 From: Thijs Wenker <me@thoys.nl> Date: Wed, 23 Jan 2019 19:28:34 +0100 Subject: [PATCH] grid pattern --- .../materials/boxgridpatterncreatezonew.png | Bin 0 -> 8623 bytes .../system/modules/entityShapeVisualizer.js | 49 ++++++++---------- 2 files changed, 22 insertions(+), 27 deletions(-) create mode 100644 scripts/system/assets/images/materials/boxgridpatterncreatezonew.png diff --git a/scripts/system/assets/images/materials/boxgridpatterncreatezonew.png b/scripts/system/assets/images/materials/boxgridpatterncreatezonew.png new file mode 100644 index 0000000000000000000000000000000000000000..2ecc7f85704c735794e8881b8cd3116422096874 GIT binary patch literal 8623 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 K^_Fw!v3~+z)}_J# literal 0 HcmV?d00001 diff --git a/scripts/system/modules/entityShapeVisualizer.js b/scripts/system/modules/entityShapeVisualizer.js index 5c91b1311c..d1136c513c 100644 --- a/scripts/system/modules/entityShapeVisualizer.js +++ b/scripts/system/modules/entityShapeVisualizer.js @@ -11,7 +11,6 @@ // var SHAPETYPE_TO_SHAPE = { - "sphere": "Sphere", "box": "Cube", "ellipsoid": "Sphere", "cylinder-y": "Cylinder", @@ -23,13 +22,23 @@ function getEntityShapePropertiesForType(properties) { if (SHAPETYPE_TO_SHAPE[properties.shapeType]) { return { type: "Shape", - shape: SHAPETYPE_TO_SHAPE[properties.shapeType] - } + shape: SHAPETYPE_TO_SHAPE[properties.shapeType], + localDimensions: properties.localDimensions + }; } else if (properties.shapeType === "compound") { return { type: "Model", - modelURL: properties.compoundShapeURL - } + modelURL: properties.compoundShapeURL, + localDimensions: properties.localDimensions + }; + } else if (properties.shapeType === "sphere") { + var sphereDiameter = Math.max(properties.localDimensions.x, properties.localDimensions.y, + properties.localDimensions.z); + return { + type: "Sphere", + modelURL: properties.compoundShapeURL, + localDimensions: {x: sphereDiameter, y: sphereDiameter, z: sphereDiameter} + }; } break; } @@ -37,8 +46,9 @@ function getEntityShapePropertiesForType(properties) { // Default properties return { type: "Shape", - shape: "Cube" - } + shape: "Cube", + localDimensions: properties.localDimensions + }; } function getStringifiedEntityShapePropertiesForType(properties) { @@ -65,17 +75,11 @@ EntityShape.prototype = { overlayProperties.localPosition = Vec3.ZERO; overlayProperties.localRotation = Quat.IDENTITY; - overlayProperties.localDimensions = properties.localDimensions; overlayProperties.canCastShadows = false; overlayProperties.parentID = this.entityID; overlayProperties.collisionless = true; this.entity = Entities.addEntity(overlayProperties, "local"); - - console.warn("created " + this.entity); - console.warn("SHAPETYPE = " + properties.shapeType); - console.warn("SHAPE = " + Entities.getEntityProperties(this.entity, "shape").shape); - - + var PROJECTED_MATERIALS = false; this.materialEntity = Entities.addEntity({ type: "Material", localPosition: Vec3.ZERO, @@ -83,39 +87,31 @@ EntityShape.prototype = { localDimensions: properties.localDimensions, parentID: this.entity, priority: 1, + materialMappingMode: PROJECTED_MATERIALS ? "projected" : "uv", materialURL: "materialData", materialData: JSON.stringify({ materialVersion: 1, materials: { albedo: [0.0, 0.0, 7.0], unlit: true, - opacity: 0.4 + opacity: 0.4, + albedoMap: Script.resolvePath("../assets/images/materials/boxgridpatterncreatezonew.png") } }), }, "local"); - }, - update: function() { var properties = Entities.getEntityProperties(this.entityID, REQUESTED_ENTITY_SHAPE_PROPERTIES); var propertiesForTypeStringified = getStringifiedEntityShapePropertiesForType(properties); if (propertiesForTypeStringified !== this.previousPropertiesForTypeStringified) { this.previousPropertiesForTypeStringified = propertiesForTypeStringified; - console.warn("Clearing old properties"); this.clear(); this.initialize(properties, propertiesForTypeStringified); } else { Entities.editEntity(this.entity, { - localDimensions: properties.localDimensions, + localDimensions: JSON.parse(propertiesForTypeStringified).localDimensions, }); } - - - - //this.previousProperties = Entities.getEntityProperties(this.entityID, REQUESTED_ENTITY_SHAPE_PROPERTIES); - - - console.warn(JSON.stringify(this.previousProperties)); }, clear: function() { Entities.deleteEntity(this.materialEntity); @@ -192,7 +188,6 @@ EntityShapeVisualizer.prototype = { }); deleteEntries.forEach(function(entityID) { - console.warn("removing " + entityID); this.removeEntity(entityID); }, this);