From bd8a3d90ca92980c87edcec20b27048d1eb0bcce Mon Sep 17 00:00:00 2001 From: henrisel Date: Sun, 15 Feb 2026 12:38:13 +0200 Subject: [PATCH] printer spawns object in correct place, size, and plays sound --- .../Prefabs/ModelGeneration/3DPrinter.prefab | 504 ++++++++++++++++++ .../ModelGeneration/3DPrinter.prefab.meta | 7 + .../Prefabs/ModelGeneration/Printable.prefab | 8 +- .../_PROJECT/Scenes/DeltaBuilding_base.unity | 4 +- .../ShapeDetection/Printer3D.cs | 7 +- .../ShapeDetection/Printer3DInputHole.cs | 4 +- 6 files changed, 522 insertions(+), 12 deletions(-) create mode 100644 Assets/_PROJECT/Prefabs/ModelGeneration/3DPrinter.prefab create mode 100644 Assets/_PROJECT/Prefabs/ModelGeneration/3DPrinter.prefab.meta diff --git a/Assets/_PROJECT/Prefabs/ModelGeneration/3DPrinter.prefab b/Assets/_PROJECT/Prefabs/ModelGeneration/3DPrinter.prefab new file mode 100644 index 00000000..38f0d05d --- /dev/null +++ b/Assets/_PROJECT/Prefabs/ModelGeneration/3DPrinter.prefab @@ -0,0 +1,504 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &1166302986196598476 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 9031063507384316445} + - component: {fileID: 8358778564058156573} + - component: {fileID: 3049600352088168880} + m_Layer: 0 + m_Name: Base + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &9031063507384316445 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1166302986196598476} + m_LocalRotation: {x: 0, y: 0.081091836, z: -0, w: 0.99670666} + m_LocalPosition: {x: -0.125, y: 0.22500001, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 491901686877125991} + m_Father: {fileID: 4545823825065891782} + m_RootOrder: -1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &8358778564058156573 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1166302986196598476} + m_Mesh: {fileID: -5741174448488666723, guid: e3d9312181bf08d40ba90862a37db1a2, type: 3} +--- !u!23 &3049600352088168880 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1166302986196598476} + 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: -876546973899608171, guid: e3d9312181bf08d40ba90862a37db1a2, type: 3} + 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!1 &1249443705535606198 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6420078628081188862} + m_Layer: 0 + m_Name: InsertionDestination + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &6420078628081188862 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1249443705535606198} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0.581, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 491901686877125991} + m_RootOrder: -1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1365700282255376279 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 9214868600016593565} + m_Layer: 0 + m_Name: SpawnPoint + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &9214868600016593565 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1365700282255376279} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0.504, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 6976191064680756496} + m_RootOrder: -1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1403918062148052274 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 491901686877125991} + - component: {fileID: 3412867226584140986} + - component: {fileID: 6060775924769412271} + m_Layer: 0 + m_Name: InputHole + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &491901686877125991 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1403918062148052274} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -0.472, y: -0.0895, z: -0.087} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 7352624845252625087} + - {fileID: 6420078628081188862} + m_Father: {fileID: 9031063507384316445} + m_RootOrder: -1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!65 &3412867226584140986 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1403918062148052274} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 1 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Size: {x: 0.13, y: 0.04, z: 0.73} + m_Center: {x: 0, y: 0, z: 0} +--- !u!114 &6060775924769412271 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1403918062148052274} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2970ff5f70d74904ea849da1b6364e0e, type: 3} + m_Name: + m_EditorClassIdentifier: + printer: {fileID: 8722256608810632158} + interactionManager: {fileID: 0} + insertionOrigin: {fileID: 7352624845252625087} + insertionDestination: {fileID: 6420078628081188862} + insertionDuration: 1 +--- !u!1 &1721294758195712310 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7352624845252625087} + m_Layer: 0 + m_Name: InsertionOrigin + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &7352624845252625087 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1721294758195712310} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -0.1871, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 491901686877125991} + m_RootOrder: -1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &2829786486647810675 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6920554097264155277} + - component: {fileID: 7231162203913049404} + - component: {fileID: 3671593033758263276} + m_Layer: 0 + m_Name: Point Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &6920554097264155277 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2829786486647810675} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -0.241, y: 0.906, z: -0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 4545823825065891782} + m_RootOrder: -1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!108 &7231162203913049404 +Light: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2829786486647810675} + m_Enabled: 1 + serializedVersion: 10 + m_Type: 2 + m_Shape: 0 + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_Intensity: 0.81 + m_Range: 8.11 + m_SpotAngle: 30 + m_InnerSpotAngle: 21.80208 + m_CookieSize: 10 + m_Shadows: + m_Type: 0 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_CullingMatrixOverride: + e00: 1 + e01: 0 + e02: 0 + e03: 0 + e10: 0 + e11: 1 + e12: 0 + e13: 0 + e20: 0 + e21: 0 + e22: 1 + e23: 0 + e30: 0 + e31: 0 + e32: 0 + e33: 1 + m_UseCullingMatrixOverride: 0 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingLayerMask: 1 + m_Lightmapping: 4 + m_LightShadowCasterMode: 0 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} + m_UseBoundingSphereOverride: 0 + m_UseViewFrustumForShadowCasterCull: 1 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!114 &3671593033758263276 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2829786486647810675} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 474bcb49853aa07438625e644c072ee6, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Version: 3 + m_UsePipelineSettings: 1 + m_AdditionalLightsShadowResolutionTier: 2 + m_LightLayerMask: 1 + m_RenderingLayers: 1 + m_CustomShadowLayers: 0 + m_ShadowLayerMask: 1 + m_ShadowRenderingLayers: 1 + m_LightCookieSize: {x: 1, y: 1} + m_LightCookieOffset: {x: 0, y: 0} + m_SoftShadowQuality: 0 +--- !u!1 &3457444363461787785 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6976191064680756496} + - component: {fileID: 4622769794832644727} + - component: {fileID: 5409711374704498054} + m_Layer: 0 + m_Name: Body + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &6976191064680756496 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3457444363461787785} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0.3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 9214868600016593565} + m_Father: {fileID: 4545823825065891782} + m_RootOrder: -1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &4622769794832644727 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3457444363461787785} + m_Mesh: {fileID: -2865104911859505335, guid: e3d9312181bf08d40ba90862a37db1a2, type: 3} +--- !u!23 &5409711374704498054 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3457444363461787785} + 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: -876546973899608171, guid: e3d9312181bf08d40ba90862a37db1a2, type: 3} + 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!1 &6818522947819141277 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4545823825065891782} + - component: {fileID: 8722256608810632158} + m_Layer: 0 + m_Name: 3DPrinter + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4545823825065891782 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6818522947819141277} + m_LocalRotation: {x: -0, y: 0.64779234, z: -0, w: 0.76181704} + m_LocalPosition: {x: 2.247, y: -0.39, z: -8.134} + m_LocalScale: {x: 0.8, y: 0.8, z: 0.8} + m_ConstrainProportionsScale: 1 + m_Children: + - {fileID: 9031063507384316445} + - {fileID: 6976191064680756496} + - {fileID: 6920554097264155277} + m_Father: {fileID: 0} + m_RootOrder: -1 + m_LocalEulerAnglesHint: {x: 0, y: 80.751, z: 0} +--- !u!114 &8722256608810632158 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6818522947819141277} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 165a0eb9b371428468a9f9253668ef2b, type: 3} + m_Name: + m_EditorClassIdentifier: + spawnPoint: {fileID: 9214868600016593565} + ignorePlayerCollisionLayer: 2 + shapeScannerTag: ShapeScannable diff --git a/Assets/_PROJECT/Prefabs/ModelGeneration/3DPrinter.prefab.meta b/Assets/_PROJECT/Prefabs/ModelGeneration/3DPrinter.prefab.meta new file mode 100644 index 00000000..26ecac78 --- /dev/null +++ b/Assets/_PROJECT/Prefabs/ModelGeneration/3DPrinter.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 0e583a03c2f3f0a4596214e8b2139c16 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_PROJECT/Prefabs/ModelGeneration/Printable.prefab b/Assets/_PROJECT/Prefabs/ModelGeneration/Printable.prefab index 0f24ce62..c80b14ba 100644 --- a/Assets/_PROJECT/Prefabs/ModelGeneration/Printable.prefab +++ b/Assets/_PROJECT/Prefabs/ModelGeneration/Printable.prefab @@ -237,18 +237,18 @@ RectTransform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2119860429913564602} - m_LocalRotation: {x: -0.49999997, y: -0.5000005, z: 0.49999997, w: -0.49999958} - m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalRotation: {x: -0.7071071, y: -0.00000038743013, z: 0.0000003206533, w: -0.7071065} + m_LocalPosition: {x: 0, y: 0, z: 0.0000023841858} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: - {fileID: 5419759324473382426} m_Father: {fileID: 3870989277732630730} m_RootOrder: -1 - m_LocalEulerAnglesHint: {x: 90, y: 0, z: 270} + m_LocalEulerAnglesHint: {x: 90, y: 0, z: 360} m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0.0141} + m_AnchoredPosition: {x: 0.0000009536743, y: 0.014099985} m_SizeDelta: {x: 100, y: 100} m_Pivot: {x: 0.5, y: 0.5} --- !u!223 &6732376546868400302 diff --git a/Assets/_PROJECT/Scenes/DeltaBuilding_base.unity b/Assets/_PROJECT/Scenes/DeltaBuilding_base.unity index 0d933e21..96206036 100644 --- a/Assets/_PROJECT/Scenes/DeltaBuilding_base.unity +++ b/Assets/_PROJECT/Scenes/DeltaBuilding_base.unity @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5caa620ac27007fe51e2051f7d03a0d52c92423729d530fa458e145880317be9 -size 68559909 +oid sha256:1fbaa95f53267a271c6f7fa0e1131d37353c2d63dd8e1a5cd68ad454c051d933 +size 68555645 diff --git a/Assets/_PROJECT/Scripts/ModeGeneration/ShapeDetection/Printer3D.cs b/Assets/_PROJECT/Scripts/ModeGeneration/ShapeDetection/Printer3D.cs index da5467c5..14c068c9 100644 --- a/Assets/_PROJECT/Scripts/ModeGeneration/ShapeDetection/Printer3D.cs +++ b/Assets/_PROJECT/Scripts/ModeGeneration/ShapeDetection/Printer3D.cs @@ -1,7 +1,5 @@ using FMOD.Studio; using System; -using System.Collections; -using System.Collections.Generic; using UnityEngine; public class Printer3D : MonoBehaviour @@ -9,6 +7,7 @@ public class Printer3D : MonoBehaviour public Transform spawnPoint; public int ignorePlayerCollisionLayer = 2; public string shapeScannerTag = "ShapeScannable"; + public float printedObjectSize = 0.5f; private bool isPrinting = false; private EventInstance printingSound; @@ -19,6 +18,8 @@ public class Printer3D : MonoBehaviour { printingSound = AudioManager.Instance.CreateInstance(FMODEvents.Instance.Printing); printingSound.setParameterByName("3DPrinterPrintingJob", 1); + printingSound.setParameterByName("Occlusion", 0); + printingSound.set3DAttributes(FMODUnity.RuntimeUtils.To3DAttributes(spawnPoint)); } // Update is called once per frame @@ -36,7 +37,7 @@ public class Printer3D : MonoBehaviour string encodedTexture = Convert.ToBase64String(texture.EncodeToJPG()); byte[] encodedModel = await TrellisClient.Instance.GenerateModel(encodedTexture); - GameObject spawnedObject = await ModelGenerationUtils.Instance.SpawnModel(encodedModel); + GameObject spawnedObject = await ModelGenerationUtils.Instance.SpawnModel(encodedModel, printedObjectSize); InitializeSpawnedObject(spawnedObject); if (GeneratedModel != null) { diff --git a/Assets/_PROJECT/Scripts/ModeGeneration/ShapeDetection/Printer3DInputHole.cs b/Assets/_PROJECT/Scripts/ModeGeneration/ShapeDetection/Printer3DInputHole.cs index 7f6ed946..7860e373 100644 --- a/Assets/_PROJECT/Scripts/ModeGeneration/ShapeDetection/Printer3DInputHole.cs +++ b/Assets/_PROJECT/Scripts/ModeGeneration/ShapeDetection/Printer3DInputHole.cs @@ -62,9 +62,7 @@ public class Printer3DInputHole : MonoBehaviour // 2) Make sure physics doesn't fight the tween (optional but recommended) if (rb != null) { - rb.isKinematic = true; // prevent forces during tween - rb.velocity = Vector3.zero; - rb.angularVelocity = Vector3.zero; + rb.isKinematic = true; } // 3) Optionally disable grabbing during the tween so the player can't re-grab mid-flight