1
0
forked from cgvr/DeltaVR

4 Commits

33 changed files with 1320 additions and 165 deletions

View File

@@ -1,10 +1,13 @@
### TODO
* shape scanner:
* peenikesemad kiired
* mitte lihtsalt ontriggerenter ja -exit, sest kui mitu objekti lähevad samal ajal sisse
* mustad kiired on halvasti nähtavad pruuni materjali taustal
* shape detection:
* shape scanner peenikesemad kiired
* shape scanner mitte lihtsalt ontriggerenter ja -exit, sest kui mitu objekti lähevad samal ajal sisse
* shape scanner mustad kiired on halvasti nähtavad pruuni materjali taustal
* PC uus mudel, kus enter key liigub õigesti + õige sound effect enter nupul
* archery range:
* kui midagi laeb (wire aktiivne), siis particle'id võiks voolata mööda toru
* uued wire'id
* uus Table mudel, kus õiged wire'id
* highscore json tühjaks
* npc character:
* klaas on näha temast eespool

View File

@@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: c335d35d124d55d47a083e4c86ad7b51
guid: f957e84cb38bd924f95386ff91dd73c6
ModelImporter:
serializedVersion: 22200
internalIDToNameTable: []

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 1ce1e0e392542234a835f077da110dce
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

View File

@@ -0,0 +1,108 @@
fileFormatVersion: 2
guid: c335d35d124d55d47a083e4c86ad7b51
ModelImporter:
serializedVersion: 22200
internalIDToNameTable: []
externalObjects: {}
materials:
materialImportMode: 2
materialName: 0
materialSearch: 1
materialLocation: 1
animations:
legacyGenerateAnimations: 4
bakeSimulation: 0
resampleCurves: 1
optimizeGameObjects: 0
removeConstantScaleCurves: 0
motionNodeName:
rigImportErrors:
rigImportWarnings:
animationImportErrors:
animationImportWarnings:
animationRetargetingWarnings:
animationDoRetargetingWarnings: 0
importAnimatedCustomProperties: 0
importConstraints: 0
animationCompression: 1
animationRotationError: 0.5
animationPositionError: 0.5
animationScaleError: 0.5
animationWrapMode: 0
extraExposedTransformPaths: []
extraUserProperties: []
clipAnimations: []
isReadable: 0
meshes:
lODScreenPercentages: []
globalScale: 1
meshCompression: 0
addColliders: 0
useSRGBMaterialColor: 1
sortHierarchyByName: 1
importVisibility: 1
importBlendShapes: 1
importCameras: 1
importLights: 1
nodeNameCollisionStrategy: 1
fileIdsGeneration: 2
swapUVChannels: 0
generateSecondaryUV: 0
useFileUnits: 1
keepQuads: 0
weldVertices: 1
bakeAxisConversion: 0
preserveHierarchy: 0
skinWeightsMode: 0
maxBonesPerVertex: 4
minBoneWeight: 0.001
optimizeBones: 1
meshOptimizationFlags: -1
indexFormat: 0
secondaryUVAngleDistortion: 8
secondaryUVAreaDistortion: 15.000001
secondaryUVHardAngle: 88
secondaryUVMarginMethod: 1
secondaryUVMinLightmapResolution: 40
secondaryUVMinObjectScale: 1
secondaryUVPackMargin: 4
useFileScale: 1
strictVertexDataChecks: 0
tangentSpace:
normalSmoothAngle: 60
normalImportMode: 0
tangentImportMode: 3
normalCalculationMode: 4
legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0
blendShapeNormalImportMode: 1
normalSmoothingSource: 0
referencedClips: []
importAnimation: 1
humanDescription:
serializedVersion: 3
human: []
skeleton: []
armTwist: 0.5
foreArmTwist: 0.5
upperLegTwist: 0.5
legTwist: 0.5
armStretch: 0.05
legStretch: 0.05
feetSpacing: 0
globalScale: 1
rootMotionBoneName:
hasTranslationDoF: 0
hasExtraRoot: 0
skeletonHasParents: 1
lastHumanDescriptionAvatarSource: {instanceID: 0}
autoGenerateAvatarMappingIfUnspecified: 1
animationType: 2
humanoidOversampling: 1
avatarSetup: 0
addHumanoidExtraRootOnlyWhenUsingAvatar: 1
importBlendShapeDeformPercent: 1
remapMaterialsIfMaterialImportModeIsNone: 0
additionalBone: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

View File

@@ -0,0 +1,108 @@
fileFormatVersion: 2
guid: 207e7de8e5c90584b8639d55f204b94e
ModelImporter:
serializedVersion: 22200
internalIDToNameTable: []
externalObjects: {}
materials:
materialImportMode: 2
materialName: 0
materialSearch: 1
materialLocation: 1
animations:
legacyGenerateAnimations: 4
bakeSimulation: 0
resampleCurves: 1
optimizeGameObjects: 0
removeConstantScaleCurves: 0
motionNodeName:
rigImportErrors:
rigImportWarnings:
animationImportErrors:
animationImportWarnings:
animationRetargetingWarnings:
animationDoRetargetingWarnings: 0
importAnimatedCustomProperties: 0
importConstraints: 0
animationCompression: 1
animationRotationError: 0.5
animationPositionError: 0.5
animationScaleError: 0.5
animationWrapMode: 0
extraExposedTransformPaths: []
extraUserProperties: []
clipAnimations: []
isReadable: 0
meshes:
lODScreenPercentages: []
globalScale: 1
meshCompression: 0
addColliders: 0
useSRGBMaterialColor: 1
sortHierarchyByName: 1
importVisibility: 1
importBlendShapes: 1
importCameras: 1
importLights: 1
nodeNameCollisionStrategy: 1
fileIdsGeneration: 2
swapUVChannels: 0
generateSecondaryUV: 0
useFileUnits: 1
keepQuads: 0
weldVertices: 1
bakeAxisConversion: 0
preserveHierarchy: 0
skinWeightsMode: 0
maxBonesPerVertex: 4
minBoneWeight: 0.001
optimizeBones: 1
meshOptimizationFlags: -1
indexFormat: 0
secondaryUVAngleDistortion: 8
secondaryUVAreaDistortion: 15.000001
secondaryUVHardAngle: 88
secondaryUVMarginMethod: 1
secondaryUVMinLightmapResolution: 40
secondaryUVMinObjectScale: 1
secondaryUVPackMargin: 4
useFileScale: 1
strictVertexDataChecks: 0
tangentSpace:
normalSmoothAngle: 60
normalImportMode: 0
tangentImportMode: 3
normalCalculationMode: 4
legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0
blendShapeNormalImportMode: 1
normalSmoothingSource: 0
referencedClips: []
importAnimation: 1
humanDescription:
serializedVersion: 3
human: []
skeleton: []
armTwist: 0.5
foreArmTwist: 0.5
upperLegTwist: 0.5
legTwist: 0.5
armStretch: 0.05
legStretch: 0.05
feetSpacing: 0
globalScale: 1
rootMotionBoneName:
hasTranslationDoF: 0
hasExtraRoot: 0
skeletonHasParents: 1
lastHumanDescriptionAvatarSource: {instanceID: 0}
autoGenerateAvatarMappingIfUnspecified: 1
animationType: 2
humanoidOversampling: 1
avatarSetup: 0
addHumanoidExtraRootOnlyWhenUsingAvatar: 1
importBlendShapeDeformPercent: 1
remapMaterialsIfMaterialImportModeIsNone: 0
additionalBone: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

View File

@@ -0,0 +1,108 @@
fileFormatVersion: 2
guid: bd70492f76cf8d54ab9404f53896044b
ModelImporter:
serializedVersion: 22200
internalIDToNameTable: []
externalObjects: {}
materials:
materialImportMode: 2
materialName: 0
materialSearch: 1
materialLocation: 1
animations:
legacyGenerateAnimations: 4
bakeSimulation: 0
resampleCurves: 1
optimizeGameObjects: 0
removeConstantScaleCurves: 0
motionNodeName:
rigImportErrors:
rigImportWarnings:
animationImportErrors:
animationImportWarnings:
animationRetargetingWarnings:
animationDoRetargetingWarnings: 0
importAnimatedCustomProperties: 0
importConstraints: 0
animationCompression: 1
animationRotationError: 0.5
animationPositionError: 0.5
animationScaleError: 0.5
animationWrapMode: 0
extraExposedTransformPaths: []
extraUserProperties: []
clipAnimations: []
isReadable: 0
meshes:
lODScreenPercentages: []
globalScale: 1
meshCompression: 0
addColliders: 0
useSRGBMaterialColor: 1
sortHierarchyByName: 1
importVisibility: 1
importBlendShapes: 1
importCameras: 1
importLights: 1
nodeNameCollisionStrategy: 1
fileIdsGeneration: 2
swapUVChannels: 0
generateSecondaryUV: 0
useFileUnits: 1
keepQuads: 0
weldVertices: 1
bakeAxisConversion: 0
preserveHierarchy: 0
skinWeightsMode: 0
maxBonesPerVertex: 4
minBoneWeight: 0.001
optimizeBones: 1
meshOptimizationFlags: -1
indexFormat: 0
secondaryUVAngleDistortion: 8
secondaryUVAreaDistortion: 15.000001
secondaryUVHardAngle: 88
secondaryUVMarginMethod: 1
secondaryUVMinLightmapResolution: 40
secondaryUVMinObjectScale: 1
secondaryUVPackMargin: 4
useFileScale: 1
strictVertexDataChecks: 0
tangentSpace:
normalSmoothAngle: 60
normalImportMode: 0
tangentImportMode: 3
normalCalculationMode: 4
legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0
blendShapeNormalImportMode: 1
normalSmoothingSource: 0
referencedClips: []
importAnimation: 1
humanDescription:
serializedVersion: 3
human: []
skeleton: []
armTwist: 0.5
foreArmTwist: 0.5
upperLegTwist: 0.5
legTwist: 0.5
armStretch: 0.05
legStretch: 0.05
feetSpacing: 0
globalScale: 1
rootMotionBoneName:
hasTranslationDoF: 0
hasExtraRoot: 0
skeletonHasParents: 1
lastHumanDescriptionAvatarSource: {instanceID: 0}
autoGenerateAvatarMappingIfUnspecified: 1
animationType: 2
humanoidOversampling: 1
avatarSetup: 0
addHumanoidExtraRootOnlyWhenUsingAvatar: 1
importBlendShapeDeformPercent: 1
remapMaterialsIfMaterialImportModeIsNone: 0
additionalBone: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

View File

@@ -0,0 +1,108 @@
fileFormatVersion: 2
guid: 57b2f59a5da481244b62991f926cb992
ModelImporter:
serializedVersion: 22200
internalIDToNameTable: []
externalObjects: {}
materials:
materialImportMode: 2
materialName: 0
materialSearch: 1
materialLocation: 1
animations:
legacyGenerateAnimations: 4
bakeSimulation: 0
resampleCurves: 1
optimizeGameObjects: 0
removeConstantScaleCurves: 0
motionNodeName:
rigImportErrors:
rigImportWarnings:
animationImportErrors:
animationImportWarnings:
animationRetargetingWarnings:
animationDoRetargetingWarnings: 0
importAnimatedCustomProperties: 0
importConstraints: 0
animationCompression: 1
animationRotationError: 0.5
animationPositionError: 0.5
animationScaleError: 0.5
animationWrapMode: 0
extraExposedTransformPaths: []
extraUserProperties: []
clipAnimations: []
isReadable: 0
meshes:
lODScreenPercentages: []
globalScale: 1
meshCompression: 0
addColliders: 0
useSRGBMaterialColor: 1
sortHierarchyByName: 1
importVisibility: 1
importBlendShapes: 1
importCameras: 1
importLights: 1
nodeNameCollisionStrategy: 1
fileIdsGeneration: 2
swapUVChannels: 0
generateSecondaryUV: 0
useFileUnits: 1
keepQuads: 0
weldVertices: 1
bakeAxisConversion: 0
preserveHierarchy: 0
skinWeightsMode: 0
maxBonesPerVertex: 4
minBoneWeight: 0.001
optimizeBones: 1
meshOptimizationFlags: -1
indexFormat: 0
secondaryUVAngleDistortion: 8
secondaryUVAreaDistortion: 15.000001
secondaryUVHardAngle: 88
secondaryUVMarginMethod: 1
secondaryUVMinLightmapResolution: 40
secondaryUVMinObjectScale: 1
secondaryUVPackMargin: 4
useFileScale: 1
strictVertexDataChecks: 0
tangentSpace:
normalSmoothAngle: 60
normalImportMode: 0
tangentImportMode: 3
normalCalculationMode: 4
legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0
blendShapeNormalImportMode: 1
normalSmoothingSource: 0
referencedClips: []
importAnimation: 1
humanDescription:
serializedVersion: 3
human: []
skeleton: []
armTwist: 0.5
foreArmTwist: 0.5
upperLegTwist: 0.5
legTwist: 0.5
armStretch: 0.05
legStretch: 0.05
feetSpacing: 0
globalScale: 1
rootMotionBoneName:
hasTranslationDoF: 0
hasExtraRoot: 0
skeletonHasParents: 1
lastHumanDescriptionAvatarSource: {instanceID: 0}
autoGenerateAvatarMappingIfUnspecified: 1
animationType: 2
humanoidOversampling: 1
avatarSetup: 0
addHumanoidExtraRootOnlyWhenUsingAvatar: 1
importBlendShapeDeformPercent: 1
remapMaterialsIfMaterialImportModeIsNone: 0
additionalBone: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

View File

@@ -0,0 +1,108 @@
fileFormatVersion: 2
guid: bd6aade83407b0146bc70213528db8e3
ModelImporter:
serializedVersion: 22200
internalIDToNameTable: []
externalObjects: {}
materials:
materialImportMode: 2
materialName: 0
materialSearch: 1
materialLocation: 1
animations:
legacyGenerateAnimations: 4
bakeSimulation: 0
resampleCurves: 1
optimizeGameObjects: 0
removeConstantScaleCurves: 0
motionNodeName:
rigImportErrors:
rigImportWarnings:
animationImportErrors:
animationImportWarnings:
animationRetargetingWarnings:
animationDoRetargetingWarnings: 0
importAnimatedCustomProperties: 0
importConstraints: 0
animationCompression: 1
animationRotationError: 0.5
animationPositionError: 0.5
animationScaleError: 0.5
animationWrapMode: 0
extraExposedTransformPaths: []
extraUserProperties: []
clipAnimations: []
isReadable: 0
meshes:
lODScreenPercentages: []
globalScale: 1
meshCompression: 0
addColliders: 0
useSRGBMaterialColor: 1
sortHierarchyByName: 1
importVisibility: 1
importBlendShapes: 1
importCameras: 1
importLights: 1
nodeNameCollisionStrategy: 1
fileIdsGeneration: 2
swapUVChannels: 0
generateSecondaryUV: 0
useFileUnits: 1
keepQuads: 0
weldVertices: 1
bakeAxisConversion: 0
preserveHierarchy: 0
skinWeightsMode: 0
maxBonesPerVertex: 4
minBoneWeight: 0.001
optimizeBones: 1
meshOptimizationFlags: -1
indexFormat: 0
secondaryUVAngleDistortion: 8
secondaryUVAreaDistortion: 15.000001
secondaryUVHardAngle: 88
secondaryUVMarginMethod: 1
secondaryUVMinLightmapResolution: 40
secondaryUVMinObjectScale: 1
secondaryUVPackMargin: 4
useFileScale: 1
strictVertexDataChecks: 0
tangentSpace:
normalSmoothAngle: 60
normalImportMode: 0
tangentImportMode: 3
normalCalculationMode: 4
legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0
blendShapeNormalImportMode: 1
normalSmoothingSource: 0
referencedClips: []
importAnimation: 1
humanDescription:
serializedVersion: 3
human: []
skeleton: []
armTwist: 0.5
foreArmTwist: 0.5
upperLegTwist: 0.5
legTwist: 0.5
armStretch: 0.05
legStretch: 0.05
feetSpacing: 0
globalScale: 1
rootMotionBoneName:
hasTranslationDoF: 0
hasExtraRoot: 0
skeletonHasParents: 1
lastHumanDescriptionAvatarSource: {instanceID: 0}
autoGenerateAvatarMappingIfUnspecified: 1
animationType: 2
humanoidOversampling: 1
avatarSetup: 0
addHumanoidExtraRootOnlyWhenUsingAvatar: 1
importBlendShapeDeformPercent: 1
remapMaterialsIfMaterialImportModeIsNone: 0
additionalBone: 0
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 207e7de8e5c90584b8639d55f204b94e
guid: 40a3daba22bb229448d4b719fc70f244
ModelImporter:
serializedVersion: 22200
internalIDToNameTable: []

View File

@@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: bd70492f76cf8d54ab9404f53896044b
guid: 8d208216ae6bcb74c8e779baee046d44
ModelImporter:
serializedVersion: 22200
internalIDToNameTable: []

View File

@@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 57b2f59a5da481244b62991f926cb992
guid: bc86b5e9675940f4cbf42ddf5227f63d
ModelImporter:
serializedVersion: 22200
internalIDToNameTable: []

View File

@@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: bd6aade83407b0146bc70213528db8e3
guid: ba3b7e226cfffce4ebb2ab3fcf41e1d6
ModelImporter:
serializedVersion: 22200
internalIDToNameTable: []

View File

@@ -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

View File

@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 0e583a03c2f3f0a4596214e8b2139c16
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -1,81 +1,5 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &191445694185635432
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 5366069888055802935}
- component: {fileID: 3859184247018527702}
- component: {fileID: 4706461719203293390}
m_Layer: 0
m_Name: Image
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &5366069888055802935
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 191445694185635432}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 9089378608032997654}
m_RootOrder: -1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0.35, y: 0.35}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &3859184247018527702
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 191445694185635432}
m_CullTransparentMesh: 1
--- !u!114 &4706461719203293390
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 191445694185635432}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 0}
m_Type: 0
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!1 &1729028776279376009
GameObject:
m_ObjectHideFlags: 0
@@ -88,7 +12,7 @@ GameObject:
- component: {fileID: 7594134409976187304}
- component: {fileID: 1297641575955202044}
- component: {fileID: 6521999952126795650}
m_Layer: 0
m_Layer: 2
m_Name: Printable
m_TagString: Untagged
m_Icon: {fileID: 0}
@@ -107,8 +31,8 @@ Transform:
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 9089378608032997654}
- {fileID: 3957909802885323975}
- {fileID: 3252674962452689824}
m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
@@ -287,7 +211,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: bb8ba6b5820955f4a95511b55c3a8db9, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!1 &6791306317367082968
--- !u!1 &2119860429913564602
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
@@ -295,10 +219,10 @@ GameObject:
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 9089378608032997654}
- component: {fileID: 3612923806949016747}
- component: {fileID: 5397926117381239953}
- component: {fileID: 4316554082218252814}
- component: {fileID: 3252674962452689824}
- component: {fileID: 6732376546868400302}
- component: {fileID: 668304854638700674}
- component: {fileID: 6488625860246538072}
m_Layer: 0
m_Name: ImageDisplayCanvas
m_TagString: Untagged
@@ -306,34 +230,34 @@ GameObject:
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &9089378608032997654
--- !u!224 &3252674962452689824
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6791306317367082968}
m_LocalRotation: {x: 0, y: -0.7071068, z: -0.7071068, w: 0}
m_LocalPosition: {x: 0, y: 0, z: -0.0016155243}
m_GameObject: {fileID: 2119860429913564602}
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: 5366069888055802935}
- {fileID: 5419759324473382426}
m_Father: {fileID: 3870989277732630730}
m_RootOrder: -1
m_LocalEulerAnglesHint: {x: 270, y: 0, z: 180}
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.015545189}
m_AnchoredPosition: {x: 0.0000009536743, y: 0.014099985}
m_SizeDelta: {x: 100, y: 100}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!223 &3612923806949016747
--- !u!223 &6732376546868400302
Canvas:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6791306317367082968}
m_GameObject: {fileID: 2119860429913564602}
m_Enabled: 1
serializedVersion: 3
m_RenderMode: 2
@@ -349,13 +273,13 @@ Canvas:
m_SortingLayerID: 0
m_SortingOrder: 0
m_TargetDisplay: 0
--- !u!114 &5397926117381239953
--- !u!114 &668304854638700674
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6791306317367082968}
m_GameObject: {fileID: 2119860429913564602}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3}
@@ -372,13 +296,13 @@ MonoBehaviour:
m_DefaultSpriteDPI: 96
m_DynamicPixelsPerUnit: 1
m_PresetInfoIsWorld: 1
--- !u!114 &4316554082218252814
--- !u!114 &6488625860246538072
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6791306317367082968}
m_GameObject: {fileID: 2119860429913564602}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3}
@@ -389,6 +313,82 @@ MonoBehaviour:
m_BlockingMask:
serializedVersion: 2
m_Bits: 4294967295
--- !u!1 &4848143069676538940
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 5419759324473382426}
- component: {fileID: 8399332010298584884}
- component: {fileID: 5040108080439486778}
m_Layer: 0
m_Name: Image
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &5419759324473382426
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4848143069676538940}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 3252674962452689824}
m_RootOrder: -1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0.4, y: 0.4}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &8399332010298584884
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4848143069676538940}
m_CullTransparentMesh: 1
--- !u!114 &5040108080439486778
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4848143069676538940}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 0}
m_Type: 0
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!1 &8445441351388109183
GameObject:
m_ObjectHideFlags: 0
@@ -401,7 +401,7 @@ GameObject:
- component: {fileID: 4361987431377336869}
- component: {fileID: 3411055828343993123}
- component: {fileID: 7071286287119029704}
m_Layer: 0
m_Layer: 2
m_Name: PrintableBody
m_TagString: Untagged
m_Icon: {fileID: 0}

View File

@@ -7,10 +7,10 @@ public class ShapeDetectionNPC : NPCController
{
[Header("Shape Detection Minigame Config")]
public QuestMarker questMarker;
public MicrophoneStand microphoneStand;
public RadioTransmitter radio;
public PushableButton imageGenerationButton;
public PushableButton modelGenerationButton;
public Transform computerKeyboardKey;
public ComputerPrinter computerPrinter;
public Printer3DInputHole printerInsertionHole;
public Texture2D GeneratedTexture { get; private set; }
public Image imageDisplay;
public ShapeScanner shapeScanner;
@@ -37,9 +37,9 @@ public class ShapeDetectionNPC : NPCController
private void Start()
{
radio.OnPlayerPickUp += OnPlayerPickedUpRadio;
microphoneStand.OnPlayerFinishedSpeaking += OnPlayerUsedMicrophone;
imageGenerationButton.OnButtonPressed += OnPlayerPressedKeyboard;
modelGenerationButton.OnButtonPressed += OnPlayerInitiatedPrinting;
radio.OnPlayerFinishedSpeaking += OnPlayerSpokeIntoRadio;
computerPrinter.OnImagePrinted += OnPlayerPrintedImage;
printerInsertionHole.OnPlayerInsertedPrintable += OnPlayerInitiatedPrinting;
}
protected async override void OnPlayerApproach()
@@ -54,7 +54,7 @@ public class ShapeDetectionNPC : NPCController
{
state = 1;
await CallPlayer();
await Task.Delay(2000);
await Task.Delay(1000);
questMarker.MoveTo(radio.transform, true);
}
}
@@ -94,36 +94,26 @@ public class ShapeDetectionNPC : NPCController
SpeakVoiceLine(2, radio.gameObject, radioAmount);
state = 2;
await Task.Delay(5000);
questMarker.MoveTo(microphoneStand.transform);
}
}
// TODO: replace microphone with radio
private void OnPlayerUsedMicrophone()
private void OnPlayerSpokeIntoRadio()
{
if (state == 2)
{
SpeakVoiceLine(3, radio.gameObject, radioAmount);
state = 3;
questMarker.MoveTo(imageGenerationButton.transform);
questMarker.MoveTo(computerKeyboardKey);
}
}
private async void OnPlayerPressedKeyboard()
private void OnPlayerPrintedImage()
{
//string inputPrompt = microphoneStand.GetTextOutput();
//byte[] imageBytes = await InvokeAiClient.Instance.GenerateImage(inputPrompt);
//GeneratedTexture = ModelGenerationUtils.CreateTexture(imageBytes);
//Sprite sprite = ModelGenerationUtils.CreateSprite(GeneratedTexture);
//imageDisplay.sprite = sprite;
imageGenerationButton.Deactivate();
if (state == 3)
{
SpeakVoiceLine(4, radio.gameObject, radioAmount);
state = 4;
questMarker.MoveTo(modelGenerationButton.transform);
modelGenerationButton.Deactivate();
questMarker.MoveTo(printerInsertionHole.transform);
}
}
@@ -141,14 +131,10 @@ public class ShapeDetectionNPC : NPCController
GameObject spawnedObject = await ModelGenerationUtils.Instance.SpawnModel(encodedModel);
modelGenerationButton.Deactivate();
if (state == 5)
{
state = 6;
}
}
}

View File

@@ -4,13 +4,15 @@ using UnityEngine;
public class ComputerPrinter : MonoBehaviour
{
public delegate void OnImagePrintedDelegate();
public event OnImagePrintedDelegate OnImagePrinted;
public TextMeshProUGUI textDisplay;
public PushableButton enterKey;
public Transform ejectionOrigin;
public Transform ejectionDestination;
public Printable printablePrefab;
public float ejectionDuration = 1.0f;
public int ignorePlayerCollisionLayer = 2;
// Start is called before the first frame update
void Start()
@@ -32,17 +34,13 @@ public class ComputerPrinter : MonoBehaviour
Printable printable = Instantiate(printablePrefab, ejectionOrigin.position, Quaternion.identity);
printable.AttachTexture(generatedTexture);
printable.gameObject.layer = ignorePlayerCollisionLayer;
foreach (Transform childTrans in printable.transform.GetComponentInChildren<Transform>())
{
childTrans.gameObject.layer = ignorePlayerCollisionLayer;
}
printable.transform.DOMove(ejectionDestination.position, ejectionDuration).OnComplete(() =>
{
Rigidbody printableRigidbody = printable.GetComponent<Rigidbody>();
printableRigidbody.isKinematic = false;
enterKey.Deactivate();
OnImagePrinted?.Invoke();
});
}
}

View File

@@ -1,6 +1,5 @@
using FMOD.Studio;
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Printer3D : MonoBehaviour
@@ -8,13 +7,19 @@ 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;
private GameObject GeneratedModel;
// Start is called before the first frame update
void Start()
{
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
@@ -25,10 +30,14 @@ public class Printer3D : MonoBehaviour
public async void PrintObject(Texture2D texture)
{
isPrinting = true;
printingSound.start();
printingSound.setParameterByName("3DPrinterPrintingJob", 0);
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)
{
@@ -36,6 +45,9 @@ public class Printer3D : MonoBehaviour
GeneratedModel.transform.position = Vector3.zero;
}
GeneratedModel = spawnedObject;
printingSound.setParameterByName("3DPrinterPrintingJob", 1);
isPrinting = false;
}
private void InitializeSpawnedObject(GameObject spawnedObject)
@@ -59,4 +71,9 @@ public class Printer3D : MonoBehaviour
spawnedObjectParent.AddComponent<TwoHandScaleGrabInteractable>();
}
public bool IsPrinting()
{
return isPrinting;
}
}

View File

@@ -1,10 +1,17 @@
using System.Collections;
using System.Collections.Generic;
using DG.Tweening;
using UnityEngine;
using UnityEngine.XR.Interaction.Toolkit;
public class Printer3DInputHole : MonoBehaviour
{
public delegate void OnPlayerInsertedPrintableDelegate();
public event OnPlayerInsertedPrintableDelegate OnPlayerInsertedPrintable;
public Printer3D printer;
public XRInteractionManager interactionManager;
public Transform insertionOrigin;
public Transform insertionDestination;
public float insertionDuration = 1f;
// Start is called before the first frame update
void Start()
@@ -26,10 +33,55 @@ public class Printer3DInputHole : MonoBehaviour
Printable printable = parent.GetComponent<Printable>();
if (printable != null)
{
printer.PrintObject(printable.GetTexture());
Destroy(printable.gameObject);
if (printer.IsPrinting())
{
Debug.Log("priner is busy!");
} else
{
ReleaseFromPlayer(printable);
InsertPrintable(printable);
OnPlayerInsertedPrintable?.Invoke();
}
}
}
}
private void ReleaseFromPlayer(Printable printable)
{
var grab = printable.GetComponent<XRGrabInteractable>();
var rb = printable.GetComponent<Rigidbody>();
// 1) If currently held, force release from the interactor
if (grab != null && grab.isSelected)
{
var interactor = grab.firstInteractorSelecting; // the hand/controller currently holding it
if (interactor != null)
{
// Transfer ownership: tell the manager to stop the selection
interactionManager.SelectExit(interactor, grab);
}
}
// 2) Make sure physics doesn't fight the tween (optional but recommended)
if (rb != null)
{
rb.isKinematic = true;
}
// 3) Optionally disable grabbing during the tween so the player can't re-grab mid-flight
if (grab != null) grab.enabled = false;
}
private void InsertPrintable(Printable printable)
{
Transform printableTransform = printable.transform;
printableTransform.position = insertionOrigin.position;
printableTransform.rotation = insertionOrigin.rotation;
printableTransform.DOMove(insertionDestination.position, insertionDuration).OnComplete(() =>
{
printer.PrintObject(printable.GetTexture());
Destroy(printable.gameObject);
});
}
}

View File

@@ -1,5 +1,4 @@
using System.Collections;
using System.Collections.Generic;
using TMPro;
using UnityEngine;
using UnityEngine.XR.Interaction.Toolkit;
@@ -7,11 +6,18 @@ public class RadioTransmitter : XRGrabInteractable
{
public delegate void OnPlayerPickUpDelegate();
public event OnPlayerPickUpDelegate OnPlayerPickUp;
public delegate void OnPlayerFinishedSpeakingDelegate();
public event OnPlayerFinishedSpeakingDelegate OnPlayerFinishedSpeaking;
[Header("Custom Config")]
public FMODWhisperBridge fmodWhisperBridge;
public PushableButton radioButton;
public TextMeshProUGUI computerScreen;
// Start is called before the first frame update
void Start()
{
radioButton.OnButtonPressed += OnRadioButtonPressed;
}
// Update is called once per frame
@@ -25,4 +31,23 @@ public class RadioTransmitter : XRGrabInteractable
base.OnSelectEntered(args);
OnPlayerPickUp?.Invoke();
}
private void OnRadioButtonPressed()
{
fmodWhisperBridge.OnWhisperSegmentUpdated += OnPlayerSpeechUpdated;
fmodWhisperBridge.OnWhisperSegmentFinished += OnPlayerSpeechFinished;
AudioManager.Instance.PlayAttachedInstance(FMODEvents.Instance.RadioButton, gameObject);
fmodWhisperBridge.ActivateRecording();
// TODO: deactivate when button is released
}
private void OnPlayerSpeechUpdated(string text)
{
computerScreen.text = text;
}
private void OnPlayerSpeechFinished(string playerText)
{
OnPlayerFinishedSpeaking?.Invoke();
}
}