From b5406395dcc5d88681bf506573df8742ea07084b Mon Sep 17 00:00:00 2001 From: SOOBEEN HAN Date: Mon, 10 Nov 2025 19:14:16 +0900 Subject: [PATCH] =?UTF-8?q?=20=EC=9C=84=EC=B9=98=20=EA=B8=B0=EB=A1=9D?= =?UTF-8?q?=20API=20=EC=9E=AC=EC=84=A4=EC=A0=95=20=EB=B0=8F=20=EC=9C=84?= =?UTF-8?q?=EC=B9=98=20=EC=88=98=EC=A0=95=20=EC=8B=9C=20=EB=B0=98=ED=88=AC?= =?UTF-8?q?=EB=AA=85=EB=A1=9C=EB=B4=87=20=EC=88=98=EC=A0=95,=20=EC=BB=A8?= =?UTF-8?q?=ED=8A=B8=EB=A1=A4=EB=9F=AC=20Grab=ED=95=A0=EB=8B=B9=20?= =?UTF-8?q?=EB=B2=84=EA=B7=B8=20=ED=95=B4=EA=B2=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../로봇팔_01/로봇팔_01_Transparent.mat | 143 +++++++++++++++ .../로봇팔_01/로봇팔_01_Transparent.mat.meta | 8 + .../로봇팔_03/로봇팔_03_Transparent.mat | 143 +++++++++++++++ .../로봇팔_03/로봇팔_03_Transparent.mat.meta | 8 + .../로봇팔_04/로봇팔_04_Transparent.mat | 143 +++++++++++++++ .../로봇팔_04/로봇팔_04_Transparent.mat.meta | 8 + .../로봇팔_05/로봇팔_05_Transparent.mat | 143 +++++++++++++++ .../로봇팔_05/로봇팔_05_Transparent.mat.meta | 8 + .../로봇팔_06/로봇팔_06_Transparent.mat | 143 +++++++++++++++ .../로봇팔_06/로봇팔_06_Transparent.mat.meta | 8 + .../Materials/로봇팔_07/로봇팔_07.mat | 2 +- .../로봇팔_07/로봇팔_07_Transparent.mat | 143 +++++++++++++++ .../로봇팔_07/로봇팔_07_Transparent.mat.meta | 8 + .../Resources/Prefabs/DragArrowPrefab.prefab | 2 +- Assets/Scenes/HDRobo_Main.unity | 164 ++++++++++++++---- Assets/Scripts/Model/ProgramModel.cs | 71 ++++++-- Assets/Scripts/Presenter/ProgramPresenter.cs | 26 ++- Assets/Scripts/View/InteractionView.cs | 37 ++-- Assets/Scripts/View/PointManagerView.cs | 4 +- Assets/Scripts/View/PopupView.cs | 9 +- ...lete XR Origin Set Up Hands Variant.prefab | 24 ++- ProjectSettings/DynamicsManager.asset | 5 +- ProjectSettings/TagManager.asset | 4 +- 23 files changed, 1162 insertions(+), 92 deletions(-) create mode 100644 Assets/Resources/Materials/로봇팔_01/로봇팔_01_Transparent.mat create mode 100644 Assets/Resources/Materials/로봇팔_01/로봇팔_01_Transparent.mat.meta create mode 100644 Assets/Resources/Materials/로봇팔_03/로봇팔_03_Transparent.mat create mode 100644 Assets/Resources/Materials/로봇팔_03/로봇팔_03_Transparent.mat.meta create mode 100644 Assets/Resources/Materials/로봇팔_04/로봇팔_04_Transparent.mat create mode 100644 Assets/Resources/Materials/로봇팔_04/로봇팔_04_Transparent.mat.meta create mode 100644 Assets/Resources/Materials/로봇팔_05/로봇팔_05_Transparent.mat create mode 100644 Assets/Resources/Materials/로봇팔_05/로봇팔_05_Transparent.mat.meta create mode 100644 Assets/Resources/Materials/로봇팔_06/로봇팔_06_Transparent.mat create mode 100644 Assets/Resources/Materials/로봇팔_06/로봇팔_06_Transparent.mat.meta create mode 100644 Assets/Resources/Materials/로봇팔_07/로봇팔_07_Transparent.mat create mode 100644 Assets/Resources/Materials/로봇팔_07/로봇팔_07_Transparent.mat.meta diff --git a/Assets/Resources/Materials/로봇팔_01/로봇팔_01_Transparent.mat b/Assets/Resources/Materials/로봇팔_01/로봇팔_01_Transparent.mat new file mode 100644 index 0000000..ad34f8b --- /dev/null +++ b/Assets/Resources/Materials/로봇팔_01/로봇팔_01_Transparent.mat @@ -0,0 +1,143 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &-7702782977923783010 +MonoBehaviour: + m_ObjectHideFlags: 11 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 9 +--- !u!21 &2100000 +Material: + serializedVersion: 8 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: "\uB85C\uBD07\uD314_01_Transparent" + m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 + m_ValidKeywords: + - _ALPHAPREMULTIPLY_ON + - _METALLICSPECGLOSSMAP + - _NORMALMAP + - _OCCLUSIONMAP + - _SURFACE_TYPE_TRANSPARENT + m_InvalidKeywords: [] + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 1 + m_CustomRenderQueue: 3000 + stringTagMap: + RenderType: Transparent + disabledShaderPasses: + - MOTIONVECTORS + - DepthOnly + - SHADOWCASTER + m_LockedProperties: + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BaseMap: + m_Texture: {fileID: 2800000, guid: 00edf3bca99ee884e8f2ca7cfd6a12e9, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BumpMap: + m_Texture: {fileID: 2800000, guid: 0318f4774c45c944197898c8ab22dc6d, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 2800000, guid: 00edf3bca99ee884e8f2ca7cfd6a12e9, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 2800000, guid: 3b0bcf64d379d6b4b82dd810b027a5db, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 2800000, guid: 3d76fc7f04c2cea49b27ccb710214a27, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SpecGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_Lightmaps: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_LightmapsInd: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_ShadowMasks: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - _AddPrecomputedVelocity: 0 + - _AlphaClip: 0 + - _AlphaToMask: 0 + - _Blend: 0 + - _BlendModePreserveSpecular: 1 + - _BumpScale: 1 + - _ClearCoatMask: 0 + - _ClearCoatSmoothness: 0 + - _Cull: 0 + - _Cutoff: 0.5 + - _DetailAlbedoMapScale: 1 + - _DetailNormalMapScale: 1 + - _DstBlend: 10 + - _DstBlendAlpha: 10 + - _EnvironmentReflections: 1 + - _GlossMapScale: 0 + - _Glossiness: 0 + - _GlossyReflections: 0 + - _Metallic: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.005 + - _QueueOffset: 0 + - _ReceiveShadows: 1 + - _Smoothness: 0.5 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _SrcBlendAlpha: 1 + - _Surface: 1 + - _WorkflowMode: 1 + - _ZWrite: 0 + m_Colors: + - _BaseColor: {r: 1, g: 1, b: 1, a: 0.23529412} + - _Color: {r: 1, g: 1, b: 1, a: 0.23529412} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} + m_BuildTextureStacks: [] + m_AllowLocking: 1 diff --git a/Assets/Resources/Materials/로봇팔_01/로봇팔_01_Transparent.mat.meta b/Assets/Resources/Materials/로봇팔_01/로봇팔_01_Transparent.mat.meta new file mode 100644 index 0000000..e4eff90 --- /dev/null +++ b/Assets/Resources/Materials/로봇팔_01/로봇팔_01_Transparent.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 957d9f708b675144992bf87562924e15 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Materials/로봇팔_03/로봇팔_03_Transparent.mat b/Assets/Resources/Materials/로봇팔_03/로봇팔_03_Transparent.mat new file mode 100644 index 0000000..c457955 --- /dev/null +++ b/Assets/Resources/Materials/로봇팔_03/로봇팔_03_Transparent.mat @@ -0,0 +1,143 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 8 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: "\uB85C\uBD07\uD314_03_Transparent" + m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 + m_ValidKeywords: + - _ALPHAPREMULTIPLY_ON + - _METALLICSPECGLOSSMAP + - _NORMALMAP + - _OCCLUSIONMAP + - _SURFACE_TYPE_TRANSPARENT + m_InvalidKeywords: [] + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 1 + m_CustomRenderQueue: 3000 + stringTagMap: + RenderType: Transparent + disabledShaderPasses: + - MOTIONVECTORS + - DepthOnly + - SHADOWCASTER + m_LockedProperties: + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BaseMap: + m_Texture: {fileID: 2800000, guid: 841cccdd46ea851418ba18502defa943, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BumpMap: + m_Texture: {fileID: 2800000, guid: 1d3423bc60d23cd4b8c86c52f72f25c4, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 2800000, guid: 841cccdd46ea851418ba18502defa943, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 2800000, guid: 24764103315a42a4480d88862c55091e, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 2800000, guid: b23ea4e9908a77a45bef86aa54f2a621, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SpecGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_Lightmaps: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_LightmapsInd: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_ShadowMasks: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - _AddPrecomputedVelocity: 0 + - _AlphaClip: 0 + - _AlphaToMask: 0 + - _Blend: 0 + - _BlendModePreserveSpecular: 1 + - _BumpScale: 1 + - _ClearCoatMask: 0 + - _ClearCoatSmoothness: 0 + - _Cull: 0 + - _Cutoff: 0.5 + - _DetailAlbedoMapScale: 1 + - _DetailNormalMapScale: 1 + - _DstBlend: 10 + - _DstBlendAlpha: 10 + - _EnvironmentReflections: 1 + - _GlossMapScale: 0 + - _Glossiness: 0 + - _GlossyReflections: 0 + - _Metallic: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.005 + - _QueueOffset: 0 + - _ReceiveShadows: 1 + - _Smoothness: 0.8 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _SrcBlendAlpha: 1 + - _Surface: 1 + - _WorkflowMode: 1 + - _ZWrite: 0 + m_Colors: + - _BaseColor: {r: 1, g: 1, b: 1, a: 0.23529412} + - _Color: {r: 1, g: 1, b: 1, a: 0.23529412} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} + m_BuildTextureStacks: [] + m_AllowLocking: 1 +--- !u!114 &6159375307588961780 +MonoBehaviour: + m_ObjectHideFlags: 11 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 9 diff --git a/Assets/Resources/Materials/로봇팔_03/로봇팔_03_Transparent.mat.meta b/Assets/Resources/Materials/로봇팔_03/로봇팔_03_Transparent.mat.meta new file mode 100644 index 0000000..7b8f588 --- /dev/null +++ b/Assets/Resources/Materials/로봇팔_03/로봇팔_03_Transparent.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 8f5c2339640f3084292ebfb70e6188f3 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Materials/로봇팔_04/로봇팔_04_Transparent.mat b/Assets/Resources/Materials/로봇팔_04/로봇팔_04_Transparent.mat new file mode 100644 index 0000000..f2eea9b --- /dev/null +++ b/Assets/Resources/Materials/로봇팔_04/로봇팔_04_Transparent.mat @@ -0,0 +1,143 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 8 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: "\uB85C\uBD07\uD314_04_Transparent" + m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 + m_ValidKeywords: + - _ALPHAPREMULTIPLY_ON + - _METALLICSPECGLOSSMAP + - _NORMALMAP + - _OCCLUSIONMAP + - _SURFACE_TYPE_TRANSPARENT + m_InvalidKeywords: [] + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 1 + m_CustomRenderQueue: 3000 + stringTagMap: + RenderType: Transparent + disabledShaderPasses: + - MOTIONVECTORS + - DepthOnly + - SHADOWCASTER + m_LockedProperties: + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BaseMap: + m_Texture: {fileID: 2800000, guid: 6365a6c0f521b814d972203411737f86, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BumpMap: + m_Texture: {fileID: 2800000, guid: 0b74e34e52b1c504e812198dbeb41dd1, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 2800000, guid: 6365a6c0f521b814d972203411737f86, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 2800000, guid: 59047781bdfaf93478698465dcd48471, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 2800000, guid: 1494728590d112f489114a16251c3d3a, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SpecGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_Lightmaps: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_LightmapsInd: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_ShadowMasks: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - _AddPrecomputedVelocity: 0 + - _AlphaClip: 0 + - _AlphaToMask: 0 + - _Blend: 0 + - _BlendModePreserveSpecular: 1 + - _BumpScale: 1 + - _ClearCoatMask: 0 + - _ClearCoatSmoothness: 0 + - _Cull: 0 + - _Cutoff: 0.5 + - _DetailAlbedoMapScale: 1 + - _DetailNormalMapScale: 1 + - _DstBlend: 10 + - _DstBlendAlpha: 10 + - _EnvironmentReflections: 1 + - _GlossMapScale: 0 + - _Glossiness: 0 + - _GlossyReflections: 0 + - _Metallic: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.005 + - _QueueOffset: 0 + - _ReceiveShadows: 1 + - _Smoothness: 0.9 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _SrcBlendAlpha: 1 + - _Surface: 1 + - _WorkflowMode: 1 + - _ZWrite: 0 + m_Colors: + - _BaseColor: {r: 1, g: 1, b: 1, a: 0.23529412} + - _Color: {r: 1, g: 1, b: 1, a: 0.23529412} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} + m_BuildTextureStacks: [] + m_AllowLocking: 1 +--- !u!114 &7008776476897743886 +MonoBehaviour: + m_ObjectHideFlags: 11 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 9 diff --git a/Assets/Resources/Materials/로봇팔_04/로봇팔_04_Transparent.mat.meta b/Assets/Resources/Materials/로봇팔_04/로봇팔_04_Transparent.mat.meta new file mode 100644 index 0000000..b4505a8 --- /dev/null +++ b/Assets/Resources/Materials/로봇팔_04/로봇팔_04_Transparent.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 2376a58c80b2f214bba8d42aa9bf4769 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Materials/로봇팔_05/로봇팔_05_Transparent.mat b/Assets/Resources/Materials/로봇팔_05/로봇팔_05_Transparent.mat new file mode 100644 index 0000000..d0e94cd --- /dev/null +++ b/Assets/Resources/Materials/로봇팔_05/로봇팔_05_Transparent.mat @@ -0,0 +1,143 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &-7890898198833014856 +MonoBehaviour: + m_ObjectHideFlags: 11 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 9 +--- !u!21 &2100000 +Material: + serializedVersion: 8 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: "\uB85C\uBD07\uD314_05_Transparent" + m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 + m_ValidKeywords: + - _ALPHAPREMULTIPLY_ON + - _METALLICSPECGLOSSMAP + - _NORMALMAP + - _OCCLUSIONMAP + - _SURFACE_TYPE_TRANSPARENT + m_InvalidKeywords: [] + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 1 + m_CustomRenderQueue: 3000 + stringTagMap: + RenderType: Transparent + disabledShaderPasses: + - MOTIONVECTORS + - DepthOnly + - SHADOWCASTER + m_LockedProperties: + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BaseMap: + m_Texture: {fileID: 2800000, guid: e9e65566a0b60f849899b38ba2e63c31, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BumpMap: + m_Texture: {fileID: 2800000, guid: 991ae24fb52b52246aeecf9962032fdf, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 2800000, guid: e9e65566a0b60f849899b38ba2e63c31, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 2800000, guid: 00241c70a329ae146be5575dc016d216, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 2800000, guid: 672038dc4687b6248a366048af3388ab, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SpecGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_Lightmaps: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_LightmapsInd: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_ShadowMasks: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - _AddPrecomputedVelocity: 0 + - _AlphaClip: 0 + - _AlphaToMask: 0 + - _Blend: 0 + - _BlendModePreserveSpecular: 1 + - _BumpScale: 1 + - _ClearCoatMask: 0 + - _ClearCoatSmoothness: 0 + - _Cull: 0 + - _Cutoff: 0.5 + - _DetailAlbedoMapScale: 1 + - _DetailNormalMapScale: 1 + - _DstBlend: 10 + - _DstBlendAlpha: 10 + - _EnvironmentReflections: 1 + - _GlossMapScale: 0 + - _Glossiness: 0 + - _GlossyReflections: 0 + - _Metallic: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.005 + - _QueueOffset: 0 + - _ReceiveShadows: 1 + - _Smoothness: 0.9 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _SrcBlendAlpha: 1 + - _Surface: 1 + - _WorkflowMode: 1 + - _ZWrite: 0 + m_Colors: + - _BaseColor: {r: 1, g: 1, b: 1, a: 0.23529412} + - _Color: {r: 1, g: 1, b: 1, a: 0.23529412} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} + m_BuildTextureStacks: [] + m_AllowLocking: 1 diff --git a/Assets/Resources/Materials/로봇팔_05/로봇팔_05_Transparent.mat.meta b/Assets/Resources/Materials/로봇팔_05/로봇팔_05_Transparent.mat.meta new file mode 100644 index 0000000..7631e39 --- /dev/null +++ b/Assets/Resources/Materials/로봇팔_05/로봇팔_05_Transparent.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 302a417e8eeb565458e0b9ee9724db61 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Materials/로봇팔_06/로봇팔_06_Transparent.mat b/Assets/Resources/Materials/로봇팔_06/로봇팔_06_Transparent.mat new file mode 100644 index 0000000..94dcf88 --- /dev/null +++ b/Assets/Resources/Materials/로봇팔_06/로봇팔_06_Transparent.mat @@ -0,0 +1,143 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &-5804194135444203996 +MonoBehaviour: + m_ObjectHideFlags: 11 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 9 +--- !u!21 &2100000 +Material: + serializedVersion: 8 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: "\uB85C\uBD07\uD314_06_Transparent" + m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 + m_ValidKeywords: + - _ALPHAPREMULTIPLY_ON + - _METALLICSPECGLOSSMAP + - _NORMALMAP + - _OCCLUSIONMAP + - _SURFACE_TYPE_TRANSPARENT + m_InvalidKeywords: [] + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 1 + m_CustomRenderQueue: 3000 + stringTagMap: + RenderType: Transparent + disabledShaderPasses: + - MOTIONVECTORS + - DepthOnly + - SHADOWCASTER + m_LockedProperties: + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BaseMap: + m_Texture: {fileID: 2800000, guid: fa8f5b7b41342b346bd3e314cc6b0027, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BumpMap: + m_Texture: {fileID: 2800000, guid: a600f4cbbdade684b9e44744f45ff1c4, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 2800000, guid: fa8f5b7b41342b346bd3e314cc6b0027, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 2800000, guid: 13a67e84bc24c1a449d1f49f5220567a, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 2800000, guid: 8935845c7b2fd524d8b343954bdf98b8, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SpecGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_Lightmaps: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_LightmapsInd: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_ShadowMasks: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - _AddPrecomputedVelocity: 0 + - _AlphaClip: 0 + - _AlphaToMask: 0 + - _Blend: 0 + - _BlendModePreserveSpecular: 1 + - _BumpScale: 1 + - _ClearCoatMask: 0 + - _ClearCoatSmoothness: 0 + - _Cull: 0 + - _Cutoff: 0.5 + - _DetailAlbedoMapScale: 1 + - _DetailNormalMapScale: 1 + - _DstBlend: 10 + - _DstBlendAlpha: 10 + - _EnvironmentReflections: 1 + - _GlossMapScale: 0 + - _Glossiness: 0 + - _GlossyReflections: 0 + - _Metallic: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.005 + - _QueueOffset: 0 + - _ReceiveShadows: 1 + - _Smoothness: 0.9 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _SrcBlendAlpha: 1 + - _Surface: 1 + - _WorkflowMode: 1 + - _ZWrite: 0 + m_Colors: + - _BaseColor: {r: 1, g: 1, b: 1, a: 0.23529412} + - _Color: {r: 1, g: 1, b: 1, a: 0.23529412} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} + m_BuildTextureStacks: [] + m_AllowLocking: 1 diff --git a/Assets/Resources/Materials/로봇팔_06/로봇팔_06_Transparent.mat.meta b/Assets/Resources/Materials/로봇팔_06/로봇팔_06_Transparent.mat.meta new file mode 100644 index 0000000..671ca7a --- /dev/null +++ b/Assets/Resources/Materials/로봇팔_06/로봇팔_06_Transparent.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: aa51adc1120609e4b88ad0866bd843ad +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Materials/로봇팔_07/로봇팔_07.mat b/Assets/Resources/Materials/로봇팔_07/로봇팔_07.mat index f32772d..d9e1802 100644 --- a/Assets/Resources/Materials/로봇팔_07/로봇팔_07.mat +++ b/Assets/Resources/Materials/로봇팔_07/로봇팔_07.mat @@ -32,7 +32,7 @@ Material: m_LightmapFlags: 4 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 1 - m_CustomRenderQueue: -1 + m_CustomRenderQueue: 2000 stringTagMap: RenderType: Opaque disabledShaderPasses: diff --git a/Assets/Resources/Materials/로봇팔_07/로봇팔_07_Transparent.mat b/Assets/Resources/Materials/로봇팔_07/로봇팔_07_Transparent.mat new file mode 100644 index 0000000..74d1330 --- /dev/null +++ b/Assets/Resources/Materials/로봇팔_07/로봇팔_07_Transparent.mat @@ -0,0 +1,143 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &-8703133427813900661 +MonoBehaviour: + m_ObjectHideFlags: 11 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 9 +--- !u!21 &2100000 +Material: + serializedVersion: 8 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: "\uB85C\uBD07\uD314_07_Transparent" + m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 + m_ValidKeywords: + - _ALPHAPREMULTIPLY_ON + - _METALLICSPECGLOSSMAP + - _NORMALMAP + - _OCCLUSIONMAP + - _SURFACE_TYPE_TRANSPARENT + m_InvalidKeywords: [] + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 1 + m_CustomRenderQueue: 3000 + stringTagMap: + RenderType: Transparent + disabledShaderPasses: + - MOTIONVECTORS + - DepthOnly + - SHADOWCASTER + m_LockedProperties: + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BaseMap: + m_Texture: {fileID: 2800000, guid: 76fb26dc03a02b544b4eb2adaa65fdd4, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BumpMap: + m_Texture: {fileID: 2800000, guid: db0ab1c486841334cbfee38dc6c11dda, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 2800000, guid: 76fb26dc03a02b544b4eb2adaa65fdd4, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 2800000, guid: 6c3fc90f8b59816408b99c21ccff481a, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 2800000, guid: 30bf3dad60901864b84e99ccd7753db7, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SpecGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_Lightmaps: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_LightmapsInd: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_ShadowMasks: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - _AddPrecomputedVelocity: 0 + - _AlphaClip: 0 + - _AlphaToMask: 0 + - _Blend: 0 + - _BlendModePreserveSpecular: 1 + - _BumpScale: 1 + - _ClearCoatMask: 0 + - _ClearCoatSmoothness: 0 + - _Cull: 0 + - _Cutoff: 0.5 + - _DetailAlbedoMapScale: 1 + - _DetailNormalMapScale: 1 + - _DstBlend: 10 + - _DstBlendAlpha: 10 + - _EnvironmentReflections: 1 + - _GlossMapScale: 0 + - _Glossiness: 0 + - _GlossyReflections: 0 + - _Metallic: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.005 + - _QueueOffset: 0 + - _ReceiveShadows: 1 + - _Smoothness: 0.9 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _SrcBlendAlpha: 1 + - _Surface: 1 + - _WorkflowMode: 1 + - _ZWrite: 0 + m_Colors: + - _BaseColor: {r: 1, g: 1, b: 1, a: 0.23529412} + - _Color: {r: 1, g: 1, b: 1, a: 0.23529412} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} + m_BuildTextureStacks: [] + m_AllowLocking: 1 diff --git a/Assets/Resources/Materials/로봇팔_07/로봇팔_07_Transparent.mat.meta b/Assets/Resources/Materials/로봇팔_07/로봇팔_07_Transparent.mat.meta new file mode 100644 index 0000000..f4339ad --- /dev/null +++ b/Assets/Resources/Materials/로봇팔_07/로봇팔_07_Transparent.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 83ed597d1dc561c47886601f3f14f6cb +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Prefabs/DragArrowPrefab.prefab b/Assets/Resources/Prefabs/DragArrowPrefab.prefab index 14a9c14..08755be 100644 --- a/Assets/Resources/Prefabs/DragArrowPrefab.prefab +++ b/Assets/Resources/Prefabs/DragArrowPrefab.prefab @@ -134,7 +134,7 @@ Transform: m_GameObject: {fileID: 9153036347640126610} serializedVersion: 2 m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 1.3460997, y: 1.245627, z: 4.6605406} + m_LocalPosition: {x: 0.013332643, y: 2.195696, z: 0.8629027} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: diff --git a/Assets/Scenes/HDRobo_Main.unity b/Assets/Scenes/HDRobo_Main.unity index ba48bf6..c08d1a5 100644 --- a/Assets/Scenes/HDRobo_Main.unity +++ b/Assets/Scenes/HDRobo_Main.unity @@ -569,7 +569,7 @@ MeshRenderer: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 16734323} - m_Enabled: 0 + m_Enabled: 1 m_CastShadows: 1 m_ReceiveShadows: 1 m_DynamicOccludee: 1 @@ -585,7 +585,7 @@ MeshRenderer: m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: - - {fileID: 2100000, guid: 3fb97047b3f4ebd4c9c9cae419d6f554, type: 2} + - {fileID: 2100000, guid: aa51adc1120609e4b88ad0866bd843ad, type: 2} m_StaticBatchInfo: firstSubMesh: 0 subMeshCount: 0 @@ -8396,6 +8396,59 @@ Transform: m_CorrespondingSourceObject: {fileID: 7099716907747820072, guid: f2f18e5c47311a94d9e56f71ec76d10f, type: 3} m_PrefabInstance: {fileID: 263444461} m_PrefabAsset: {fileID: 0} +--- !u!1 &267392555 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 267392556} + - component: {fileID: 267392557} + m_Layer: 0 + m_Name: FloorCollider + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &267392556 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 267392555} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.01, y: 0.01, z: 0.01} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 543450651785570015} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!65 &267392557 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 267392555} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Size: {x: 1.0210133, y: 0.73087645, z: 0.048190936} + m_Center: {x: -0.010505325, y: 0.005385661, z: -0.35056588} --- !u!1001 &267544602 PrefabInstance: m_ObjectHideFlags: 0 @@ -17222,7 +17275,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: -8679921383154817045, guid: 6c52fe1416d967a409332c0065a41575, type: 3} propertyPath: m_LocalPosition.x - value: -0.14 + value: 1.21 objectReference: {fileID: 0} - target: {fileID: -8679921383154817045, guid: 6c52fe1416d967a409332c0065a41575, type: 3} propertyPath: m_LocalPosition.y @@ -17230,7 +17283,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: -8679921383154817045, guid: 6c52fe1416d967a409332c0065a41575, type: 3} propertyPath: m_LocalPosition.z - value: 1.66 + value: 0.07 objectReference: {fileID: 0} - target: {fileID: -8679921383154817045, guid: 6c52fe1416d967a409332c0065a41575, type: 3} propertyPath: m_LocalRotation.w @@ -17260,6 +17313,10 @@ PrefabInstance: propertyPath: m_LocalEulerAnglesHint.z value: 0 objectReference: {fileID: 0} + - target: {fileID: -7009699649911652522, guid: 6c52fe1416d967a409332c0065a41575, type: 3} + propertyPath: m_Layer + value: 7 + objectReference: {fileID: 0} - target: {fileID: -5621490113848474196, guid: 6c52fe1416d967a409332c0065a41575, type: 3} propertyPath: 'm_Materials.Array.data[0]' value: @@ -17268,6 +17325,14 @@ PrefabInstance: propertyPath: m_Name value: Pallet_01 objectReference: {fileID: 0} + - target: {fileID: 919132149155446097, guid: 6c52fe1416d967a409332c0065a41575, type: 3} + propertyPath: m_Layer + value: 7 + objectReference: {fileID: 0} + - target: {fileID: 1302411755452169222, guid: 6c52fe1416d967a409332c0065a41575, type: 3} + propertyPath: m_Layer + value: 7 + objectReference: {fileID: 0} m_RemovedComponents: [] m_RemovedGameObjects: [] m_AddedGameObjects: [] @@ -20790,7 +20855,7 @@ MeshRenderer: m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: - - {fileID: 2100000, guid: a0de70b33f83b964ea41791ffb3b11e6, type: 2} + - {fileID: 2100000, guid: 957d9f708b675144992bf87562924e15, type: 2} m_StaticBatchInfo: firstSubMesh: 0 subMeshCount: 0 @@ -27708,7 +27773,7 @@ MonoBehaviour: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 933746480} - m_Enabled: 0 + m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: 0ad34abafad169848a38072baa96cdb2, type: 3} m_Name: @@ -27835,7 +27900,7 @@ MonoBehaviour: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 933746480} - m_Enabled: 0 + m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: d0a1302d0d134fa8a2a5b3bf4aec3c20, type: 3} m_Name: @@ -28345,6 +28410,10 @@ PrefabInstance: propertyPath: m_StaticEditorFlags value: 4294967295 objectReference: {fileID: 0} + - target: {fileID: -854453576789456866, guid: 2a7a5cff079135246888e681ee7e0a0a, type: 3} + propertyPath: m_Layer + value: 0 + objectReference: {fileID: 0} - target: {fileID: -854453576789456866, guid: 2a7a5cff079135246888e681ee7e0a0a, type: 3} propertyPath: m_StaticEditorFlags value: 4294967295 @@ -33027,7 +33096,7 @@ GameObject: m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 - m_IsActive: 0 + m_IsActive: 1 --- !u!224 &1102828142 RectTransform: m_ObjectHideFlags: 0 @@ -33035,8 +33104,8 @@ RectTransform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1102828141} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalRotation: {x: -0.0028867563, y: 0.1609593, z: 0.0004707907, w: 0.9869567} + m_LocalPosition: {x: 0, y: 0, z: -1.0124617} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: @@ -33048,7 +33117,7 @@ RectTransform: 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_AnchoredPosition: {x: 1.7399362, y: 0.46820724} m_SizeDelta: {x: 0, y: 0} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &1102828143 @@ -39466,7 +39535,7 @@ RectTransform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1313589737} - m_LocalRotation: {x: 0, y: 0.7071068, z: 0, w: 0.7071068} + m_LocalRotation: {x: 0, y: 1, z: 0, w: 0} m_LocalPosition: {x: 0, y: 0, z: -0.94} m_LocalScale: {x: 0.5, y: 0.346, z: 1} m_ConstrainProportionsScale: 0 @@ -39476,7 +39545,7 @@ RectTransform: - {fileID: 1551209703} - {fileID: 345423594} m_Father: {fileID: 0} - m_LocalEulerAnglesHint: {x: 0, y: 90, z: 0} + m_LocalEulerAnglesHint: {x: 0, y: 180, z: 0} m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 0, y: 0} m_AnchoredPosition: {x: -0.2, y: 1.221} @@ -43273,7 +43342,7 @@ MeshRenderer: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1418716636} - m_Enabled: 0 + m_Enabled: 1 m_CastShadows: 1 m_ReceiveShadows: 1 m_DynamicOccludee: 1 @@ -43289,7 +43358,7 @@ MeshRenderer: m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: - - {fileID: 2100000, guid: 2b55980298efc4b4cb581e9d63812158, type: 2} + - {fileID: 2100000, guid: 83ed597d1dc561c47886601f3f14f6cb, type: 2} m_StaticBatchInfo: firstSubMesh: 0 subMeshCount: 0 @@ -44830,7 +44899,7 @@ MeshRenderer: m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: - - {fileID: 2100000, guid: a0de70b33f83b964ea41791ffb3b11e6, type: 2} + - {fileID: 2100000, guid: 957d9f708b675144992bf87562924e15, type: 2} m_StaticBatchInfo: firstSubMesh: 0 subMeshCount: 0 @@ -46953,7 +47022,7 @@ GameObject: m_Component: - component: {fileID: 1500826934} - component: {fileID: 1500826935} - m_Layer: 0 + m_Layer: 6 m_Name: PhysicalCollider m_TagString: Untagged m_Icon: {fileID: 0} @@ -46994,8 +47063,8 @@ BoxCollider: m_ProvidesContacts: 0 m_Enabled: 1 serializedVersion: 3 - m_Size: {x: 1, y: 1, z: 0.6693567} - m_Center: {x: -2.295857e-17, y: 2.8425064e-14, z: 0.0056306776} + m_Size: {x: 1, y: 1, z: 0.6407888} + m_Center: {x: -5.929289e-17, y: 1.4580635e-13, z: 0.019914648} --- !u!1001 &1501130233 PrefabInstance: m_ObjectHideFlags: 0 @@ -55031,7 +55100,7 @@ MeshRenderer: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1710393086} - m_Enabled: 0 + m_Enabled: 1 m_CastShadows: 1 m_ReceiveShadows: 1 m_DynamicOccludee: 1 @@ -55047,7 +55116,7 @@ MeshRenderer: m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: - - {fileID: 2100000, guid: fbf3b432cdbc408479f65ebbaa44bd59, type: 2} + - {fileID: 2100000, guid: 2376a58c80b2f214bba8d42aa9bf4769, type: 2} m_StaticBatchInfo: firstSubMesh: 0 subMeshCount: 0 @@ -61174,6 +61243,10 @@ PrefabInstance: propertyPath: dragArrow value: objectReference: {fileID: 9153036347640126610, guid: 473e683afc015324ca5689bd27431027, type: 3} + - target: {fileID: 4059851328209584392, guid: 77e7c27b2c5525e4aa8cc9f99d654486, type: 3} + propertyPath: m_Enabled + value: 0 + objectReference: {fileID: 0} - target: {fileID: 4059851328209584392, guid: 77e7c27b2c5525e4aa8cc9f99d654486, type: 3} propertyPath: ghostRobot value: @@ -61394,6 +61467,10 @@ PrefabInstance: propertyPath: dragArrow value: objectReference: {fileID: 9153036347640126610, guid: 473e683afc015324ca5689bd27431027, type: 3} + - target: {fileID: 8047923434058926918, guid: 77e7c27b2c5525e4aa8cc9f99d654486, type: 3} + propertyPath: m_Enabled + value: 0 + objectReference: {fileID: 0} - target: {fileID: 8047923434058926918, guid: 77e7c27b2c5525e4aa8cc9f99d654486, type: 3} propertyPath: ghostRobot value: @@ -61420,7 +61497,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 8806329115733545878, guid: 77e7c27b2c5525e4aa8cc9f99d654486, type: 3} propertyPath: m_LocalPosition.x - value: -2.905 + value: 0.101 objectReference: {fileID: 0} - target: {fileID: 8806329115733545878, guid: 77e7c27b2c5525e4aa8cc9f99d654486, type: 3} propertyPath: m_LocalPosition.y @@ -61428,11 +61505,11 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 8806329115733545878, guid: 77e7c27b2c5525e4aa8cc9f99d654486, type: 3} propertyPath: m_LocalPosition.z - value: 0.001 + value: 3.567 objectReference: {fileID: 0} - target: {fileID: 8806329115733545878, guid: 77e7c27b2c5525e4aa8cc9f99d654486, type: 3} propertyPath: m_LocalRotation.w - value: 0.7071068 + value: 0 objectReference: {fileID: 0} - target: {fileID: 8806329115733545878, guid: 77e7c27b2c5525e4aa8cc9f99d654486, type: 3} propertyPath: m_LocalRotation.x @@ -61440,7 +61517,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 8806329115733545878, guid: 77e7c27b2c5525e4aa8cc9f99d654486, type: 3} propertyPath: m_LocalRotation.y - value: 0.7071068 + value: 1 objectReference: {fileID: 0} - target: {fileID: 8806329115733545878, guid: 77e7c27b2c5525e4aa8cc9f99d654486, type: 3} propertyPath: m_LocalRotation.z @@ -61452,7 +61529,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 8806329115733545878, guid: 77e7c27b2c5525e4aa8cc9f99d654486, type: 3} propertyPath: m_LocalEulerAnglesHint.y - value: 90 + value: 180 objectReference: {fileID: 0} - target: {fileID: 8806329115733545878, guid: 77e7c27b2c5525e4aa8cc9f99d654486, type: 3} propertyPath: m_LocalEulerAnglesHint.z @@ -63363,7 +63440,7 @@ MeshRenderer: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2014702405} - m_Enabled: 0 + m_Enabled: 1 m_CastShadows: 1 m_ReceiveShadows: 1 m_DynamicOccludee: 1 @@ -63379,7 +63456,7 @@ MeshRenderer: m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: - - {fileID: 2100000, guid: b8ea87b70f6281440b59e36b89a18c0a, type: 2} + - {fileID: 2100000, guid: 8f5c2339640f3084292ebfb70e6188f3, type: 2} m_StaticBatchInfo: firstSubMesh: 0 subMeshCount: 0 @@ -64677,7 +64754,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: -8679921383154817045, guid: 6c52fe1416d967a409332c0065a41575, type: 3} propertyPath: m_LocalPosition.x - value: -0.13999999 + value: -1.16 objectReference: {fileID: 0} - target: {fileID: -8679921383154817045, guid: 6c52fe1416d967a409332c0065a41575, type: 3} propertyPath: m_LocalPosition.y @@ -64685,7 +64762,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: -8679921383154817045, guid: 6c52fe1416d967a409332c0065a41575, type: 3} propertyPath: m_LocalPosition.z - value: -1.57 + value: 0.09 objectReference: {fileID: 0} - target: {fileID: -8679921383154817045, guid: 6c52fe1416d967a409332c0065a41575, type: 3} propertyPath: m_LocalRotation.w @@ -64715,6 +64792,10 @@ PrefabInstance: propertyPath: m_LocalEulerAnglesHint.z value: 0 objectReference: {fileID: 0} + - target: {fileID: -7009699649911652522, guid: 6c52fe1416d967a409332c0065a41575, type: 3} + propertyPath: m_Layer + value: 7 + objectReference: {fileID: 0} - target: {fileID: -5621490113848474196, guid: 6c52fe1416d967a409332c0065a41575, type: 3} propertyPath: 'm_Materials.Array.data[0]' value: @@ -64723,10 +64804,18 @@ PrefabInstance: propertyPath: m_Name value: Pallet_02 objectReference: {fileID: 0} + - target: {fileID: 919132149155446097, guid: 6c52fe1416d967a409332c0065a41575, type: 3} + propertyPath: m_Layer + value: 7 + objectReference: {fileID: 0} - target: {fileID: 919132149155446097, guid: 6c52fe1416d967a409332c0065a41575, type: 3} propertyPath: m_TagString value: DropZone objectReference: {fileID: 0} + - target: {fileID: 1302411755452169222, guid: 6c52fe1416d967a409332c0065a41575, type: 3} + propertyPath: m_Layer + value: 7 + objectReference: {fileID: 0} m_RemovedComponents: [] m_RemovedGameObjects: [] m_AddedGameObjects: [] @@ -64991,17 +65080,17 @@ RectTransform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2084353331} - m_LocalRotation: {x: -0, y: -0.72839886, z: -0, w: 0.68515337} - m_LocalPosition: {x: 0, y: 0, z: 0.55} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -1.92} m_LocalScale: {x: 0.673158, y: 0.904753, z: 1} m_ConstrainProportionsScale: 0 m_Children: - {fileID: 1456747452} m_Father: {fileID: 0} - m_LocalEulerAnglesHint: {x: 0, y: -93.505, z: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 1.67, y: 1.548} + m_AnchoredPosition: {x: 0.83, y: 1.99} m_SizeDelta: {x: 1, y: 1} m_Pivot: {x: 0.5, y: 0.5} --- !u!1001 &2085318412 @@ -65754,7 +65843,7 @@ MeshRenderer: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2121191317} - m_Enabled: 0 + m_Enabled: 1 m_CastShadows: 1 m_ReceiveShadows: 1 m_DynamicOccludee: 1 @@ -65770,7 +65859,7 @@ MeshRenderer: m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: - - {fileID: 2100000, guid: 499a2809366dc684981670dd01af385d, type: 2} + - {fileID: 2100000, guid: 302a417e8eeb565458e0b9ee9724db61, type: 2} m_StaticBatchInfo: firstSubMesh: 0 subMeshCount: 0 @@ -66642,11 +66731,12 @@ Transform: m_GameObject: {fileID: 919132147847167077} serializedVersion: 2 m_LocalRotation: {x: -0.49984875, y: 0.5001513, z: 0.50009066, w: 0.49990925} - m_LocalPosition: {x: -0.21000004, y: 0.4829999, z: 1.7019999} + m_LocalPosition: {x: 1.197, y: 0.483, z: 0.112} m_LocalScale: {x: 47.084652, y: 47.084652, z: 47.084652} m_ConstrainProportionsScale: 0 m_Children: - {fileID: 1500826934} + - {fileID: 267392556} m_Father: {fileID: 324567848} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!33 &569414232852021066 diff --git a/Assets/Scripts/Model/ProgramModel.cs b/Assets/Scripts/Model/ProgramModel.cs index 4d12a4e..ce53bb8 100644 --- a/Assets/Scripts/Model/ProgramModel.cs +++ b/Assets/Scripts/Model/ProgramModel.cs @@ -41,6 +41,8 @@ public class ProgramModel : IProgramModel private Vector3 startMovementPosition; private int currentToolNum = 0; + private readonly SemaphoreSlim clientLock = new SemaphoreSlim(1, 1); + public ProgramModel(string hostip, int tcpPort, int udpPort, RobotController robotController) { tcpBaseUrl = $"http://{hostip}:{tcpPort}"; @@ -148,8 +150,17 @@ public class ProgramModel : IProgramModel HttpResponseMessage result = await httpClient.PostAsync(requestUri, jsonPayload); if (result.IsSuccessStatusCode) { - await LoadProgram(userInputId); - return true; + await LoadProgram(newProgramId); + object payload = CmdLinePayload("end", 0); + jsonString = JsonConvert.SerializeObject(payload); + jsonPayload = new StringContent(jsonString, Encoding.UTF8, "application/json"); + + HttpResponseMessage jsonResponse = await httpClient.PostAsync( + $"{tcpBaseUrl}/project/jobs/{CurrentProgram.ProgramId}/ins_cmd_line", jsonPayload); + if (jsonResponse.IsSuccessStatusCode) + return true; + else + return false; } else return false; @@ -218,6 +229,7 @@ public class ProgramModel : IProgramModel { while (!token.IsCancellationRequested) { + //await clientLock.WaitAsync(token); try { string requestUri = $"{tcpBaseUrl}/project/robot/po_cur"; @@ -232,13 +244,17 @@ public class ProgramModel : IProgramModel robotData = tempRobotData; hasNewData = true; } - await Task.Delay(50); + await Task.Delay(50, token); } catch (Exception e) { Debug.Log(e); await Task.Delay(1000); // ¿¡·¯ ½Ã ´õ ±ä ´ë±â } + finally + { + //clientLock.Release(); + } } } @@ -305,6 +321,37 @@ public class ProgramModel : IProgramModel /// /// ·Îº¿ À§Ä¡ ±â·Ï ½Ã½ºÅÛ /// + + // ÇÁ·Î±×·¥¿¡ ¸í·É¹® Ãß°¡ + public object CmdLinePayload(string cmd_line, int sno_ref) + { + object payload; + if (cmd_line == "end") + { + payload = new + { + cmd_line = cmd_line, + sno_ref = sno_ref + }; + } + else + { + payload = new + { + adjust_branch = true, + cmd_line = cmd_line, + fno_ref = -1, + mechinfo = -1, + move_cursor = 1, + ofs = 0, + save_file = true, + set_cur_pose = 1, + sno_ref = sno_ref + }; + } + return payload; + } + public async Task SavePointToProgramAsync(RobotData pointData, int index = -1) { if (CurrentProgram == null) @@ -325,18 +372,7 @@ public class ProgramModel : IProgramModel // sno_ref = ¸¶Áö¸· ½ºÅÜÀÇ ¹øÈ£, ¾øÀ¸¸é 0 int sno_ref = (CurrentProgram.Steps.Count > 0) ? CurrentProgram.Steps.Last().StepNumber : 0; - payload = new - { - adjust_branch = true, - cmd_line = $"move P,spd=50%,accu=3,tool={currentToolNum}", - fno_ref = -1, - mechinfo = -1, - move_cursor = 1, - ofs = 0, - save_file = true, - set_cur_pose = -1, - sno_ref = sno_ref - }; + payload = CmdLinePayload($"move P,spd=50%,accu=3,tool={currentToolNum}", sno_ref); requestUri = $"{tcpBaseUrl}/project/jobs/{CurrentProgram.ProgramId}/ins_cmd_line"; } @@ -429,6 +465,7 @@ public class ProgramModel : IProgramModel // Ÿ°Ù Æ÷Áö¼ÇÀ¸·Î À̵¿ public async Task MoveToPoseTcpAsync(Vector3 position) { + await clientLock.WaitAsync(); try { startMovementPosition.x = Convert.ToSingle(Math.Round(-1 * position.x * 1000, 2)); @@ -454,6 +491,10 @@ public class ProgramModel : IProgramModel Debug.Log(e); return false; } + finally + { + clientLock.Release(); + } } // TCP POST À̵¿ ¸í·É üũ diff --git a/Assets/Scripts/Presenter/ProgramPresenter.cs b/Assets/Scripts/Presenter/ProgramPresenter.cs index 337abba..e937b23 100644 --- a/Assets/Scripts/Presenter/ProgramPresenter.cs +++ b/Assets/Scripts/Presenter/ProgramPresenter.cs @@ -300,22 +300,28 @@ public class ProgramPresenter Vector3 startPos = interactionView.GetCurrentRayPosition(); interactionView.ShowDragArrow(startPos); interactionView.ShowGhostRobot(); + pointManagerView.kinematicsNode.enabled = true; // ¹ÝÅõ¸í ·Îº¿ÀÇ À§Ä¡¸¦ ¸¶¿ì½º À§Ä¡¿Í °°µµ·Ï ¼³Á¤ - pointManagerView.kinematicsNode.targetTransform.localPosition = startPos; + pointManagerView.kinematicsNode.targetTransform.position = startPos; + originalDragPose = model.CurrentProgram.GetStepPose(index); } } private void HandlePointDragUpdate(int index, Vector3 newWorldPos, Quaternion newWorldRot) { if (!IsDragging) return; - this.latestTargetPose = ConvertPoseToRobotData(newWorldPos, newWorldRot); + pointManagerView.kinematicsNode.targetTransform.position = newWorldPos; + pointManagerView.kinematicsNode.targetTransform.rotation = newWorldRot; + Vector3 ghostRobotPos = pointManagerView.kinematicsNode.nodes[5].jointTransform.position; + Quaternion ghostRobotRot = pointManagerView.kinematicsNode.nodes[5].jointTransform.rotation; + + this.latestTargetPose = ConvertPoseToRobotData(ghostRobotPos, ghostRobotRot); interactionView.ShowDragArrow(newWorldPos); // ¸¶¿ì½º À̹ÌÁö º¯°æ // °í½ºÆ® ·Îº¿, Æ÷ÀÎÆ®, °æ·Î ½Ç½Ã°£ À̵¿ - pointManagerView.kinematicsNode.targetTransform.localPosition = newWorldPos; - pointManagerView.UpdatePointPosition(index, this.latestTargetPose); + pointManagerView.UpdatePointPosition(index, ghostRobotPos); RedrawTemporaryPath(index, latestTargetPose); } @@ -325,6 +331,7 @@ public class ProgramPresenter interactionView.HideDragArrow(); interactionView.HideGhostRobot(); + pointManagerView.kinematicsNode.enabled = false; pendingPointData = this.latestTargetPose; @@ -333,7 +340,7 @@ public class ProgramPresenter currentPopupState = PopupState.ConfirmModifyPoint; // »óÅ ¼³Á¤ - popupView.ShowModifyPopup(popPos); + _ = WaitForRobotToStopAndShowPopup(currentPopupState); } // --- ÆË¾÷ ÀÀ´ä ÅëÇÕ Çڵ鷯 --- @@ -362,7 +369,8 @@ public class ProgramPresenter } else if (response == PopupResponse.Cancel) { - pointManagerView.UpdatePointPosition(activePointIndex, originalDragPose); // ¿øÀ§Ä¡ + Vector3 originalPos = ConvertRobotDataToVector3(originalDragPose); + pointManagerView.UpdatePointPosition(activePointIndex, originalPos); // ¿øÀ§Ä¡ RedrawTemporaryPath(activePointIndex, originalDragPose); // °æ·Î ¿øÀ§Ä¡ } break; @@ -400,6 +408,7 @@ public class ProgramPresenter private async Task WaitForRobotToStopAndShowPopup(PopupState nextState) { + await Task.Delay(200); while (await model.GetMovingState() == "1") { Debug.Log("·Îº¿ÀÌ ¸ØÃ߱⸦ ±â´Ù¸®´Â Áß..."); @@ -416,6 +425,11 @@ public class ProgramPresenter popupWorldPos = ConvertRobotDataToVector3(pendingPointData); popupView.ShowConfirmPopupFromPoint(popupWorldPos); // (»õ Æ÷ÀÎÆ® À§Ä¡) } + else if(nextState == PopupState.ConfirmModifyPoint) + { + popupWorldPos = ConvertRobotDataToVector3(pendingPointData); + popupView.ShowModifyPopup(popupWorldPos); + } } private async Task WaitForRobotToStop() diff --git a/Assets/Scripts/View/InteractionView.cs b/Assets/Scripts/View/InteractionView.cs index e221017..ebc70fa 100644 --- a/Assets/Scripts/View/InteractionView.cs +++ b/Assets/Scripts/View/InteractionView.cs @@ -45,27 +45,27 @@ public class InteractionView : MonoBehaviour, IInteractionView public bool isGrabbingRobot = false; - void Start() - { - nearFarInteractor = GetComponent(); + //void Start() + //{ + // nearFarInteractor = GetComponentInChildren(); - if (nearFarInteractor == null) - { - Debug.LogError("InteractionView: 'nearFarInteractor'°¡ ÇÒ´çµÇÁö ¾Ê¾Ò½À´Ï´Ù", this); - return; - } + // if (nearFarInteractor == null) + // { + // Debug.LogError("InteractionView: 'nearFarInteractor'°¡ ÇÒ´çµÇÁö ¾Ê¾Ò½À´Ï´Ù", this); + // return; + // } - baseInteractor = nearFarInteractor as XRBaseInteractor; - rayProvider = nearFarInteractor as IXRRayProvider; + // baseInteractor = nearFarInteractor as XRBaseInteractor; + // rayProvider = nearFarInteractor as IXRRayProvider; - if (baseInteractor == null) - { - Debug.LogError("NearFarInteractor¸¦ XRBaseInteractor·Î º¯È¯ÇÒ ¼ö ¾ø½À´Ï´Ù.", this); - return; - } + // if (baseInteractor == null) + // { + // Debug.LogError("NearFarInteractor¸¦ XRBaseInteractor·Î º¯È¯ÇÒ ¼ö ¾ø½À´Ï´Ù.", this); + // return; + // } - InitializeInteraction(); - } + // InitializeInteraction(); + //} void Update() { @@ -77,7 +77,7 @@ public class InteractionView : MonoBehaviour, IInteractionView baseInteractor = nearFarInteractor as XRBaseInteractor; rayProvider = nearFarInteractor as IXRRayProvider; } - if (nearFarInteractor != null && nearFarInteractor.gameObject.activeInHierarchy) + if (nearFarInteractor != null) { InitializeInteraction(); } @@ -106,7 +106,6 @@ public class InteractionView : MonoBehaviour, IInteractionView StartDragMode(); } } - } } diff --git a/Assets/Scripts/View/PointManagerView.cs b/Assets/Scripts/View/PointManagerView.cs index 49bd7ed..7499fd0 100644 --- a/Assets/Scripts/View/PointManagerView.cs +++ b/Assets/Scripts/View/PointManagerView.cs @@ -47,10 +47,10 @@ public class PointManagerView : MonoBehaviour, IPointManagerView } } - public void UpdatePointPosition(int index, RobotData pose) + public void UpdatePointPosition(int index, Vector3 pose) { if (index < 0 || index >= activePoints.Count) return; - activePoints[index].transform.position = ConvertRobotDataToVector3(pose); + activePoints[index].transform.position = pose; } public void DeletePoint(int index) diff --git a/Assets/Scripts/View/PopupView.cs b/Assets/Scripts/View/PopupView.cs index 23a2afd..34a1ad0 100644 --- a/Assets/Scripts/View/PopupView.cs +++ b/Assets/Scripts/View/PopupView.cs @@ -54,6 +54,7 @@ public class PopupView : MonoBehaviour, IPopupView { confirmPopupPanel.transform.position = popPose.position; confirmPopupPanel.transform.LookAt(Camera.main.transform); + confirmPopupPanel.transform.Rotate(0, 180, 0); confirmPopupPanel.SetActive(true); } @@ -61,13 +62,15 @@ public class PopupView : MonoBehaviour, IPopupView { confirmPopupPanel.transform.position = popPose; confirmPopupPanel.transform.LookAt(Camera.main.transform); + confirmPopupPanel.transform.Rotate(0, 180, 0); confirmPopupPanel.SetActive(true); } - public void ShowModifyPopup(Transform popPose) + public void ShowModifyPopup(Vector3 popPose) { - modifyPopupPanel.transform.position = popPose.position; + modifyPopupPanel.transform.position = popPose; modifyPopupPanel.transform.LookAt(Camera.main.transform); + modifyPopupPanel.transform.Rotate(0, 180, 0); modifyPopupPanel.SetActive(true); } @@ -75,6 +78,7 @@ public class PopupView : MonoBehaviour, IPopupView { deletePopupPanel.transform.position = popPose; deletePopupPanel.transform.LookAt(Camera.main.transform); + deletePopupPanel.transform.Rotate(0, 180, 0); deletePopupPanel.SetActive(true); } @@ -82,6 +86,7 @@ public class PopupView : MonoBehaviour, IPopupView { optionPopupPanel.transform.position = popPose; optionPopupPanel.transform.LookAt(Camera.main.transform); + optionPopupPanel.transform.Rotate(0, 180, 0); optionPopupPanel.SetActive(true); } diff --git a/Assets/VRTemplateAssets/Prefabs/Setup/Complete XR Origin Set Up Hands Variant.prefab b/Assets/VRTemplateAssets/Prefabs/Setup/Complete XR Origin Set Up Hands Variant.prefab index c200677..7e758ac 100644 --- a/Assets/VRTemplateAssets/Prefabs/Setup/Complete XR Origin Set Up Hands Variant.prefab +++ b/Assets/VRTemplateAssets/Prefabs/Setup/Complete XR Origin Set Up Hands Variant.prefab @@ -682,7 +682,11 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: c1b136fe9693203418aa8d9bacb7cfcf, type: 3} m_Name: m_EditorClassIdentifier: - interactor: {fileID: 0} + nearFarInteractor: {fileID: 0} + ghostRobot: {fileID: 0} + dragArrow: {fileID: 0} + clickTimeThreshold: 0.5 + dragMovementThreshold: 0.05 isGrabbingRobot: 0 --- !u!1 &7917674758240283208 stripped GameObject: @@ -701,7 +705,11 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: c1b136fe9693203418aa8d9bacb7cfcf, type: 3} m_Name: m_EditorClassIdentifier: - interactor: {fileID: 0} + nearFarInteractor: {fileID: 0} + ghostRobot: {fileID: 0} + dragArrow: {fileID: 0} + clickTimeThreshold: 0.5 + dragMovementThreshold: 0.05 isGrabbingRobot: 0 --- !u!4 &7917674758240283209 stripped Transform: @@ -735,7 +743,11 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: c1b136fe9693203418aa8d9bacb7cfcf, type: 3} m_Name: m_EditorClassIdentifier: - interactor: {fileID: 0} + nearFarInteractor: {fileID: 0} + ghostRobot: {fileID: 0} + dragArrow: {fileID: 0} + clickTimeThreshold: 0.5 + dragMovementThreshold: 0.05 isGrabbingRobot: 0 --- !u!114 &8053059486601427065 stripped MonoBehaviour: @@ -770,5 +782,9 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: c1b136fe9693203418aa8d9bacb7cfcf, type: 3} m_Name: m_EditorClassIdentifier: - interactor: {fileID: 0} + nearFarInteractor: {fileID: 0} + ghostRobot: {fileID: 0} + dragArrow: {fileID: 0} + clickTimeThreshold: 0.5 + dragMovementThreshold: 0.05 isGrabbingRobot: 0 diff --git a/ProjectSettings/DynamicsManager.asset b/ProjectSettings/DynamicsManager.asset index 4d9873e..19324aa 100644 --- a/ProjectSettings/DynamicsManager.asset +++ b/ProjectSettings/DynamicsManager.asset @@ -3,7 +3,7 @@ --- !u!55 &1 PhysicsManager: m_ObjectHideFlags: 0 - serializedVersion: 17 + serializedVersion: 18 m_Gravity: {x: 0, y: -9.81, z: 0} m_DefaultMaterial: {fileID: 0} m_BounceThreshold: 2 @@ -17,7 +17,7 @@ PhysicsManager: m_EnableAdaptiveForce: 0 m_ClothInterCollisionDistance: 0 m_ClothInterCollisionStiffness: 0 - m_LayerCollisionMatrix: ffffffffffffffffdffffffffffffffffffffffffbffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + m_LayerCollisionMatrix: bfffffffffffffffdffffffffffffffffffffffffbfffffffeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff m_SimulationMode: 0 m_AutoSyncTransforms: 1 m_ReuseCollisionCallbacks: 1 @@ -28,7 +28,6 @@ PhysicsManager: m_BroadphaseType: 0 m_FrictionType: 0 m_EnableEnhancedDeterminism: 0 - m_EnableUnifiedHeightmaps: 1 m_ImprovedPatchFriction: 0 m_SolverType: 0 m_DefaultMaxAngularSpeed: 20 diff --git a/ProjectSettings/TagManager.asset b/ProjectSettings/TagManager.asset index 901b0a0..9b760c9 100644 --- a/ProjectSettings/TagManager.asset +++ b/ProjectSettings/TagManager.asset @@ -16,8 +16,8 @@ TagManager: - Teleport - Water - UI - - - - + - BoxPhysics + - Floor - - -