diff --git a/Assets/Models/Blender/Logitech_G603_Turbosquid.blend.meta b/Assets/Models/Blender/Logitech_G603_Turbosquid.blend.meta index a6e92d0..dc09204 100644 --- a/Assets/Models/Blender/Logitech_G603_Turbosquid.blend.meta +++ b/Assets/Models/Blender/Logitech_G603_Turbosquid.blend.meta @@ -32,7 +32,7 @@ ModelImporter: extraExposedTransformPaths: [] extraUserProperties: [] clipAnimations: [] - isReadable: 0 + isReadable: 1 meshes: lODScreenPercentages: [] globalScale: 1 diff --git a/Assets/Models/Blender/circuitboard.blend.meta b/Assets/Models/Blender/circuitboard.blend.meta index 7b452d2..aa59654 100644 --- a/Assets/Models/Blender/circuitboard.blend.meta +++ b/Assets/Models/Blender/circuitboard.blend.meta @@ -37,7 +37,7 @@ ModelImporter: extraExposedTransformPaths: [] extraUserProperties: [] clipAnimations: [] - isReadable: 0 + isReadable: 1 meshes: lODScreenPercentages: [] globalScale: 1 diff --git a/Assets/Models/Blender/hammer.blend.meta b/Assets/Models/Blender/hammer.blend.meta index 4618fa7..250f8f2 100644 --- a/Assets/Models/Blender/hammer.blend.meta +++ b/Assets/Models/Blender/hammer.blend.meta @@ -32,7 +32,7 @@ ModelImporter: extraExposedTransformPaths: [] extraUserProperties: [] clipAnimations: [] - isReadable: 0 + isReadable: 1 meshes: lODScreenPercentages: [] globalScale: 1 diff --git a/Assets/Models/Blender/keyboard.blend.meta b/Assets/Models/Blender/keyboard.blend.meta index c138598..a563946 100644 --- a/Assets/Models/Blender/keyboard.blend.meta +++ b/Assets/Models/Blender/keyboard.blend.meta @@ -32,7 +32,7 @@ ModelImporter: extraExposedTransformPaths: [] extraUserProperties: [] clipAnimations: [] - isReadable: 0 + isReadable: 1 meshes: lODScreenPercentages: [] globalScale: 1 diff --git a/Assets/Models/Blender/pliers.blend.meta b/Assets/Models/Blender/pliers.blend.meta index ec83283..903cf27 100644 --- a/Assets/Models/Blender/pliers.blend.meta +++ b/Assets/Models/Blender/pliers.blend.meta @@ -32,7 +32,7 @@ ModelImporter: extraExposedTransformPaths: [] extraUserProperties: [] clipAnimations: [] - isReadable: 0 + isReadable: 1 meshes: lODScreenPercentages: [] globalScale: 1 diff --git a/Assets/Models/IndoorPlant01.prefab b/Assets/Models/IndoorPlant01.prefab index b6f6e97..c85e710 100644 --- a/Assets/Models/IndoorPlant01.prefab +++ b/Assets/Models/IndoorPlant01.prefab @@ -26,14 +26,14 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 999207089627997314} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalRotation: {x: -0.7071068, y: 0, z: 0, w: 0.7071068} m_LocalPosition: {x: 0, y: 0, z: -0} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 5690670490328783864} m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_LocalEulerAnglesHint: {x: -90, y: 0, z: 0} --- !u!33 &2991921771696845434 MeshFilter: m_ObjectHideFlags: 0 @@ -121,7 +121,7 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 5022219494863929666} - m_LocalRotation: {x: -0.7071068, y: 0, z: 0, w: 0.7071068} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 4.2239313, y: 1.046101, z: -0.024066806} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 @@ -130,7 +130,7 @@ Transform: - {fileID: 1171425573176347497} m_Father: {fileID: 0} m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: -90, y: 0, z: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!114 &5727137902744118718 MonoBehaviour: m_ObjectHideFlags: 0 @@ -172,14 +172,14 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 8294151951189356629} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalRotation: {x: -0.7071068, y: 0, z: 0, w: 0.7071068} m_LocalPosition: {x: 0, y: 0, z: -0} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 5690670490328783864} m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_LocalEulerAnglesHint: {x: -90, y: 0, z: 0} --- !u!33 &13326192116113386 MeshFilter: m_ObjectHideFlags: 0 diff --git a/Assets/Models/IndoorPlant02.prefab b/Assets/Models/IndoorPlant02.prefab index a6c2ba2..318f978 100644 --- a/Assets/Models/IndoorPlant02.prefab +++ b/Assets/Models/IndoorPlant02.prefab @@ -9,9 +9,6 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 5869846997090749818} - - component: {fileID: 7411298994668946143} - - component: {fileID: 4701421984937096725} - - component: {fileID: 8484002625320914911} - component: {fileID: 3699449891368907159} m_Layer: 0 m_Name: IndoorPlant02 @@ -27,80 +24,15 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 6502689968648656832} - m_LocalRotation: {x: -0.7071068, y: 0, z: 0, w: 0.7071068} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 3.9697971, y: 1.0193512, z: -1.9544978} m_LocalScale: {x: 0.2, y: 0.2, z: 0.2} m_ConstrainProportionsScale: 1 - m_Children: [] + m_Children: + - {fileID: 998248800948701156} m_Father: {fileID: 0} m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: -90, y: 0, z: 0} ---- !u!33 &7411298994668946143 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6502689968648656832} - m_Mesh: {fileID: -8191014951145575825, guid: b576e8f0e161724c1af4d977abf9031c, type: 3} ---- !u!23 &4701421984937096725 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6502689968648656832} - m_Enabled: 1 - m_CastShadows: 1 - 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_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 2100000, guid: 8068d11ef6a02a112a682047db9a8f5c, type: 2} - - {fileID: 2100000, guid: 8068d11ef6a02a112a682047db9a8f5c, type: 2} - - {fileID: 2100000, guid: 8068d11ef6a02a112a682047db9a8f5c, type: 2} - - {fileID: 2100000, guid: 8068d11ef6a02a112a682047db9a8f5c, 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} ---- !u!65 &8484002625320914911 -BoxCollider: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6502689968648656832} - m_Material: {fileID: 0} - m_IsTrigger: 0 - m_Enabled: 1 - serializedVersion: 2 - m_Size: {x: 1.945082, y: 2.0702388, z: 6.223421} - m_Center: {x: -0.04922211, y: -0.01309447, z: 3.1023586} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!114 &3699449891368907159 MonoBehaviour: m_ObjectHideFlags: 0 @@ -116,3 +48,103 @@ MonoBehaviour: combinedBounds: m_Center: {x: 0, y: 0, z: 0} m_Extent: {x: 0, y: 0, z: 0} +--- !u!1001 &743310008199716879 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 5869846997090749818} + m_Modifications: + - target: {fileID: -8679921383154817045, guid: b576e8f0e161724c1af4d977abf9031c, type: 3} + propertyPath: m_RootOrder + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: b576e8f0e161724c1af4d977abf9031c, type: 3} + propertyPath: m_LocalPosition.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: b576e8f0e161724c1af4d977abf9031c, type: 3} + propertyPath: m_LocalPosition.y + value: 0.16987896 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: b576e8f0e161724c1af4d977abf9031c, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: b576e8f0e161724c1af4d977abf9031c, type: 3} + propertyPath: m_LocalRotation.w + value: 0.2690923 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: b576e8f0e161724c1af4d977abf9031c, type: 3} + propertyPath: m_LocalRotation.x + value: -0.2690923 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: b576e8f0e161724c1af4d977abf9031c, type: 3} + propertyPath: m_LocalRotation.y + value: -0.6539032 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: b576e8f0e161724c1af4d977abf9031c, type: 3} + propertyPath: m_LocalRotation.z + value: -0.6539032 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: b576e8f0e161724c1af4d977abf9031c, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: -90 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: b576e8f0e161724c1af4d977abf9031c, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: b576e8f0e161724c1af4d977abf9031c, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: -135.264 + objectReference: {fileID: 0} + - target: {fileID: -7511558181221131132, guid: b576e8f0e161724c1af4d977abf9031c, type: 3} + propertyPath: m_Materials.Array.size + value: 4 + objectReference: {fileID: 0} + - target: {fileID: -7511558181221131132, guid: b576e8f0e161724c1af4d977abf9031c, type: 3} + propertyPath: m_Materials.Array.data[1] + value: + objectReference: {fileID: 6141528588927383208, guid: b576e8f0e161724c1af4d977abf9031c, type: 3} + - target: {fileID: -7511558181221131132, guid: b576e8f0e161724c1af4d977abf9031c, type: 3} + propertyPath: m_Materials.Array.data[2] + value: + objectReference: {fileID: 6141528588927383208, guid: b576e8f0e161724c1af4d977abf9031c, type: 3} + - target: {fileID: -7511558181221131132, guid: b576e8f0e161724c1af4d977abf9031c, type: 3} + propertyPath: m_Materials.Array.data[3] + value: + objectReference: {fileID: 6141528588927383208, guid: b576e8f0e161724c1af4d977abf9031c, type: 3} + - target: {fileID: -7511558181221131132, guid: b576e8f0e161724c1af4d977abf9031c, type: 3} + propertyPath: m_Materials.Array.data[4] + value: + objectReference: {fileID: 184314014045862100, guid: b576e8f0e161724c1af4d977abf9031c, type: 3} + - target: {fileID: 919132149155446097, guid: b576e8f0e161724c1af4d977abf9031c, type: 3} + propertyPath: m_Name + value: Indoor_plant_02 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: b576e8f0e161724c1af4d977abf9031c, type: 3} +--- !u!1 &473350004634918238 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 919132149155446097, guid: b576e8f0e161724c1af4d977abf9031c, type: 3} + m_PrefabInstance: {fileID: 743310008199716879} + m_PrefabAsset: {fileID: 0} +--- !u!65 &2863737753762090861 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 473350004634918238} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1.945082, y: 2.0702388, z: 6.223421} + m_Center: {x: -0.04922211, y: -0.01309447, z: 3.1023586} +--- !u!4 &998248800948701156 stripped +Transform: + m_CorrespondingSourceObject: {fileID: -8679921383154817045, guid: b576e8f0e161724c1af4d977abf9031c, type: 3} + m_PrefabInstance: {fileID: 743310008199716879} + m_PrefabAsset: {fileID: 0} diff --git a/Assets/Models/circuitboard.prefab b/Assets/Models/circuitboard.prefab index 34d569f..48201aa 100644 --- a/Assets/Models/circuitboard.prefab +++ b/Assets/Models/circuitboard.prefab @@ -1,147 +1,42 @@ %YAML 1.1 %TAG !u! tag:unity3d.com,2011: ---- !u!1001 &5376596017825718853 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: -8679921383154817045, guid: 49362df3fa9630d41bbc0bd46629331f, type: 3} - propertyPath: m_RootOrder - value: 0 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: 49362df3fa9630d41bbc0bd46629331f, type: 3} - propertyPath: m_LocalScale.x - value: 0.018889 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: 49362df3fa9630d41bbc0bd46629331f, type: 3} - propertyPath: m_LocalScale.y - value: 0.018889 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: 49362df3fa9630d41bbc0bd46629331f, type: 3} - propertyPath: m_LocalScale.z - value: 0.018889 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: 49362df3fa9630d41bbc0bd46629331f, type: 3} - propertyPath: m_LocalPosition.x - value: -3.2457 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: 49362df3fa9630d41bbc0bd46629331f, type: 3} - propertyPath: m_LocalPosition.y - value: 1.712 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: 49362df3fa9630d41bbc0bd46629331f, type: 3} - propertyPath: m_LocalPosition.z - value: -1.19 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: 49362df3fa9630d41bbc0bd46629331f, type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: 49362df3fa9630d41bbc0bd46629331f, type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: 49362df3fa9630d41bbc0bd46629331f, type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: 49362df3fa9630d41bbc0bd46629331f, type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: 49362df3fa9630d41bbc0bd46629331f, type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: 49362df3fa9630d41bbc0bd46629331f, type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: 49362df3fa9630d41bbc0bd46629331f, type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: -6767529993520989264, guid: 49362df3fa9630d41bbc0bd46629331f, type: 3} - propertyPath: m_LocalPosition.y - value: 0.68 - objectReference: {fileID: 0} - - target: {fileID: -5477749408508380018, guid: 49362df3fa9630d41bbc0bd46629331f, type: 3} - propertyPath: m_LocalPosition.y - value: 0.191 - objectReference: {fileID: 0} - - target: {fileID: -3249217615815079162, guid: 49362df3fa9630d41bbc0bd46629331f, type: 3} - propertyPath: m_LocalScale.y - value: 0.39958176 - objectReference: {fileID: 0} - - target: {fileID: -3249217615815079162, guid: 49362df3fa9630d41bbc0bd46629331f, type: 3} - propertyPath: m_LocalPosition.y - value: 0.424 - objectReference: {fileID: 0} - - target: {fileID: -380270054046959717, guid: 49362df3fa9630d41bbc0bd46629331f, type: 3} - propertyPath: m_LocalScale.y - value: 0.5361409 - objectReference: {fileID: 0} - - target: {fileID: -380270054046959717, guid: 49362df3fa9630d41bbc0bd46629331f, type: 3} - propertyPath: m_LocalPosition.y - value: 0.52 - objectReference: {fileID: 0} - - target: {fileID: 426146486632879946, guid: 49362df3fa9630d41bbc0bd46629331f, type: 3} - propertyPath: m_LocalScale.z - value: 0.53232 - objectReference: {fileID: 0} - - target: {fileID: 426146486632879946, guid: 49362df3fa9630d41bbc0bd46629331f, type: 3} - propertyPath: m_LocalPosition.y - value: 0.48 - objectReference: {fileID: 0} - - target: {fileID: 919132149155446097, guid: 49362df3fa9630d41bbc0bd46629331f, type: 3} - propertyPath: m_Name - value: circuitboard - objectReference: {fileID: 0} - - target: {fileID: 2705875545084736805, guid: 49362df3fa9630d41bbc0bd46629331f, type: 3} - propertyPath: m_LocalScale.z - value: 0.45455 - objectReference: {fileID: 0} - - target: {fileID: 2705875545084736805, guid: 49362df3fa9630d41bbc0bd46629331f, type: 3} - propertyPath: m_LocalPosition.y - value: 0.397 - objectReference: {fileID: 0} - - target: {fileID: 4306643203051859313, guid: 49362df3fa9630d41bbc0bd46629331f, type: 3} - propertyPath: m_LocalPosition.y - value: 0.2 - objectReference: {fileID: 0} - - target: {fileID: 4961036603283160211, guid: 49362df3fa9630d41bbc0bd46629331f, type: 3} - propertyPath: m_LocalScale.y - value: 0.37511382 - objectReference: {fileID: 0} - - target: {fileID: 4961036603283160211, guid: 49362df3fa9630d41bbc0bd46629331f, type: 3} - propertyPath: m_LocalPosition.y - value: 0.365 - objectReference: {fileID: 0} - - target: {fileID: 8779521643239218905, guid: 49362df3fa9630d41bbc0bd46629331f, type: 3} - propertyPath: m_LocalScale.y - value: 0.46703628 - objectReference: {fileID: 0} - - target: {fileID: 8779521643239218905, guid: 49362df3fa9630d41bbc0bd46629331f, type: 3} - propertyPath: m_LocalPosition.y - value: 0.467 - objectReference: {fileID: 0} - - target: {fileID: 8972230635431651539, guid: 49362df3fa9630d41bbc0bd46629331f, type: 3} - propertyPath: m_LocalScale.y - value: 0.37382415 - objectReference: {fileID: 0} - - target: {fileID: 8972230635431651539, guid: 49362df3fa9630d41bbc0bd46629331f, type: 3} - propertyPath: m_LocalPosition.y - value: 0.38 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 49362df3fa9630d41bbc0bd46629331f, type: 3} ---- !u!1 &5070182670462689044 stripped +--- !u!1 &5070182670462689044 GameObject: - m_CorrespondingSourceObject: {fileID: 919132149155446097, guid: 49362df3fa9630d41bbc0bd46629331f, type: 3} - m_PrefabInstance: {fileID: 5376596017825718853} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5554971243091150254} + - component: {fileID: 2701333433414217505} + - component: {fileID: -4431022277672732694} + - component: {fileID: 4197128717957136542} + - component: {fileID: 5146560493390744643} + - component: {fileID: 7891181180270717245} + m_Layer: 0 + m_Name: circuitboard + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &5554971243091150254 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5070182670462689044} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.018889, y: 0.018889, z: 0.018889} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 7245493987618605638} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!65 &2701333433414217505 BoxCollider: m_ObjectHideFlags: 0 @@ -153,8 +48,8 @@ BoxCollider: m_IsTrigger: 0 m_Enabled: 1 serializedVersion: 2 - m_Size: {x: 10.236521, y: 0.1180733, z: 10.341999} - m_Center: {x: -0.08280562, y: 0.026818777, z: 0.02435037} + m_Size: {x: 10.014801, y: 0.1180733, z: 9.995088} + m_Center: {x: -1.519139, y: -0.49, z: 2.5865412} --- !u!114 &-4431022277672732694 MonoBehaviour: m_ObjectHideFlags: 0 @@ -249,3 +144,81 @@ MonoBehaviour: highlightOnHover: 1 hideHighlight: [] hoverPriority: 0 +--- !u!54 &7891181180270717245 +Rigidbody: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5070182670462689044} + serializedVersion: 2 + m_Mass: 1 + m_Drag: 0 + m_AngularDrag: 0.05 + m_UseGravity: 1 + m_IsKinematic: 0 + m_Interpolate: 0 + m_Constraints: 0 + m_CollisionDetection: 0 +--- !u!1001 &7135833873472105901 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 5554971243091150254} + m_Modifications: + - target: {fileID: -8679921383154817045, guid: 49362df3fa9630d41bbc0bd46629331f, type: 3} + propertyPath: m_RootOrder + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 49362df3fa9630d41bbc0bd46629331f, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 49362df3fa9630d41bbc0bd46629331f, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 49362df3fa9630d41bbc0bd46629331f, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 49362df3fa9630d41bbc0bd46629331f, type: 3} + propertyPath: m_LocalRotation.w + value: -0.5 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 49362df3fa9630d41bbc0bd46629331f, type: 3} + propertyPath: m_LocalRotation.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 49362df3fa9630d41bbc0bd46629331f, type: 3} + propertyPath: m_LocalRotation.y + value: -0.49999997 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 49362df3fa9630d41bbc0bd46629331f, type: 3} + propertyPath: m_LocalRotation.z + value: -0.5 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 49362df3fa9630d41bbc0bd46629331f, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 49362df3fa9630d41bbc0bd46629331f, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 49362df3fa9630d41bbc0bd46629331f, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 919132149155446097, guid: 49362df3fa9630d41bbc0bd46629331f, type: 3} + propertyPath: m_Name + value: circuitboard + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 49362df3fa9630d41bbc0bd46629331f, type: 3} +--- !u!4 &7245493987618605638 stripped +Transform: + m_CorrespondingSourceObject: {fileID: -8679921383154817045, guid: 49362df3fa9630d41bbc0bd46629331f, type: 3} + m_PrefabInstance: {fileID: 7135833873472105901} + m_PrefabAsset: {fileID: 0} diff --git a/Assets/Models/smarttv.prefab b/Assets/Models/smarttv.prefab index 4c27321..994ef27 100644 --- a/Assets/Models/smarttv.prefab +++ b/Assets/Models/smarttv.prefab @@ -24,7 +24,7 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2835658414891243653} - m_LocalRotation: {x: -0.7193398, y: 0, z: 0, w: 0.69465846} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 0.06708567, y: 0.06708567, z: 0.06708567} m_ConstrainProportionsScale: 0 @@ -32,7 +32,7 @@ Transform: - {fileID: 6063464173187445548} m_Father: {fileID: 0} m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: -92, y: 0, z: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!114 &6811449984730649892 MonoBehaviour: m_ObjectHideFlags: 0 @@ -45,6 +45,9 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 7310167259df75745b825087bf4c8de0, type: 3} m_Name: m_EditorClassIdentifier: + combinedBounds: + m_Center: {x: 0, y: 0, z: 0} + m_Extent: {x: 0, y: 0, z: 0} --- !u!1001 &8069903224663295423 PrefabInstance: m_ObjectHideFlags: 0 @@ -86,31 +89,31 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 4313268324301600403, guid: 5035aafbde1dd40458b242f88962c3d3, type: 3} propertyPath: m_LocalRotation.w - value: -0.0000015507267 + value: 0 objectReference: {fileID: 0} - target: {fileID: 4313268324301600403, guid: 5035aafbde1dd40458b242f88962c3d3, type: 3} propertyPath: m_LocalRotation.x - value: -0.0000016830891 + value: 0 objectReference: {fileID: 0} - target: {fileID: 4313268324301600403, guid: 5035aafbde1dd40458b242f88962c3d3, type: 3} propertyPath: m_LocalRotation.y - value: -0.72537434 + value: -0.99965733 objectReference: {fileID: 0} - target: {fileID: 4313268324301600403, guid: 5035aafbde1dd40458b242f88962c3d3, type: 3} propertyPath: m_LocalRotation.z - value: -0.6883546 + value: 0.026176924 objectReference: {fileID: 0} - target: {fileID: 4313268324301600403, guid: 5035aafbde1dd40458b242f88962c3d3, type: 3} propertyPath: m_LocalEulerAnglesHint.x - value: -93 + value: -183 objectReference: {fileID: 0} - target: {fileID: 4313268324301600403, guid: 5035aafbde1dd40458b242f88962c3d3, type: 3} propertyPath: m_LocalEulerAnglesHint.y - value: -0.005 + value: 0 objectReference: {fileID: 0} - target: {fileID: 4313268324301600403, guid: 5035aafbde1dd40458b242f88962c3d3, type: 3} propertyPath: m_LocalEulerAnglesHint.z - value: -179.995 + value: -180 objectReference: {fileID: 0} m_RemovedComponents: - {fileID: 7452765709190415340, guid: 5035aafbde1dd40458b242f88962c3d3, type: 3} diff --git a/Assets/Scenes/FabLab/FabLab.unity b/Assets/Scenes/FabLab/FabLab.unity index 58231d2..260896c 100644 --- a/Assets/Scenes/FabLab/FabLab.unity +++ b/Assets/Scenes/FabLab/FabLab.unity @@ -2732,19 +2732,19 @@ PrefabInstance: m_Modifications: - target: {fileID: 8531222383232042004, guid: 0615df42b5cd5f1429cafa57731d1869, type: 3} propertyPath: m_RootOrder - value: 2 + value: 4 objectReference: {fileID: 0} - target: {fileID: 8531222383232042004, guid: 0615df42b5cd5f1429cafa57731d1869, type: 3} propertyPath: m_LocalPosition.x - value: 0.08329463 + value: 0.0062946305 objectReference: {fileID: 0} - target: {fileID: 8531222383232042004, guid: 0615df42b5cd5f1429cafa57731d1869, type: 3} propertyPath: m_LocalPosition.y - value: -0.4288782 + value: 0.3921218 objectReference: {fileID: 0} - target: {fileID: 8531222383232042004, guid: 0615df42b5cd5f1429cafa57731d1869, type: 3} propertyPath: m_LocalPosition.z - value: 1.8049283 + value: 0.013928294 objectReference: {fileID: 0} - target: {fileID: 8531222383232042004, guid: 0615df42b5cd5f1429cafa57731d1869, type: 3} propertyPath: m_LocalRotation.w @@ -2806,7 +2806,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 5554971243091150254, guid: 124ae331af1b2e845b7de5a2ccb168d4, type: 3} propertyPath: m_LocalPosition.y - value: 0.444 + value: 0.26 objectReference: {fileID: 0} - target: {fileID: 5554971243091150254, guid: 124ae331af1b2e845b7de5a2ccb168d4, type: 3} propertyPath: m_LocalPosition.z @@ -3000,7 +3000,7 @@ Mesh: m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_Name: pb_Mesh37068 + m_Name: pb_Mesh27612 serializedVersion: 10 m_SubMeshes: - serializedVersion: 2 @@ -3573,7 +3573,7 @@ Mesh: m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_Name: pb_Mesh37182 + m_Name: pb_Mesh27726 serializedVersion: 10 m_SubMeshes: - serializedVersion: 2 @@ -3841,8 +3841,6 @@ Transform: m_ConstrainProportionsScale: 0 m_Children: - {fileID: 1888977164} - - {fileID: 1288997560} - - {fileID: 132577122} m_Father: {fileID: 0} m_RootOrder: 12 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} @@ -4085,7 +4083,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 3674349604157782260, guid: b4f1c52a4d9acc94da08e9006d9fd5e0, type: 3} propertyPath: m_RootOrder - value: 0 + value: 2 objectReference: {fileID: 0} - target: {fileID: 3674349604157782260, guid: b4f1c52a4d9acc94da08e9006d9fd5e0, type: 3} propertyPath: m_LocalScale.z @@ -4093,15 +4091,15 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 3674349604157782260, guid: b4f1c52a4d9acc94da08e9006d9fd5e0, type: 3} propertyPath: m_LocalPosition.x - value: 0.07455039 + value: -0.0024496093 objectReference: {fileID: 0} - target: {fileID: 3674349604157782260, guid: b4f1c52a4d9acc94da08e9006d9fd5e0, type: 3} propertyPath: m_LocalPosition.y - value: -1.160781 + value: -0.33978105 objectReference: {fileID: 0} - target: {fileID: 3674349604157782260, guid: b4f1c52a4d9acc94da08e9006d9fd5e0, type: 3} propertyPath: m_LocalPosition.z - value: 1.7808769 + value: -0.010123134 objectReference: {fileID: 0} - target: {fileID: 3674349604157782260, guid: b4f1c52a4d9acc94da08e9006d9fd5e0, type: 3} propertyPath: m_LocalRotation.w @@ -4526,7 +4524,7 @@ Mesh: m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_Name: pb_Mesh37438 + m_Name: pb_Mesh27982 serializedVersion: 10 m_SubMeshes: - serializedVersion: 2 @@ -6238,19 +6236,19 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 5367457311287030540, guid: ab468a82ad445da4e9a084297505261f, type: 3} propertyPath: m_RootOrder - value: 1 + value: 3 objectReference: {fileID: 0} - target: {fileID: 5367457311287030540, guid: ab468a82ad445da4e9a084297505261f, type: 3} propertyPath: m_LocalPosition.x - value: -1.5334125 + value: -1.6104125 objectReference: {fileID: 0} - target: {fileID: 5367457311287030540, guid: ab468a82ad445da4e9a084297505261f, type: 3} propertyPath: m_LocalPosition.y - value: -0.9956597 + value: -0.17465973 objectReference: {fileID: 0} - target: {fileID: 5367457311287030540, guid: ab468a82ad445da4e9a084297505261f, type: 3} propertyPath: m_LocalPosition.z - value: 1.7768617 + value: -0.014138341 objectReference: {fileID: 0} - target: {fileID: 5367457311287030540, guid: ab468a82ad445da4e9a084297505261f, type: 3} propertyPath: m_LocalRotation.w @@ -7804,7 +7802,7 @@ Mesh: m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_Name: pb_Mesh37512 + m_Name: pb_Mesh28056 serializedVersion: 10 m_SubMeshes: - serializedVersion: 2 @@ -8149,7 +8147,7 @@ PrefabInstance: m_ObjectHideFlags: 0 serializedVersion: 2 m_Modification: - m_TransformParent: {fileID: 435302310} + m_TransformParent: {fileID: 1888977164} m_Modifications: - target: {fileID: -4025371315460726001, guid: fde4367ea6917fe43b9f69a154c145c1, type: 3} propertyPath: showLeftPreview @@ -8161,27 +8159,27 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 6291597597410968062, guid: fde4367ea6917fe43b9f69a154c145c1, type: 3} propertyPath: m_RootOrder - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 6291597597410968062, guid: fde4367ea6917fe43b9f69a154c145c1, type: 3} propertyPath: m_LocalScale.y - value: 0.20531805 + value: 0.20531806 objectReference: {fileID: 0} - target: {fileID: 6291597597410968062, guid: fde4367ea6917fe43b9f69a154c145c1, type: 3} propertyPath: m_LocalScale.z - value: 0.2053179 + value: 0.20531791 objectReference: {fileID: 0} - target: {fileID: 6291597597410968062, guid: fde4367ea6917fe43b9f69a154c145c1, type: 3} propertyPath: m_LocalPosition.x - value: 0.5339 + value: 0.4568998 objectReference: {fileID: 0} - target: {fileID: 6291597597410968062, guid: fde4367ea6917fe43b9f69a154c145c1, type: 3} propertyPath: m_LocalPosition.y - value: -0.448 + value: 0.37300003 objectReference: {fileID: 0} - target: {fileID: 6291597597410968062, guid: fde4367ea6917fe43b9f69a154c145c1, type: 3} propertyPath: m_LocalPosition.z - value: 1.5559 + value: -0.23510015 objectReference: {fileID: 0} - target: {fileID: 6291597597410968062, guid: fde4367ea6917fe43b9f69a154c145c1, type: 3} propertyPath: m_LocalRotation.w @@ -8286,7 +8284,7 @@ Mesh: m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_Name: pb_Mesh37220 + m_Name: pb_Mesh27764 serializedVersion: 10 m_SubMeshes: - serializedVersion: 2 @@ -10559,10 +10557,12 @@ Transform: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1888977163} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalPosition: {x: 0.077, y: -0.821, z: 1.791} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: + - {fileID: 1288997560} + - {fileID: 132577122} - {fileID: 472164268} - {fileID: 802860442} - {fileID: 242326303} @@ -11930,7 +11930,7 @@ Mesh: m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_Name: pb_Mesh37160 + m_Name: pb_Mesh27704 serializedVersion: 10 m_SubMeshes: - serializedVersion: 2 @@ -12433,11 +12433,11 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 589337997038399236, guid: ec717aa9a84ac1849bec0aa4f4b89314, type: 3} propertyPath: m_LocalRotation.w - value: 0.6883546 + value: 0.99965733 objectReference: {fileID: 0} - target: {fileID: 589337997038399236, guid: ec717aa9a84ac1849bec0aa4f4b89314, type: 3} propertyPath: m_LocalRotation.x - value: -0.72537434 + value: -0.026176924 objectReference: {fileID: 0} - target: {fileID: 589337997038399236, guid: ec717aa9a84ac1849bec0aa4f4b89314, type: 3} propertyPath: m_LocalRotation.y @@ -12449,7 +12449,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 589337997038399236, guid: ec717aa9a84ac1849bec0aa4f4b89314, type: 3} propertyPath: m_LocalEulerAnglesHint.x - value: -93 + value: -3 objectReference: {fileID: 0} - target: {fileID: 589337997038399236, guid: ec717aa9a84ac1849bec0aa4f4b89314, type: 3} propertyPath: m_LocalEulerAnglesHint.y @@ -12560,7 +12560,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 5554971243091150254, guid: 124ae331af1b2e845b7de5a2ccb168d4, type: 3} propertyPath: m_LocalPosition.y - value: 0.445 + value: 0.26099998 objectReference: {fileID: 0} - target: {fileID: 5554971243091150254, guid: 124ae331af1b2e845b7de5a2ccb168d4, type: 3} propertyPath: m_LocalPosition.z @@ -12737,7 +12737,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 1251059359212923921, guid: c1bebd6efa306204bb0978afc704a746, type: 3} propertyPath: m_LocalPosition.y - value: 0.22390294 + value: 0.254 objectReference: {fileID: 0} - target: {fileID: 1251059359212923921, guid: c1bebd6efa306204bb0978afc704a746, type: 3} propertyPath: m_LocalPosition.z @@ -12978,23 +12978,23 @@ PrefabInstance: m_ObjectHideFlags: 0 serializedVersion: 2 m_Modification: - m_TransformParent: {fileID: 435302310} + m_TransformParent: {fileID: 1888977164} m_Modifications: - target: {fileID: 7101811468694509626, guid: cbdff3e37c153cc48b95d4374a38eed9, type: 3} propertyPath: m_RootOrder - value: 2 + value: 1 objectReference: {fileID: 0} - target: {fileID: 7101811468694509626, guid: cbdff3e37c153cc48b95d4374a38eed9, type: 3} propertyPath: m_LocalPosition.x - value: -0.16844964 + value: -0.24544963 objectReference: {fileID: 0} - target: {fileID: 7101811468694509626, guid: cbdff3e37c153cc48b95d4374a38eed9, type: 3} propertyPath: m_LocalPosition.y - value: -0.41 + value: 0.411 objectReference: {fileID: 0} - target: {fileID: 7101811468694509626, guid: cbdff3e37c153cc48b95d4374a38eed9, type: 3} propertyPath: m_LocalPosition.z - value: 1.597 + value: -0.19400012 objectReference: {fileID: 0} - target: {fileID: 7101811468694509626, guid: cbdff3e37c153cc48b95d4374a38eed9, type: 3} propertyPath: m_LocalRotation.w diff --git a/Assets/Scripts/Catalog.cs b/Assets/Scripts/Catalog.cs index 7b3417d..e8da8b2 100644 --- a/Assets/Scripts/Catalog.cs +++ b/Assets/Scripts/Catalog.cs @@ -1,3 +1,4 @@ +using JetBrains.Annotations; using System; using System.Collections; using System.Collections.Generic; @@ -57,15 +58,7 @@ public class Catalog : MonoBehaviour sphere.transform.localScale = Vector3.one * objectScale; sphere.transform.localPosition = new Vector3(Mathf.Sin(j), 0, Mathf.Cos(j)) * distance; sphere.SetActive(true); - - GameObject furniture = Instantiate(Furnitures[i]); - furniture.transform.parent = sphere.transform; - Furniture objectBounds = furniture.GetComponent(); - objectBounds.CalculateBounds(); - - float rescale = (objectScale / 1.4f) / objectBounds.combinedBounds.size.magnitude; - furniture.transform.localScale *= rescale; - furniture.transform.localPosition = Vector3.down * 0.2f; + sphere.GetComponent().SetFurniture(Furnitures[i], objectScale); } StartCoroutine(CatalogCoroutine()); } @@ -86,28 +79,16 @@ public class Catalog : MonoBehaviour { var sphere = Instantiate(spherePrefab); sphere.transform.localScale = Vector3.one * objectScale; - - GameObject furrnitureBall = Instantiate(furniture); - furrnitureBall.transform.parent = sphere.transform; - Furniture objectBounds = furrnitureBall.GetComponent(); - if (!objectBounds) - { - objectBounds = furrnitureBall.AddComponent(); - } - objectBounds.CalculateBounds(); - - float rescale = (objectScale / 1.4f) / objectBounds.combinedBounds.size.magnitude; - furrnitureBall.transform.localScale *= rescale; - furrnitureBall.transform.localPosition = Vector3.down * 0.2f; sphere.SetActive(true); - hand.GetGrabStarting - hand.AttachObject(sphere, GrabTypes.Trigger); + sphere.GetComponent().SetFurniture(furniture, objectScale); + hand.AttachObject(sphere, GrabTypes.Grip); currentSphere = sphere; } public void ReleaseObject(GameObject furniture, Valve.VR.InteractionSystem.Hand hand) { hand.DetachObject(currentSphere); + currentSphere = null; } @@ -124,15 +105,26 @@ public class Catalog : MonoBehaviour } } - - public void OnGrabSphere(CatalogElement sphere) + public void OnGrabSphere(CatalogElement sphere, Valve.VR.InteractionSystem.Hand hand) { - + MovableFurniture grab = hand.GetComponent().Grabbing; + if (grab != null) + { + return; + } + GameObject furniture = Instantiate(sphere.largeFurnitureModel); + MovableFurniture script = furniture.GetComponent() ; + if (!furniture.GetComponent()) + { + script = furniture.AddComponent(); + } + script.CalculateBounds(); + hand.GetComponent().Grabbing = script; } public void OnReleaseSphere(CatalogElement sphere, Valve.VR.InteractionSystem.Hand hand) { - hand.DetachObject(sphere.gameObject); + hand.GetComponent().Grabbing = null; } diff --git a/Assets/Scripts/Catalog.prefab b/Assets/Scripts/Catalog.prefab index 91a9ffd..40ddf33 100644 --- a/Assets/Scripts/Catalog.prefab +++ b/Assets/Scripts/Catalog.prefab @@ -71,7 +71,6 @@ GameObject: - component: {fileID: 1321968106976948543} - component: {fileID: 3556194868201819980} - component: {fileID: 610733981179356279} - - component: {fileID: 4031061050250264179} - component: {fileID: 5534794128165569389} m_Layer: 0 m_Name: Sphere @@ -268,7 +267,7 @@ Rigidbody: m_Interpolate: 0 m_Constraints: 126 m_CollisionDetection: 0 ---- !u!114 &4031061050250264179 +--- !u!114 &5534794128165569389 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -277,7 +276,7 @@ MonoBehaviour: m_GameObject: {fileID: 6275806258134515848} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: ffefbea063cab884ca33e5a449e5c22c, type: 3} + m_Script: {fileID: 11500000, guid: 6be44b6db6259b44aa167854e71e96f9, type: 3} m_Name: m_EditorClassIdentifier: attachmentFlags: 44 @@ -311,50 +310,14 @@ MonoBehaviour: m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 - restoreOriginalParent: 1 + restoreOriginalParent: 0 onPickUp: m_PersistentCalls: - m_Calls: - - m_Target: {fileID: 5534794128165569389} - m_TargetAssemblyTypeName: CatalogElement, Assembly-CSharp - m_MethodName: OnGrabSphere - m_Mode: 1 - m_Arguments: - m_ObjectArgument: {fileID: 0} - m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine - m_IntArgument: 0 - m_FloatArgument: 0 - m_StringArgument: - m_BoolArgument: 0 - m_CallState: 2 + m_Calls: [] onDetachFromHand: m_PersistentCalls: - m_Calls: - - m_Target: {fileID: 5534794128165569389} - m_TargetAssemblyTypeName: CatalogElement, Assembly-CSharp - m_MethodName: OnReleaseSphere - m_Mode: 1 - m_Arguments: - m_ObjectArgument: {fileID: 0} - m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine - m_IntArgument: 0 - m_FloatArgument: 0 - m_StringArgument: - m_BoolArgument: 0 - m_CallState: 2 + m_Calls: [] onHeldUpdate: m_PersistentCalls: m_Calls: [] interactable: {fileID: 0} ---- !u!114 &5534794128165569389 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6275806258134515848} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 6be44b6db6259b44aa167854e71e96f9, type: 3} - m_Name: - m_EditorClassIdentifier: diff --git a/Assets/Scripts/CatalogElement.cs b/Assets/Scripts/CatalogElement.cs index db3b73c..3ce80e6 100644 --- a/Assets/Scripts/CatalogElement.cs +++ b/Assets/Scripts/CatalogElement.cs @@ -2,10 +2,13 @@ using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.Events; +using UnityEngine.ProBuilder.Shapes; using Valve.VR.InteractionSystem; -public class CatalogElement : MonoBehaviour +public class CatalogElement : Throwable { + public GameObject largeFurnitureModel; + private GameObject smallFurnitureModel; private Vector3 returnPosition; // Start is called before the first frame update void Start() @@ -19,17 +22,74 @@ public class CatalogElement : MonoBehaviour } - public void OnGrabSphere() + protected override void OnAttachedToHand(Hand hand) { - - } + //Debug.Log("[SteamVR Interaction] Pickup: " + hand.GetGrabStarting().ToString()); - public void OnReleaseSphere() + hadInterpolation = this.rigidbody.interpolation; + + attached = true; + + onPickUp.Invoke(); + + hand.HoverLock(null); + + rigidbody.interpolation = RigidbodyInterpolation.None; + + attachTime = Time.time; + attachPosition = transform.position; + attachRotation = transform.rotation; + + Catalog.Instance.OnGrabSphere(this, hand); + //hand.GetComponent().Grabbing = largeFurnitureModel.GetComponent(); +} + + + //------------------------------------------------- + protected override void OnDetachedFromHand(Hand hand) { - //StartCoroutine(ReturnSphere()); - //Destroy(gameObject); - } + attached = false; + onDetachFromHand.Invoke(); + + hand.HoverUnlock(null); + + rigidbody.interpolation = hadInterpolation; + + Catalog.Instance.OnReleaseSphere(this, hand); + Destroy(gameObject); + } + + + public void SetFurniture(GameObject furniture, float objectScale) + { + largeFurnitureModel = furniture; + smallFurnitureModel = Instantiate(furniture); + var throwables = smallFurnitureModel.GetComponentsInChildren(); + foreach (Throwable throwable in throwables) + { + Destroy(throwable); + }; + var rigidbodies = smallFurnitureModel.GetComponentsInChildren(); + foreach (Rigidbody rigidbody in rigidbodies) + { + Destroy(rigidbody); + }; + smallFurnitureModel.transform.parent = transform; + Destroy(smallFurnitureModel.GetComponent()); + Furniture objectBounds = smallFurnitureModel.AddComponent(); + objectBounds.CalculateBounds(); + var colldiers = smallFurnitureModel.GetComponentsInChildren(); + foreach (Collider collider in colldiers) + { + Destroy(collider); + }; + float rescale = (objectScale / 1.4f) / objectBounds.combinedBounds.size.magnitude; + smallFurnitureModel.transform.localScale *= rescale; + smallFurnitureModel.transform.localPosition = Vector3.down * 0.2f; + + StartCoroutine(KeepFurnitureAligned()); + } private IEnumerator ReturnSphere() { float time = 0; @@ -42,4 +102,12 @@ public class CatalogElement : MonoBehaviour } yield break; } + + private IEnumerator KeepFurnitureAligned() { + while (true) + { + smallFurnitureModel.transform.eulerAngles = new Vector3(0, smallFurnitureModel.transform.eulerAngles.y-(20*Time.deltaTime), 0); + yield return null; + } + } } diff --git a/Assets/Scripts/FurnitureMover.cs b/Assets/Scripts/FurnitureMover.cs index 4ffbc33..45706a7 100644 --- a/Assets/Scripts/FurnitureMover.cs +++ b/Assets/Scripts/FurnitureMover.cs @@ -16,7 +16,7 @@ public class FurnitureMover : MonoBehaviour public LayerMask AutoPlacementEnvironmentMask; public GameObject pointer; - private MovableFurniture Grabbing; + public MovableFurniture Grabbing; public Color color; public float thickness = 0.002f; @@ -40,7 +40,7 @@ public class FurnitureMover : MonoBehaviour BoxCollider collider = pointer.GetComponent(); if (collider) { - Object.Destroy(collider); + Destroy(collider); } Material newMaterial = new Material(Shader.Find("Unlit/Color")); newMaterial.SetColor("_Color", color); @@ -138,6 +138,10 @@ public class FurnitureMover : MonoBehaviour } private void OnPointerClickDown(object sender, PointerEventArgs e) { + if (Grabbing) + { + return; + } MovableFurniturePart clickHandler = e.target.GetComponent(); if (clickHandler == null) { @@ -156,6 +160,7 @@ public class FurnitureMover : MonoBehaviour Grabbing.OnPointerClickUp(); /*Grabbing.transform.SetParent(this.transform.root);*/ Grabbing = null; + ReleaseFurniture(Grabbing.gameObject); } } diff --git a/Assets/Scripts/MovableFurniture.cs b/Assets/Scripts/MovableFurniture.cs index f65e78f..4914701 100644 --- a/Assets/Scripts/MovableFurniture.cs +++ b/Assets/Scripts/MovableFurniture.cs @@ -19,6 +19,7 @@ public class MovableFurniture : Furniture var part = child.gameObject.AddComponent(); part.parent = this; var outline = child.gameObject.AddComponent(); + if (!outline) continue; outlines.Add(outline); outline.OutlineMode = ObjectOutline.Mode.OutlineAll; outline.OutlineColor = Color.yellow; @@ -108,4 +109,16 @@ public class MovableFurniture : Furniture Gizmos.DrawRay((transform.position - centerOffset) - (new Vector3(0, 0, combinedBounds.extents.z)), (new Vector3(0, 0, combinedBounds.size.z))); } + private void OnDisable() + { + if(outlines != null && outlines.Count > 0) + { + foreach (ObjectOutline outline in outlines) + { + outline.enabled = false; + } + } + + } + }