├── .gitattributes ├── .gitignore ├── .vscode └── settings.json ├── Assets ├── Demo.meta ├── Demo │ ├── AR Placement Indicator.png │ ├── AR Placement Indicator.png.meta │ ├── ARTapToPlaceObject.cs │ ├── ARTapToPlaceObject.cs.meta │ ├── Game Piece.prefab │ ├── Game Piece.prefab.meta │ ├── PlacementIndicator.mat │ └── PlacementIndicator.mat.meta ├── Scenes.meta ├── Scenes │ ├── SampleScene.unity │ └── SampleScene.unity.meta ├── Toy Plane.meta ├── Toy Plane │ ├── Materials.meta │ ├── Materials │ │ ├── PlaneShadow.mat │ │ ├── PlaneShadow.mat.meta │ │ ├── wire_224198087_0.mat │ │ └── wire_224198087_0.mat.meta │ ├── Meshes.meta │ ├── Meshes │ │ ├── _0_0.asset │ │ ├── _0_0.asset.meta │ │ ├── _1_0.asset │ │ └── _1_0.asset.meta │ ├── Textures.meta │ ├── Textures │ │ ├── toy plane - Metal-Smooth.png │ │ ├── toy plane - Metal-Smooth.png.meta │ │ ├── toy plane - Shadow Light.png │ │ ├── toy plane - Shadow Light.png.meta │ │ ├── toy plane - Shadow.png │ │ ├── toy plane - Shadow.png.meta │ │ ├── wire_224198087_baseColor_0.png │ │ ├── wire_224198087_baseColor_0.png.meta │ │ ├── wire_224198087_baseColor_0_COLOR.psd │ │ └── wire_224198087_baseColor_0_COLOR.psd.meta │ ├── Toy Plane.prefab │ └── Toy Plane.prefab.meta ├── link.xml └── link.xml.meta ├── LICENSE.md ├── Logs └── Packages-Update.log ├── Packages └── manifest.json ├── ProjectSettings ├── AudioManager.asset ├── ClusterInputManager.asset ├── DynamicsManager.asset ├── EditorBuildSettings.asset ├── EditorSettings.asset ├── GraphicsSettings.asset ├── InputManager.asset ├── NavMeshAreas.asset ├── NetworkManager.asset ├── Physics2DSettings.asset ├── PresetManager.asset ├── ProjectSettings.asset ├── ProjectVersion.txt ├── QualitySettings.asset ├── TagManager.asset ├── TimeManager.asset ├── UnityConnectSettings.asset └── VFXManager.asset ├── README.md └── SourceAssets └── ARFoundation Demo Assets └── AR Placement Indicator.png /.gitattributes: -------------------------------------------------------------------------------- 1 | * text=auto 2 | # Unity files 3 | *.meta -text -merge=unityamlmerge 4 | *.unity -text -merge=unityamlmerge 5 | *.asset filter=lfs diff=lfs merge=lfs -text 6 | *.prefab -text -merge=unityamlmerge 7 | # Image formats 8 | *.psd filter=lfs diff=lfs merge=lfs -text 9 | *.jpg filter=lfs diff=lfs merge=lfs -text 10 | *.png filter=lfs diff=lfs merge=lfs -text 11 | *.gif filter=lfs diff=lfs merge=lfs -text 12 | *.bmp filter=lfs diff=lfs merge=lfs -text 13 | *.tga filter=lfs diff=lfs merge=lfs -text 14 | *.tiff filter=lfs diff=lfs merge=lfs -text 15 | *.iff filter=lfs diff=lfs merge=lfs -text 16 | *.pict filter=lfs diff=lfs merge=lfs -text 17 | *.dds filter=lfs diff=lfs merge=lfs -text 18 | # Audio formats 19 | *.mp3 filter=lfs diff=lfs merge=lfs -text 20 | *.ogg filter=lfs diff=lfs merge=lfs -text 21 | *.wav filter=lfs diff=lfs merge=lfs -text 22 | *.aiff filter=lfs diff=lfs merge=lfs -text 23 | *.aif filter=lfs diff=lfs merge=lfs -text 24 | *.mod filter=lfs diff=lfs merge=lfs -text 25 | *.it filter=lfs diff=lfs merge=lfs -text 26 | *.s3m filter=lfs diff=lfs merge=lfs -text 27 | *.xm filter=lfs diff=lfs merge=lfs -text 28 | # Video formats 29 | *.mov filter=lfs diff=lfs merge=lfs -text 30 | *.avi filter=lfs diff=lfs merge=lfs -text 31 | *.asf filter=lfs diff=lfs merge=lfs -text 32 | *.mpg filter=lfs diff=lfs merge=lfs -text 33 | *.mpeg filter=lfs diff=lfs merge=lfs -text 34 | *.mp4 filter=lfs diff=lfs merge=lfs -text 35 | # 3D formats 36 | *.fbx filter=lfs diff=lfs merge=lfs -text 37 | *.obj filter=lfs diff=lfs merge=lfs -text 38 | *.max filter=lfs diff=lfs merge=lfs -text 39 | *.blend filter=lfs diff=lfs merge=lfs -text 40 | *.dae filter=lfs diff=lfs merge=lfs -text 41 | *.mb filter=lfs diff=lfs merge=lfs -text 42 | *.ma filter=lfs diff=lfs merge=lfs -text 43 | *.3ds filter=lfs diff=lfs merge=lfs -text 44 | *.dfx filter=lfs diff=lfs merge=lfs -text 45 | *.c4d filter=lfs diff=lfs merge=lfs -text 46 | *.lwo filter=lfs diff=lfs merge=lfs -text 47 | *.lwo2 filter=lfs diff=lfs merge=lfs -text 48 | *.abc filter=lfs diff=lfs merge=lfs -text 49 | *.3dm filter=lfs diff=lfs merge=lfs -text 50 | # Build 51 | *.dll filter=lfs diff=lfs merge=lfs -text 52 | *.pdb filter=lfs diff=lfs merge=lfs -text 53 | *.mdb filter=lfs diff=lfs merge=lfs -text 54 | # Packaging 55 | *.zip filter=lfs diff=lfs merge=lfs -text 56 | *.7z filter=lfs diff=lfs merge=lfs -text 57 | *.gz filter=lfs diff=lfs merge=lfs -text 58 | *.rar filter=lfs diff=lfs merge=lfs -text 59 | *.tar filter=lfs diff=lfs merge=lfs -text 60 | *.exr filter=lfs diff=lfs merge=lfs -text 61 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /[Ll]ibrary/ 2 | /[Tt]emp/ 3 | /[Oo]bj/ 4 | /[Bb]uild/ 5 | /[Bb]uilds/ 6 | 7 | /Assets/AssetStoreTools* 8 | 9 | # Visual Studio 2015 cache directory 10 | /.vs/ 11 | 12 | # Autogenerated VS/MD/Consulo solution and project files 13 | ExportedObj/ 14 | .consulo/ 15 | *.csproj 16 | *.unityproj 17 | *.sln 18 | *.suo 19 | *.tmp 20 | *.user 21 | *.userprefs 22 | *.pidb 23 | *.booproj 24 | *.svd 25 | *.pdb 26 | 27 | 28 | # Unity3D generated meta files 29 | *.pidb.meta 30 | 31 | # Unity3D Generated File On Crash Reports 32 | sysinfo.txt 33 | 34 | # Builds 35 | *.apk 36 | *.unitypackage -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "files.exclude": 3 | { 4 | "**/.DS_Store":true, 5 | "**/.git":true, 6 | "**/.gitignore":true, 7 | "**/.gitmodules":true, 8 | "**/*.booproj":true, 9 | "**/*.pidb":true, 10 | "**/*.suo":true, 11 | "**/*.user":true, 12 | "**/*.userprefs":true, 13 | "**/*.unityproj":true, 14 | "**/*.dll":true, 15 | "**/*.exe":true, 16 | "**/*.pdf":true, 17 | "**/*.mid":true, 18 | "**/*.midi":true, 19 | "**/*.wav":true, 20 | "**/*.gif":true, 21 | "**/*.ico":true, 22 | "**/*.jpg":true, 23 | "**/*.jpeg":true, 24 | "**/*.png":true, 25 | "**/*.psd":true, 26 | "**/*.tga":true, 27 | "**/*.tif":true, 28 | "**/*.tiff":true, 29 | "**/*.3ds":true, 30 | "**/*.3DS":true, 31 | "**/*.fbx":true, 32 | "**/*.FBX":true, 33 | "**/*.lxo":true, 34 | "**/*.LXO":true, 35 | "**/*.ma":true, 36 | "**/*.MA":true, 37 | "**/*.obj":true, 38 | "**/*.OBJ":true, 39 | "**/*.asset":true, 40 | "**/*.cubemap":true, 41 | "**/*.flare":true, 42 | "**/*.mat":true, 43 | "**/*.meta":true, 44 | "**/*.prefab":true, 45 | "**/*.unity":true, 46 | "build/":true, 47 | "Build/":true, 48 | "Library/":true, 49 | "library/":true, 50 | "obj/":true, 51 | "Obj/":true, 52 | "ProjectSettings/":true, 53 | "temp/":true, 54 | "Temp/":true 55 | } 56 | } -------------------------------------------------------------------------------- /Assets/Demo.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a8f72f512b82e4747bc0668a0fb91445 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Demo/AR Placement Indicator.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:22d023b48bf92c1255e93744ff185768107fbb6e4bef661f9079c780d7128330 3 | size 8553 4 | -------------------------------------------------------------------------------- /Assets/Demo/AR Placement Indicator.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1042d5f4559f64489a485e76563ccece 3 | TextureImporter: 4 | fileIDToRecycleName: {} 5 | externalObjects: {} 6 | serializedVersion: 7 7 | mipmaps: 8 | mipMapMode: 0 9 | enableMipMap: 1 10 | sRGBTexture: 1 11 | linearTexture: 0 12 | fadeOut: 0 13 | borderMipMap: 0 14 | mipMapsPreserveCoverage: 0 15 | alphaTestReferenceValue: 0.5 16 | mipMapFadeDistanceStart: 1 17 | mipMapFadeDistanceEnd: 3 18 | bumpmap: 19 | convertToNormalMap: 0 20 | externalNormalMap: 0 21 | heightScale: 0.25 22 | normalMapFilter: 0 23 | isReadable: 0 24 | streamingMipmaps: 0 25 | streamingMipmapsPriority: 0 26 | grayScaleToAlpha: 0 27 | generateCubemap: 6 28 | cubemapConvolution: 0 29 | seamlessCubemap: 0 30 | textureFormat: 1 31 | maxTextureSize: 2048 32 | textureSettings: 33 | serializedVersion: 2 34 | filterMode: -1 35 | aniso: -1 36 | mipBias: -100 37 | wrapU: -1 38 | wrapV: -1 39 | wrapW: -1 40 | nPOTScale: 1 41 | lightmap: 0 42 | compressionQuality: 50 43 | spriteMode: 0 44 | spriteExtrude: 1 45 | spriteMeshType: 1 46 | alignment: 0 47 | spritePivot: {x: 0.5, y: 0.5} 48 | spritePixelsToUnits: 100 49 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 50 | spriteGenerateFallbackPhysicsShape: 1 51 | alphaUsage: 1 52 | alphaIsTransparency: 1 53 | spriteTessellationDetail: -1 54 | textureType: 0 55 | textureShape: 1 56 | singleChannelComponent: 0 57 | maxTextureSizeSet: 0 58 | compressionQualitySet: 0 59 | textureFormatSet: 0 60 | platformSettings: 61 | - serializedVersion: 2 62 | buildTarget: DefaultTexturePlatform 63 | maxTextureSize: 2048 64 | resizeAlgorithm: 0 65 | textureFormat: -1 66 | textureCompression: 1 67 | compressionQuality: 50 68 | crunchedCompression: 0 69 | allowsAlphaSplitting: 0 70 | overridden: 0 71 | androidETC2FallbackOverride: 0 72 | - serializedVersion: 2 73 | buildTarget: Standalone 74 | maxTextureSize: 2048 75 | resizeAlgorithm: 0 76 | textureFormat: -1 77 | textureCompression: 1 78 | compressionQuality: 50 79 | crunchedCompression: 0 80 | allowsAlphaSplitting: 0 81 | overridden: 0 82 | androidETC2FallbackOverride: 0 83 | - serializedVersion: 2 84 | buildTarget: iPhone 85 | maxTextureSize: 2048 86 | resizeAlgorithm: 0 87 | textureFormat: -1 88 | textureCompression: 1 89 | compressionQuality: 50 90 | crunchedCompression: 0 91 | allowsAlphaSplitting: 0 92 | overridden: 0 93 | androidETC2FallbackOverride: 0 94 | - serializedVersion: 2 95 | buildTarget: Android 96 | maxTextureSize: 2048 97 | resizeAlgorithm: 0 98 | textureFormat: -1 99 | textureCompression: 1 100 | compressionQuality: 50 101 | crunchedCompression: 0 102 | allowsAlphaSplitting: 0 103 | overridden: 0 104 | androidETC2FallbackOverride: 0 105 | spriteSheet: 106 | serializedVersion: 2 107 | sprites: [] 108 | outline: [] 109 | physicsShape: [] 110 | bones: [] 111 | spriteID: 112 | vertices: [] 113 | indices: 114 | edges: [] 115 | weights: [] 116 | spritePackingTag: 117 | pSDRemoveMatte: 0 118 | pSDShowRemoveMatteOption: 0 119 | userData: 120 | assetBundleName: 121 | assetBundleVariant: 122 | -------------------------------------------------------------------------------- /Assets/Demo/ARTapToPlaceObject.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | using UnityEngine.XR.ARFoundation; 5 | using UnityEngine.Experimental.XR; 6 | using System; 7 | 8 | public class ARTapToPlaceObject : MonoBehaviour 9 | { 10 | public GameObject objectToPlace; 11 | public GameObject placementIndicator; 12 | 13 | private ARSessionOrigin arOrigin; 14 | private Pose placementPose; 15 | private bool placementPoseIsValid = false; 16 | 17 | void Start() 18 | { 19 | arOrigin = FindObjectOfType(); 20 | } 21 | 22 | void Update() 23 | { 24 | UpdatePlacementPose(); 25 | UpdatePlacementIndicator(); 26 | 27 | if (placementPoseIsValid && Input.touchCount > 0 && Input.GetTouch(0).phase == TouchPhase.Began) 28 | { 29 | PlaceObject(); 30 | } 31 | } 32 | 33 | private void PlaceObject() 34 | { 35 | Instantiate(objectToPlace, placementPose.position, placementPose.rotation); 36 | } 37 | 38 | private void UpdatePlacementIndicator() 39 | { 40 | if (placementPoseIsValid) 41 | { 42 | placementIndicator.SetActive(true); 43 | placementIndicator.transform.SetPositionAndRotation(placementPose.position, placementPose.rotation); 44 | } 45 | else 46 | { 47 | placementIndicator.SetActive(false); 48 | } 49 | } 50 | 51 | private void UpdatePlacementPose() 52 | { 53 | var screenCenter = Camera.current.ViewportToScreenPoint(new Vector3(0.5f, 0.5f)); 54 | var hits = new List(); 55 | arOrigin.Raycast(screenCenter, hits, TrackableType.Planes); 56 | 57 | placementPoseIsValid = hits.Count > 0; 58 | if (placementPoseIsValid) 59 | { 60 | placementPose = hits[0].pose; 61 | 62 | var cameraForward = Camera.current.transform.forward; 63 | var cameraBearing = new Vector3(cameraForward.x, 0, cameraForward.z).normalized; 64 | placementPose.rotation = Quaternion.LookRotation(cameraBearing); 65 | } 66 | } 67 | } 68 | -------------------------------------------------------------------------------- /Assets/Demo/ARTapToPlaceObject.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5b2e7c22494424549bed4b3f481585dc 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Demo/Game Piece.prefab: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!1 &508961879638566353 4 | GameObject: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | serializedVersion: 6 10 | m_Component: 11 | - component: {fileID: 6563567102876091991} 12 | m_Layer: 0 13 | m_Name: Game Piece 14 | m_TagString: Untagged 15 | m_Icon: {fileID: 0} 16 | m_NavMeshLayer: 0 17 | m_StaticEditorFlags: 0 18 | m_IsActive: 1 19 | --- !u!4 &6563567102876091991 20 | Transform: 21 | m_ObjectHideFlags: 0 22 | m_CorrespondingSourceObject: {fileID: 0} 23 | m_PrefabInstance: {fileID: 0} 24 | m_PrefabAsset: {fileID: 0} 25 | m_GameObject: {fileID: 508961879638566353} 26 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 27 | m_LocalPosition: {x: 0, y: 0, z: 0} 28 | m_LocalScale: {x: 1, y: 1, z: 1} 29 | m_Children: 30 | - {fileID: 4697389430244674019} 31 | m_Father: {fileID: 0} 32 | m_RootOrder: 0 33 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 34 | --- !u!1 &4697389430244674031 35 | GameObject: 36 | m_ObjectHideFlags: 0 37 | m_CorrespondingSourceObject: {fileID: 0} 38 | m_PrefabInstance: {fileID: 0} 39 | m_PrefabAsset: {fileID: 0} 40 | serializedVersion: 6 41 | m_Component: 42 | - component: {fileID: 4697389430244674019} 43 | - component: {fileID: 4697389430244674028} 44 | - component: {fileID: 4697389430244674029} 45 | - component: {fileID: 4697389430244674030} 46 | m_Layer: 0 47 | m_Name: Cube 48 | m_TagString: Untagged 49 | m_Icon: {fileID: 0} 50 | m_NavMeshLayer: 0 51 | m_StaticEditorFlags: 0 52 | m_IsActive: 1 53 | --- !u!4 &4697389430244674019 54 | Transform: 55 | m_ObjectHideFlags: 0 56 | m_CorrespondingSourceObject: {fileID: 0} 57 | m_PrefabInstance: {fileID: 0} 58 | m_PrefabAsset: {fileID: 0} 59 | m_GameObject: {fileID: 4697389430244674031} 60 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} 61 | m_LocalPosition: {x: 0, y: 0.05, z: 0} 62 | m_LocalScale: {x: 0.1, y: 0.1, z: 0.1} 63 | m_Children: [] 64 | m_Father: {fileID: 6563567102876091991} 65 | m_RootOrder: 0 66 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 67 | --- !u!33 &4697389430244674028 68 | MeshFilter: 69 | m_ObjectHideFlags: 0 70 | m_CorrespondingSourceObject: {fileID: 0} 71 | m_PrefabInstance: {fileID: 0} 72 | m_PrefabAsset: {fileID: 0} 73 | m_GameObject: {fileID: 4697389430244674031} 74 | m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} 75 | --- !u!23 &4697389430244674029 76 | MeshRenderer: 77 | m_ObjectHideFlags: 0 78 | m_CorrespondingSourceObject: {fileID: 0} 79 | m_PrefabInstance: {fileID: 0} 80 | m_PrefabAsset: {fileID: 0} 81 | m_GameObject: {fileID: 4697389430244674031} 82 | m_Enabled: 1 83 | m_CastShadows: 1 84 | m_ReceiveShadows: 1 85 | m_DynamicOccludee: 1 86 | m_MotionVectors: 1 87 | m_LightProbeUsage: 1 88 | m_ReflectionProbeUsage: 1 89 | m_RenderingLayerMask: 1 90 | m_RendererPriority: 0 91 | m_Materials: 92 | - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} 93 | m_StaticBatchInfo: 94 | firstSubMesh: 0 95 | subMeshCount: 0 96 | m_StaticBatchRoot: {fileID: 0} 97 | m_ProbeAnchor: {fileID: 0} 98 | m_LightProbeVolumeOverride: {fileID: 0} 99 | m_ScaleInLightmap: 1 100 | m_PreserveUVs: 0 101 | m_IgnoreNormalsForChartDetection: 0 102 | m_ImportantGI: 0 103 | m_StitchLightmapSeams: 0 104 | m_SelectedEditorRenderState: 3 105 | m_MinimumChartSize: 4 106 | m_AutoUVMaxDistance: 0.5 107 | m_AutoUVMaxAngle: 89 108 | m_LightmapParameters: {fileID: 0} 109 | m_SortingLayerID: 0 110 | m_SortingLayer: 0 111 | m_SortingOrder: 0 112 | --- !u!65 &4697389430244674030 113 | BoxCollider: 114 | m_ObjectHideFlags: 0 115 | m_CorrespondingSourceObject: {fileID: 0} 116 | m_PrefabInstance: {fileID: 0} 117 | m_PrefabAsset: {fileID: 0} 118 | m_GameObject: {fileID: 4697389430244674031} 119 | m_Material: {fileID: 0} 120 | m_IsTrigger: 0 121 | m_Enabled: 1 122 | serializedVersion: 2 123 | m_Size: {x: 1, y: 1, z: 1} 124 | m_Center: {x: 0, y: 0, z: 0} 125 | -------------------------------------------------------------------------------- /Assets/Demo/Game Piece.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7b3f5b59713e44f628d00ecddca8876d 3 | PrefabImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/Demo/PlacementIndicator.mat: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!21 &2100000 4 | Material: 5 | serializedVersion: 6 6 | m_ObjectHideFlags: 0 7 | m_CorrespondingSourceObject: {fileID: 0} 8 | m_PrefabInstance: {fileID: 0} 9 | m_PrefabAsset: {fileID: 0} 10 | m_Name: PlacementIndicator 11 | m_Shader: {fileID: 10750, guid: 0000000000000000f000000000000000, type: 0} 12 | m_ShaderKeywords: 13 | m_LightmapFlags: 4 14 | m_EnableInstancingVariants: 0 15 | m_DoubleSidedGI: 0 16 | m_CustomRenderQueue: -1 17 | stringTagMap: {} 18 | disabledShaderPasses: [] 19 | m_SavedProperties: 20 | serializedVersion: 3 21 | m_TexEnvs: 22 | - _BumpMap: 23 | m_Texture: {fileID: 0} 24 | m_Scale: {x: 1, y: 1} 25 | m_Offset: {x: 0, y: 0} 26 | - _DetailAlbedoMap: 27 | m_Texture: {fileID: 0} 28 | m_Scale: {x: 1, y: 1} 29 | m_Offset: {x: 0, y: 0} 30 | - _DetailMask: 31 | m_Texture: {fileID: 0} 32 | m_Scale: {x: 1, y: 1} 33 | m_Offset: {x: 0, y: 0} 34 | - _DetailNormalMap: 35 | m_Texture: {fileID: 0} 36 | m_Scale: {x: 1, y: 1} 37 | m_Offset: {x: 0, y: 0} 38 | - _EmissionMap: 39 | m_Texture: {fileID: 0} 40 | m_Scale: {x: 1, y: 1} 41 | m_Offset: {x: 0, y: 0} 42 | - _MainTex: 43 | m_Texture: {fileID: 2800000, guid: 1042d5f4559f64489a485e76563ccece, type: 3} 44 | m_Scale: {x: 1, y: 1} 45 | m_Offset: {x: 0, y: 0} 46 | - _MetallicGlossMap: 47 | m_Texture: {fileID: 0} 48 | m_Scale: {x: 1, y: 1} 49 | m_Offset: {x: 0, y: 0} 50 | - _OcclusionMap: 51 | m_Texture: {fileID: 0} 52 | m_Scale: {x: 1, y: 1} 53 | m_Offset: {x: 0, y: 0} 54 | - _ParallaxMap: 55 | m_Texture: {fileID: 0} 56 | m_Scale: {x: 1, y: 1} 57 | m_Offset: {x: 0, y: 0} 58 | m_Floats: 59 | - _BumpScale: 1 60 | - _Cutoff: 0.5 61 | - _DetailNormalMapScale: 1 62 | - _DstBlend: 0 63 | - _GlossMapScale: 1 64 | - _Glossiness: 0.5 65 | - _GlossyReflections: 1 66 | - _Metallic: 0 67 | - _Mode: 0 68 | - _OcclusionStrength: 1 69 | - _Parallax: 0.02 70 | - _SmoothnessTextureChannel: 0 71 | - _SpecularHighlights: 1 72 | - _SrcBlend: 1 73 | - _UVSec: 0 74 | - _ZWrite: 1 75 | m_Colors: 76 | - _Color: {r: 1, g: 1, b: 1, a: 1} 77 | - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} 78 | -------------------------------------------------------------------------------- /Assets/Demo/PlacementIndicator.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a4fe9d0734e8e448c8f11672a6e1d1ac 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 2100000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Scenes.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 70e2b7855883e4c15bf83bfe37972306 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Scenes/SampleScene.unity: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!29 &1 4 | OcclusionCullingSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 2 7 | m_OcclusionBakeSettings: 8 | smallestOccluder: 5 9 | smallestHole: 0.25 10 | backfaceThreshold: 100 11 | m_SceneGUID: 00000000000000000000000000000000 12 | m_OcclusionCullingData: {fileID: 0} 13 | --- !u!104 &2 14 | RenderSettings: 15 | m_ObjectHideFlags: 0 16 | serializedVersion: 9 17 | m_Fog: 0 18 | m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} 19 | m_FogMode: 3 20 | m_FogDensity: 0.01 21 | m_LinearFogStart: 0 22 | m_LinearFogEnd: 300 23 | m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} 24 | m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} 25 | m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} 26 | m_AmbientIntensity: 1 27 | m_AmbientMode: 0 28 | m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} 29 | m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} 30 | m_HaloStrength: 0.5 31 | m_FlareStrength: 1 32 | m_FlareFadeSpeed: 3 33 | m_HaloTexture: {fileID: 0} 34 | m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} 35 | m_DefaultReflectionMode: 0 36 | m_DefaultReflectionResolution: 128 37 | m_ReflectionBounces: 1 38 | m_ReflectionIntensity: 1 39 | m_CustomReflection: {fileID: 0} 40 | m_Sun: {fileID: 170076734} 41 | m_IndirectSpecularColor: {r: 0.44657892, g: 0.4964127, b: 0.5748172, a: 1} 42 | m_UseRadianceAmbientProbe: 0 43 | --- !u!157 &3 44 | LightmapSettings: 45 | m_ObjectHideFlags: 0 46 | serializedVersion: 11 47 | m_GIWorkflowMode: 0 48 | m_GISettings: 49 | serializedVersion: 2 50 | m_BounceScale: 1 51 | m_IndirectOutputScale: 1 52 | m_AlbedoBoost: 1 53 | m_EnvironmentLightingMode: 0 54 | m_EnableBakedLightmaps: 1 55 | m_EnableRealtimeLightmaps: 0 56 | m_LightmapEditorSettings: 57 | serializedVersion: 10 58 | m_Resolution: 2 59 | m_BakeResolution: 10 60 | m_AtlasSize: 512 61 | m_AO: 0 62 | m_AOMaxDistance: 1 63 | m_CompAOExponent: 1 64 | m_CompAOExponentDirect: 0 65 | m_Padding: 2 66 | m_LightmapParameters: {fileID: 0} 67 | m_LightmapsBakeMode: 1 68 | m_TextureCompression: 1 69 | m_FinalGather: 0 70 | m_FinalGatherFiltering: 1 71 | m_FinalGatherRayCount: 256 72 | m_ReflectionCompression: 2 73 | m_MixedBakeMode: 2 74 | m_BakeBackend: 1 75 | m_PVRSampling: 1 76 | m_PVRDirectSampleCount: 32 77 | m_PVRSampleCount: 256 78 | m_PVRBounces: 2 79 | m_PVRFilterTypeDirect: 0 80 | m_PVRFilterTypeIndirect: 0 81 | m_PVRFilterTypeAO: 0 82 | m_PVRFilteringMode: 1 83 | m_PVRCulling: 1 84 | m_PVRFilteringGaussRadiusDirect: 1 85 | m_PVRFilteringGaussRadiusIndirect: 5 86 | m_PVRFilteringGaussRadiusAO: 2 87 | m_PVRFilteringAtrousPositionSigmaDirect: 0.5 88 | m_PVRFilteringAtrousPositionSigmaIndirect: 2 89 | m_PVRFilteringAtrousPositionSigmaAO: 1 90 | m_ShowResolutionOverlay: 1 91 | m_LightingDataAsset: {fileID: 0} 92 | m_UseShadowmask: 1 93 | --- !u!196 &4 94 | NavMeshSettings: 95 | serializedVersion: 2 96 | m_ObjectHideFlags: 0 97 | m_BuildSettings: 98 | serializedVersion: 2 99 | agentTypeID: 0 100 | agentRadius: 0.5 101 | agentHeight: 2 102 | agentSlope: 45 103 | agentClimb: 0.4 104 | ledgeDropHeight: 0 105 | maxJumpAcrossDistance: 0 106 | minRegionArea: 2 107 | manualCellSize: 0 108 | cellSize: 0.16666667 109 | manualTileSize: 0 110 | tileSize: 256 111 | accuratePlacement: 0 112 | debug: 113 | m_Flags: 0 114 | m_NavMeshData: {fileID: 0} 115 | --- !u!1 &170076733 116 | GameObject: 117 | m_ObjectHideFlags: 0 118 | m_CorrespondingSourceObject: {fileID: 0} 119 | m_PrefabInstance: {fileID: 0} 120 | m_PrefabAsset: {fileID: 0} 121 | serializedVersion: 6 122 | m_Component: 123 | - component: {fileID: 170076735} 124 | - component: {fileID: 170076734} 125 | m_Layer: 0 126 | m_Name: Directional Light 127 | m_TagString: Untagged 128 | m_Icon: {fileID: 0} 129 | m_NavMeshLayer: 0 130 | m_StaticEditorFlags: 0 131 | m_IsActive: 1 132 | --- !u!108 &170076734 133 | Light: 134 | m_ObjectHideFlags: 0 135 | m_CorrespondingSourceObject: {fileID: 0} 136 | m_PrefabInstance: {fileID: 0} 137 | m_PrefabAsset: {fileID: 0} 138 | m_GameObject: {fileID: 170076733} 139 | m_Enabled: 1 140 | serializedVersion: 8 141 | m_Type: 1 142 | m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} 143 | m_Intensity: 1 144 | m_Range: 10 145 | m_SpotAngle: 30 146 | m_CookieSize: 10 147 | m_Shadows: 148 | m_Type: 2 149 | m_Resolution: -1 150 | m_CustomResolution: -1 151 | m_Strength: 1 152 | m_Bias: 0.05 153 | m_NormalBias: 0.4 154 | m_NearPlane: 0.2 155 | m_Cookie: {fileID: 0} 156 | m_DrawHalo: 0 157 | m_Flare: {fileID: 0} 158 | m_RenderMode: 0 159 | m_CullingMask: 160 | serializedVersion: 2 161 | m_Bits: 4294967295 162 | m_Lightmapping: 1 163 | m_LightShadowCasterMode: 0 164 | m_AreaSize: {x: 1, y: 1} 165 | m_BounceIntensity: 1 166 | m_ColorTemperature: 6570 167 | m_UseColorTemperature: 0 168 | m_ShadowRadius: 0 169 | m_ShadowAngle: 0 170 | --- !u!4 &170076735 171 | Transform: 172 | m_ObjectHideFlags: 0 173 | m_CorrespondingSourceObject: {fileID: 0} 174 | m_PrefabInstance: {fileID: 0} 175 | m_PrefabAsset: {fileID: 0} 176 | m_GameObject: {fileID: 170076733} 177 | m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261} 178 | m_LocalPosition: {x: 0, y: 3, z: 0} 179 | m_LocalScale: {x: 1, y: 1, z: 1} 180 | m_Children: [] 181 | m_Father: {fileID: 0} 182 | m_RootOrder: 0 183 | m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} 184 | --- !u!1 &1110068230 185 | GameObject: 186 | m_ObjectHideFlags: 0 187 | m_CorrespondingSourceObject: {fileID: 0} 188 | m_PrefabInstance: {fileID: 0} 189 | m_PrefabAsset: {fileID: 0} 190 | serializedVersion: 6 191 | m_Component: 192 | - component: {fileID: 1110068231} 193 | m_Layer: 0 194 | m_Name: Placement Indicator 195 | m_TagString: Untagged 196 | m_Icon: {fileID: 0} 197 | m_NavMeshLayer: 0 198 | m_StaticEditorFlags: 0 199 | m_IsActive: 1 200 | --- !u!4 &1110068231 201 | Transform: 202 | m_ObjectHideFlags: 0 203 | m_CorrespondingSourceObject: {fileID: 0} 204 | m_PrefabInstance: {fileID: 0} 205 | m_PrefabAsset: {fileID: 0} 206 | m_GameObject: {fileID: 1110068230} 207 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 208 | m_LocalPosition: {x: 0, y: 0, z: 0} 209 | m_LocalScale: {x: 1, y: 1, z: 1} 210 | m_Children: 211 | - {fileID: 2006443245} 212 | m_Father: {fileID: 0} 213 | m_RootOrder: 3 214 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 215 | --- !u!1 &1168854074 216 | GameObject: 217 | m_ObjectHideFlags: 0 218 | m_CorrespondingSourceObject: {fileID: 0} 219 | m_PrefabInstance: {fileID: 0} 220 | m_PrefabAsset: {fileID: 0} 221 | serializedVersion: 6 222 | m_Component: 223 | - component: {fileID: 1168854076} 224 | - component: {fileID: 1168854075} 225 | m_Layer: 0 226 | m_Name: AR Session Origin 227 | m_TagString: Untagged 228 | m_Icon: {fileID: 0} 229 | m_NavMeshLayer: 0 230 | m_StaticEditorFlags: 0 231 | m_IsActive: 1 232 | --- !u!114 &1168854075 233 | MonoBehaviour: 234 | m_ObjectHideFlags: 0 235 | m_CorrespondingSourceObject: {fileID: 0} 236 | m_PrefabInstance: {fileID: 0} 237 | m_PrefabAsset: {fileID: 0} 238 | m_GameObject: {fileID: 1168854074} 239 | m_Enabled: 1 240 | m_EditorHideFlags: 0 241 | m_Script: {fileID: 11500000, guid: 520bb47c46cf8624fafb307b7d1b862a, type: 3} 242 | m_Name: 243 | m_EditorClassIdentifier: 244 | m_Camera: {fileID: 1706975209} 245 | --- !u!4 &1168854076 246 | Transform: 247 | m_ObjectHideFlags: 0 248 | m_CorrespondingSourceObject: {fileID: 0} 249 | m_PrefabInstance: {fileID: 0} 250 | m_PrefabAsset: {fileID: 0} 251 | m_GameObject: {fileID: 1168854074} 252 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 253 | m_LocalPosition: {x: 0, y: 0, z: 0} 254 | m_LocalScale: {x: 10, y: 10, z: 10} 255 | m_Children: 256 | - {fileID: 1706975212} 257 | m_Father: {fileID: 0} 258 | m_RootOrder: 2 259 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 260 | --- !u!1 &1446588004 261 | GameObject: 262 | m_ObjectHideFlags: 0 263 | m_CorrespondingSourceObject: {fileID: 0} 264 | m_PrefabInstance: {fileID: 0} 265 | m_PrefabAsset: {fileID: 0} 266 | serializedVersion: 6 267 | m_Component: 268 | - component: {fileID: 1446588006} 269 | - component: {fileID: 1446588005} 270 | m_Layer: 0 271 | m_Name: Interaction 272 | m_TagString: Untagged 273 | m_Icon: {fileID: 0} 274 | m_NavMeshLayer: 0 275 | m_StaticEditorFlags: 0 276 | m_IsActive: 1 277 | --- !u!114 &1446588005 278 | MonoBehaviour: 279 | m_ObjectHideFlags: 0 280 | m_CorrespondingSourceObject: {fileID: 0} 281 | m_PrefabInstance: {fileID: 0} 282 | m_PrefabAsset: {fileID: 0} 283 | m_GameObject: {fileID: 1446588004} 284 | m_Enabled: 1 285 | m_EditorHideFlags: 0 286 | m_Script: {fileID: 11500000, guid: 5b2e7c22494424549bed4b3f481585dc, type: 3} 287 | m_Name: 288 | m_EditorClassIdentifier: 289 | objectToPlace: {fileID: 16, guid: d8b214887544543f18abb247b5b3c548, type: 3} 290 | placementIndicator: {fileID: 1110068230} 291 | --- !u!4 &1446588006 292 | Transform: 293 | m_ObjectHideFlags: 0 294 | m_CorrespondingSourceObject: {fileID: 0} 295 | m_PrefabInstance: {fileID: 0} 296 | m_PrefabAsset: {fileID: 0} 297 | m_GameObject: {fileID: 1446588004} 298 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 299 | m_LocalPosition: {x: 0, y: 0, z: 0} 300 | m_LocalScale: {x: 1, y: 1, z: 1} 301 | m_Children: [] 302 | m_Father: {fileID: 0} 303 | m_RootOrder: 4 304 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 305 | --- !u!1 &1706975208 306 | GameObject: 307 | m_ObjectHideFlags: 0 308 | m_CorrespondingSourceObject: {fileID: 0} 309 | m_PrefabInstance: {fileID: 0} 310 | m_PrefabAsset: {fileID: 0} 311 | serializedVersion: 6 312 | m_Component: 313 | - component: {fileID: 1706975212} 314 | - component: {fileID: 1706975209} 315 | - component: {fileID: 1706975211} 316 | - component: {fileID: 1706975210} 317 | m_Layer: 0 318 | m_Name: AR Camera 319 | m_TagString: MainCamera 320 | m_Icon: {fileID: 0} 321 | m_NavMeshLayer: 0 322 | m_StaticEditorFlags: 0 323 | m_IsActive: 1 324 | --- !u!20 &1706975209 325 | Camera: 326 | m_ObjectHideFlags: 0 327 | m_CorrespondingSourceObject: {fileID: 0} 328 | m_PrefabInstance: {fileID: 0} 329 | m_PrefabAsset: {fileID: 0} 330 | m_GameObject: {fileID: 1706975208} 331 | m_Enabled: 1 332 | serializedVersion: 2 333 | m_ClearFlags: 2 334 | m_BackGroundColor: {r: 0, g: 0, b: 0, a: 1} 335 | m_projectionMatrixMode: 1 336 | m_SensorSize: {x: 36, y: 24} 337 | m_LensShift: {x: 0, y: 0} 338 | m_GateFitMode: 2 339 | m_FocalLength: 50 340 | m_NormalizedViewPortRect: 341 | serializedVersion: 2 342 | x: 0 343 | y: 0 344 | width: 1 345 | height: 1 346 | near clip plane: 0.1 347 | far clip plane: 20 348 | field of view: 60 349 | orthographic: 0 350 | orthographic size: 5 351 | m_Depth: 0 352 | m_CullingMask: 353 | serializedVersion: 2 354 | m_Bits: 4294967295 355 | m_RenderingPath: -1 356 | m_TargetTexture: {fileID: 0} 357 | m_TargetDisplay: 0 358 | m_TargetEye: 3 359 | m_HDR: 1 360 | m_AllowMSAA: 1 361 | m_AllowDynamicResolution: 0 362 | m_ForceIntoRT: 0 363 | m_OcclusionCulling: 1 364 | m_StereoConvergence: 10 365 | m_StereoSeparation: 0.022 366 | --- !u!114 &1706975210 367 | MonoBehaviour: 368 | m_ObjectHideFlags: 0 369 | m_CorrespondingSourceObject: {fileID: 0} 370 | m_PrefabInstance: {fileID: 0} 371 | m_PrefabAsset: {fileID: 0} 372 | m_GameObject: {fileID: 1706975208} 373 | m_Enabled: 1 374 | m_EditorHideFlags: 0 375 | m_Script: {fileID: 11500000, guid: 816b289ef451e094f9ae174fb4cf8db0, type: 3} 376 | m_Name: 377 | m_EditorClassIdentifier: 378 | m_UseCustomMaterial: 0 379 | m_CustomMaterial: {fileID: 0} 380 | m_UseCustomRendererAsset: 0 381 | m_CustomRendererAsset: {fileID: 0} 382 | --- !u!114 &1706975211 383 | MonoBehaviour: 384 | m_ObjectHideFlags: 0 385 | m_CorrespondingSourceObject: {fileID: 0} 386 | m_PrefabInstance: {fileID: 0} 387 | m_PrefabAsset: {fileID: 0} 388 | m_GameObject: {fileID: 1706975208} 389 | m_Enabled: 1 390 | m_EditorHideFlags: 0 391 | m_Script: {fileID: 1742909100, guid: ed7343f30e3843b3afda8f8b02669cea, type: 3} 392 | m_Name: 393 | m_EditorClassIdentifier: 394 | m_Device: 0 395 | m_PoseSource: 6 396 | m_PoseProviderComponent: {fileID: 0} 397 | m_TrackingType: 0 398 | m_UpdateType: 0 399 | m_UseRelativeTransform: 1 400 | --- !u!4 &1706975212 401 | Transform: 402 | m_ObjectHideFlags: 0 403 | m_CorrespondingSourceObject: {fileID: 0} 404 | m_PrefabInstance: {fileID: 0} 405 | m_PrefabAsset: {fileID: 0} 406 | m_GameObject: {fileID: 1706975208} 407 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} 408 | m_LocalPosition: {x: 0, y: 0, z: 0} 409 | m_LocalScale: {x: 1, y: 1, z: 1} 410 | m_Children: [] 411 | m_Father: {fileID: 1168854076} 412 | m_RootOrder: 0 413 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 414 | --- !u!1 &1997748127 415 | GameObject: 416 | m_ObjectHideFlags: 0 417 | m_CorrespondingSourceObject: {fileID: 0} 418 | m_PrefabInstance: {fileID: 0} 419 | m_PrefabAsset: {fileID: 0} 420 | serializedVersion: 6 421 | m_Component: 422 | - component: {fileID: 1997748129} 423 | - component: {fileID: 1997748128} 424 | m_Layer: 0 425 | m_Name: AR Session 426 | m_TagString: Untagged 427 | m_Icon: {fileID: 0} 428 | m_NavMeshLayer: 0 429 | m_StaticEditorFlags: 0 430 | m_IsActive: 1 431 | --- !u!114 &1997748128 432 | MonoBehaviour: 433 | m_ObjectHideFlags: 0 434 | m_CorrespondingSourceObject: {fileID: 0} 435 | m_PrefabInstance: {fileID: 0} 436 | m_PrefabAsset: {fileID: 0} 437 | m_GameObject: {fileID: 1997748127} 438 | m_Enabled: 1 439 | m_EditorHideFlags: 0 440 | m_Script: {fileID: 11500000, guid: 3859a92a05d4f5d418cb6ca605290e74, type: 3} 441 | m_Name: 442 | m_EditorClassIdentifier: 443 | m_AttemptUpdate: 1 444 | --- !u!4 &1997748129 445 | Transform: 446 | m_ObjectHideFlags: 0 447 | m_CorrespondingSourceObject: {fileID: 0} 448 | m_PrefabInstance: {fileID: 0} 449 | m_PrefabAsset: {fileID: 0} 450 | m_GameObject: {fileID: 1997748127} 451 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 452 | m_LocalPosition: {x: 0, y: 0, z: 0} 453 | m_LocalScale: {x: 1, y: 1, z: 1} 454 | m_Children: [] 455 | m_Father: {fileID: 0} 456 | m_RootOrder: 1 457 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 458 | --- !u!1 &2006443244 459 | GameObject: 460 | m_ObjectHideFlags: 0 461 | m_CorrespondingSourceObject: {fileID: 0} 462 | m_PrefabInstance: {fileID: 0} 463 | m_PrefabAsset: {fileID: 0} 464 | serializedVersion: 6 465 | m_Component: 466 | - component: {fileID: 2006443245} 467 | - component: {fileID: 2006443248} 468 | - component: {fileID: 2006443247} 469 | - component: {fileID: 2006443246} 470 | m_Layer: 0 471 | m_Name: Quad 472 | m_TagString: Untagged 473 | m_Icon: {fileID: 0} 474 | m_NavMeshLayer: 0 475 | m_StaticEditorFlags: 0 476 | m_IsActive: 1 477 | --- !u!4 &2006443245 478 | Transform: 479 | m_ObjectHideFlags: 0 480 | m_CorrespondingSourceObject: {fileID: 0} 481 | m_PrefabInstance: {fileID: 0} 482 | m_PrefabAsset: {fileID: 0} 483 | m_GameObject: {fileID: 2006443244} 484 | m_LocalRotation: {x: 0.7071068, y: 0, z: 0, w: 0.7071068} 485 | m_LocalPosition: {x: 0, y: 0, z: 0} 486 | m_LocalScale: {x: 1, y: 1, z: 1} 487 | m_Children: [] 488 | m_Father: {fileID: 1110068231} 489 | m_RootOrder: 0 490 | m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0} 491 | --- !u!64 &2006443246 492 | MeshCollider: 493 | m_ObjectHideFlags: 0 494 | m_CorrespondingSourceObject: {fileID: 0} 495 | m_PrefabInstance: {fileID: 0} 496 | m_PrefabAsset: {fileID: 0} 497 | m_GameObject: {fileID: 2006443244} 498 | m_Material: {fileID: 0} 499 | m_IsTrigger: 0 500 | m_Enabled: 1 501 | serializedVersion: 3 502 | m_Convex: 0 503 | m_CookingOptions: 14 504 | m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} 505 | --- !u!23 &2006443247 506 | MeshRenderer: 507 | m_ObjectHideFlags: 0 508 | m_CorrespondingSourceObject: {fileID: 0} 509 | m_PrefabInstance: {fileID: 0} 510 | m_PrefabAsset: {fileID: 0} 511 | m_GameObject: {fileID: 2006443244} 512 | m_Enabled: 1 513 | m_CastShadows: 1 514 | m_ReceiveShadows: 1 515 | m_DynamicOccludee: 1 516 | m_MotionVectors: 1 517 | m_LightProbeUsage: 1 518 | m_ReflectionProbeUsage: 1 519 | m_RenderingLayerMask: 1 520 | m_RendererPriority: 0 521 | m_Materials: 522 | - {fileID: 2100000, guid: a4fe9d0734e8e448c8f11672a6e1d1ac, type: 2} 523 | m_StaticBatchInfo: 524 | firstSubMesh: 0 525 | subMeshCount: 0 526 | m_StaticBatchRoot: {fileID: 0} 527 | m_ProbeAnchor: {fileID: 0} 528 | m_LightProbeVolumeOverride: {fileID: 0} 529 | m_ScaleInLightmap: 1 530 | m_PreserveUVs: 0 531 | m_IgnoreNormalsForChartDetection: 0 532 | m_ImportantGI: 0 533 | m_StitchLightmapSeams: 0 534 | m_SelectedEditorRenderState: 3 535 | m_MinimumChartSize: 4 536 | m_AutoUVMaxDistance: 0.5 537 | m_AutoUVMaxAngle: 89 538 | m_LightmapParameters: {fileID: 0} 539 | m_SortingLayerID: 0 540 | m_SortingLayer: 0 541 | m_SortingOrder: 0 542 | --- !u!33 &2006443248 543 | MeshFilter: 544 | m_ObjectHideFlags: 0 545 | m_CorrespondingSourceObject: {fileID: 0} 546 | m_PrefabInstance: {fileID: 0} 547 | m_PrefabAsset: {fileID: 0} 548 | m_GameObject: {fileID: 2006443244} 549 | m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} 550 | -------------------------------------------------------------------------------- /Assets/Scenes/SampleScene.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2a3b3fb0ee6a8447f80b966acf3b27d1 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/Toy Plane.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 811899a24b2c44fa79648dab6e327a63 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Toy Plane/Materials.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 84bf946fa8e3c4fb9b2c364f5a114f8d 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Toy Plane/Materials/PlaneShadow.mat: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!21 &2100000 4 | Material: 5 | serializedVersion: 6 6 | m_ObjectHideFlags: 0 7 | m_CorrespondingSourceObject: {fileID: 0} 8 | m_PrefabInstance: {fileID: 0} 9 | m_PrefabAsset: {fileID: 0} 10 | m_Name: PlaneShadow 11 | m_Shader: {fileID: 10750, guid: 0000000000000000f000000000000000, type: 0} 12 | m_ShaderKeywords: 13 | m_LightmapFlags: 4 14 | m_EnableInstancingVariants: 0 15 | m_DoubleSidedGI: 0 16 | m_CustomRenderQueue: -1 17 | stringTagMap: {} 18 | disabledShaderPasses: [] 19 | m_SavedProperties: 20 | serializedVersion: 3 21 | m_TexEnvs: 22 | - _BumpMap: 23 | m_Texture: {fileID: 0} 24 | m_Scale: {x: 1, y: 1} 25 | m_Offset: {x: 0, y: 0} 26 | - _DetailAlbedoMap: 27 | m_Texture: {fileID: 0} 28 | m_Scale: {x: 1, y: 1} 29 | m_Offset: {x: 0, y: 0} 30 | - _DetailMask: 31 | m_Texture: {fileID: 0} 32 | m_Scale: {x: 1, y: 1} 33 | m_Offset: {x: 0, y: 0} 34 | - _DetailNormalMap: 35 | m_Texture: {fileID: 0} 36 | m_Scale: {x: 1, y: 1} 37 | m_Offset: {x: 0, y: 0} 38 | - _EmissionMap: 39 | m_Texture: {fileID: 0} 40 | m_Scale: {x: 1, y: 1} 41 | m_Offset: {x: 0, y: 0} 42 | - _MainTex: 43 | m_Texture: {fileID: 2800000, guid: 528facde0f6b64d30be9f08ba0218c26, type: 3} 44 | m_Scale: {x: 1, y: 1} 45 | m_Offset: {x: 0, y: 0} 46 | - _MetallicGlossMap: 47 | m_Texture: {fileID: 0} 48 | m_Scale: {x: 1, y: 1} 49 | m_Offset: {x: 0, y: 0} 50 | - _OcclusionMap: 51 | m_Texture: {fileID: 0} 52 | m_Scale: {x: 1, y: 1} 53 | m_Offset: {x: 0, y: 0} 54 | - _ParallaxMap: 55 | m_Texture: {fileID: 0} 56 | m_Scale: {x: 1, y: 1} 57 | m_Offset: {x: 0, y: 0} 58 | m_Floats: 59 | - _BumpScale: 1 60 | - _Cutoff: 0.5 61 | - _DetailNormalMapScale: 1 62 | - _DstBlend: 0 63 | - _GlossMapScale: 1 64 | - _Glossiness: 0.5 65 | - _GlossyReflections: 1 66 | - _Metallic: 0 67 | - _Mode: 0 68 | - _OcclusionStrength: 1 69 | - _Parallax: 0.02 70 | - _SmoothnessTextureChannel: 0 71 | - _SpecularHighlights: 1 72 | - _SrcBlend: 1 73 | - _UVSec: 0 74 | - _ZWrite: 1 75 | m_Colors: 76 | - _Color: {r: 1, g: 1, b: 1, a: 1} 77 | - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} 78 | -------------------------------------------------------------------------------- /Assets/Toy Plane/Materials/PlaneShadow.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 329ed95226d184c91a2047eab62d6eed 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 2100000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Toy Plane/Materials/wire_224198087_0.mat: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!21 &2100000 4 | Material: 5 | serializedVersion: 6 6 | m_ObjectHideFlags: 32 7 | m_CorrespondingSourceObject: {fileID: 0} 8 | m_PrefabInstance: {fileID: 0} 9 | m_PrefabAsset: {fileID: 0} 10 | m_Name: wire_224198087_0 11 | m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} 12 | m_ShaderKeywords: _METALLICGLOSSMAP 13 | m_LightmapFlags: 4 14 | m_EnableInstancingVariants: 0 15 | m_DoubleSidedGI: 0 16 | m_CustomRenderQueue: -1 17 | stringTagMap: {} 18 | disabledShaderPasses: [] 19 | m_SavedProperties: 20 | serializedVersion: 3 21 | m_TexEnvs: 22 | - _BumpMap: 23 | m_Texture: {fileID: 0} 24 | m_Scale: {x: 1, y: 1} 25 | m_Offset: {x: 0, y: 0} 26 | - _DetailAlbedoMap: 27 | m_Texture: {fileID: 0} 28 | m_Scale: {x: 1, y: 1} 29 | m_Offset: {x: 0, y: 0} 30 | - _DetailMask: 31 | m_Texture: {fileID: 0} 32 | m_Scale: {x: 1, y: 1} 33 | m_Offset: {x: 0, y: 0} 34 | - _DetailNormalMap: 35 | m_Texture: {fileID: 0} 36 | m_Scale: {x: 1, y: 1} 37 | m_Offset: {x: 0, y: 0} 38 | - _EmissionMap: 39 | m_Texture: {fileID: 0} 40 | m_Scale: {x: 1, y: 1} 41 | m_Offset: {x: 0, y: 0} 42 | - _MainTex: 43 | m_Texture: {fileID: 2800000, guid: bd36d22730be74dbeb08f0b454107baa, type: 3} 44 | m_Scale: {x: 1, y: 1} 45 | m_Offset: {x: 0, y: 0} 46 | - _MetallicGlossMap: 47 | m_Texture: {fileID: 2800000, guid: cf3b2a8810aa34103920fe3065cd45f5, type: 3} 48 | m_Scale: {x: 1, y: 1} 49 | m_Offset: {x: 0, y: 0} 50 | - _OcclusionMap: 51 | m_Texture: {fileID: 0} 52 | m_Scale: {x: 1, y: 1} 53 | m_Offset: {x: 0, y: 0} 54 | - _ParallaxMap: 55 | m_Texture: {fileID: 0} 56 | m_Scale: {x: 1, y: 1} 57 | m_Offset: {x: 0, y: 0} 58 | m_Floats: 59 | - _BumpScale: 1 60 | - _Cutoff: 0.5 61 | - _DetailNormalMapScale: 1 62 | - _DstBlend: 0 63 | - _GlossMapScale: 1 64 | - _Glossiness: 0.751 65 | - _GlossyReflections: 1 66 | - _Metallic: 0 67 | - _Mode: 0 68 | - _OcclusionStrength: 1 69 | - _Parallax: 0.02 70 | - _SmoothnessTextureChannel: 0 71 | - _SpecularHighlights: 1 72 | - _SrcBlend: 1 73 | - _UVSec: 0 74 | - _ZWrite: 1 75 | m_Colors: 76 | - _Color: {r: 1, g: 1, b: 1, a: 1} 77 | - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} 78 | -------------------------------------------------------------------------------- /Assets/Toy Plane/Materials/wire_224198087_0.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ad22c843eca6c463e9728e8597076d4b 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 2100000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Toy Plane/Meshes.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d83e77ae1dee44533a3c38a34cba33a5 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Toy Plane/Meshes/_0_0.asset: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:ff9b1dfabe6bc05a243387dfe842b20d1c4e135ebf036de41c235629d069389d 3 | size 26713 4 | -------------------------------------------------------------------------------- /Assets/Toy Plane/Meshes/_0_0.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f2c76c7442cb246cd98ade82aa010623 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 4300000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Toy Plane/Meshes/_1_0.asset: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:29b28f99e4952bd306e223950c84e89eda2154994a83153d1308e1911909dd51 3 | size 3865442 4 | -------------------------------------------------------------------------------- /Assets/Toy Plane/Meshes/_1_0.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 86b889989fd5f40e580d09a1a8786a57 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 4300000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Toy Plane/Textures.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5def49f8010744f2c8965b5dc4e0a937 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Toy Plane/Textures/toy plane - Metal-Smooth.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:c67b99aab755519c17e09b067ff4993643dffcbf93b591255514dfb63a8f7d82 3 | size 1725357 4 | -------------------------------------------------------------------------------- /Assets/Toy Plane/Textures/toy plane - Metal-Smooth.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: cf3b2a8810aa34103920fe3065cd45f5 3 | TextureImporter: 4 | fileIDToRecycleName: {} 5 | externalObjects: {} 6 | serializedVersion: 7 7 | mipmaps: 8 | mipMapMode: 0 9 | enableMipMap: 1 10 | sRGBTexture: 1 11 | linearTexture: 0 12 | fadeOut: 0 13 | borderMipMap: 0 14 | mipMapsPreserveCoverage: 0 15 | alphaTestReferenceValue: 0.5 16 | mipMapFadeDistanceStart: 1 17 | mipMapFadeDistanceEnd: 3 18 | bumpmap: 19 | convertToNormalMap: 0 20 | externalNormalMap: 0 21 | heightScale: 0.25 22 | normalMapFilter: 0 23 | isReadable: 0 24 | streamingMipmaps: 0 25 | streamingMipmapsPriority: 0 26 | grayScaleToAlpha: 0 27 | generateCubemap: 6 28 | cubemapConvolution: 0 29 | seamlessCubemap: 0 30 | textureFormat: 1 31 | maxTextureSize: 2048 32 | textureSettings: 33 | serializedVersion: 2 34 | filterMode: -1 35 | aniso: -1 36 | mipBias: -100 37 | wrapU: -1 38 | wrapV: -1 39 | wrapW: -1 40 | nPOTScale: 1 41 | lightmap: 0 42 | compressionQuality: 50 43 | spriteMode: 0 44 | spriteExtrude: 1 45 | spriteMeshType: 1 46 | alignment: 0 47 | spritePivot: {x: 0.5, y: 0.5} 48 | spritePixelsToUnits: 100 49 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 50 | spriteGenerateFallbackPhysicsShape: 1 51 | alphaUsage: 1 52 | alphaIsTransparency: 0 53 | spriteTessellationDetail: -1 54 | textureType: 0 55 | textureShape: 1 56 | singleChannelComponent: 0 57 | maxTextureSizeSet: 0 58 | compressionQualitySet: 0 59 | textureFormatSet: 0 60 | platformSettings: 61 | - serializedVersion: 2 62 | buildTarget: DefaultTexturePlatform 63 | maxTextureSize: 2048 64 | resizeAlgorithm: 0 65 | textureFormat: -1 66 | textureCompression: 1 67 | compressionQuality: 50 68 | crunchedCompression: 0 69 | allowsAlphaSplitting: 0 70 | overridden: 0 71 | androidETC2FallbackOverride: 0 72 | spriteSheet: 73 | serializedVersion: 2 74 | sprites: [] 75 | outline: [] 76 | physicsShape: [] 77 | bones: [] 78 | spriteID: 79 | vertices: [] 80 | indices: 81 | edges: [] 82 | weights: [] 83 | spritePackingTag: 84 | pSDRemoveMatte: 0 85 | pSDShowRemoveMatteOption: 0 86 | userData: 87 | assetBundleName: 88 | assetBundleVariant: 89 | -------------------------------------------------------------------------------- /Assets/Toy Plane/Textures/toy plane - Shadow Light.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:7a0dd4f3ef4e972b22f6190882efb3d55fa59ee6b4d32da93c2f893cc542e6e8 3 | size 335511 4 | -------------------------------------------------------------------------------- /Assets/Toy Plane/Textures/toy plane - Shadow Light.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 528facde0f6b64d30be9f08ba0218c26 3 | TextureImporter: 4 | fileIDToRecycleName: {} 5 | externalObjects: {} 6 | serializedVersion: 7 7 | mipmaps: 8 | mipMapMode: 0 9 | enableMipMap: 1 10 | sRGBTexture: 1 11 | linearTexture: 0 12 | fadeOut: 0 13 | borderMipMap: 0 14 | mipMapsPreserveCoverage: 0 15 | alphaTestReferenceValue: 0.5 16 | mipMapFadeDistanceStart: 1 17 | mipMapFadeDistanceEnd: 3 18 | bumpmap: 19 | convertToNormalMap: 0 20 | externalNormalMap: 0 21 | heightScale: 0.25 22 | normalMapFilter: 0 23 | isReadable: 0 24 | streamingMipmaps: 0 25 | streamingMipmapsPriority: 0 26 | grayScaleToAlpha: 0 27 | generateCubemap: 6 28 | cubemapConvolution: 0 29 | seamlessCubemap: 0 30 | textureFormat: 1 31 | maxTextureSize: 2048 32 | textureSettings: 33 | serializedVersion: 2 34 | filterMode: -1 35 | aniso: -1 36 | mipBias: -100 37 | wrapU: -1 38 | wrapV: -1 39 | wrapW: -1 40 | nPOTScale: 1 41 | lightmap: 0 42 | compressionQuality: 50 43 | spriteMode: 0 44 | spriteExtrude: 1 45 | spriteMeshType: 1 46 | alignment: 0 47 | spritePivot: {x: 0.5, y: 0.5} 48 | spritePixelsToUnits: 100 49 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 50 | spriteGenerateFallbackPhysicsShape: 1 51 | alphaUsage: 1 52 | alphaIsTransparency: 1 53 | spriteTessellationDetail: -1 54 | textureType: 0 55 | textureShape: 1 56 | singleChannelComponent: 0 57 | maxTextureSizeSet: 0 58 | compressionQualitySet: 0 59 | textureFormatSet: 0 60 | platformSettings: 61 | - serializedVersion: 2 62 | buildTarget: DefaultTexturePlatform 63 | maxTextureSize: 2048 64 | resizeAlgorithm: 0 65 | textureFormat: -1 66 | textureCompression: 1 67 | compressionQuality: 50 68 | crunchedCompression: 0 69 | allowsAlphaSplitting: 0 70 | overridden: 0 71 | androidETC2FallbackOverride: 0 72 | - serializedVersion: 2 73 | buildTarget: Standalone 74 | maxTextureSize: 2048 75 | resizeAlgorithm: 0 76 | textureFormat: -1 77 | textureCompression: 1 78 | compressionQuality: 50 79 | crunchedCompression: 0 80 | allowsAlphaSplitting: 0 81 | overridden: 0 82 | androidETC2FallbackOverride: 0 83 | - serializedVersion: 2 84 | buildTarget: iPhone 85 | maxTextureSize: 2048 86 | resizeAlgorithm: 0 87 | textureFormat: -1 88 | textureCompression: 1 89 | compressionQuality: 50 90 | crunchedCompression: 0 91 | allowsAlphaSplitting: 0 92 | overridden: 0 93 | androidETC2FallbackOverride: 0 94 | - serializedVersion: 2 95 | buildTarget: Android 96 | maxTextureSize: 2048 97 | resizeAlgorithm: 0 98 | textureFormat: -1 99 | textureCompression: 1 100 | compressionQuality: 50 101 | crunchedCompression: 0 102 | allowsAlphaSplitting: 0 103 | overridden: 0 104 | androidETC2FallbackOverride: 0 105 | spriteSheet: 106 | serializedVersion: 2 107 | sprites: [] 108 | outline: [] 109 | physicsShape: [] 110 | bones: [] 111 | spriteID: 112 | vertices: [] 113 | indices: 114 | edges: [] 115 | weights: [] 116 | spritePackingTag: 117 | pSDRemoveMatte: 0 118 | pSDShowRemoveMatteOption: 0 119 | userData: 120 | assetBundleName: 121 | assetBundleVariant: 122 | -------------------------------------------------------------------------------- /Assets/Toy Plane/Textures/toy plane - Shadow.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:883a91aebb81f8291f6b77fb682e90a834c3f9969e16c045806a61538b2c576e 3 | size 284571 4 | -------------------------------------------------------------------------------- /Assets/Toy Plane/Textures/toy plane - Shadow.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2b2aad348b6834b6d82701af2a2bfcdb 3 | TextureImporter: 4 | fileIDToRecycleName: {} 5 | externalObjects: {} 6 | serializedVersion: 7 7 | mipmaps: 8 | mipMapMode: 0 9 | enableMipMap: 1 10 | sRGBTexture: 1 11 | linearTexture: 0 12 | fadeOut: 0 13 | borderMipMap: 0 14 | mipMapsPreserveCoverage: 0 15 | alphaTestReferenceValue: 0.5 16 | mipMapFadeDistanceStart: 1 17 | mipMapFadeDistanceEnd: 3 18 | bumpmap: 19 | convertToNormalMap: 0 20 | externalNormalMap: 0 21 | heightScale: 0.25 22 | normalMapFilter: 0 23 | isReadable: 0 24 | streamingMipmaps: 0 25 | streamingMipmapsPriority: 0 26 | grayScaleToAlpha: 0 27 | generateCubemap: 6 28 | cubemapConvolution: 0 29 | seamlessCubemap: 0 30 | textureFormat: 1 31 | maxTextureSize: 2048 32 | textureSettings: 33 | serializedVersion: 2 34 | filterMode: -1 35 | aniso: -1 36 | mipBias: -100 37 | wrapU: -1 38 | wrapV: -1 39 | wrapW: -1 40 | nPOTScale: 1 41 | lightmap: 0 42 | compressionQuality: 50 43 | spriteMode: 0 44 | spriteExtrude: 1 45 | spriteMeshType: 1 46 | alignment: 0 47 | spritePivot: {x: 0.5, y: 0.5} 48 | spritePixelsToUnits: 100 49 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 50 | spriteGenerateFallbackPhysicsShape: 1 51 | alphaUsage: 1 52 | alphaIsTransparency: 1 53 | spriteTessellationDetail: -1 54 | textureType: 0 55 | textureShape: 1 56 | singleChannelComponent: 0 57 | maxTextureSizeSet: 0 58 | compressionQualitySet: 0 59 | textureFormatSet: 0 60 | platformSettings: 61 | - serializedVersion: 2 62 | buildTarget: DefaultTexturePlatform 63 | maxTextureSize: 2048 64 | resizeAlgorithm: 0 65 | textureFormat: -1 66 | textureCompression: 1 67 | compressionQuality: 50 68 | crunchedCompression: 0 69 | allowsAlphaSplitting: 0 70 | overridden: 0 71 | androidETC2FallbackOverride: 0 72 | - serializedVersion: 2 73 | buildTarget: Standalone 74 | maxTextureSize: 2048 75 | resizeAlgorithm: 0 76 | textureFormat: -1 77 | textureCompression: 1 78 | compressionQuality: 50 79 | crunchedCompression: 0 80 | allowsAlphaSplitting: 0 81 | overridden: 0 82 | androidETC2FallbackOverride: 0 83 | - serializedVersion: 2 84 | buildTarget: iPhone 85 | maxTextureSize: 2048 86 | resizeAlgorithm: 0 87 | textureFormat: -1 88 | textureCompression: 1 89 | compressionQuality: 50 90 | crunchedCompression: 0 91 | allowsAlphaSplitting: 0 92 | overridden: 0 93 | androidETC2FallbackOverride: 0 94 | - serializedVersion: 2 95 | buildTarget: Android 96 | maxTextureSize: 2048 97 | resizeAlgorithm: 0 98 | textureFormat: -1 99 | textureCompression: 1 100 | compressionQuality: 50 101 | crunchedCompression: 0 102 | allowsAlphaSplitting: 0 103 | overridden: 0 104 | androidETC2FallbackOverride: 0 105 | spriteSheet: 106 | serializedVersion: 2 107 | sprites: [] 108 | outline: [] 109 | physicsShape: [] 110 | bones: [] 111 | spriteID: 112 | vertices: [] 113 | indices: 114 | edges: [] 115 | weights: [] 116 | spritePackingTag: 117 | pSDRemoveMatte: 0 118 | pSDShowRemoveMatteOption: 0 119 | userData: 120 | assetBundleName: 121 | assetBundleVariant: 122 | -------------------------------------------------------------------------------- /Assets/Toy Plane/Textures/wire_224198087_baseColor_0.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:d20acf366574a8df33e7baa6531f4dcb155cd8995d8ad8148fdffb5671330743 3 | size 5086551 4 | -------------------------------------------------------------------------------- /Assets/Toy Plane/Textures/wire_224198087_baseColor_0.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f79712c6d67c34a7cbc83d88b09c453d 3 | TextureImporter: 4 | fileIDToRecycleName: {} 5 | externalObjects: {} 6 | serializedVersion: 7 7 | mipmaps: 8 | mipMapMode: 0 9 | enableMipMap: 1 10 | sRGBTexture: 1 11 | linearTexture: 0 12 | fadeOut: 0 13 | borderMipMap: 0 14 | mipMapsPreserveCoverage: 0 15 | alphaTestReferenceValue: 0.5 16 | mipMapFadeDistanceStart: 1 17 | mipMapFadeDistanceEnd: 3 18 | bumpmap: 19 | convertToNormalMap: 0 20 | externalNormalMap: 0 21 | heightScale: 0.25 22 | normalMapFilter: 0 23 | isReadable: 0 24 | streamingMipmaps: 0 25 | streamingMipmapsPriority: 0 26 | grayScaleToAlpha: 0 27 | generateCubemap: 6 28 | cubemapConvolution: 0 29 | seamlessCubemap: 0 30 | textureFormat: 1 31 | maxTextureSize: 2048 32 | textureSettings: 33 | serializedVersion: 2 34 | filterMode: -1 35 | aniso: -1 36 | mipBias: -100 37 | wrapU: -1 38 | wrapV: -1 39 | wrapW: -1 40 | nPOTScale: 1 41 | lightmap: 0 42 | compressionQuality: 50 43 | spriteMode: 0 44 | spriteExtrude: 1 45 | spriteMeshType: 1 46 | alignment: 0 47 | spritePivot: {x: 0.5, y: 0.5} 48 | spritePixelsToUnits: 100 49 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 50 | spriteGenerateFallbackPhysicsShape: 1 51 | alphaUsage: 1 52 | alphaIsTransparency: 0 53 | spriteTessellationDetail: -1 54 | textureType: 0 55 | textureShape: 1 56 | singleChannelComponent: 0 57 | maxTextureSizeSet: 0 58 | compressionQualitySet: 0 59 | textureFormatSet: 0 60 | platformSettings: 61 | - serializedVersion: 2 62 | buildTarget: DefaultTexturePlatform 63 | maxTextureSize: 2048 64 | resizeAlgorithm: 0 65 | textureFormat: -1 66 | textureCompression: 1 67 | compressionQuality: 50 68 | crunchedCompression: 0 69 | allowsAlphaSplitting: 0 70 | overridden: 0 71 | androidETC2FallbackOverride: 0 72 | spriteSheet: 73 | serializedVersion: 2 74 | sprites: [] 75 | outline: [] 76 | physicsShape: [] 77 | bones: [] 78 | spriteID: 79 | vertices: [] 80 | indices: 81 | edges: [] 82 | weights: [] 83 | spritePackingTag: 84 | pSDRemoveMatte: 0 85 | pSDShowRemoveMatteOption: 0 86 | userData: 87 | assetBundleName: 88 | assetBundleVariant: 89 | -------------------------------------------------------------------------------- /Assets/Toy Plane/Textures/wire_224198087_baseColor_0_COLOR.psd: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:5513839cfcdc7b9827f9a49e5636d625f9fcf1460919fc58e339c9bf11955709 3 | size 15455480 4 | -------------------------------------------------------------------------------- /Assets/Toy Plane/Textures/wire_224198087_baseColor_0_COLOR.psd.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: bd36d22730be74dbeb08f0b454107baa 3 | TextureImporter: 4 | fileIDToRecycleName: {} 5 | externalObjects: {} 6 | serializedVersion: 7 7 | mipmaps: 8 | mipMapMode: 0 9 | enableMipMap: 1 10 | sRGBTexture: 1 11 | linearTexture: 0 12 | fadeOut: 0 13 | borderMipMap: 0 14 | mipMapsPreserveCoverage: 0 15 | alphaTestReferenceValue: 0.5 16 | mipMapFadeDistanceStart: 1 17 | mipMapFadeDistanceEnd: 3 18 | bumpmap: 19 | convertToNormalMap: 0 20 | externalNormalMap: 0 21 | heightScale: 0.25 22 | normalMapFilter: 0 23 | isReadable: 0 24 | streamingMipmaps: 0 25 | streamingMipmapsPriority: 0 26 | grayScaleToAlpha: 0 27 | generateCubemap: 6 28 | cubemapConvolution: 0 29 | seamlessCubemap: 0 30 | textureFormat: 1 31 | maxTextureSize: 2048 32 | textureSettings: 33 | serializedVersion: 2 34 | filterMode: -1 35 | aniso: -1 36 | mipBias: -100 37 | wrapU: -1 38 | wrapV: -1 39 | wrapW: -1 40 | nPOTScale: 1 41 | lightmap: 0 42 | compressionQuality: 50 43 | spriteMode: 0 44 | spriteExtrude: 1 45 | spriteMeshType: 1 46 | alignment: 0 47 | spritePivot: {x: 0.5, y: 0.5} 48 | spritePixelsToUnits: 100 49 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 50 | spriteGenerateFallbackPhysicsShape: 1 51 | alphaUsage: 1 52 | alphaIsTransparency: 0 53 | spriteTessellationDetail: -1 54 | textureType: 0 55 | textureShape: 1 56 | singleChannelComponent: 0 57 | maxTextureSizeSet: 0 58 | compressionQualitySet: 0 59 | textureFormatSet: 0 60 | platformSettings: 61 | - serializedVersion: 2 62 | buildTarget: DefaultTexturePlatform 63 | maxTextureSize: 2048 64 | resizeAlgorithm: 0 65 | textureFormat: -1 66 | textureCompression: 1 67 | compressionQuality: 50 68 | crunchedCompression: 0 69 | allowsAlphaSplitting: 0 70 | overridden: 0 71 | androidETC2FallbackOverride: 0 72 | spriteSheet: 73 | serializedVersion: 2 74 | sprites: [] 75 | outline: [] 76 | physicsShape: [] 77 | bones: [] 78 | spriteID: 79 | vertices: [] 80 | indices: 81 | edges: [] 82 | weights: [] 83 | spritePackingTag: 84 | pSDRemoveMatte: 0 85 | pSDShowRemoveMatteOption: 0 86 | userData: 87 | assetBundleName: 88 | assetBundleVariant: 89 | -------------------------------------------------------------------------------- /Assets/Toy Plane/Toy Plane.prefab: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!1 &15 4 | GameObject: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | serializedVersion: 6 10 | m_Component: 11 | - component: {fileID: 26} 12 | m_Layer: 0 13 | m_Name: RootNode (gltf orientation matrix) 14 | m_TagString: Untagged 15 | m_Icon: {fileID: 0} 16 | m_NavMeshLayer: 0 17 | m_StaticEditorFlags: 0 18 | m_IsActive: 1 19 | --- !u!4 &26 20 | Transform: 21 | m_ObjectHideFlags: 0 22 | m_CorrespondingSourceObject: {fileID: 0} 23 | m_PrefabInstance: {fileID: 0} 24 | m_PrefabAsset: {fileID: 0} 25 | m_GameObject: {fileID: 15} 26 | m_LocalRotation: {x: 0.7071068, y: 0, z: 0, w: 0.7071068} 27 | m_LocalPosition: {x: 0, y: 0, z: -0.219} 28 | m_LocalScale: {x: 0.01, y: 0.01, z: 0.01} 29 | m_Children: 30 | - {fileID: 25} 31 | - {fileID: 22} 32 | m_Father: {fileID: 23} 33 | m_RootOrder: 0 34 | m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0} 35 | --- !u!1 &16 36 | GameObject: 37 | m_ObjectHideFlags: 0 38 | m_CorrespondingSourceObject: {fileID: 0} 39 | m_PrefabInstance: {fileID: 0} 40 | m_PrefabAsset: {fileID: 0} 41 | serializedVersion: 6 42 | m_Component: 43 | - component: {fileID: 23} 44 | m_Layer: 0 45 | m_Name: Toy Plane 46 | m_TagString: Untagged 47 | m_Icon: {fileID: 0} 48 | m_NavMeshLayer: 0 49 | m_StaticEditorFlags: 0 50 | m_IsActive: 1 51 | --- !u!4 &23 52 | Transform: 53 | m_ObjectHideFlags: 0 54 | m_CorrespondingSourceObject: {fileID: 0} 55 | m_PrefabInstance: {fileID: 0} 56 | m_PrefabAsset: {fileID: 0} 57 | m_GameObject: {fileID: 16} 58 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 59 | m_LocalPosition: {x: 0, y: 0, z: 0} 60 | m_LocalScale: {x: 1, y: 1, z: 1} 61 | m_Children: 62 | - {fileID: 26} 63 | m_Father: {fileID: 0} 64 | m_RootOrder: 0 65 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 66 | --- !u!1 &17 67 | GameObject: 68 | m_ObjectHideFlags: 0 69 | m_CorrespondingSourceObject: {fileID: 0} 70 | m_PrefabInstance: {fileID: 0} 71 | m_PrefabAsset: {fileID: 0} 72 | serializedVersion: 6 73 | m_Component: 74 | - component: {fileID: 27} 75 | - component: {fileID: 34} 76 | - component: {fileID: 31} 77 | m_Layer: 0 78 | m_Name: GLTFNode_3 79 | m_TagString: Untagged 80 | m_Icon: {fileID: 0} 81 | m_NavMeshLayer: 0 82 | m_StaticEditorFlags: 0 83 | m_IsActive: 1 84 | --- !u!4 &27 85 | Transform: 86 | m_ObjectHideFlags: 0 87 | m_CorrespondingSourceObject: {fileID: 0} 88 | m_PrefabInstance: {fileID: 0} 89 | m_PrefabAsset: {fileID: 0} 90 | m_GameObject: {fileID: 17} 91 | m_LocalRotation: {x: 0, y: 0, z: -0, w: -1} 92 | m_LocalPosition: {x: 0, y: 0, z: -0} 93 | m_LocalScale: {x: 1, y: 1, z: 1} 94 | m_Children: [] 95 | m_Father: {fileID: 28} 96 | m_RootOrder: 0 97 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 98 | --- !u!33 &34 99 | MeshFilter: 100 | m_ObjectHideFlags: 0 101 | m_CorrespondingSourceObject: {fileID: 0} 102 | m_PrefabInstance: {fileID: 0} 103 | m_PrefabAsset: {fileID: 0} 104 | m_GameObject: {fileID: 17} 105 | m_Mesh: {fileID: 4300000, guid: f2c76c7442cb246cd98ade82aa010623, type: 2} 106 | --- !u!23 &31 107 | MeshRenderer: 108 | m_ObjectHideFlags: 0 109 | m_CorrespondingSourceObject: {fileID: 0} 110 | m_PrefabInstance: {fileID: 0} 111 | m_PrefabAsset: {fileID: 0} 112 | m_GameObject: {fileID: 17} 113 | m_Enabled: 1 114 | m_CastShadows: 1 115 | m_ReceiveShadows: 1 116 | m_DynamicOccludee: 1 117 | m_MotionVectors: 1 118 | m_LightProbeUsage: 1 119 | m_ReflectionProbeUsage: 1 120 | m_RenderingLayerMask: 1 121 | m_RendererPriority: 0 122 | m_Materials: 123 | - {fileID: 2100000, guid: ad22c843eca6c463e9728e8597076d4b, type: 2} 124 | m_StaticBatchInfo: 125 | firstSubMesh: 0 126 | subMeshCount: 0 127 | m_StaticBatchRoot: {fileID: 0} 128 | m_ProbeAnchor: {fileID: 0} 129 | m_LightProbeVolumeOverride: {fileID: 0} 130 | m_ScaleInLightmap: 1 131 | m_PreserveUVs: 0 132 | m_IgnoreNormalsForChartDetection: 0 133 | m_ImportantGI: 0 134 | m_StitchLightmapSeams: 0 135 | m_SelectedEditorRenderState: 3 136 | m_MinimumChartSize: 4 137 | m_AutoUVMaxDistance: 0.5 138 | m_AutoUVMaxAngle: 89 139 | m_LightmapParameters: {fileID: 0} 140 | m_SortingLayerID: 0 141 | m_SortingLayer: 0 142 | m_SortingOrder: 0 143 | --- !u!1 &18 144 | GameObject: 145 | m_ObjectHideFlags: 0 146 | m_CorrespondingSourceObject: {fileID: 0} 147 | m_PrefabInstance: {fileID: 0} 148 | m_PrefabAsset: {fileID: 0} 149 | serializedVersion: 6 150 | m_Component: 151 | - component: {fileID: 22} 152 | - component: {fileID: 33} 153 | - component: {fileID: 29} 154 | - component: {fileID: 35} 155 | m_Layer: 0 156 | m_Name: Shadow 157 | m_TagString: Untagged 158 | m_Icon: {fileID: 0} 159 | m_NavMeshLayer: 0 160 | m_StaticEditorFlags: 0 161 | m_IsActive: 1 162 | --- !u!4 &22 163 | Transform: 164 | m_ObjectHideFlags: 0 165 | m_CorrespondingSourceObject: {fileID: 0} 166 | m_PrefabInstance: {fileID: 0} 167 | m_PrefabAsset: {fileID: 0} 168 | m_GameObject: {fileID: 18} 169 | m_LocalRotation: {x: -0, y: -0, z: -0.7071068, w: 0.7071068} 170 | m_LocalPosition: {x: 3, y: 21.9, z: -0.1} 171 | m_LocalScale: {x: 312.09308, y: 312.0945, z: 312.09442} 172 | m_Children: [] 173 | m_Father: {fileID: 26} 174 | m_RootOrder: 1 175 | m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0} 176 | --- !u!33 &33 177 | MeshFilter: 178 | m_ObjectHideFlags: 0 179 | m_CorrespondingSourceObject: {fileID: 0} 180 | m_PrefabInstance: {fileID: 0} 181 | m_PrefabAsset: {fileID: 0} 182 | m_GameObject: {fileID: 18} 183 | m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} 184 | --- !u!23 &29 185 | MeshRenderer: 186 | m_ObjectHideFlags: 0 187 | m_CorrespondingSourceObject: {fileID: 0} 188 | m_PrefabInstance: {fileID: 0} 189 | m_PrefabAsset: {fileID: 0} 190 | m_GameObject: {fileID: 18} 191 | m_Enabled: 1 192 | m_CastShadows: 1 193 | m_ReceiveShadows: 1 194 | m_DynamicOccludee: 1 195 | m_MotionVectors: 1 196 | m_LightProbeUsage: 1 197 | m_ReflectionProbeUsage: 1 198 | m_RenderingLayerMask: 1 199 | m_RendererPriority: 0 200 | m_Materials: 201 | - {fileID: 2100000, guid: 329ed95226d184c91a2047eab62d6eed, type: 2} 202 | m_StaticBatchInfo: 203 | firstSubMesh: 0 204 | subMeshCount: 0 205 | m_StaticBatchRoot: {fileID: 0} 206 | m_ProbeAnchor: {fileID: 0} 207 | m_LightProbeVolumeOverride: {fileID: 0} 208 | m_ScaleInLightmap: 1 209 | m_PreserveUVs: 0 210 | m_IgnoreNormalsForChartDetection: 0 211 | m_ImportantGI: 0 212 | m_StitchLightmapSeams: 0 213 | m_SelectedEditorRenderState: 3 214 | m_MinimumChartSize: 4 215 | m_AutoUVMaxDistance: 0.5 216 | m_AutoUVMaxAngle: 89 217 | m_LightmapParameters: {fileID: 0} 218 | m_SortingLayerID: 0 219 | m_SortingLayer: 0 220 | m_SortingOrder: 0 221 | --- !u!64 &35 222 | MeshCollider: 223 | m_ObjectHideFlags: 0 224 | m_CorrespondingSourceObject: {fileID: 0} 225 | m_PrefabInstance: {fileID: 0} 226 | m_PrefabAsset: {fileID: 0} 227 | m_GameObject: {fileID: 18} 228 | m_Material: {fileID: 0} 229 | m_IsTrigger: 0 230 | m_Enabled: 1 231 | serializedVersion: 3 232 | m_Convex: 0 233 | m_CookingOptions: 14 234 | m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} 235 | --- !u!1 &19 236 | GameObject: 237 | m_ObjectHideFlags: 0 238 | m_CorrespondingSourceObject: {fileID: 0} 239 | m_PrefabInstance: {fileID: 0} 240 | m_PrefabAsset: {fileID: 0} 241 | serializedVersion: 6 242 | m_Component: 243 | - component: {fileID: 24} 244 | - component: {fileID: 32} 245 | - component: {fileID: 30} 246 | m_Layer: 0 247 | m_Name: GLTFNode_4 248 | m_TagString: Untagged 249 | m_Icon: {fileID: 0} 250 | m_NavMeshLayer: 0 251 | m_StaticEditorFlags: 0 252 | m_IsActive: 1 253 | --- !u!4 &24 254 | Transform: 255 | m_ObjectHideFlags: 0 256 | m_CorrespondingSourceObject: {fileID: 0} 257 | m_PrefabInstance: {fileID: 0} 258 | m_PrefabAsset: {fileID: 0} 259 | m_GameObject: {fileID: 19} 260 | m_LocalRotation: {x: 0, y: 0, z: -0, w: -1} 261 | m_LocalPosition: {x: 0, y: 0, z: -0} 262 | m_LocalScale: {x: 1, y: 1, z: 1} 263 | m_Children: [] 264 | m_Father: {fileID: 28} 265 | m_RootOrder: 1 266 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 267 | --- !u!33 &32 268 | MeshFilter: 269 | m_ObjectHideFlags: 0 270 | m_CorrespondingSourceObject: {fileID: 0} 271 | m_PrefabInstance: {fileID: 0} 272 | m_PrefabAsset: {fileID: 0} 273 | m_GameObject: {fileID: 19} 274 | m_Mesh: {fileID: 4300000, guid: 86b889989fd5f40e580d09a1a8786a57, type: 2} 275 | --- !u!23 &30 276 | MeshRenderer: 277 | m_ObjectHideFlags: 0 278 | m_CorrespondingSourceObject: {fileID: 0} 279 | m_PrefabInstance: {fileID: 0} 280 | m_PrefabAsset: {fileID: 0} 281 | m_GameObject: {fileID: 19} 282 | m_Enabled: 1 283 | m_CastShadows: 1 284 | m_ReceiveShadows: 1 285 | m_DynamicOccludee: 1 286 | m_MotionVectors: 1 287 | m_LightProbeUsage: 1 288 | m_ReflectionProbeUsage: 1 289 | m_RenderingLayerMask: 1 290 | m_RendererPriority: 0 291 | m_Materials: 292 | - {fileID: 2100000, guid: ad22c843eca6c463e9728e8597076d4b, type: 2} 293 | m_StaticBatchInfo: 294 | firstSubMesh: 0 295 | subMeshCount: 0 296 | m_StaticBatchRoot: {fileID: 0} 297 | m_ProbeAnchor: {fileID: 0} 298 | m_LightProbeVolumeOverride: {fileID: 0} 299 | m_ScaleInLightmap: 1 300 | m_PreserveUVs: 0 301 | m_IgnoreNormalsForChartDetection: 0 302 | m_ImportantGI: 0 303 | m_StitchLightmapSeams: 0 304 | m_SelectedEditorRenderState: 3 305 | m_MinimumChartSize: 4 306 | m_AutoUVMaxDistance: 0.5 307 | m_AutoUVMaxAngle: 89 308 | m_LightmapParameters: {fileID: 0} 309 | m_SortingLayerID: 0 310 | m_SortingLayer: 0 311 | m_SortingOrder: 0 312 | --- !u!1 &20 313 | GameObject: 314 | m_ObjectHideFlags: 0 315 | m_CorrespondingSourceObject: {fileID: 0} 316 | m_PrefabInstance: {fileID: 0} 317 | m_PrefabAsset: {fileID: 0} 318 | serializedVersion: 6 319 | m_Component: 320 | - component: {fileID: 25} 321 | m_Layer: 0 322 | m_Name: RootNode (model correction matrix) 323 | m_TagString: Untagged 324 | m_Icon: {fileID: 0} 325 | m_NavMeshLayer: 0 326 | m_StaticEditorFlags: 0 327 | m_IsActive: 1 328 | --- !u!4 &25 329 | Transform: 330 | m_ObjectHideFlags: 0 331 | m_CorrespondingSourceObject: {fileID: 0} 332 | m_PrefabInstance: {fileID: 0} 333 | m_PrefabAsset: {fileID: 0} 334 | m_GameObject: {fileID: 20} 335 | m_LocalRotation: {x: 0, y: 0, z: -0, w: -1} 336 | m_LocalPosition: {x: 0, y: 0, z: -0} 337 | m_LocalScale: {x: 1, y: 1, z: 1} 338 | m_Children: 339 | - {fileID: 28} 340 | m_Father: {fileID: 26} 341 | m_RootOrder: 0 342 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 343 | --- !u!1 &21 344 | GameObject: 345 | m_ObjectHideFlags: 0 346 | m_CorrespondingSourceObject: {fileID: 0} 347 | m_PrefabInstance: {fileID: 0} 348 | m_PrefabAsset: {fileID: 0} 349 | serializedVersion: 6 350 | m_Component: 351 | - component: {fileID: 28} 352 | m_Layer: 0 353 | m_Name: biplane.obj.cleaner 354 | m_TagString: Untagged 355 | m_Icon: {fileID: 0} 356 | m_NavMeshLayer: 0 357 | m_StaticEditorFlags: 0 358 | m_IsActive: 1 359 | --- !u!4 &28 360 | Transform: 361 | m_ObjectHideFlags: 0 362 | m_CorrespondingSourceObject: {fileID: 0} 363 | m_PrefabInstance: {fileID: 0} 364 | m_PrefabAsset: {fileID: 0} 365 | m_GameObject: {fileID: 21} 366 | m_LocalRotation: {x: 0, y: 0, z: -0, w: -1} 367 | m_LocalPosition: {x: 0, y: 0, z: -0} 368 | m_LocalScale: {x: 1, y: 1, z: 1} 369 | m_Children: 370 | - {fileID: 27} 371 | - {fileID: 24} 372 | m_Father: {fileID: 25} 373 | m_RootOrder: 0 374 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 375 | -------------------------------------------------------------------------------- /Assets/Toy Plane/Toy Plane.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d8b214887544543f18abb247b5b3c548 3 | PrefabImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/link.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Assets/link.xml.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5a4bedaf3a589419b838ba86c7ef2521 3 | TextScriptImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2018 Kris Schultz (The Unrealist), krisschultz@gmail.com 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | 23 | 24 | 25 | 3D toy plane model by "Law" (via Sketchfab), generously licensed under the Creative Commons Attribution license. I made a few modifications to the model's appearance. 26 | https://sketchfab.com/models/9b4e13700da14d31b9d923c499e18f64 27 | https://creativecommons.org/licenses/by/4.0/ -------------------------------------------------------------------------------- /Logs/Packages-Update.log: -------------------------------------------------------------------------------- 1 | 2 | === Thu Dec 27 20:17:29 2018 3 | 4 | Packages were changed. 5 | Update Mode: mergeDefaultDependencies 6 | 7 | The following packages were added: 8 | com.unity.analytics@3.2.2 9 | com.unity.purchasing@2.0.3 10 | com.unity.ads@2.3.1 11 | com.unity.textmeshpro@1.3.0 12 | com.unity.package-manager-ui@2.0.3 13 | com.unity.collab-proxy@1.2.15 14 | com.unity.modules.ai@1.0.0 15 | com.unity.modules.animation@1.0.0 16 | com.unity.modules.assetbundle@1.0.0 17 | com.unity.modules.audio@1.0.0 18 | com.unity.modules.cloth@1.0.0 19 | com.unity.modules.director@1.0.0 20 | com.unity.modules.imageconversion@1.0.0 21 | com.unity.modules.imgui@1.0.0 22 | com.unity.modules.jsonserialize@1.0.0 23 | com.unity.modules.particlesystem@1.0.0 24 | com.unity.modules.physics@1.0.0 25 | com.unity.modules.physics2d@1.0.0 26 | com.unity.modules.screencapture@1.0.0 27 | com.unity.modules.terrain@1.0.0 28 | com.unity.modules.terrainphysics@1.0.0 29 | com.unity.modules.tilemap@1.0.0 30 | com.unity.modules.ui@1.0.0 31 | com.unity.modules.uielements@1.0.0 32 | com.unity.modules.umbra@1.0.0 33 | com.unity.modules.unityanalytics@1.0.0 34 | com.unity.modules.unitywebrequest@1.0.0 35 | com.unity.modules.unitywebrequestassetbundle@1.0.0 36 | com.unity.modules.unitywebrequestaudio@1.0.0 37 | com.unity.modules.unitywebrequesttexture@1.0.0 38 | com.unity.modules.unitywebrequestwww@1.0.0 39 | com.unity.modules.vehicles@1.0.0 40 | com.unity.modules.video@1.0.0 41 | com.unity.modules.vr@1.0.0 42 | com.unity.modules.wind@1.0.0 43 | com.unity.modules.xr@1.0.0 44 | -------------------------------------------------------------------------------- /Packages/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "dependencies": { 3 | "com.unity.ads": "2.3.1", 4 | "com.unity.analytics": "3.2.2", 5 | "com.unity.collab-proxy": "1.2.15", 6 | "com.unity.package-manager-ui": "2.0.3", 7 | "com.unity.purchasing": "2.0.3", 8 | "com.unity.textmeshpro": "1.3.0", 9 | "com.unity.xr.arcore": "1.0.0-preview.24", 10 | "com.unity.xr.arfoundation": "1.0.0-preview.22", 11 | "com.unity.xr.arkit": "1.0.0-preview.20", 12 | "com.unity.modules.ai": "1.0.0", 13 | "com.unity.modules.animation": "1.0.0", 14 | "com.unity.modules.assetbundle": "1.0.0", 15 | "com.unity.modules.audio": "1.0.0", 16 | "com.unity.modules.cloth": "1.0.0", 17 | "com.unity.modules.director": "1.0.0", 18 | "com.unity.modules.imageconversion": "1.0.0", 19 | "com.unity.modules.imgui": "1.0.0", 20 | "com.unity.modules.jsonserialize": "1.0.0", 21 | "com.unity.modules.particlesystem": "1.0.0", 22 | "com.unity.modules.physics": "1.0.0", 23 | "com.unity.modules.physics2d": "1.0.0", 24 | "com.unity.modules.screencapture": "1.0.0", 25 | "com.unity.modules.terrain": "1.0.0", 26 | "com.unity.modules.terrainphysics": "1.0.0", 27 | "com.unity.modules.tilemap": "1.0.0", 28 | "com.unity.modules.ui": "1.0.0", 29 | "com.unity.modules.uielements": "1.0.0", 30 | "com.unity.modules.umbra": "1.0.0", 31 | "com.unity.modules.unityanalytics": "1.0.0", 32 | "com.unity.modules.unitywebrequest": "1.0.0", 33 | "com.unity.modules.unitywebrequestassetbundle": "1.0.0", 34 | "com.unity.modules.unitywebrequestaudio": "1.0.0", 35 | "com.unity.modules.unitywebrequesttexture": "1.0.0", 36 | "com.unity.modules.unitywebrequestwww": "1.0.0", 37 | "com.unity.modules.vehicles": "1.0.0", 38 | "com.unity.modules.video": "1.0.0", 39 | "com.unity.modules.vr": "1.0.0", 40 | "com.unity.modules.wind": "1.0.0", 41 | "com.unity.modules.xr": "1.0.0" 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /ProjectSettings/AudioManager.asset: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:45e76b4538f1b87ac361bc9bbee72ce03054eda961248334af7cb3996199ff82 3 | size 377 4 | -------------------------------------------------------------------------------- /ProjectSettings/ClusterInputManager.asset: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:06a192320121e445dcff1ae8ddad2a948ff671ca134603c043d9f4e920427ea9 3 | size 120 4 | -------------------------------------------------------------------------------- /ProjectSettings/DynamicsManager.asset: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:caf7f4275c79196811b6c80e6104259c8e7ba5fee96e08bd08c63f2855039b1d 3 | size 1105 4 | -------------------------------------------------------------------------------- /ProjectSettings/EditorBuildSettings.asset: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:3fefeec722599ff2f7fb655c1751e7526fe8790583df710d8b3092b88041af92 3 | size 226 4 | -------------------------------------------------------------------------------- /ProjectSettings/EditorSettings.asset: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:fbb13ca5c460a6e44ec52321ca9bae0d390ed486d2eddf218633e01357ab975e 3 | size 643 4 | -------------------------------------------------------------------------------- /ProjectSettings/GraphicsSettings.asset: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:06f2c9c42c3e01f1143d4c15cfe4f316cfab490aba17fde694e466c130d4e3a4 3 | size 2359 4 | -------------------------------------------------------------------------------- /ProjectSettings/InputManager.asset: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:45080d3b109243806ace6feaaa0f9395dc0ecbf7c81b3fec8a37b1800a78f3fa 3 | size 6088 4 | -------------------------------------------------------------------------------- /ProjectSettings/NavMeshAreas.asset: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:deca65f3094943a1af148cf64fd6c0deb503219d12de0e172b7f948d07a8e6a8 3 | size 1399 4 | -------------------------------------------------------------------------------- /ProjectSettings/NetworkManager.asset: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:aa28e567e0f09d53d4dc57a068c913a4a9a0f09c602c49f0278990bf666550a9 3 | size 159 4 | -------------------------------------------------------------------------------- /ProjectSettings/Physics2DSettings.asset: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:c85c7c22ea242846c0fcd194144deec6b0438a5b78ca2977e70e4f8d33e9571f 3 | size 1469 4 | -------------------------------------------------------------------------------- /ProjectSettings/PresetManager.asset: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:9a419216a175b22c1620cdd08838db67abab3ebedb0477a2b9d94e812056e9ae 3 | size 824 4 | -------------------------------------------------------------------------------- /ProjectSettings/ProjectSettings.asset: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:c028ae2e670b201a809844dc139bfa3ad8e2596909e6afb8c24813844806822c 3 | size 19415 4 | -------------------------------------------------------------------------------- /ProjectSettings/ProjectVersion.txt: -------------------------------------------------------------------------------- 1 | m_EditorVersion: 2018.3.0f2 2 | -------------------------------------------------------------------------------- /ProjectSettings/QualitySettings.asset: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:30c0e1f0c6180f73b77bbe260deb96c5ef07cacad7b7b71585b571800f3940f0 3 | size 6448 4 | -------------------------------------------------------------------------------- /ProjectSettings/TagManager.asset: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:a033c1859dcfc74e0ab5011274b0c9d93ad6ffdf023c31bf86f75d7d4478832b 3 | size 435 4 | -------------------------------------------------------------------------------- /ProjectSettings/TimeManager.asset: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:189be5677190854c2847f2269152d0e3c5fe7711cd9f73137ff1bbd0d1c60bac 3 | size 195 4 | -------------------------------------------------------------------------------- /ProjectSettings/UnityConnectSettings.asset: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:40f4069ef87c987912306c30baf267eeb27081af1429e14caab0908e123c30e2 3 | size 853 4 | -------------------------------------------------------------------------------- /ProjectSettings/VFXManager.asset: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:3fe2a3148618003c192c0f76f395cfae385e92cdee8dec7ddc89120fac199671 3 | size 273 4 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Tutorial Project: Getting Started with ARFoundation in Unity 2 | 3 | 4 | 5 | This is the completed project demonstrated in my ["Getting Started with ARFoundation in Unity" YouTube tutorial](https://youtu.be/Ml2UakwRxjk). 6 | 7 | Note, this Github repository uses Git LFS to manage large files. If you encounter any problems with files like images not working it may be because your Git client requires you to initialize Git LFS manually. 8 | 9 | Unity version required: 2018.3 or later. 10 | 11 | 12 | 13 | ## Credits 14 | 15 | 3D toy plane model by "Law" (via Sketchfab), generously licensed under the Creative Commons Attribution license. I made a few modifications to the model's appearance. 16 | https://sketchfab.com/models/9b4e13700da14d31b9d923c499e18f64 17 | https://creativecommons.org/licenses/by/4.0/ 18 | 19 | -------------------------------------------------------------------------------- /SourceAssets/ARFoundation Demo Assets/AR Placement Indicator.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:22d023b48bf92c1255e93744ff185768107fbb6e4bef661f9079c780d7128330 3 | size 8553 4 | --------------------------------------------------------------------------------