From 65f0199ec6385a8cb75bba1b25928e174a668ebc Mon Sep 17 00:00:00 2001 From: jmaniuvc Date: Tue, 25 Mar 2025 18:33:49 +0900 Subject: [PATCH 1/5] =?UTF-8?q?=EA=B1=B0=EB=A6=AC=20UI?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Assets/Prefabs/UI/Panel_ObjectDistance.prefab | 1338 +++++++++++++++++ .../UI/Panel_ObjectDistance.prefab.meta | 7 + .../AssetTool/CustomAssetRenderObject.cs | 14 + .../Scripts/Studio/TwinObject/TwinObject.cs | 5 +- .../Scripts/Studio/UI/Canvas/Canvas_Popup.cs | 1 + .../Studio/UI/Panel/Panel_ObjectDistance.cs | 88 ++ .../UI/Panel/Panel_ObjectDistance.cs.meta | 2 + ProjectSettings/TagManager.asset | 2 +- 8 files changed, 1453 insertions(+), 4 deletions(-) create mode 100644 Assets/Prefabs/UI/Panel_ObjectDistance.prefab create mode 100644 Assets/Prefabs/UI/Panel_ObjectDistance.prefab.meta create mode 100644 Assets/Scripts/Studio/UI/Panel/Panel_ObjectDistance.cs create mode 100644 Assets/Scripts/Studio/UI/Panel/Panel_ObjectDistance.cs.meta diff --git a/Assets/Prefabs/UI/Panel_ObjectDistance.prefab b/Assets/Prefabs/UI/Panel_ObjectDistance.prefab new file mode 100644 index 00000000..0fd23024 --- /dev/null +++ b/Assets/Prefabs/UI/Panel_ObjectDistance.prefab @@ -0,0 +1,1338 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &1037199441371851518 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6791165779322739231} + - component: {fileID: 2874813234141333887} + - component: {fileID: 1586924511907320146} + m_Layer: 0 + m_Name: Panel_ObjectDistance + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &6791165779322739231 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1037199441371851518} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 8107414850933273690} + - {fileID: 6902250168712616153} + - {fileID: 1400843724585282578} + - {fileID: 7194822588214921878} + - {fileID: 18596219730868912} + - {fileID: 6571488781575170805} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &2874813234141333887 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1037199441371851518} + m_CullTransparentMesh: 1 +--- !u!114 &1586924511907320146 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1037199441371851518} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ba071beb1c8293e49a8b25d46f91a7bf, type: 3} + m_Name: + m_EditorClassIdentifier: + distance_up: {fileID: 0} +--- !u!1 &1667491123066525069 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2783812701329957337} + - component: {fileID: 4044039877875906916} + - component: {fileID: 931565508495641929} + m_Layer: 0 + m_Name: Text (TMP) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2783812701329957337 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1667491123066525069} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 6902250168712616153} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &4044039877875906916 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1667491123066525069} + m_CullTransparentMesh: 1 +--- !u!114 &931565508495641929 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1667491123066525069} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: New Text + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 4f170a218dfffe4489dc7ddd54bc15cf, type: 2} + m_sharedMaterial: {fileID: 6975767319296004534, guid: 4f170a218dfffe4489dc7ddd54bc15cf, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4278190080 + m_fontColor: {r: 0, g: 0, b: 0, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 36 + m_fontSizeBase: 36 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_TextWrappingMode: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 0 + m_ActiveFontFeatures: 6e72656b + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_EmojiFallbackSupport: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!1 &1824088583583508963 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7194822588214921878} + - component: {fileID: 3097470657670304171} + - component: {fileID: 5078274965939298063} + m_Layer: 0 + m_Name: Distance_right + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &7194822588214921878 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1824088583583508963} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4948332264576386055} + m_Father: {fileID: 6791165779322739231} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 200, y: 50} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &3097470657670304171 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1824088583583508963} + m_CullTransparentMesh: 1 +--- !u!114 &5078274965939298063 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1824088583583508963} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!1 &2075515304005455769 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 741429146484002723} + - component: {fileID: 1711765403739824630} + - component: {fileID: 7388382359834928185} + m_Layer: 0 + m_Name: Text (TMP) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &741429146484002723 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2075515304005455769} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 8107414850933273690} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &1711765403739824630 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2075515304005455769} + m_CullTransparentMesh: 1 +--- !u!114 &7388382359834928185 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2075515304005455769} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: New Text + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 4f170a218dfffe4489dc7ddd54bc15cf, type: 2} + m_sharedMaterial: {fileID: 6975767319296004534, guid: 4f170a218dfffe4489dc7ddd54bc15cf, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4278190080 + m_fontColor: {r: 0, g: 0, b: 0, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 36 + m_fontSizeBase: 36 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_TextWrappingMode: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 0 + m_ActiveFontFeatures: 6e72656b + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_EmojiFallbackSupport: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!1 &3358243043404622282 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7557465511110638244} + - component: {fileID: 2405627046212218258} + - component: {fileID: 7718872406442369171} + m_Layer: 0 + m_Name: Text (TMP) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &7557465511110638244 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3358243043404622282} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1400843724585282578} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &2405627046212218258 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3358243043404622282} + m_CullTransparentMesh: 1 +--- !u!114 &7718872406442369171 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3358243043404622282} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: New Text + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 4f170a218dfffe4489dc7ddd54bc15cf, type: 2} + m_sharedMaterial: {fileID: 6975767319296004534, guid: 4f170a218dfffe4489dc7ddd54bc15cf, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4278190080 + m_fontColor: {r: 0, g: 0, b: 0, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 36 + m_fontSizeBase: 36 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_TextWrappingMode: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 0 + m_ActiveFontFeatures: 6e72656b + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_EmojiFallbackSupport: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!1 &3552997497790003437 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4948332264576386055} + - component: {fileID: 7738578393642049821} + - component: {fileID: 9154507730128070045} + m_Layer: 0 + m_Name: Text (TMP) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &4948332264576386055 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3552997497790003437} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 7194822588214921878} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &7738578393642049821 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3552997497790003437} + m_CullTransparentMesh: 1 +--- !u!114 &9154507730128070045 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3552997497790003437} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: New Text + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 4f170a218dfffe4489dc7ddd54bc15cf, type: 2} + m_sharedMaterial: {fileID: 6975767319296004534, guid: 4f170a218dfffe4489dc7ddd54bc15cf, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4278190080 + m_fontColor: {r: 0, g: 0, b: 0, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 36 + m_fontSizeBase: 36 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_TextWrappingMode: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 0 + m_ActiveFontFeatures: 6e72656b + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_EmojiFallbackSupport: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!1 &5461546370723553429 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1400843724585282578} + - component: {fileID: 2061718949882192120} + - component: {fileID: 4022013656138835912} + m_Layer: 0 + m_Name: Distance_left + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1400843724585282578 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5461546370723553429} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 7557465511110638244} + m_Father: {fileID: 6791165779322739231} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 200, y: 50} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &2061718949882192120 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5461546370723553429} + m_CullTransparentMesh: 1 +--- !u!114 &4022013656138835912 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5461546370723553429} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!1 &7125163854521808529 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6571488781575170805} + - component: {fileID: 2889234264731888109} + - component: {fileID: 5311912601517734047} + m_Layer: 0 + m_Name: Distance_back + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &6571488781575170805 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7125163854521808529} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 5487252926732590125} + m_Father: {fileID: 6791165779322739231} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 200, y: 50} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &2889234264731888109 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7125163854521808529} + m_CullTransparentMesh: 1 +--- !u!114 &5311912601517734047 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7125163854521808529} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!1 &7135956063028507155 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 18596219730868912} + - component: {fileID: 7819340452723330143} + - component: {fileID: 2211566357908769342} + m_Layer: 0 + m_Name: Distance_foward + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &18596219730868912 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7135956063028507155} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 2856471145554414895} + m_Father: {fileID: 6791165779322739231} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 200, y: 50} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &7819340452723330143 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7135956063028507155} + m_CullTransparentMesh: 1 +--- !u!114 &2211566357908769342 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7135956063028507155} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!1 &7452555945768904036 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5487252926732590125} + - component: {fileID: 5986040093175516284} + - component: {fileID: 3259823853687436856} + m_Layer: 0 + m_Name: Text (TMP) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &5487252926732590125 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7452555945768904036} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 6571488781575170805} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &5986040093175516284 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7452555945768904036} + m_CullTransparentMesh: 1 +--- !u!114 &3259823853687436856 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7452555945768904036} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: New Text + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 4f170a218dfffe4489dc7ddd54bc15cf, type: 2} + m_sharedMaterial: {fileID: 6975767319296004534, guid: 4f170a218dfffe4489dc7ddd54bc15cf, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4278190080 + m_fontColor: {r: 0, g: 0, b: 0, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 36 + m_fontSizeBase: 36 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_TextWrappingMode: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 0 + m_ActiveFontFeatures: 6e72656b + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_EmojiFallbackSupport: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!1 &7759297345237085837 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2856471145554414895} + - component: {fileID: 8836984229758621449} + - component: {fileID: 3032467466867509376} + m_Layer: 0 + m_Name: Text (TMP) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2856471145554414895 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7759297345237085837} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 18596219730868912} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &8836984229758621449 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7759297345237085837} + m_CullTransparentMesh: 1 +--- !u!114 &3032467466867509376 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7759297345237085837} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: New Text + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 4f170a218dfffe4489dc7ddd54bc15cf, type: 2} + m_sharedMaterial: {fileID: 6975767319296004534, guid: 4f170a218dfffe4489dc7ddd54bc15cf, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4278190080 + m_fontColor: {r: 0, g: 0, b: 0, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 36 + m_fontSizeBase: 36 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_TextWrappingMode: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 0 + m_ActiveFontFeatures: 6e72656b + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_EmojiFallbackSupport: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!1 &8057416366647402832 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8107414850933273690} + - component: {fileID: 9125045971131934483} + - component: {fileID: 4508713210993668394} + m_Layer: 0 + m_Name: Distance_up + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &8107414850933273690 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8057416366647402832} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 741429146484002723} + m_Father: {fileID: 6791165779322739231} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 200, y: 50} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &9125045971131934483 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8057416366647402832} + m_CullTransparentMesh: 1 +--- !u!114 &4508713210993668394 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8057416366647402832} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!1 &8838398484417968805 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6902250168712616153} + - component: {fileID: 5227252712573134147} + - component: {fileID: 1079209328243914300} + m_Layer: 0 + m_Name: Distance_down + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &6902250168712616153 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8838398484417968805} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 2783812701329957337} + m_Father: {fileID: 6791165779322739231} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 200, y: 50} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &5227252712573134147 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8838398484417968805} + m_CullTransparentMesh: 1 +--- !u!114 &1079209328243914300 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8838398484417968805} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 diff --git a/Assets/Prefabs/UI/Panel_ObjectDistance.prefab.meta b/Assets/Prefabs/UI/Panel_ObjectDistance.prefab.meta new file mode 100644 index 00000000..e7d36814 --- /dev/null +++ b/Assets/Prefabs/UI/Panel_ObjectDistance.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: e34354bad51342e4ca9569fd37c9b8dd +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Studio/AssetTool/CustomAssetRenderObject.cs b/Assets/Scripts/Studio/AssetTool/CustomAssetRenderObject.cs index d7a4058f..d0a7461d 100644 --- a/Assets/Scripts/Studio/AssetTool/CustomAssetRenderObject.cs +++ b/Assets/Scripts/Studio/AssetTool/CustomAssetRenderObject.cs @@ -3,6 +3,7 @@ using System.Collections.Generic; using UnityEngine; using UnityEngine.EventSystems; using System.Linq; +using static XED.UI.Panel_ObjectDistance; namespace XED.Util { @@ -24,6 +25,8 @@ namespace XED.Util public bool isCollided = false; private float zFightingOffset = 1.0001f; + LayerMask twinObjectMask; + private void Awake() { objectRenderer = GetComponentInChildren(); @@ -32,6 +35,9 @@ namespace XED.Util matCubeShow = Resources.Load("Materials/Mat_CubeShow"); matCubeSelected = Resources.Load("Materials/Mat_CubeSelected"); matCubeCollided = Resources.Load("Materials/Mat_CubeCollided"); + + boxCollider.gameObject.layer = LayerMask.NameToLayer("TwinObject"); + twinObjectMask = LayerMask.GetMask("TwinObject"); } // Start is called once before the first execution of Update after the MonoBehaviour is created void Start() @@ -230,5 +236,13 @@ namespace XED.Util if (renderObject == null) return null; return new KDTree(renderObject); } + + public RaycastHit GetObjectHit(Vector3 direction) + { + RaycastHit hitInfo; + Physics.BoxCast(boxCollider.bounds.center, boxCollider.bounds.size / 2.0f, direction, out hitInfo, transform.rotation, Mathf.Infinity, twinObjectMask); + + return hitInfo; + } } } diff --git a/Assets/Scripts/Studio/TwinObject/TwinObject.cs b/Assets/Scripts/Studio/TwinObject/TwinObject.cs index 8183be30..b5491694 100644 --- a/Assets/Scripts/Studio/TwinObject/TwinObject.cs +++ b/Assets/Scripts/Studio/TwinObject/TwinObject.cs @@ -1,5 +1,4 @@ using Newtonsoft.Json; -using System; using UnityEngine; using XED.Attributes; using XED.UI; @@ -30,8 +29,9 @@ namespace XED physics.Init(this); metaData.Init(this); - panel_InterferedObjectList = FindSingle(); + panel_InterferedObjectList = FindSingle(); } + public void Binding(IEntity entity) { this.entity = entity; @@ -80,6 +80,5 @@ namespace XED panel_InterferedObjectList.RemoveContentButton(this, contracter); } - } } \ No newline at end of file diff --git a/Assets/Scripts/Studio/UI/Canvas/Canvas_Popup.cs b/Assets/Scripts/Studio/UI/Canvas/Canvas_Popup.cs index 5bf2c301..a55cb8c6 100644 --- a/Assets/Scripts/Studio/UI/Canvas/Canvas_Popup.cs +++ b/Assets/Scripts/Studio/UI/Canvas/Canvas_Popup.cs @@ -25,6 +25,7 @@ namespace XED public Panel_DragHandler panel_draghandler; public Panel_AssetEdit panel_assetedit; public Panel_Thumbnail panel_thumbnail; + public Panel_ObjectDistance panel_objectdistance; public override void AfterAwake() { diff --git a/Assets/Scripts/Studio/UI/Panel/Panel_ObjectDistance.cs b/Assets/Scripts/Studio/UI/Panel/Panel_ObjectDistance.cs new file mode 100644 index 00000000..79d294e9 --- /dev/null +++ b/Assets/Scripts/Studio/UI/Panel/Panel_ObjectDistance.cs @@ -0,0 +1,88 @@ +using System.Collections.Generic; +using TMPro; +using UnityEngine; +using XED.Util; +using XRLib.UI; + +namespace XED.UI +{ + public class Panel_ObjectDistance : PanelBase + { + RectTransform Distance_up; + RectTransform Distance_down; + RectTransform Distance_left; + RectTransform Distance_right; + RectTransform Distance_foward; + RectTransform Distance_back; + + CustomAssetRenderObject selectedObject; + + private void Update() + { + if (selectedObject == null) + return; + + UpdateDistance(Distance_up); + UpdateDistance(Distance_down); + UpdateDistance(Distance_left); + UpdateDistance(Distance_right); + UpdateDistance(Distance_foward); + UpdateDistance(Distance_back); + } + + public void Activate(string name, List objects) + { + if (objects.Count != 1) + { + Deactivate(); + return; + } + + selectedObject = objects[0].GetComponent(); + SetActive(true); + } + + public void Deactivate() + { + SetActive(false); + } + + void UpdateDistance(RectTransform rect) + { + Vector3 direction; + + if (rect == Distance_up) + direction = selectedObject.transform.up; + else if (rect == Distance_down) + direction = -selectedObject.transform.up; + else if (rect == Distance_left) + direction = -selectedObject.transform.right; + else if (rect == Distance_right) + direction = selectedObject.transform.right; + else if (rect == Distance_foward) + direction = selectedObject.transform.forward; + else if (rect == Distance_back) + direction = -selectedObject.transform.forward; + else return; + + RaycastHit hit = selectedObject.GetObjectHit(direction); + float distance = hit.distance; + + if (distance > 0) + { + rect.GetComponentInChildren().text = distance.ToString(); + + Vector3 hitPoint = hit.point; + Vector3 distanceCenterPoint = hitPoint - (direction * distance / 2); + Vector2 screenPoint = Camera.main.WorldToScreenPoint(distanceCenterPoint); + rect.transform.position = screenPoint; + + rect.gameObject.SetActive(true); + } + else + { + rect.gameObject.SetActive(false); + } + } + } +} diff --git a/Assets/Scripts/Studio/UI/Panel/Panel_ObjectDistance.cs.meta b/Assets/Scripts/Studio/UI/Panel/Panel_ObjectDistance.cs.meta new file mode 100644 index 00000000..62f52779 --- /dev/null +++ b/Assets/Scripts/Studio/UI/Panel/Panel_ObjectDistance.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: ba071beb1c8293e49a8b25d46f91a7bf \ No newline at end of file diff --git a/ProjectSettings/TagManager.asset b/ProjectSettings/TagManager.asset index be91d448..a4f43de4 100644 --- a/ProjectSettings/TagManager.asset +++ b/ProjectSettings/TagManager.asset @@ -18,7 +18,7 @@ TagManager: - Voxel - obstacle - objectSnap - - + - TwinObject - - - From bfc68b3d93f63ddf62f3e4a26b9814d509f43c85 Mon Sep 17 00:00:00 2001 From: jmaniuvc Date: Wed, 26 Mar 2025 15:23:25 +0900 Subject: [PATCH 2/5] =?UTF-8?q?=EC=98=A4=EB=B8=8C=EC=A0=9D=ED=8A=B8=20?= =?UTF-8?q?=EA=B1=B0=EB=A6=AC=20=EC=B8=A1=EC=A0=95=20=EC=9B=94=EB=93=9C=20?= =?UTF-8?q?=EC=A2=8C=ED=91=9C=EB=A1=9C=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AssetTool/CustomAssetRenderObject.cs | 72 ++++++++++++------- .../Scripts/Studio/Managers/EventConnector.cs | 1 + .../Studio/UI/Panel/Panel_ObjectDistance.cs | 60 +++++++--------- 3 files changed, 72 insertions(+), 61 deletions(-) diff --git a/Assets/Scripts/Studio/AssetTool/CustomAssetRenderObject.cs b/Assets/Scripts/Studio/AssetTool/CustomAssetRenderObject.cs index d0a7461d..872d64e7 100644 --- a/Assets/Scripts/Studio/AssetTool/CustomAssetRenderObject.cs +++ b/Assets/Scripts/Studio/AssetTool/CustomAssetRenderObject.cs @@ -1,16 +1,17 @@ using System; using System.Collections.Generic; -using UnityEngine; -using UnityEngine.EventSystems; using System.Linq; -using static XED.UI.Panel_ObjectDistance; +using UnityEngine; +using UnityEngine.EventSystems; +using static UnityEditor.ShaderGraph.Internal.KeywordDependentCollection; namespace XED.Util { public class CustomAssetRenderObject : MonoBehaviour, IPointerEnterHandler, IPointerExitHandler { private GameObject renderObject; - private MeshRenderer objectRenderer; + private MeshRenderer objectRenderer; + private LineRenderer lineRenderer; private List snapPoints = new List(); private BoxCollider boxCollider; private Material matCubeShow; @@ -18,7 +19,7 @@ namespace XED.Util private Material matCubeCollided; private HashSet objectsInTrigger = new HashSet(); - public System.Action onTransformChanged; + public System.Action onTransformChanged; public Func getBounds; public Func instantiateObject; public bool isSelected = false; @@ -29,7 +30,7 @@ namespace XED.Util private void Awake() { - objectRenderer = GetComponentInChildren(); + objectRenderer = GetComponentInChildren(); snapPoints = GetComponentsInChildren().Select(x => x.transform).ToList(); boxCollider = GetComponent(); matCubeShow = Resources.Load("Materials/Mat_CubeShow"); @@ -38,11 +39,18 @@ namespace XED.Util boxCollider.gameObject.layer = LayerMask.NameToLayer("TwinObject"); twinObjectMask = LayerMask.GetMask("TwinObject"); + + if (GetComponent() == null) + { + gameObject.AddComponent(); + } + lineRenderer = GetComponent(); + //lineRenderer = GetComponent() ?? gameObject.AddComponent(); } // Start is called once before the first execution of Update after the MonoBehaviour is created void Start() { - ResetBoundary(); + ResetBoundary(); } private void OnEnable() { @@ -54,8 +62,8 @@ namespace XED.Util ClearTriggerObjects(); } private void OnTriggerEnter(Collider other) - { - CustomAssetRenderObject otherRenderObject = other.gameObject.GetComponent(); + { + CustomAssetRenderObject otherRenderObject = other.gameObject.GetComponent(); if (otherRenderObject != null) { isCollided = true; @@ -65,14 +73,14 @@ namespace XED.Util objectRenderer.material = matCubeCollided; } Show(); - } + } } private void OnTriggerExit(Collider other) { - CustomAssetRenderObject otherRenderObject = other.gameObject.GetComponent(); + CustomAssetRenderObject otherRenderObject = other.gameObject.GetComponent(); if (otherRenderObject != null) - { - objectsInTrigger.Remove(other.gameObject); + { + objectsInTrigger.Remove(other.gameObject); } if (objectsInTrigger.Count == 0) { @@ -81,7 +89,7 @@ namespace XED.Util { Hide(); } - } + } } public void OnPointerEnter(PointerEventData eventData) { @@ -103,14 +111,14 @@ namespace XED.Util } void ResetBoundary() { - Bounds meshBounds = objectRenderer.bounds; + Bounds meshBounds = objectRenderer.bounds; Vector3 localCenter = transform.InverseTransformPoint(meshBounds.center); - Vector3 localSize = transform.InverseTransformVector(meshBounds.size); + Vector3 localSize = transform.InverseTransformVector(meshBounds.size); boxCollider.center = localCenter; boxCollider.size = localSize; } void ClearTriggerObjects() - { + { foreach (GameObject obj in new List(objectsInTrigger)) { if (obj != null) @@ -126,7 +134,7 @@ namespace XED.Util if (boundary.HasValue) { ResizeBoundary(boundary.Value); - } + } } public void ResizeBoundary(Bounds meshBounds) { @@ -146,7 +154,7 @@ namespace XED.Util snapPoints[5].localPosition = new Vector3(boundPointMin.x, boundPointMax.y, boundPointMax.z); snapPoints[6].localPosition = new Vector3(boundPointMax.x, boundPointMin.y, boundPointMax.z); snapPoints[7].localPosition = new Vector3(boundPointMax.x, boundPointMax.y, boundPointMin.z); - } + } ResetBoundary(); } public void Show() @@ -180,7 +188,7 @@ namespace XED.Util public void Select() { //ResizeBoundary(); - isSelected = true; + isSelected = true; objectRenderer.material = matCubeSelected; Show(); } @@ -197,7 +205,7 @@ namespace XED.Util Hide(); } public void CreateRenderObject() - { + { if (renderObject == null) { renderObject = instantiateObject?.Invoke(transform); @@ -205,7 +213,7 @@ namespace XED.Util ResizeBoundary(); } public void DestroyRenderObject() - { + { if (renderObject) { Destroy(renderObject); @@ -240,9 +248,23 @@ namespace XED.Util public RaycastHit GetObjectHit(Vector3 direction) { RaycastHit hitInfo; - Physics.BoxCast(boxCollider.bounds.center, boxCollider.bounds.size / 2.0f, direction, out hitInfo, transform.rotation, Mathf.Infinity, twinObjectMask); - + Physics.BoxCast(boxCollider.bounds.center, boxCollider.size / 2.0f, direction, out hitInfo, transform.rotation, Mathf.Infinity, twinObjectMask); + return hitInfo; } + /* + public Vector3 GetLineStartPoint(RaycastHit hit, Vector3 direction) + { + var hitObject = hit.collider; + if (hitObject != null) + { + return hit.point - (direction * hit.distance / 2); + } + else + { + return hit.point; + } + } + */ } -} +} \ No newline at end of file diff --git a/Assets/Scripts/Studio/Managers/EventConnector.cs b/Assets/Scripts/Studio/Managers/EventConnector.cs index 9ca54725..f1dbcead 100644 --- a/Assets/Scripts/Studio/Managers/EventConnector.cs +++ b/Assets/Scripts/Studio/Managers/EventConnector.cs @@ -47,6 +47,7 @@ namespace XED.Manage customAssetConnector.onSelectObjects += ((name, objects) => { canvas_Popup.panel_objectinfo.gameObject.SetActive(true); }); customAssetConnector.onSelectObjects += ((name, objects) => { canvas_Popup.panel_objectalign.gameObject.SetActive(true); }); customAssetConnector.onSelectObjects += canvas_Popup.panel_objectinfo.SetObjectInfo; + customAssetConnector.onSelectObjects += canvas_Popup.panel_objectdistance.Activate; customAssetConnector.onRemoveObjects += canvas_Popup.panel_objectinfo.ResetObjectInfo; customAssetConnector.onDeselectObjects += (() => { canvas_Popup.panel_objectinfo.gameObject.SetActive(false); }); customAssetConnector.onDeselectObjects += (() => { canvas_Popup.panel_objectalign.gameObject.SetActive(false); }); diff --git a/Assets/Scripts/Studio/UI/Panel/Panel_ObjectDistance.cs b/Assets/Scripts/Studio/UI/Panel/Panel_ObjectDistance.cs index 79d294e9..0a8c2989 100644 --- a/Assets/Scripts/Studio/UI/Panel/Panel_ObjectDistance.cs +++ b/Assets/Scripts/Studio/UI/Panel/Panel_ObjectDistance.cs @@ -17,17 +17,18 @@ namespace XED.UI CustomAssetRenderObject selectedObject; + private void Update() { if (selectedObject == null) return; - UpdateDistance(Distance_up); - UpdateDistance(Distance_down); - UpdateDistance(Distance_left); - UpdateDistance(Distance_right); - UpdateDistance(Distance_foward); - UpdateDistance(Distance_back); + UpdateDistance(Distance_up, Vector3.up); + UpdateDistance(Distance_down, Vector3.down); + UpdateDistance(Distance_left, Vector3.left); + UpdateDistance(Distance_right, Vector3.right); + UpdateDistance(Distance_foward, Vector3.forward); + UpdateDistance(Distance_back, Vector3.back); } public void Activate(string name, List objects) @@ -47,42 +48,29 @@ namespace XED.UI SetActive(false); } - void UpdateDistance(RectTransform rect) + public GameObject tmpObj; + + void UpdateDistance(RectTransform rect, Vector3 direction) { - Vector3 direction; - - if (rect == Distance_up) - direction = selectedObject.transform.up; - else if (rect == Distance_down) - direction = -selectedObject.transform.up; - else if (rect == Distance_left) - direction = -selectedObject.transform.right; - else if (rect == Distance_right) - direction = selectedObject.transform.right; - else if (rect == Distance_foward) - direction = selectedObject.transform.forward; - else if (rect == Distance_back) - direction = -selectedObject.transform.forward; - else return; - RaycastHit hit = selectedObject.GetObjectHit(direction); - float distance = hit.distance; - if (distance > 0) - { - rect.GetComponentInChildren().text = distance.ToString(); - - Vector3 hitPoint = hit.point; - Vector3 distanceCenterPoint = hitPoint - (direction * distance / 2); - Vector2 screenPoint = Camera.main.WorldToScreenPoint(distanceCenterPoint); - rect.transform.position = screenPoint; - - rect.gameObject.SetActive(true); - } - else + if (hit.collider == null) { rect.gameObject.SetActive(false); + return; } + + float distance = hit.distance; + rect.GetComponentInChildren().text = distance.ToString("F2"); + + Vector3 hitPoint = hit.point; + Vector3 distanceCenterPoint = hitPoint - (direction * distance / 2); + Vector2 screenPoint = Camera.main.WorldToScreenPoint(distanceCenterPoint); + rect.transform.position = screenPoint; + + rect.gameObject.SetActive(true); + + tmpObj.transform.position = hitPoint; } } } From eee79d114545aa9562c0876c2cf4d8a1ed2f5791 Mon Sep 17 00:00:00 2001 From: jmaniuvc Date: Wed, 26 Mar 2025 16:45:35 +0900 Subject: [PATCH 3/5] =?UTF-8?q?=EA=B1=B0=EB=A6=AC=20Line=20=ED=91=9C?= =?UTF-8?q?=EC=8B=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Assets/Prefabs/UI/Panel_ObjectDistance.prefab | 38 ++++---- .../Prefabs/PRF_ObjectDistanceLine.prefab | 88 +++++++++++++++++++ .../PRF_ObjectDistanceLine.prefab.meta | 7 ++ .../AssetTool/CustomAssetRenderObject.cs | 23 +---- .../Scripts/Studio/Managers/EventConnector.cs | 2 +- .../Studio/UI/Panel/Panel_ObjectDistance.cs | 67 ++++++++++---- 6 files changed, 170 insertions(+), 55 deletions(-) create mode 100644 Assets/Resources/Prefabs/PRF_ObjectDistanceLine.prefab create mode 100644 Assets/Resources/Prefabs/PRF_ObjectDistanceLine.prefab.meta diff --git a/Assets/Prefabs/UI/Panel_ObjectDistance.prefab b/Assets/Prefabs/UI/Panel_ObjectDistance.prefab index 0fd23024..3e892987 100644 --- a/Assets/Prefabs/UI/Panel_ObjectDistance.prefab +++ b/Assets/Prefabs/UI/Panel_ObjectDistance.prefab @@ -63,7 +63,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: ba071beb1c8293e49a8b25d46f91a7bf, type: 3} m_Name: m_EditorClassIdentifier: - distance_up: {fileID: 0} + lineThickness: 1 --- !u!1 &1667491123066525069 GameObject: m_ObjectHideFlags: 0 @@ -156,8 +156,8 @@ MonoBehaviour: m_faceColor: serializedVersion: 2 rgba: 4294967295 - m_fontSize: 36 - m_fontSizeBase: 36 + m_fontSize: 20 + m_fontSizeBase: 20 m_fontWeight: 400 m_enableAutoSizing: 0 m_fontSizeMin: 18 @@ -236,7 +236,7 @@ RectTransform: m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 200, y: 50} + m_SizeDelta: {x: 150, y: 30} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &3097470657670304171 CanvasRenderer: @@ -368,8 +368,8 @@ MonoBehaviour: m_faceColor: serializedVersion: 2 rgba: 4294967295 - m_fontSize: 36 - m_fontSizeBase: 36 + m_fontSize: 20 + m_fontSizeBase: 20 m_fontWeight: 400 m_enableAutoSizing: 0 m_fontSizeMin: 18 @@ -504,8 +504,8 @@ MonoBehaviour: m_faceColor: serializedVersion: 2 rgba: 4294967295 - m_fontSize: 36 - m_fontSizeBase: 36 + m_fontSize: 20 + m_fontSizeBase: 20 m_fontWeight: 400 m_enableAutoSizing: 0 m_fontSizeMin: 18 @@ -640,8 +640,8 @@ MonoBehaviour: m_faceColor: serializedVersion: 2 rgba: 4294967295 - m_fontSize: 36 - m_fontSizeBase: 36 + m_fontSize: 20 + m_fontSizeBase: 20 m_fontWeight: 400 m_enableAutoSizing: 0 m_fontSizeMin: 18 @@ -720,7 +720,7 @@ RectTransform: m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 200, y: 50} + m_SizeDelta: {x: 150, y: 30} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &2061718949882192120 CanvasRenderer: @@ -796,7 +796,7 @@ RectTransform: m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 200, y: 50} + m_SizeDelta: {x: 150, y: 30} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &2889234264731888109 CanvasRenderer: @@ -872,7 +872,7 @@ RectTransform: m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 200, y: 50} + m_SizeDelta: {x: 150, y: 30} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &7819340452723330143 CanvasRenderer: @@ -1004,8 +1004,8 @@ MonoBehaviour: m_faceColor: serializedVersion: 2 rgba: 4294967295 - m_fontSize: 36 - m_fontSizeBase: 36 + m_fontSize: 20 + m_fontSizeBase: 20 m_fontWeight: 400 m_enableAutoSizing: 0 m_fontSizeMin: 18 @@ -1140,8 +1140,8 @@ MonoBehaviour: m_faceColor: serializedVersion: 2 rgba: 4294967295 - m_fontSize: 36 - m_fontSizeBase: 36 + m_fontSize: 20 + m_fontSizeBase: 20 m_fontWeight: 400 m_enableAutoSizing: 0 m_fontSizeMin: 18 @@ -1220,7 +1220,7 @@ RectTransform: m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 200, y: 50} + m_SizeDelta: {x: 150, y: 30} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &9125045971131934483 CanvasRenderer: @@ -1296,7 +1296,7 @@ RectTransform: m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 200, y: 50} + m_SizeDelta: {x: 150, y: 30} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &5227252712573134147 CanvasRenderer: diff --git a/Assets/Resources/Prefabs/PRF_ObjectDistanceLine.prefab b/Assets/Resources/Prefabs/PRF_ObjectDistanceLine.prefab new file mode 100644 index 00000000..d26289e8 --- /dev/null +++ b/Assets/Resources/Prefabs/PRF_ObjectDistanceLine.prefab @@ -0,0 +1,88 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &5879261464688472025 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5472984000651998200} + - component: {fileID: 9157913964040327910} + - component: {fileID: 1305656563587261426} + m_Layer: 0 + m_Name: PRF_ObjectDistanceLine + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &5472984000651998200 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5879261464688472025} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &9157913964040327910 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5879261464688472025} + m_Mesh: {fileID: 10206, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &1305656563587261426 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5879261464688472025} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 4f1ef37ae953c484bbc5d5e4049147e5, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} diff --git a/Assets/Resources/Prefabs/PRF_ObjectDistanceLine.prefab.meta b/Assets/Resources/Prefabs/PRF_ObjectDistanceLine.prefab.meta new file mode 100644 index 00000000..65cc16d9 --- /dev/null +++ b/Assets/Resources/Prefabs/PRF_ObjectDistanceLine.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 06e21ad3a6d17614a8d74d9cc974d7f9 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Studio/AssetTool/CustomAssetRenderObject.cs b/Assets/Scripts/Studio/AssetTool/CustomAssetRenderObject.cs index 872d64e7..15d9cc59 100644 --- a/Assets/Scripts/Studio/AssetTool/CustomAssetRenderObject.cs +++ b/Assets/Scripts/Studio/AssetTool/CustomAssetRenderObject.cs @@ -11,7 +11,6 @@ namespace XED.Util { private GameObject renderObject; private MeshRenderer objectRenderer; - private LineRenderer lineRenderer; private List snapPoints = new List(); private BoxCollider boxCollider; private Material matCubeShow; @@ -39,13 +38,6 @@ namespace XED.Util boxCollider.gameObject.layer = LayerMask.NameToLayer("TwinObject"); twinObjectMask = LayerMask.GetMask("TwinObject"); - - if (GetComponent() == null) - { - gameObject.AddComponent(); - } - lineRenderer = GetComponent(); - //lineRenderer = GetComponent() ?? gameObject.AddComponent(); } // Start is called once before the first execution of Update after the MonoBehaviour is created void Start() @@ -252,19 +244,10 @@ namespace XED.Util return hitInfo; } - /* - public Vector3 GetLineStartPoint(RaycastHit hit, Vector3 direction) + + public void DrawDistanceLine(Vector3 startPoint, Vector3 endPoint) { - var hitObject = hit.collider; - if (hitObject != null) - { - return hit.point - (direction * hit.distance / 2); - } - else - { - return hit.point; - } + } - */ } } \ No newline at end of file diff --git a/Assets/Scripts/Studio/Managers/EventConnector.cs b/Assets/Scripts/Studio/Managers/EventConnector.cs index f1dbcead..a11121ec 100644 --- a/Assets/Scripts/Studio/Managers/EventConnector.cs +++ b/Assets/Scripts/Studio/Managers/EventConnector.cs @@ -47,7 +47,7 @@ namespace XED.Manage customAssetConnector.onSelectObjects += ((name, objects) => { canvas_Popup.panel_objectinfo.gameObject.SetActive(true); }); customAssetConnector.onSelectObjects += ((name, objects) => { canvas_Popup.panel_objectalign.gameObject.SetActive(true); }); customAssetConnector.onSelectObjects += canvas_Popup.panel_objectinfo.SetObjectInfo; - customAssetConnector.onSelectObjects += canvas_Popup.panel_objectdistance.Activate; + customAssetConnector.onSelectObjects += canvas_Popup.panel_objectdistance.ActivateFromSelect; customAssetConnector.onRemoveObjects += canvas_Popup.panel_objectinfo.ResetObjectInfo; customAssetConnector.onDeselectObjects += (() => { canvas_Popup.panel_objectinfo.gameObject.SetActive(false); }); customAssetConnector.onDeselectObjects += (() => { canvas_Popup.panel_objectalign.gameObject.SetActive(false); }); diff --git a/Assets/Scripts/Studio/UI/Panel/Panel_ObjectDistance.cs b/Assets/Scripts/Studio/UI/Panel/Panel_ObjectDistance.cs index 0a8c2989..e23c3908 100644 --- a/Assets/Scripts/Studio/UI/Panel/Panel_ObjectDistance.cs +++ b/Assets/Scripts/Studio/UI/Panel/Panel_ObjectDistance.cs @@ -8,6 +8,8 @@ namespace XED.UI { public class Panel_ObjectDistance : PanelBase { + GameObject linePrefab; + RectTransform Distance_up; RectTransform Distance_down; RectTransform Distance_left; @@ -15,8 +17,30 @@ namespace XED.UI RectTransform Distance_foward; RectTransform Distance_back; + Dictionary distanceLines = new(); + [SerializeField] + float lineThickness = 1; + CustomAssetRenderObject selectedObject; + public override void AfterAwake() + { + linePrefab = Resources.Load("Prefabs/PRF_ObjectDistanceLine"); + + distanceLines.Add(Distance_up, Instantiate(linePrefab)); + distanceLines.Add(Distance_down, Instantiate(linePrefab)); + distanceLines.Add(Distance_left, Instantiate(linePrefab)); + distanceLines.Add(Distance_right, Instantiate(linePrefab)); + distanceLines.Add(Distance_foward, Instantiate(linePrefab)); + distanceLines.Add(Distance_back, Instantiate(linePrefab)); + + foreach (var rect in distanceLines.Keys) + { + rect.gameObject.SetActive(false); + distanceLines[rect].gameObject.SetActive(false); + } + } + private void Update() { @@ -31,7 +55,12 @@ namespace XED.UI UpdateDistance(Distance_back, Vector3.back); } - public void Activate(string name, List objects) + public void Activate(GameObject obj) + { + selectedObject = obj.GetComponent(); + } + + public void ActivateFromSelect(string name, List objects) { if (objects.Count != 1) { @@ -48,29 +77,37 @@ namespace XED.UI SetActive(false); } - public GameObject tmpObj; - void UpdateDistance(RectTransform rect, Vector3 direction) { RaycastHit hit = selectedObject.GetObjectHit(direction); - if (hit.collider == null) + if (hit.collider != null) + { + float distance = hit.distance; + rect.GetComponentInChildren().text = distance.ToString("F2"); + + Vector3 hitPoint = hit.point; + Vector3 distanceCenterPoint = hitPoint - (direction * distance / 2); + Vector2 screenPoint = Camera.main.WorldToScreenPoint(distanceCenterPoint); + rect.transform.position = screenPoint; + rect.gameObject.SetActive(true); + + SetLineLength(distanceLines[rect], distanceCenterPoint, direction, distance); + distanceLines[rect].SetActive(true); + } + else { rect.gameObject.SetActive(false); + distanceLines[rect].SetActive(false); return; } + } - float distance = hit.distance; - rect.GetComponentInChildren().text = distance.ToString("F2"); - - Vector3 hitPoint = hit.point; - Vector3 distanceCenterPoint = hitPoint - (direction * distance / 2); - Vector2 screenPoint = Camera.main.WorldToScreenPoint(distanceCenterPoint); - rect.transform.position = screenPoint; - - rect.gameObject.SetActive(true); - - tmpObj.transform.position = hitPoint; + void SetLineLength(GameObject line, Vector3 centerPoint, Vector3 direction, float length) + { + line.transform.position = centerPoint; + line.transform.rotation = Quaternion.LookRotation(direction) * Quaternion.Euler(new Vector3(90, 0, 0)); + line.transform.localScale = new Vector3(lineThickness, length / 2, lineThickness); } } } From 110b2f87ed6074ed8a73e147f56d3206fe7fd70f Mon Sep 17 00:00:00 2001 From: jmaniuvc Date: Wed, 26 Mar 2025 17:01:11 +0900 Subject: [PATCH 4/5] =?UTF-8?q?=EA=B1=B0=EB=A6=AC=20UI=20z=EA=B0=92=20?= =?UTF-8?q?=EB=B2=84=EA=B7=B8=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Studio/AssetTool/CustomAssetRenderObject.cs | 5 ----- .../Scripts/Studio/UI/Panel/Panel_ObjectDistance.cs | 11 +++++++++-- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/Assets/Scripts/Studio/AssetTool/CustomAssetRenderObject.cs b/Assets/Scripts/Studio/AssetTool/CustomAssetRenderObject.cs index 15d9cc59..4845fdcd 100644 --- a/Assets/Scripts/Studio/AssetTool/CustomAssetRenderObject.cs +++ b/Assets/Scripts/Studio/AssetTool/CustomAssetRenderObject.cs @@ -244,10 +244,5 @@ namespace XED.Util return hitInfo; } - - public void DrawDistanceLine(Vector3 startPoint, Vector3 endPoint) - { - - } } } \ No newline at end of file diff --git a/Assets/Scripts/Studio/UI/Panel/Panel_ObjectDistance.cs b/Assets/Scripts/Studio/UI/Panel/Panel_ObjectDistance.cs index e23c3908..5a84a8b6 100644 --- a/Assets/Scripts/Studio/UI/Panel/Panel_ObjectDistance.cs +++ b/Assets/Scripts/Studio/UI/Panel/Panel_ObjectDistance.cs @@ -88,9 +88,16 @@ namespace XED.UI Vector3 hitPoint = hit.point; Vector3 distanceCenterPoint = hitPoint - (direction * distance / 2); - Vector2 screenPoint = Camera.main.WorldToScreenPoint(distanceCenterPoint); + Vector3 screenPoint = Camera.main.WorldToScreenPoint(distanceCenterPoint); rect.transform.position = screenPoint; - rect.gameObject.SetActive(true); + if (screenPoint.z > 0) + { + rect.gameObject.SetActive(true); + } + else + { + rect.gameObject.SetActive(false); + } SetLineLength(distanceLines[rect], distanceCenterPoint, direction, distance); distanceLines[rect].SetActive(true); From fd8b6052bfe5861fad5584752eda4592c04cba51 Mon Sep 17 00:00:00 2001 From: jmaniuvc Date: Wed, 26 Mar 2025 18:32:24 +0900 Subject: [PATCH 5/5] =?UTF-8?q?Scale=20=EC=A1=B0=EC=A0=88=EB=95=8C=20?= =?UTF-8?q?=EB=B2=84=EA=B7=B8=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Assets/Prefabs/UI/Panel_ObjectDistance.prefab | 12 +- Assets/Scenes/0.22.7.unity | 106 +++++++++++++++++- .../AssetTool/CustomAssetRenderObject.cs | 5 +- .../Scripts/Studio/Managers/EventConnector.cs | 2 +- .../Studio/UI/Panel/Panel_ObjectDistance.cs | 32 +++--- Assets/Scripts/Studio/UI/Tag/UI_GUIWindow.cs | 1 - 6 files changed, 134 insertions(+), 24 deletions(-) diff --git a/Assets/Prefabs/UI/Panel_ObjectDistance.prefab b/Assets/Prefabs/UI/Panel_ObjectDistance.prefab index 3e892987..bfa18aea 100644 --- a/Assets/Prefabs/UI/Panel_ObjectDistance.prefab +++ b/Assets/Prefabs/UI/Panel_ObjectDistance.prefab @@ -236,7 +236,7 @@ RectTransform: m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 150, y: 30} + m_SizeDelta: {x: 120, y: 30} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &3097470657670304171 CanvasRenderer: @@ -720,7 +720,7 @@ RectTransform: m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 150, y: 30} + m_SizeDelta: {x: 120, y: 30} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &2061718949882192120 CanvasRenderer: @@ -796,7 +796,7 @@ RectTransform: m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 150, y: 30} + m_SizeDelta: {x: 120, y: 30} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &2889234264731888109 CanvasRenderer: @@ -872,7 +872,7 @@ RectTransform: m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 150, y: 30} + m_SizeDelta: {x: 120, y: 30} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &7819340452723330143 CanvasRenderer: @@ -1220,7 +1220,7 @@ RectTransform: m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 150, y: 30} + m_SizeDelta: {x: 120, y: 30} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &9125045971131934483 CanvasRenderer: @@ -1296,7 +1296,7 @@ RectTransform: m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 150, y: 30} + m_SizeDelta: {x: 120, y: 30} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &5227252712573134147 CanvasRenderer: diff --git a/Assets/Scenes/0.22.7.unity b/Assets/Scenes/0.22.7.unity index 635601fb..19b5f276 100644 --- a/Assets/Scenes/0.22.7.unity +++ b/Assets/Scenes/0.22.7.unity @@ -239,6 +239,11 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 7178528} m_CullTransparentMesh: 1 +--- !u!224 &26689714 stripped +RectTransform: + m_CorrespondingSourceObject: {fileID: 6791165779322739231, guid: e34354bad51342e4ca9569fd37c9b8dd, type: 3} + m_PrefabInstance: {fileID: 1704958103} + m_PrefabAsset: {fileID: 0} --- !u!224 &41784374 stripped RectTransform: m_CorrespondingSourceObject: {fileID: 6291666171046911034, guid: 1bc9e043f1497cd4fbb8e241c26966c1, type: 3} @@ -4087,6 +4092,7 @@ RectTransform: - {fileID: 1085911555} - {fileID: 1712022043} - {fileID: 1229281891} + - {fileID: 26689714} m_Father: {fileID: 1981809316} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} @@ -4122,6 +4128,7 @@ MonoBehaviour: panel_draghandler: {fileID: 0} panel_assetedit: {fileID: 0} panel_thumbnail: {fileID: 0} + panel_objectdistance: {fileID: 0} --- !u!114 &545811783 MonoBehaviour: m_ObjectHideFlags: 0 @@ -8122,7 +8129,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 7269315550475766926, guid: 3335bcff08be47a4baa17f7fde07b24e, type: 3} propertyPath: m_AnchoredPosition.y - value: 0.0000045731117 + value: 0.00038443718 objectReference: {fileID: 0} - target: {fileID: 7484356029459005624, guid: 3335bcff08be47a4baa17f7fde07b24e, type: 3} propertyPath: m_Name @@ -16890,6 +16897,103 @@ MonoBehaviour: m_OnClick: m_PersistentCalls: m_Calls: [] +--- !u!1001 &1704958103 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 545811781} + m_Modifications: + - target: {fileID: 1037199441371851518, guid: e34354bad51342e4ca9569fd37c9b8dd, type: 3} + propertyPath: m_Name + value: Panel_ObjectDistance + objectReference: {fileID: 0} + - target: {fileID: 6791165779322739231, guid: e34354bad51342e4ca9569fd37c9b8dd, type: 3} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 6791165779322739231, guid: e34354bad51342e4ca9569fd37c9b8dd, type: 3} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 6791165779322739231, guid: e34354bad51342e4ca9569fd37c9b8dd, type: 3} + propertyPath: m_AnchorMax.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 6791165779322739231, guid: e34354bad51342e4ca9569fd37c9b8dd, type: 3} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 6791165779322739231, guid: e34354bad51342e4ca9569fd37c9b8dd, type: 3} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6791165779322739231, guid: e34354bad51342e4ca9569fd37c9b8dd, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6791165779322739231, guid: e34354bad51342e4ca9569fd37c9b8dd, type: 3} + propertyPath: m_SizeDelta.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6791165779322739231, guid: e34354bad51342e4ca9569fd37c9b8dd, type: 3} + propertyPath: m_SizeDelta.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6791165779322739231, guid: e34354bad51342e4ca9569fd37c9b8dd, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6791165779322739231, guid: e34354bad51342e4ca9569fd37c9b8dd, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6791165779322739231, guid: e34354bad51342e4ca9569fd37c9b8dd, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6791165779322739231, guid: e34354bad51342e4ca9569fd37c9b8dd, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 6791165779322739231, guid: e34354bad51342e4ca9569fd37c9b8dd, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6791165779322739231, guid: e34354bad51342e4ca9569fd37c9b8dd, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6791165779322739231, guid: e34354bad51342e4ca9569fd37c9b8dd, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6791165779322739231, guid: e34354bad51342e4ca9569fd37c9b8dd, type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6791165779322739231, guid: e34354bad51342e4ca9569fd37c9b8dd, type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6791165779322739231, guid: e34354bad51342e4ca9569fd37c9b8dd, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6791165779322739231, guid: e34354bad51342e4ca9569fd37c9b8dd, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6791165779322739231, guid: e34354bad51342e4ca9569fd37c9b8dd, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: e34354bad51342e4ca9569fd37c9b8dd, type: 3} --- !u!1 &1710831775 GameObject: m_ObjectHideFlags: 0 diff --git a/Assets/Scripts/Studio/AssetTool/CustomAssetRenderObject.cs b/Assets/Scripts/Studio/AssetTool/CustomAssetRenderObject.cs index 4845fdcd..946926fc 100644 --- a/Assets/Scripts/Studio/AssetTool/CustomAssetRenderObject.cs +++ b/Assets/Scripts/Studio/AssetTool/CustomAssetRenderObject.cs @@ -3,6 +3,7 @@ using System.Collections.Generic; using System.Linq; using UnityEngine; using UnityEngine.EventSystems; +using XED.UI; using static UnityEditor.ShaderGraph.Internal.KeywordDependentCollection; namespace XED.Util @@ -180,6 +181,7 @@ namespace XED.Util public void Select() { //ResizeBoundary(); + FindSingle().SelectObjectFromCreate(this); isSelected = true; objectRenderer.material = matCubeSelected; Show(); @@ -240,7 +242,8 @@ namespace XED.Util public RaycastHit GetObjectHit(Vector3 direction) { RaycastHit hitInfo; - Physics.BoxCast(boxCollider.bounds.center, boxCollider.size / 2.0f, direction, out hitInfo, transform.rotation, Mathf.Infinity, twinObjectMask); + Vector3 changedScale = Vector3.Scale(boxCollider.size, transform.lossyScale); + Physics.BoxCast(boxCollider.bounds.center, changedScale / 2.0f, direction, out hitInfo, transform.rotation, Mathf.Infinity, twinObjectMask); return hitInfo; } diff --git a/Assets/Scripts/Studio/Managers/EventConnector.cs b/Assets/Scripts/Studio/Managers/EventConnector.cs index a11121ec..fec047ac 100644 --- a/Assets/Scripts/Studio/Managers/EventConnector.cs +++ b/Assets/Scripts/Studio/Managers/EventConnector.cs @@ -47,7 +47,7 @@ namespace XED.Manage customAssetConnector.onSelectObjects += ((name, objects) => { canvas_Popup.panel_objectinfo.gameObject.SetActive(true); }); customAssetConnector.onSelectObjects += ((name, objects) => { canvas_Popup.panel_objectalign.gameObject.SetActive(true); }); customAssetConnector.onSelectObjects += canvas_Popup.panel_objectinfo.SetObjectInfo; - customAssetConnector.onSelectObjects += canvas_Popup.panel_objectdistance.ActivateFromSelect; + customAssetConnector.onSelectObjects += canvas_Popup.panel_objectdistance.SelectObjectFromClick; customAssetConnector.onRemoveObjects += canvas_Popup.panel_objectinfo.ResetObjectInfo; customAssetConnector.onDeselectObjects += (() => { canvas_Popup.panel_objectinfo.gameObject.SetActive(false); }); customAssetConnector.onDeselectObjects += (() => { canvas_Popup.panel_objectalign.gameObject.SetActive(false); }); diff --git a/Assets/Scripts/Studio/UI/Panel/Panel_ObjectDistance.cs b/Assets/Scripts/Studio/UI/Panel/Panel_ObjectDistance.cs index 5a84a8b6..c304c690 100644 --- a/Assets/Scripts/Studio/UI/Panel/Panel_ObjectDistance.cs +++ b/Assets/Scripts/Studio/UI/Panel/Panel_ObjectDistance.cs @@ -1,12 +1,14 @@ +using System; using System.Collections.Generic; using TMPro; using UnityEngine; using XED.Util; +using XRLib; using XRLib.UI; namespace XED.UI { - public class Panel_ObjectDistance : PanelBase + public class Panel_ObjectDistance : PanelBase, ISingle { GameObject linePrefab; @@ -34,18 +36,17 @@ namespace XED.UI distanceLines.Add(Distance_foward, Instantiate(linePrefab)); distanceLines.Add(Distance_back, Instantiate(linePrefab)); - foreach (var rect in distanceLines.Keys) - { - rect.gameObject.SetActive(false); - distanceLines[rect].gameObject.SetActive(false); - } + DeactivateAll(); } private void Update() { - if (selectedObject == null) + if (selectedObject == null || selectedObject.isCollided) + { + DeactivateAll(); return; + } UpdateDistance(Distance_up, Vector3.up); UpdateDistance(Distance_down, Vector3.down); @@ -55,26 +56,29 @@ namespace XED.UI UpdateDistance(Distance_back, Vector3.back); } - public void Activate(GameObject obj) + public void SelectObjectFromCreate(CustomAssetRenderObject obj) { - selectedObject = obj.GetComponent(); + selectedObject = obj; } - public void ActivateFromSelect(string name, List objects) + public void SelectObjectFromClick(string name, List objects) { if (objects.Count != 1) { - Deactivate(); + selectedObject = null; return; } selectedObject = objects[0].GetComponent(); - SetActive(true); } - public void Deactivate() + void DeactivateAll() { - SetActive(false); + foreach (var rect in distanceLines.Keys) + { + rect.gameObject.SetActive(false); + distanceLines[rect].gameObject.SetActive(false); + } } void UpdateDistance(RectTransform rect, Vector3 direction) diff --git a/Assets/Scripts/Studio/UI/Tag/UI_GUIWindow.cs b/Assets/Scripts/Studio/UI/Tag/UI_GUIWindow.cs index f553bcb9..cdc5e0c3 100644 --- a/Assets/Scripts/Studio/UI/Tag/UI_GUIWindow.cs +++ b/Assets/Scripts/Studio/UI/Tag/UI_GUIWindow.cs @@ -149,7 +149,6 @@ namespace XED.UI { if (dir == ResizeDirection.None) { - Debug.Log("None"); return; }