From 17e253006b36634602996fbda7d3d642e955ed6a Mon Sep 17 00:00:00 2001 From: Alezia Kurdis <60075796+AleziaKurdis@users.noreply.github.com> Date: Thu, 10 Oct 2024 22:23:28 -0400 Subject: [PATCH 1/6] Adding icon for "Grab And Equip" section Adding icon for "Grab And Equip" section --- .../entityProperties/html/tabs/grabAndEquip.png | Bin 0 -> 755 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 scripts/system/create/entityProperties/html/tabs/grabAndEquip.png diff --git a/scripts/system/create/entityProperties/html/tabs/grabAndEquip.png b/scripts/system/create/entityProperties/html/tabs/grabAndEquip.png new file mode 100644 index 0000000000000000000000000000000000000000..2cd1c75f23180b358c42172821892489b8e7bbb1 GIT binary patch literal 755 zcmXAhZ%mAF0LQ=2bN?RQ<$lenRNT*zCA}yMqpattD|eZ8PA?9dYo|ZgW-HMYH$Bf4 z?lOd=(a0!o{Hs|EW96Zc`7;}b&6P2FVT+AB(%H?6&#TY(^Yz<G*2Kmn#Q=!4TFiC; ziBUK;fZ(pxApkRKEgN?L+F4N;oa%}$lvTny0q8sI`Lq5w0J_y;UkB_?1;l0`90A0y zKz$}KQ3kB)1QKeFIUf`OY_-)als3F|O+_Mk3NAahjH)fnWIDae$csaU<!QWIglp*h z{y5(u(UD@+$v4#Fgnn*rmENTCqu!@P#88#AlAKkIhaIn)zckry#rfVz4)*kXFfGs6 z&aS!Si4eGC`<?fS6{uSEFo#b2{%3=$>9kIM&tKBd{%AfHiIpe#QI*`CIHjKbTIFi& zG)2D$_t3q{isXXoy$g+E#&hYrk)3p=MGU0IJBKBFC?hmO-gVTJ5b!qHJ~#@(nFm71 z(%5ZFp(L}U@<v7RX=EjngZbg6?!n-GLl-4XkA6r8j^@X|Z+Y2maQVvz^>jceUP<dq zEZgf*2_A9%!KCbMLgSFuS8>#old?F?Iltmg6@Nz`wSDATFrM6#DhG7#kXPi$Z9Z^S zawPfwc2AwKWo3e+<wmYxgSNlND28UXKh+%4>_qF46nEXUN?zNR%CKC(+sJ#=zCCSn zM7W=9L`8N@+MjgdEb35lbkX%7BoE!v+`cfJ=+j(07go$fw6W7G`}!49Ll!wWmcF%C zT>FIu({iSDli0x8djn#7wx9X+LIsxFy!0|VUhw=vwZFZNV{FR2!UQEpx5axj<HhdZ zi&P%DlHoD-*gf3lZFSVfoT{>c$Jmoc^&>r|xUv<?1raV2>Gh8U=IKL9`CXqCN^-8B zE8P%QOxCdzz4X%p0|=jCzWGf{h82@V^rzU7lh2Q8V}BI#xtf!eB3v!YHoH||b-3qo T?_RRPnF|2c!V>e9{4(!9h8zu@ literal 0 HcmV?d00001 From 82a923e06c4dcf13a4690809de4bca2ad024bad3 Mon Sep 17 00:00:00 2001 From: Alezia Kurdis <60075796+AleziaKurdis@users.noreply.github.com> Date: Thu, 10 Oct 2024 22:27:26 -0400 Subject: [PATCH 2/6] Add "Grab And Equip" section Add "Grab And Equip" section for the grabbale and Equipable groups of properties. --- .../html/js/entityProperties.js | 145 +++++++++++++++--- 1 file changed, 121 insertions(+), 24 deletions(-) diff --git a/scripts/system/create/entityProperties/html/js/entityProperties.js b/scripts/system/create/entityProperties/html/js/entityProperties.js index ab7c7ba54a..0d26df29c4 100644 --- a/scripts/system/create/entityProperties/html/js/entityProperties.js +++ b/scripts/system/create/entityProperties/html/js/entityProperties.js @@ -1512,11 +1512,6 @@ const GROUPS = [ id: "behavior", label: "BEHAVIOR", properties: [ - { - label: "Grabbable", - type: "bool", - propertyID: "grab.grabbable", - }, { label: "Cloneable", type: "bool", @@ -1554,11 +1549,6 @@ const GROUPS = [ type: "bool", propertyID: "grab.triggerable", }, - { - label: "Follow Controller", - type: "bool", - propertyID: "grab.grabFollowsController", - }, { label: "Cast Shadows", type: "bool", @@ -1583,6 +1573,113 @@ const GROUPS = [ } ] }, + { + id: "grabAndEquip", + label: "GRAB AND EQUIP", + properties: [ + { + label: "Grabbable", + type: "bool", + propertyID: "grab.grabbable", + }, + { + label: "Follow Controller", + type: "bool", + propertyID: "grab.grabFollowsController", + showPropertyRule: { "grab.grabbable": "true" }, + }, + { + label: "Kinematic Grab", + type: "bool", + propertyID: "grab.grabKinematic", + showPropertyRule: { "grab.grabbable": "true" }, + }, + { + label: "Delegate To Parent", + type: "bool", + propertyID: "grab.grabDelegateToParent", + showPropertyRule: { "grab.grabbable": "true" }, + }, + { + label: "Equippable", + type: "bool", + propertyID: "grab.equippable", + }, + { + label: "Left Position", + type: "vec3", + vec3Type: "xyz", + subLabels: [ "x", "y", "z" ], + step: 0.0025, + decimals: 4, + unit: "m", + propertyID: "grab.equippableLeftPosition", + showPropertyRule: { "grab.equippable": "true" }, + }, + { + label: "Left Rotation", + type: "vec3", + vec3Type: "pyr", + step: 0.1, + decimals: 4, + subLabels: [ "x", "y", "z" ], + unit: "deg", + propertyID: "grab.equippableLeftRotation", + showPropertyRule: { "grab.equippable": "true" }, + }, + { + label: "Right Position", + type: "vec3", + vec3Type: "xyz", + subLabels: [ "x", "y", "z" ], + step: 0.0025, + decimals: 4, + unit: "m", + propertyID: "grab.equippableRightPosition", + showPropertyRule: { "grab.equippable": "true" }, + }, + { + label: "Right Rotation", + type: "vec3", + vec3Type: "pyr", + step: 0.1, + decimals: 4, + subLabels: [ "x", "y", "z" ], + unit: "deg", + propertyID: "grab.equippableRightRotation", + showPropertyRule: { "grab.equippable": "true" }, + }, + { + label: "Indicator Model URL", + type: "string", + propertyID: "grab.equippableIndicatorURL", + placeholder: "URL", + showPropertyRule: { "grab.equippable": "true" }, + }, + { + label: "Indicator Scale", + type: "vec3", + vec3Type: "xyz", + subLabels: [ "x", "y", "z" ], + step: 0.0025, + decimals: 4, + unit: "scale", + propertyID: "grab.equippableIndicatorScale", + showPropertyRule: { "grab.equippable": "true" }, + }, + { + label: "Indicator Offset", + type: "vec3", + vec3Type: "xyz", + subLabels: [ "x", "y", "z" ], + step: 0.005, + decimals: 4, + unit: "m", + propertyID: "grab.equippableIndicatorOffset", + showPropertyRule: { "grab.equippable": "true" }, + }, + ] + }, { id: "scripts", label: "SCRIPTS", @@ -1761,22 +1858,22 @@ const GROUPS = [ ]; const GROUPS_PER_TYPE = { - None: [ 'base', 'spatial', 'behavior', 'scripts', 'collision', 'physics' ], - Shape: [ 'base', 'shape', 'spatial', 'behavior', 'scripts', 'collision', 'physics' ], - Text: [ 'base', 'text', 'spatial', 'behavior', 'scripts', 'collision', 'physics' ], + None: [ 'base', 'spatial', 'behavior', 'grabAndEquip', 'scripts', 'collision', 'physics' ], + Shape: [ 'base', 'shape', 'spatial', 'behavior', 'grabAndEquip', 'scripts', 'collision', 'physics' ], + Text: [ 'base', 'text', 'spatial', 'behavior', 'grabAndEquip', 'scripts', 'collision', 'physics' ], Zone: [ 'base', 'zone', 'zone_key_light', 'zone_skybox', 'zone_ambient_light', 'zone_haze', - 'zone_bloom', 'zone_avatar_priority', 'spatial', 'behavior', 'scripts', 'physics' ], - Model: [ 'base', 'model', 'spatial', 'behavior', 'scripts', 'collision', 'physics' ], - Image: [ 'base', 'image', 'spatial', 'behavior', 'scripts', 'collision', 'physics' ], - Web: [ 'base', 'web', 'spatial', 'behavior', 'scripts', 'collision', 'physics' ], - Light: [ 'base', 'light', 'spatial', 'behavior', 'scripts', 'collision', 'physics' ], - Material: [ 'base', 'material', 'spatial', 'behavior', 'scripts', 'physics' ], + 'zone_bloom', 'zone_avatar_priority', 'spatial', 'behavior', 'grabAndEquip', 'scripts', 'physics' ], + Model: [ 'base', 'model', 'spatial', 'behavior', 'grabAndEquip', 'scripts', 'collision', 'physics' ], + Image: [ 'base', 'image', 'spatial', 'behavior', 'grabAndEquip', 'scripts', 'collision', 'physics' ], + Web: [ 'base', 'web', 'spatial', 'behavior', 'grabAndEquip', 'scripts', 'collision', 'physics' ], + Light: [ 'base', 'light', 'spatial', 'behavior', 'grabAndEquip', 'scripts', 'collision', 'physics' ], + Material: [ 'base', 'material', 'spatial', 'behavior', 'grabAndEquip', 'scripts', 'physics' ], ParticleEffect: [ 'base', 'particles', 'particles_emit', 'particles_size', 'particles_color', - 'particles_behavior', 'particles_constraints', 'spatial', 'behavior', 'scripts', 'physics' ], - PolyLine: [ 'base', 'spatial', 'behavior', 'scripts', 'collision', 'physics' ], - PolyVox: [ 'base', 'polyvox', 'spatial', 'behavior', 'scripts', 'collision', 'physics' ], - Grid: [ 'base', 'grid', 'spatial', 'behavior', 'scripts', 'physics' ], - Multiple: [ 'base', 'spatial', 'behavior', 'scripts', 'collision', 'physics' ], + 'particles_behavior', 'particles_constraints', 'spatial', 'behavior', 'grabAndEquip', 'scripts', 'physics' ], + PolyLine: [ 'base', 'spatial', 'behavior', 'grabAndEquip', 'scripts', 'collision', 'physics' ], + PolyVox: [ 'base', 'polyvox', 'spatial', 'behavior', 'grabAndEquip', 'scripts', 'collision', 'physics' ], + Grid: [ 'base', 'grid', 'spatial', 'behavior', 'grabAndEquip', 'scripts', 'physics' ], + Multiple: [ 'base', 'spatial', 'behavior', 'grabAndEquip', 'scripts', 'collision', 'physics' ], }; const EDITOR_TIMEOUT_DURATION = 1500; From 64b5d2db33411f22d445f90e5d567cd6a6103953 Mon Sep 17 00:00:00 2001 From: Alezia Kurdis <60075796+AleziaKurdis@users.noreply.github.com> Date: Fri, 11 Oct 2024 21:37:51 -0400 Subject: [PATCH 3/6] Add files via upload --- .../create/assets/data/createAppTooltips.json | 36 +++++++++++++++++-- 1 file changed, 33 insertions(+), 3 deletions(-) diff --git a/scripts/system/create/assets/data/createAppTooltips.json b/scripts/system/create/assets/data/createAppTooltips.json index eaefd08a0d..eeabb89ae8 100644 --- a/scripts/system/create/assets/data/createAppTooltips.json +++ b/scripts/system/create/assets/data/createAppTooltips.json @@ -500,6 +500,39 @@ "grab.grabbable": { "tooltip": "If enabled, this entity will allow grabbing input and will be movable." }, + "grab.grabFollowsController": { + "tooltip": "If enabled, grabbed entities will follow the movements of your hand controller instead of your avatar's hand." + }, + "grab.grabKinematic": { + "tooltip": "If enabled, this grabbed entity will be updated in a kinematic manner. If disabled, it will be grabbed using a tractor action. A kinematic grab will make the item appear more tightly held but will cause it to behave poorly when interacting with dynamic entities." + }, + "grab.grabDelegateToParent": { + "tooltip": "If enabled, when the entity is grabbed, the grab will be transferred to its parent entity if there is one. If disabled, the grab won't be transferred, so a child entity can be grabbed and moved relative to its parent." + }, + "grab.equippable": { + "tooltip": "If enabled, this entity can be mounted to the hands/controllers." + }, + "grab.equippableLeftPosition": { + "tooltip": "When equipped on an avatar, this defines the 'position' of the entity relative to the 'left' hand." + }, + "grab.equippableLeftRotation": { + "tooltip": "When equipped on an avatar, this defines the 'rotation' of the entity relative to the 'left' hand." + }, + "grab.equippableRightPosition": { + "tooltip": "When equipped on an avatar, this defines the 'position' of the entity relative to the 'right' hand." + }, + "grab.equippableRightRotation": { + "tooltip": "When equipped on an avatar, this defines the 'rotation' of the entity relative to the 'right' hand." + }, + "grab.equippableIndicatorURL": { + "tooltip": "If a model URL is specified, this model will be used to indicate that an entity is equippable." + }, + "grab.equippableIndicatorScale": { + "tooltip": "If an 'Indicator URL' is specified, this controls the scale factors for each dimension of the displayed indicator." + }, + "grab.equippableIndicatorOffset": { + "tooltip": "If an 'Indicator URL' is specified, this controls the relative offset of the displayed indicator from the equippable entity." + }, "grab.triggerable": { "tooltip": "If enabled, the collider on this entity is used for triggering events." }, @@ -518,9 +551,6 @@ "cloneAvatarEntity": { "tooltip": "If enabled, then clones created from this entity will be created as avatar entities." }, - "grab.grabFollowsController": { - "tooltip": "If enabled, grabbed entities will follow the movements of your hand controller instead of your avatar's hand." - }, "canCastShadow": { "tooltip": "If enabled, the geometry of this entity casts shadows when a shadow-casting light source shines on it. Note: Shadows are rendered only on high-profiled computers. This setting will have no effect on computers profiled to medium or low graphics." }, From c928c9b0488e5d76cfce92a570511a38e2e5f4f7 Mon Sep 17 00:00:00 2001 From: Alezia Kurdis <60075796+AleziaKurdis@users.noreply.github.com> Date: Fri, 11 Oct 2024 22:09:29 -0400 Subject: [PATCH 4/6] Add tooltips for the "Grab and Equip" properties Add the tooltips for the "Grab and Equip" properties --- scripts/system/create/assets/data/createAppTooltips.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/system/create/assets/data/createAppTooltips.json b/scripts/system/create/assets/data/createAppTooltips.json index eeabb89ae8..ba5266bdf5 100644 --- a/scripts/system/create/assets/data/createAppTooltips.json +++ b/scripts/system/create/assets/data/createAppTooltips.json @@ -510,7 +510,7 @@ "tooltip": "If enabled, when the entity is grabbed, the grab will be transferred to its parent entity if there is one. If disabled, the grab won't be transferred, so a child entity can be grabbed and moved relative to its parent." }, "grab.equippable": { - "tooltip": "If enabled, this entity can be mounted to the hands/controllers." + "tooltip": "If enabled, this entity can be mounted to the hands/controllers. (Note: Entities can't be equipped if 'ignorePickIntersection' is set to true.)" }, "grab.equippableLeftPosition": { "tooltip": "When equipped on an avatar, this defines the 'position' of the entity relative to the 'left' hand." From d63b3f51bcc53e9d4518bdf7e5475e1269b24eab Mon Sep 17 00:00:00 2001 From: Alezia Kurdis <60075796+AleziaKurdis@users.noreply.github.com> Date: Sat, 12 Oct 2024 13:37:14 -0400 Subject: [PATCH 5/6] Text adjustments for grab.equippable Text adjustments for grab.equippable --- scripts/system/create/assets/data/createAppTooltips.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/system/create/assets/data/createAppTooltips.json b/scripts/system/create/assets/data/createAppTooltips.json index ba5266bdf5..6b294e0c6f 100644 --- a/scripts/system/create/assets/data/createAppTooltips.json +++ b/scripts/system/create/assets/data/createAppTooltips.json @@ -510,7 +510,7 @@ "tooltip": "If enabled, when the entity is grabbed, the grab will be transferred to its parent entity if there is one. If disabled, the grab won't be transferred, so a child entity can be grabbed and moved relative to its parent." }, "grab.equippable": { - "tooltip": "If enabled, this entity can be mounted to the hands/controllers. (Note: Entities can't be equipped if 'ignorePickIntersection' is set to true.)" + "tooltip": "If enabled, this entity can be attached to the hands/controllers in a simple click. (Note: Entities can't be equipped if 'ignorePickIntersection' is set to true.)" }, "grab.equippableLeftPosition": { "tooltip": "When equipped on an avatar, this defines the 'position' of the entity relative to the 'left' hand." From 130948f0ac99a189c9be2aa8743b02b5065b91f0 Mon Sep 17 00:00:00 2001 From: Alezia Kurdis <60075796+AleziaKurdis@users.noreply.github.com> Date: Wed, 16 Oct 2024 22:13:55 -0400 Subject: [PATCH 6/6] move "triggerable" under GRAB & EQUIP move "triggerable" under GRAB & EQUIP --- .../entityProperties/html/js/entityProperties.js | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/scripts/system/create/entityProperties/html/js/entityProperties.js b/scripts/system/create/entityProperties/html/js/entityProperties.js index 0d26df29c4..fc49f532b5 100644 --- a/scripts/system/create/entityProperties/html/js/entityProperties.js +++ b/scripts/system/create/entityProperties/html/js/entityProperties.js @@ -1544,11 +1544,6 @@ const GROUPS = [ propertyID: "cloneAvatarEntity", showPropertyRule: { "cloneable": "true" }, }, - { - label: "Triggerable", - type: "bool", - propertyID: "grab.triggerable", - }, { label: "Cast Shadows", type: "bool", @@ -1600,6 +1595,11 @@ const GROUPS = [ propertyID: "grab.grabDelegateToParent", showPropertyRule: { "grab.grabbable": "true" }, }, + { + label: "Triggerable", + type: "bool", + propertyID: "grab.triggerable", + }, { label: "Equippable", type: "bool",