├── LICENSE ├── README.md ├── ThinkingWithPortals ├── .gitignore ├── Assets │ ├── Materials.meta │ ├── Materials │ │ ├── ARWorld.mat │ │ ├── ARWorld.mat.meta │ │ ├── ARWorldMask.mat │ │ ├── ARWorldMask.mat.meta │ │ ├── Skybox.meta │ │ └── Skybox │ │ │ ├── Bottom.mat │ │ │ ├── Bottom.mat.meta │ │ │ ├── Side.mat │ │ │ ├── Side.mat.meta │ │ │ ├── Top.mat │ │ │ └── Top.mat.meta │ ├── Prefabs.meta │ ├── Prefabs │ │ ├── DetectionPlane.prefab │ │ ├── DetectionPlane.prefab.meta │ │ ├── Portal.prefab │ │ └── Portal.prefab.meta │ ├── Scripts.meta │ ├── Scripts │ │ ├── Portal.cs │ │ └── Portal.cs.meta │ ├── Shaders.meta │ ├── Shaders │ │ ├── DepthMask.shader │ │ ├── DepthMask.shader.meta │ │ ├── PortalShader.shader │ │ └── PortalShader.shader.meta │ ├── Textures.meta │ ├── Textures │ │ ├── ARWorld.renderTexture │ │ ├── ARWorld.renderTexture.meta │ │ ├── simple-gradient-skybox.meta │ │ └── simple-gradient-skybox │ │ │ ├── simplegradient_bottom.png │ │ │ ├── simplegradient_bottom.png.meta │ │ │ ├── simplegradient_side.png │ │ │ ├── simplegradient_side.png.meta │ │ │ ├── simplegradient_top.png │ │ │ └── simplegradient_top.png.meta │ ├── UnityARKitPlugin.meta │ ├── UnityARKitPlugin │ │ ├── ARKitRemote.meta │ │ ├── ARKitRemote │ │ │ ├── ARKITREMOTE.txt │ │ │ ├── ARKITREMOTE.txt.meta │ │ │ ├── ARKitRemoteConnection.cs │ │ │ ├── ARKitRemoteConnection.cs.meta │ │ │ ├── ARKitRemoteConnection.prefab │ │ │ ├── ARKitRemoteConnection.prefab.meta │ │ │ ├── ConnectToEditor.cs │ │ │ ├── ConnectToEditor.cs.meta │ │ │ ├── ConnectionMessageIds.cs │ │ │ ├── ConnectionMessageIds.cs.meta │ │ │ ├── EditorHitTest.cs │ │ │ ├── EditorHitTest.cs.meta │ │ │ ├── EditorTestScene.unity │ │ │ ├── EditorTestScene.unity.meta │ │ │ ├── ObjectSerializationExtension.cs │ │ │ ├── ObjectSerializationExtension.cs.meta │ │ │ ├── SerializableObjects.cs │ │ │ ├── SerializableObjects.cs.meta │ │ │ ├── UnityARKitRemote.unity │ │ │ ├── UnityARKitRemote.unity.meta │ │ │ ├── UnityRemoteVideo.cs │ │ │ └── UnityRemoteVideo.cs.meta │ │ ├── Examples.meta │ │ ├── Examples │ │ │ ├── AddRemoveAnchorExample.meta │ │ │ ├── AddRemoveAnchorExample │ │ │ │ ├── AddRemoveAnchorScene.unity │ │ │ │ ├── AddRemoveAnchorScene.unity.meta │ │ │ │ ├── RandomCube.prefab │ │ │ │ ├── RandomCube.prefab.meta │ │ │ │ ├── UnityARUserAnchorExample.cs │ │ │ │ └── UnityARUserAnchorExample.cs.meta │ │ │ ├── BallMaker.cs │ │ │ ├── BallMaker.cs.meta │ │ │ ├── BallMover.cs │ │ │ ├── BallMover.cs.meta │ │ │ ├── Ballz.cs │ │ │ ├── Ballz.cs.meta │ │ │ ├── FocusSquare.meta │ │ │ ├── FocusSquare │ │ │ │ ├── FocusSquare.cs │ │ │ │ ├── FocusSquare.cs.meta │ │ │ │ ├── FocusSquareFinding.controller │ │ │ │ ├── FocusSquareFinding.controller.meta │ │ │ │ ├── FocusSquareFinding.mat │ │ │ │ ├── FocusSquareFinding.mat.meta │ │ │ │ ├── FocusSquareFinding.prefab │ │ │ │ ├── FocusSquareFinding.prefab.meta │ │ │ │ ├── FocusSquareFocused.prefab │ │ │ │ ├── FocusSquareFocused.prefab.meta │ │ │ │ ├── FocusSquareFound.mat │ │ │ │ ├── FocusSquareFound.mat.meta │ │ │ │ ├── FocusSquareScene.unity │ │ │ │ ├── FocusSquareScene.unity.meta │ │ │ │ ├── focuspulse.anim │ │ │ │ ├── focuspulse.anim.meta │ │ │ │ ├── focussquare.png │ │ │ │ ├── focussquare.png.meta │ │ │ │ ├── focussquarefound.png │ │ │ │ └── focussquarefound.png.meta │ │ │ ├── InstancedSurfaceShader.shader │ │ │ ├── InstancedSurfaceShader.shader.meta │ │ │ ├── ModeSwitcher.cs │ │ │ ├── ModeSwitcher.cs.meta │ │ │ ├── Plane Physic Material.physicMaterial │ │ │ └── Plane Physic Material.physicMaterial.meta │ │ ├── HSVPicker.meta │ │ ├── HSVPicker │ │ │ ├── Editor.meta │ │ │ ├── Editor │ │ │ │ ├── BoxSliderEditor.cs │ │ │ │ └── BoxSliderEditor.cs.meta │ │ │ ├── Enums.meta │ │ │ ├── Enums │ │ │ │ ├── ColorValues.cs │ │ │ │ └── ColorValues.cs.meta │ │ │ ├── Events.meta │ │ │ ├── Events │ │ │ │ ├── ColorChangedEvent.cs │ │ │ │ ├── ColorChangedEvent.cs.meta │ │ │ │ ├── HSVChangedEvent.cs │ │ │ │ └── HSVChangedEvent.cs.meta │ │ │ ├── Other.meta │ │ │ ├── Other │ │ │ │ ├── ColorPickerTester.cs │ │ │ │ ├── ColorPickerTester.cs.meta │ │ │ │ ├── TiltWindow.cs │ │ │ │ └── TiltWindow.cs.meta │ │ │ ├── Picker 2.0.prefab │ │ │ ├── Picker 2.0.prefab.meta │ │ │ ├── PickerTest.unity │ │ │ ├── PickerTest.unity.meta │ │ │ ├── UI.meta │ │ │ ├── UI │ │ │ │ ├── ColorImage.cs │ │ │ │ ├── ColorImage.cs.meta │ │ │ │ ├── ColorLabel.cs │ │ │ │ ├── ColorLabel.cs.meta │ │ │ │ ├── ColorPicker.cs │ │ │ │ ├── ColorPicker.cs.meta │ │ │ │ ├── ColorPresets.cs │ │ │ │ ├── ColorPresets.cs.meta │ │ │ │ ├── ColorSlider.cs │ │ │ │ ├── ColorSlider.cs.meta │ │ │ │ ├── ColorSliderImage.cs │ │ │ │ ├── ColorSliderImage.cs.meta │ │ │ │ ├── HexColorField.cs │ │ │ │ ├── HexColorField.cs.meta │ │ │ │ ├── SVBoxSlider.cs │ │ │ │ └── SVBoxSlider.cs.meta │ │ │ ├── UtilityScripts.meta │ │ │ └── UtilityScripts │ │ │ │ ├── BoxSlider.cs │ │ │ │ ├── BoxSlider.cs.meta │ │ │ │ ├── HSVUtil.cs │ │ │ │ └── HSVUtil.cs.meta │ │ ├── LICENSE │ │ ├── LICENSE.meta │ │ ├── Materials.meta │ │ ├── Materials │ │ │ ├── 2000px-Checkerboard_pattern.svg.mat │ │ │ ├── 2000px-Checkerboard_pattern.svg.mat.meta │ │ │ ├── 2000px-Checkerboard_patternUV.svg.mat │ │ │ ├── 2000px-Checkerboard_patternUV.svg.mat.meta │ │ │ ├── BallMaterial.mat │ │ │ ├── BallMaterial.mat.meta │ │ │ ├── PlayerMaterial.mat │ │ │ └── PlayerMaterial.mat.meta │ │ ├── Models.meta │ │ ├── Models │ │ │ ├── Characters.meta │ │ │ └── Characters │ │ │ │ ├── Materials.meta │ │ │ │ ├── Materials │ │ │ │ ├── GunMaterial.mat │ │ │ │ └── GunMaterial.mat.meta │ │ │ │ ├── Player.fbx │ │ │ │ └── Player.fbx.meta │ │ ├── ParticlePainter.cs │ │ ├── ParticlePainter.cs.meta │ │ ├── Plugins.meta │ │ ├── Plugins │ │ │ ├── iOS.meta │ │ │ └── iOS │ │ │ │ ├── UnityARKit.meta │ │ │ │ └── UnityARKit │ │ │ │ ├── AR3DOFCameraManager.cs │ │ │ │ ├── AR3DOFCameraManager.cs.meta │ │ │ │ ├── ARPlaneAnchorGameObject.cs │ │ │ │ ├── ARPlaneAnchorGameObject.cs.meta │ │ │ │ ├── DontDestroyOnLoad.cs │ │ │ │ ├── DontDestroyOnLoad.cs.meta │ │ │ │ ├── Editor.meta │ │ │ │ ├── Editor │ │ │ │ ├── UnityARBuildPostprocessor.cs │ │ │ │ └── UnityARBuildPostprocessor.cs.meta │ │ │ │ ├── Materials.meta │ │ │ │ ├── Materials │ │ │ │ ├── PointCloudMaterial.mat │ │ │ │ ├── PointCloudMaterial.mat.meta │ │ │ │ ├── PointCloudParticleMaterial.mat │ │ │ │ ├── PointCloudParticleMaterial.mat.meta │ │ │ │ ├── XColor.mat │ │ │ │ ├── XColor.mat.meta │ │ │ │ ├── YColor.mat │ │ │ │ ├── YColor.mat.meta │ │ │ │ ├── YUVMaterial.mat │ │ │ │ ├── YUVMaterial.mat.meta │ │ │ │ ├── ZColor.mat │ │ │ │ ├── ZColor.mat.meta │ │ │ │ ├── debugPlaneMaterial.mat │ │ │ │ ├── debugPlaneMaterial.mat.meta │ │ │ │ ├── occlusionPlaneMaterial.mat │ │ │ │ ├── occlusionPlaneMaterial.mat.meta │ │ │ │ ├── shadowPlaneMaterial.mat │ │ │ │ └── shadowPlaneMaterial.mat.meta │ │ │ │ ├── NativeInterface.meta │ │ │ │ ├── NativeInterface │ │ │ │ ├── ARAnchor.cs │ │ │ │ ├── ARAnchor.cs.meta │ │ │ │ ├── ARCamera.cs │ │ │ │ ├── ARCamera.cs.meta │ │ │ │ ├── ARErrorCode.cs │ │ │ │ ├── ARErrorCode.cs.meta │ │ │ │ ├── ARFrame.cs │ │ │ │ ├── ARFrame.cs.meta │ │ │ │ ├── ARHitTestResult.cs │ │ │ │ ├── ARHitTestResult.cs.meta │ │ │ │ ├── ARHitTestResultType.cs │ │ │ │ ├── ARHitTestResultType.cs.meta │ │ │ │ ├── ARLightEstimate.cs │ │ │ │ ├── ARLightEstimate.cs.meta │ │ │ │ ├── ARPlaneAnchor.cs │ │ │ │ ├── ARPlaneAnchor.cs.meta │ │ │ │ ├── ARPlaneAnchorAlignment.cs │ │ │ │ ├── ARPlaneAnchorAlignment.cs.meta │ │ │ │ ├── ARPoint.cs │ │ │ │ ├── ARPoint.cs.meta │ │ │ │ ├── ARRect.cs │ │ │ │ ├── ARRect.cs.meta │ │ │ │ ├── ARSessionNative.mm │ │ │ │ ├── ARSessionNative.mm.meta │ │ │ │ ├── ARSize.cs │ │ │ │ ├── ARSize.cs.meta │ │ │ │ ├── ARTextureHandles.cs │ │ │ │ ├── ARTextureHandles.cs.meta │ │ │ │ ├── ARTrackingQuality.cs │ │ │ │ ├── ARTrackingQuality.cs.meta │ │ │ │ ├── ARTrackingState.cs │ │ │ │ ├── ARTrackingState.cs.meta │ │ │ │ ├── ARTrackingStateReason.cs │ │ │ │ ├── ARTrackingStateReason.cs.meta │ │ │ │ ├── ARUserAnchor.cs │ │ │ │ ├── ARUserAnchor.cs.meta │ │ │ │ ├── UnityARSessionNativeInterface.cs │ │ │ │ └── UnityARSessionNativeInterface.cs.meta │ │ │ │ ├── PointCloudParticleExample.cs │ │ │ │ ├── PointCloudParticleExample.cs.meta │ │ │ │ ├── Prefabs.meta │ │ │ │ ├── Prefabs │ │ │ │ ├── BallPrefab.prefab │ │ │ │ ├── BallPrefab.prefab.meta │ │ │ │ ├── CollSphere.prefab │ │ │ │ ├── CollSphere.prefab.meta │ │ │ │ ├── ParticlePainterPrefab.prefab │ │ │ │ ├── ParticlePainterPrefab.prefab.meta │ │ │ │ ├── ParticlePrefab.prefab │ │ │ │ ├── ParticlePrefab.prefab.meta │ │ │ │ ├── PointCloudPrefab.prefab │ │ │ │ ├── PointCloudPrefab.prefab.meta │ │ │ │ ├── collisionPlanePrefab.prefab │ │ │ │ ├── collisionPlanePrefab.prefab.meta │ │ │ │ ├── debugPlanePrefab.prefab │ │ │ │ ├── debugPlanePrefab.prefab.meta │ │ │ │ ├── occlusionPlanePrefab.prefab │ │ │ │ ├── occlusionPlanePrefab.prefab.meta │ │ │ │ ├── shadowPlanePrefab.prefab │ │ │ │ └── shadowPlanePrefab.prefab.meta │ │ │ │ ├── Shaders.meta │ │ │ │ ├── Shaders │ │ │ │ ├── MobileARShadow.shader │ │ │ │ ├── MobileARShadow.shader.meta │ │ │ │ ├── MobileOcclusion.shader │ │ │ │ ├── MobileOcclusion.shader.meta │ │ │ │ ├── YUVShader.shader │ │ │ │ └── YUVShader.shader.meta │ │ │ │ ├── Textures.meta │ │ │ │ ├── Textures │ │ │ │ ├── debugPlaneTile.png │ │ │ │ └── debugPlaneTile.png.meta │ │ │ │ ├── UnityARCameraManager.cs │ │ │ │ ├── UnityARCameraManager.cs.meta │ │ │ │ ├── UnityARCameraNearFar.cs │ │ │ │ ├── UnityARCameraNearFar.cs.meta │ │ │ │ ├── UnityARGeneratePlane.cs │ │ │ │ ├── UnityARGeneratePlane.cs.meta │ │ │ │ ├── UnityARHitTestExample.cs │ │ │ │ ├── UnityARHitTestExample.cs.meta │ │ │ │ ├── UnityARKitControl.cs │ │ │ │ ├── UnityARKitControl.cs.meta │ │ │ │ ├── UnityARUserAnchorComponent.cs │ │ │ │ ├── UnityARUserAnchorComponent.cs.meta │ │ │ │ ├── UnityARVideo.cs │ │ │ │ ├── UnityARVideo.cs.meta │ │ │ │ ├── UnityPointCloudExample.cs │ │ │ │ ├── UnityPointCloudExample.cs.meta │ │ │ │ ├── Utility.meta │ │ │ │ └── Utility │ │ │ │ ├── UnityARAnchorManager.cs │ │ │ │ ├── UnityARAnchorManager.cs.meta │ │ │ │ ├── UnityARMatrixOps.cs │ │ │ │ ├── UnityARMatrixOps.cs.meta │ │ │ │ ├── UnityARUtility.cs │ │ │ │ └── UnityARUtility.cs.meta │ │ ├── README.md │ │ ├── README.md.meta │ │ ├── SCENES.txt │ │ ├── SCENES.txt.meta │ │ ├── TUTORIAL.txt │ │ ├── TUTORIAL.txt.meta │ │ ├── Textures.meta │ │ ├── Textures │ │ │ ├── PlayerDiffuse.png │ │ │ ├── PlayerDiffuse.png.meta │ │ │ ├── PlayerNormals.png │ │ │ ├── PlayerNormals.png.meta │ │ │ ├── PlayerOcclusion.png │ │ │ ├── PlayerOcclusion.png.meta │ │ │ ├── PlayerSpecular.tif │ │ │ └── PlayerSpecular.tif.meta │ │ ├── UnityARAmbient.cs │ │ ├── UnityARAmbient.cs.meta │ │ ├── UnityARBallz.unity │ │ ├── UnityARBallz.unity.meta │ │ ├── UnityARKitScene.unity │ │ ├── UnityARKitScene.unity.meta │ │ ├── UnityAROcclusion.unity │ │ ├── UnityAROcclusion.unity.meta │ │ ├── UnityARShadows.unity │ │ ├── UnityARShadows.unity.meta │ │ ├── UnityParticlePainter.unity │ │ ├── UnityParticlePainter.unity.meta │ │ ├── checker_large UV.gif │ │ └── checker_large UV.gif.meta │ ├── _Scenes.meta │ └── _Scenes │ │ ├── MainScene.unity │ │ └── MainScene.unity.meta └── ProjectSettings │ ├── AudioManager.asset │ ├── ClusterInputManager.asset │ ├── DynamicsManager.asset │ ├── EditorBuildSettings.asset │ ├── EditorSettings.asset │ ├── GraphicsSettings.asset │ ├── InputManager.asset │ ├── NavMeshAreas.asset │ ├── NetworkManager.asset │ ├── Physics2DSettings.asset │ ├── ProjectSettings.asset │ ├── ProjectVersion.txt │ ├── QualitySettings.asset │ ├── TagManager.asset │ ├── TimeManager.asset │ └── UnityConnectSettings.asset └── readme_img └── example-run.gif /README.md: -------------------------------------------------------------------------------- 1 | # Thinking With Portals 2 | 3 |

4 | 5 |

6 | 7 | This project shows you how to setup basic ARKit portals inside Unity using a combination of Render Textures, Depth Masks, and Layers. 8 | 9 | Software Used: 10 | - Unity 2017.1.1 11 | - Unity ARKit Plugin 1.0.9 12 | - Xcode 9 13 | - iOS 11 14 | 15 | Portal shader from https://github.com/pr0g/unity-portal-rendering -------------------------------------------------------------------------------- /ThinkingWithPortals/.gitignore: -------------------------------------------------------------------------------- 1 | /[Ll]ibrary/ 2 | /[Tt]emp/ 3 | /[Oo]bj/ 4 | /[Bb]uild/ 5 | /[Bb]uilds/ 6 | /Assets/AssetStoreTools* 7 | 8 | # Visual Studio 2015 cache directory 9 | /.vs/ 10 | 11 | # Autogenerated VS/MD/Consulo solution and project files 12 | ExportedObj/ 13 | .consulo/ 14 | *.csproj 15 | *.unityproj 16 | *.sln 17 | *.suo 18 | *.tmp 19 | *.user 20 | *.userprefs 21 | *.pidb 22 | *.booproj 23 | *.svd 24 | *.pdb 25 | 26 | # Unity3D generated meta files 27 | *.pidb.meta 28 | 29 | # Unity3D Generated File On Crash Reports 30 | sysinfo.txt 31 | 32 | # Builds 33 | *.apk 34 | *.unitypackage 35 | 36 | *.DS_Store* 37 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/Materials.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 34504079494e1430588a1a9017a98f27 3 | folderAsset: yes 4 | timeCreated: 1501784062 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/Materials/ARWorld.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_PrefabParentObject: {fileID: 0} 8 | m_PrefabInternal: {fileID: 0} 9 | m_Name: ARWorld 10 | m_Shader: {fileID: 4800000, guid: 41a7d99507b834a9485d3876932cc17b, type: 3} 11 | m_ShaderKeywords: 12 | m_LightmapFlags: 4 13 | m_EnableInstancingVariants: 0 14 | m_DoubleSidedGI: 0 15 | m_CustomRenderQueue: -1 16 | stringTagMap: {} 17 | disabledShaderPasses: [] 18 | m_SavedProperties: 19 | serializedVersion: 3 20 | m_TexEnvs: 21 | - _BumpMap: 22 | m_Texture: {fileID: 0} 23 | m_Scale: {x: 1, y: 1} 24 | m_Offset: {x: 0, y: 0} 25 | - _DetailAlbedoMap: 26 | m_Texture: {fileID: 0} 27 | m_Scale: {x: 1, y: 1} 28 | m_Offset: {x: 0, y: 0} 29 | - _DetailMask: 30 | m_Texture: {fileID: 0} 31 | m_Scale: {x: 1, y: 1} 32 | m_Offset: {x: 0, y: 0} 33 | - _DetailNormalMap: 34 | m_Texture: {fileID: 0} 35 | m_Scale: {x: 1, y: 1} 36 | m_Offset: {x: 0, y: 0} 37 | - _EmissionMap: 38 | m_Texture: {fileID: 0} 39 | m_Scale: {x: 1, y: 1} 40 | m_Offset: {x: 0, y: 0} 41 | - _MainTex: 42 | m_Texture: {fileID: 8400000, guid: 2702da6d0ea194fb390c4a07e05a9557, type: 2} 43 | m_Scale: {x: 1, y: 1} 44 | m_Offset: {x: 0, y: 0} 45 | - _MetallicGlossMap: 46 | m_Texture: {fileID: 0} 47 | m_Scale: {x: 1, y: 1} 48 | m_Offset: {x: 0, y: 0} 49 | - _OcclusionMap: 50 | m_Texture: {fileID: 0} 51 | m_Scale: {x: 1, y: 1} 52 | m_Offset: {x: 0, y: 0} 53 | - _ParallaxMap: 54 | m_Texture: {fileID: 0} 55 | m_Scale: {x: 1, y: 1} 56 | m_Offset: {x: 0, y: 0} 57 | m_Floats: 58 | - _BumpScale: 1 59 | - _Cutoff: 0.5 60 | - _DetailNormalMapScale: 1 61 | - _DstBlend: 0 62 | - _GlossMapScale: 1 63 | - _Glossiness: 0.5 64 | - _GlossyReflections: 1 65 | - _Metallic: 0 66 | - _Mode: 0 67 | - _OcclusionStrength: 1 68 | - _Parallax: 0.02 69 | - _SmoothnessTextureChannel: 0 70 | - _SpecularHighlights: 1 71 | - _SrcBlend: 1 72 | - _UVSec: 0 73 | - _ZWrite: 1 74 | m_Colors: 75 | - _Color: {r: 1, g: 1, b: 1, a: 1} 76 | - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} 77 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/Materials/ARWorld.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 14ac6fa7dce95458a8527ebd2cfdb740 3 | timeCreated: 1501862933 4 | licenseType: Pro 5 | NativeFormatImporter: 6 | mainObjectFileID: 2100000 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/Materials/ARWorldMask.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_PrefabParentObject: {fileID: 0} 8 | m_PrefabInternal: {fileID: 0} 9 | m_Name: ARWorldMask 10 | m_Shader: {fileID: 4800000, guid: 824bad500143c40238d05cae9ff3584d, type: 3} 11 | m_ShaderKeywords: 12 | m_LightmapFlags: 4 13 | m_EnableInstancingVariants: 0 14 | m_DoubleSidedGI: 0 15 | m_CustomRenderQueue: -1 16 | stringTagMap: {} 17 | disabledShaderPasses: [] 18 | m_SavedProperties: 19 | serializedVersion: 3 20 | m_TexEnvs: 21 | - _AlphaTex: 22 | m_Texture: {fileID: 0} 23 | m_Scale: {x: 1, y: 1} 24 | m_Offset: {x: 0, y: 0} 25 | - _BumpMap: 26 | m_Texture: {fileID: 0} 27 | m_Scale: {x: 1, y: 1} 28 | m_Offset: {x: 0, y: 0} 29 | - _DetailAlbedoMap: 30 | m_Texture: {fileID: 0} 31 | m_Scale: {x: 1, y: 1} 32 | m_Offset: {x: 0, y: 0} 33 | - _DetailMask: 34 | m_Texture: {fileID: 0} 35 | m_Scale: {x: 1, y: 1} 36 | m_Offset: {x: 0, y: 0} 37 | - _DetailNormalMap: 38 | m_Texture: {fileID: 0} 39 | m_Scale: {x: 1, y: 1} 40 | m_Offset: {x: 0, y: 0} 41 | - _EmissionMap: 42 | m_Texture: {fileID: 0} 43 | m_Scale: {x: 1, y: 1} 44 | m_Offset: {x: 0, y: 0} 45 | - _MainTex: 46 | m_Texture: {fileID: 0} 47 | m_Scale: {x: 1, y: 1} 48 | m_Offset: {x: 0, y: 0} 49 | - _MetallicGlossMap: 50 | m_Texture: {fileID: 0} 51 | m_Scale: {x: 1, y: 1} 52 | m_Offset: {x: 0, y: 0} 53 | - _OcclusionMap: 54 | m_Texture: {fileID: 0} 55 | m_Scale: {x: 1, y: 1} 56 | m_Offset: {x: 0, y: 0} 57 | - _ParallaxMap: 58 | m_Texture: {fileID: 0} 59 | m_Scale: {x: 1, y: 1} 60 | m_Offset: {x: 0, y: 0} 61 | m_Floats: 62 | - PixelSnap: 0 63 | - _BumpScale: 1 64 | - _Cutoff: 0.5 65 | - _DetailNormalMapScale: 1 66 | - _DstBlend: 0 67 | - _EnableExternalAlpha: 0 68 | - _GlossMapScale: 1 69 | - _Glossiness: 0.5 70 | - _GlossyReflections: 1 71 | - _Metallic: 0 72 | - _Mode: 0 73 | - _OcclusionStrength: 1 74 | - _Parallax: 0.02 75 | - _SmoothnessTextureChannel: 0 76 | - _SpecularHighlights: 1 77 | - _SrcBlend: 1 78 | - _UVSec: 0 79 | - _ZWrite: 1 80 | m_Colors: 81 | - _Color: {r: 1, g: 1, b: 1, a: 1} 82 | - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} 83 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/Materials/ARWorldMask.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 493fdec596f8f4a9894d57798e83e1c1 3 | timeCreated: 1501863144 4 | licenseType: Pro 5 | NativeFormatImporter: 6 | mainObjectFileID: 2100000 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/Materials/Skybox.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 93601c1fd4a1d4e04bb3887c0d42eeb7 3 | folderAsset: yes 4 | timeCreated: 1501867142 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/Materials/Skybox/Bottom.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_PrefabParentObject: {fileID: 0} 8 | m_PrefabInternal: {fileID: 0} 9 | m_Name: Bottom 10 | m_Shader: {fileID: 10752, guid: 0000000000000000f000000000000000, type: 0} 11 | m_ShaderKeywords: 12 | m_LightmapFlags: 4 13 | m_EnableInstancingVariants: 0 14 | m_DoubleSidedGI: 0 15 | m_CustomRenderQueue: -1 16 | stringTagMap: {} 17 | disabledShaderPasses: [] 18 | m_SavedProperties: 19 | serializedVersion: 3 20 | m_TexEnvs: 21 | - _BumpMap: 22 | m_Texture: {fileID: 0} 23 | m_Scale: {x: 1, y: 1} 24 | m_Offset: {x: 0, y: 0} 25 | - _DetailAlbedoMap: 26 | m_Texture: {fileID: 0} 27 | m_Scale: {x: 1, y: 1} 28 | m_Offset: {x: 0, y: 0} 29 | - _DetailMask: 30 | m_Texture: {fileID: 0} 31 | m_Scale: {x: 1, y: 1} 32 | m_Offset: {x: 0, y: 0} 33 | - _DetailNormalMap: 34 | m_Texture: {fileID: 0} 35 | m_Scale: {x: 1, y: 1} 36 | m_Offset: {x: 0, y: 0} 37 | - _EmissionMap: 38 | m_Texture: {fileID: 0} 39 | m_Scale: {x: 1, y: 1} 40 | m_Offset: {x: 0, y: 0} 41 | - _MainTex: 42 | m_Texture: {fileID: 2800000, guid: 001910f7588ef45f7b2b6635a1fea9de, type: 3} 43 | m_Scale: {x: 1, y: 1} 44 | m_Offset: {x: 0, y: 0} 45 | - _MetallicGlossMap: 46 | m_Texture: {fileID: 0} 47 | m_Scale: {x: 1, y: 1} 48 | m_Offset: {x: 0, y: 0} 49 | - _OcclusionMap: 50 | m_Texture: {fileID: 0} 51 | m_Scale: {x: 1, y: 1} 52 | m_Offset: {x: 0, y: 0} 53 | - _ParallaxMap: 54 | m_Texture: {fileID: 0} 55 | m_Scale: {x: 1, y: 1} 56 | m_Offset: {x: 0, y: 0} 57 | m_Floats: 58 | - _BumpScale: 1 59 | - _Cutoff: 0.5 60 | - _DetailNormalMapScale: 1 61 | - _DstBlend: 0 62 | - _GlossMapScale: 1 63 | - _Glossiness: 0.5 64 | - _GlossyReflections: 1 65 | - _Metallic: 0 66 | - _Mode: 0 67 | - _OcclusionStrength: 1 68 | - _Parallax: 0.02 69 | - _SmoothnessTextureChannel: 0 70 | - _SpecularHighlights: 1 71 | - _SrcBlend: 1 72 | - _UVSec: 0 73 | - _ZWrite: 1 74 | m_Colors: 75 | - _Color: {r: 1, g: 1, b: 1, a: 1} 76 | - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} 77 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/Materials/Skybox/Bottom.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 630d5b430818e4d49b653347a6366449 3 | timeCreated: 1501867150 4 | licenseType: Pro 5 | NativeFormatImporter: 6 | mainObjectFileID: 2100000 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/Materials/Skybox/Side.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_PrefabParentObject: {fileID: 0} 8 | m_PrefabInternal: {fileID: 0} 9 | m_Name: Side 10 | m_Shader: {fileID: 10752, guid: 0000000000000000f000000000000000, type: 0} 11 | m_ShaderKeywords: 12 | m_LightmapFlags: 4 13 | m_EnableInstancingVariants: 0 14 | m_DoubleSidedGI: 0 15 | m_CustomRenderQueue: -1 16 | stringTagMap: {} 17 | disabledShaderPasses: [] 18 | m_SavedProperties: 19 | serializedVersion: 3 20 | m_TexEnvs: 21 | - _BumpMap: 22 | m_Texture: {fileID: 0} 23 | m_Scale: {x: 1, y: 1} 24 | m_Offset: {x: 0, y: 0} 25 | - _DetailAlbedoMap: 26 | m_Texture: {fileID: 0} 27 | m_Scale: {x: 1, y: 1} 28 | m_Offset: {x: 0, y: 0} 29 | - _DetailMask: 30 | m_Texture: {fileID: 0} 31 | m_Scale: {x: 1, y: 1} 32 | m_Offset: {x: 0, y: 0} 33 | - _DetailNormalMap: 34 | m_Texture: {fileID: 0} 35 | m_Scale: {x: 1, y: 1} 36 | m_Offset: {x: 0, y: 0} 37 | - _EmissionMap: 38 | m_Texture: {fileID: 0} 39 | m_Scale: {x: 1, y: 1} 40 | m_Offset: {x: 0, y: 0} 41 | - _MainTex: 42 | m_Texture: {fileID: 2800000, guid: 703a3ffd024c044efa57d6624234c9e6, type: 3} 43 | m_Scale: {x: 1, y: 1} 44 | m_Offset: {x: 0, y: 0} 45 | - _MetallicGlossMap: 46 | m_Texture: {fileID: 0} 47 | m_Scale: {x: 1, y: 1} 48 | m_Offset: {x: 0, y: 0} 49 | - _OcclusionMap: 50 | m_Texture: {fileID: 0} 51 | m_Scale: {x: 1, y: 1} 52 | m_Offset: {x: 0, y: 0} 53 | - _ParallaxMap: 54 | m_Texture: {fileID: 0} 55 | m_Scale: {x: 1, y: 1} 56 | m_Offset: {x: 0, y: 0} 57 | m_Floats: 58 | - _BumpScale: 1 59 | - _Cutoff: 0.5 60 | - _DetailNormalMapScale: 1 61 | - _DstBlend: 0 62 | - _GlossMapScale: 1 63 | - _Glossiness: 0.5 64 | - _GlossyReflections: 1 65 | - _Metallic: 0 66 | - _Mode: 0 67 | - _OcclusionStrength: 1 68 | - _Parallax: 0.02 69 | - _SmoothnessTextureChannel: 0 70 | - _SpecularHighlights: 1 71 | - _SrcBlend: 1 72 | - _UVSec: 0 73 | - _ZWrite: 1 74 | m_Colors: 75 | - _Color: {r: 1, g: 1, b: 1, a: 1} 76 | - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} 77 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/Materials/Skybox/Side.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 84830503b52794ef193ceb1e1c3786d3 3 | timeCreated: 1501867150 4 | licenseType: Pro 5 | NativeFormatImporter: 6 | mainObjectFileID: 2100000 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/Materials/Skybox/Top.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_PrefabParentObject: {fileID: 0} 8 | m_PrefabInternal: {fileID: 0} 9 | m_Name: Top 10 | m_Shader: {fileID: 10752, guid: 0000000000000000f000000000000000, type: 0} 11 | m_ShaderKeywords: 12 | m_LightmapFlags: 4 13 | m_EnableInstancingVariants: 0 14 | m_DoubleSidedGI: 0 15 | m_CustomRenderQueue: -1 16 | stringTagMap: {} 17 | disabledShaderPasses: [] 18 | m_SavedProperties: 19 | serializedVersion: 3 20 | m_TexEnvs: 21 | - _BumpMap: 22 | m_Texture: {fileID: 0} 23 | m_Scale: {x: 1, y: 1} 24 | m_Offset: {x: 0, y: 0} 25 | - _DetailAlbedoMap: 26 | m_Texture: {fileID: 0} 27 | m_Scale: {x: 1, y: 1} 28 | m_Offset: {x: 0, y: 0} 29 | - _DetailMask: 30 | m_Texture: {fileID: 0} 31 | m_Scale: {x: 1, y: 1} 32 | m_Offset: {x: 0, y: 0} 33 | - _DetailNormalMap: 34 | m_Texture: {fileID: 0} 35 | m_Scale: {x: 1, y: 1} 36 | m_Offset: {x: 0, y: 0} 37 | - _EmissionMap: 38 | m_Texture: {fileID: 0} 39 | m_Scale: {x: 1, y: 1} 40 | m_Offset: {x: 0, y: 0} 41 | - _MainTex: 42 | m_Texture: {fileID: 2800000, guid: b324beebf66e4413291f4be942dabc2e, type: 3} 43 | m_Scale: {x: 1, y: 1} 44 | m_Offset: {x: 0, y: 0} 45 | - _MetallicGlossMap: 46 | m_Texture: {fileID: 0} 47 | m_Scale: {x: 1, y: 1} 48 | m_Offset: {x: 0, y: 0} 49 | - _OcclusionMap: 50 | m_Texture: {fileID: 0} 51 | m_Scale: {x: 1, y: 1} 52 | m_Offset: {x: 0, y: 0} 53 | - _ParallaxMap: 54 | m_Texture: {fileID: 0} 55 | m_Scale: {x: 1, y: 1} 56 | m_Offset: {x: 0, y: 0} 57 | m_Floats: 58 | - _BumpScale: 1 59 | - _Cutoff: 0.5 60 | - _DetailNormalMapScale: 1 61 | - _DstBlend: 0 62 | - _GlossMapScale: 1 63 | - _Glossiness: 0.5 64 | - _GlossyReflections: 1 65 | - _Metallic: 0 66 | - _Mode: 0 67 | - _OcclusionStrength: 1 68 | - _Parallax: 0.02 69 | - _SmoothnessTextureChannel: 0 70 | - _SpecularHighlights: 1 71 | - _SrcBlend: 1 72 | - _UVSec: 0 73 | - _ZWrite: 1 74 | m_Colors: 75 | - _Color: {r: 1, g: 1, b: 1, a: 1} 76 | - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} 77 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/Materials/Skybox/Top.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c3d328a74099f45ea83cbaf3b5a47377 3 | timeCreated: 1501867150 4 | licenseType: Pro 5 | NativeFormatImporter: 6 | mainObjectFileID: 2100000 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/Prefabs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 998993671ab114f49b4ac91230302aae 3 | folderAsset: yes 4 | timeCreated: 1501776754 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/Prefabs/DetectionPlane.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 470a80f3e1767487eba2c33b2940a8f4 3 | timeCreated: 1492718811 4 | licenseType: Store 5 | NativeFormatImporter: 6 | mainObjectFileID: 100100000 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/Prefabs/Portal.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 59c7a9859314241f0ac2d97e1e87cc45 3 | timeCreated: 1501876742 4 | licenseType: Pro 5 | NativeFormatImporter: 6 | mainObjectFileID: 100100000 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/Scripts.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2e04e755a4ca940a8878f3215b02d900 3 | folderAsset: yes 4 | timeCreated: 1501776749 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/Scripts/Portal.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using System.Collections; 3 | 4 | public class Portal : MonoBehaviour { 5 | 6 | [Header("Cameras")] 7 | public Camera mainCam; 8 | public Camera portalCam; 9 | 10 | void Update () { 11 | 12 | // Move portal camera position based on main camera distance from the portal. 13 | Vector3 cameraOffset = mainCam.transform.position - transform.position; 14 | portalCam.transform.position = transform.position + cameraOffset; 15 | 16 | // Make portal cam face the same direction as the main camera. 17 | portalCam.transform.rotation = Quaternion.LookRotation(mainCam.transform.forward, Vector3.up); 18 | } 19 | 20 | void OnTriggerEnter (Collider other) { 21 | if (other.CompareTag ("MainCamera")) { 22 | 23 | // Use xor operator to toggle the ARWorld layer in the mainCam's culling mask. 24 | mainCam.cullingMask ^= 1 << LayerMask.NameToLayer("ARWorld"); 25 | 26 | } 27 | } 28 | } -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/Scripts/Portal.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 533e2b7ad215b48aeab5a3df1ec68333 3 | timeCreated: 1501783888 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/Shaders.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: aec96e17bcbde4525816c633e0803bce 3 | folderAsset: yes 4 | timeCreated: 1501784364 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/Shaders/DepthMask.shader: -------------------------------------------------------------------------------- 1 | Shader "Custom/DepthMask" { 2 | 3 | SubShader { 4 | // Render the mask after regular geometry, but before masked geometry and 5 | // transparent things. 6 | 7 | Tags {"Queue" = "Geometry-1" } 8 | 9 | // Don't draw in the RGBA channels; just the depth buffer 10 | 11 | ColorMask 0 12 | ZWrite On 13 | 14 | // Do nothing specific in the pass: 15 | 16 | Pass {} 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/Shaders/DepthMask.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 824bad500143c40238d05cae9ff3584d 3 | timeCreated: 1501863790 4 | licenseType: Pro 5 | ShaderImporter: 6 | defaultTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/Shaders/PortalShader.shader: -------------------------------------------------------------------------------- 1 | // Upgrade NOTE: replaced 'mul(UNITY_MATRIX_MVP,*)' with 'UnityObjectToClipPos(*)' 2 | 3 | Shader "Custom/PortalShader" { 4 | Properties { 5 | _MainTex ("Base (RGB)", 2D) = "white" {} 6 | } 7 | SubShader { 8 | Pass { 9 | CGPROGRAM 10 | 11 | #pragma target 3.0 12 | #pragma vertex vert 13 | #pragma fragment frag 14 | 15 | #include "UnityCG.cginc" 16 | 17 | uniform sampler2D _MainTex; 18 | 19 | struct v2f { 20 | float4 pos : SV_POSITION; 21 | float4 pos_frag : TEXCOORD0; 22 | }; 23 | 24 | v2f vert(appdata_base v) { 25 | v2f o; 26 | float4 clipSpacePosition = UnityObjectToClipPos(v.vertex); 27 | o.pos = clipSpacePosition; 28 | // Copy of clip space position for fragment shader 29 | o.pos_frag = clipSpacePosition; 30 | return o; 31 | } 32 | 33 | half4 frag(v2f i) : SV_Target { 34 | // Perspective divide (Translate to NDC - (-1, 1)) 35 | float2 uv = i.pos_frag.xy / i.pos_frag.w; 36 | // Map -1, 1 range to 0, 1 tex coord range 37 | uv = (uv + float2(1.0, 1.0)) * 0.5; 38 | return tex2D(_MainTex, uv); 39 | } 40 | ENDCG 41 | } 42 | } 43 | } -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/Shaders/PortalShader.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 41a7d99507b834a9485d3876932cc17b 3 | timeCreated: 1501862958 4 | licenseType: Pro 5 | ShaderImporter: 6 | defaultTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/Textures.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 67f83c4e5a5604b3aaa00974a4596e00 3 | folderAsset: yes 4 | timeCreated: 1501784056 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/Textures/ARWorld.renderTexture: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!84 &8400000 4 | RenderTexture: 5 | m_ObjectHideFlags: 0 6 | m_PrefabParentObject: {fileID: 0} 7 | m_PrefabInternal: {fileID: 0} 8 | m_Name: ARWorld 9 | m_ImageContentsHash: 10 | serializedVersion: 2 11 | Hash: 00000000000000000000000000000000 12 | m_Width: 1028 13 | m_Height: 2048 14 | m_AntiAliasing: 1 15 | m_DepthFormat: 2 16 | m_ColorFormat: 0 17 | m_MipMap: 0 18 | m_GenerateMips: 1 19 | m_SRGB: 0 20 | m_TextureSettings: 21 | serializedVersion: 2 22 | m_FilterMode: 1 23 | m_Aniso: 0 24 | m_MipBias: 0 25 | m_WrapU: 1 26 | m_WrapV: 1 27 | m_WrapW: 1 28 | m_Dimension: 2 29 | m_VolumeDepth: 1 30 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/Textures/ARWorld.renderTexture.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2702da6d0ea194fb390c4a07e05a9557 3 | timeCreated: 1501862888 4 | licenseType: Pro 5 | NativeFormatImporter: 6 | mainObjectFileID: 8400000 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/Textures/simple-gradient-skybox.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 208301996874246f18965bf7fc3f050d 3 | folderAsset: yes 4 | timeCreated: 1501866897 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/Textures/simple-gradient-skybox/simplegradient_bottom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/craigkj312/unity-arkit-portal/4028290aacd52e4e84cab78f515ca57c5a84ec66/ThinkingWithPortals/Assets/Textures/simple-gradient-skybox/simplegradient_bottom.png -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/Textures/simple-gradient-skybox/simplegradient_side.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/craigkj312/unity-arkit-portal/4028290aacd52e4e84cab78f515ca57c5a84ec66/ThinkingWithPortals/Assets/Textures/simple-gradient-skybox/simplegradient_side.png -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/Textures/simple-gradient-skybox/simplegradient_top.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/craigkj312/unity-arkit-portal/4028290aacd52e4e84cab78f515ca57c5a84ec66/ThinkingWithPortals/Assets/Textures/simple-gradient-skybox/simplegradient_top.png -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: df38125cf15df453a98ce2d798a5e954 3 | folderAsset: yes 4 | timeCreated: 1501101795 5 | licenseType: Store 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/ARKitRemote.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4d1259656ef6245079ba6548af0ab42e 3 | folderAsset: yes 4 | timeCreated: 1498669549 5 | licenseType: Store 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/ARKitRemote/ARKITREMOTE.txt.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e70a61590ae124a8194c71c31e1af531 3 | timeCreated: 1500609185 4 | licenseType: Store 5 | TextScriptImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/ARKitRemote/ARKitRemoteConnection.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 004464ca939eb4ec1a1b492fb8ebfd12 3 | timeCreated: 1500571041 4 | licenseType: Store 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/ARKitRemote/ARKitRemoteConnection.prefab: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!1001 &100100000 4 | Prefab: 5 | m_ObjectHideFlags: 1 6 | serializedVersion: 2 7 | m_Modification: 8 | m_TransformParent: {fileID: 0} 9 | m_Modifications: [] 10 | m_RemovedComponents: [] 11 | m_ParentPrefab: {fileID: 0} 12 | m_RootGameObject: {fileID: 1214069642587422} 13 | m_IsPrefabParent: 1 14 | --- !u!1 &1214069642587422 15 | GameObject: 16 | m_ObjectHideFlags: 0 17 | m_PrefabParentObject: {fileID: 0} 18 | m_PrefabInternal: {fileID: 100100000} 19 | serializedVersion: 5 20 | m_Component: 21 | - component: {fileID: 4661046637869644} 22 | - component: {fileID: 114217095398060286} 23 | m_Layer: 0 24 | m_Name: ARKitRemoteConnection 25 | m_TagString: Untagged 26 | m_Icon: {fileID: 0} 27 | m_NavMeshLayer: 0 28 | m_StaticEditorFlags: 0 29 | m_IsActive: 1 30 | --- !u!4 &4661046637869644 31 | Transform: 32 | m_ObjectHideFlags: 1 33 | m_PrefabParentObject: {fileID: 0} 34 | m_PrefabInternal: {fileID: 100100000} 35 | m_GameObject: {fileID: 1214069642587422} 36 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 37 | m_LocalPosition: {x: 0, y: 0, z: 1} 38 | m_LocalScale: {x: 1, y: 1, z: 1} 39 | m_Children: [] 40 | m_Father: {fileID: 0} 41 | m_RootOrder: 0 42 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 43 | --- !u!114 &114217095398060286 44 | MonoBehaviour: 45 | m_ObjectHideFlags: 1 46 | m_PrefabParentObject: {fileID: 0} 47 | m_PrefabInternal: {fileID: 100100000} 48 | m_GameObject: {fileID: 1214069642587422} 49 | m_Enabled: 1 50 | m_EditorHideFlags: 0 51 | m_Script: {fileID: 11500000, guid: 004464ca939eb4ec1a1b492fb8ebfd12, type: 3} 52 | m_Name: 53 | m_EditorClassIdentifier: 54 | startAlignment: 0 55 | planeDetection: 1 56 | getPointCloud: 1 57 | enableLightEstimation: 1 58 | resetTracking: 1 59 | removeExistingAnchors: 1 60 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/ARKitRemote/ARKitRemoteConnection.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8ce7d6271a01a4274a00066492aed04a 3 | timeCreated: 1500571318 4 | licenseType: Store 5 | NativeFormatImporter: 6 | mainObjectFileID: 100100000 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/ARKitRemote/ConnectToEditor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4b70a2d547e0544c983e2dec3bf61d46 3 | timeCreated: 1497387236 4 | licenseType: Store 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/ARKitRemote/ConnectionMessageIds.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace UnityEngine.XR.iOS 4 | { 5 | public static class ConnectionMessageIds 6 | { 7 | public static Guid fromEditorARKitSessionMsgId { get { return new Guid("523bb5dd-163b-4e5b-9271-d18a50e8897e"); } } 8 | public static Guid updateCameraFrameMsgId { get { return new Guid("6d8c39bf-279a-46cf-91f4-9827a44443af"); } } 9 | public static Guid addPlaneAnchorMsgeId { get { return new Guid("a435cdb9-fa85-4d3c-9d3f-57fa85f62da3"); } } 10 | public static Guid updatePlaneAnchorMsgeId { get { return new Guid("84d5ad8d-e7f9-432c-ae5d-40717790a12f"); } } 11 | public static Guid removePlaneAnchorMsgeId { get { return new Guid("b07750a2-8825-4e86-9483-0b22b07df800"); } } 12 | public static Guid screenCaptureYMsgId { get { return new Guid("25c3d26f-72c5-4f3e-9a1f-c8c9b859453b"); } } 13 | public static Guid screenCaptureUVMsgId { get { return new Guid("d7f4d3cd-2d12-4ab7-b755-932fe7ab744d"); } } 14 | }; 15 | 16 | public static class SubMessageIds 17 | { 18 | public static Guid editorInitARKit { get { return new Guid("2e5d7c45-daef-474d-bf55-1f02f0a10b69"); } } 19 | }; 20 | } -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/ARKitRemote/ConnectionMessageIds.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a8aba40a0fa3e49b4a51b657765f5bf6 3 | timeCreated: 1498693329 4 | licenseType: Store 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/ARKitRemote/EditorHitTest.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | 5 | namespace UnityEngine.XR.iOS 6 | { 7 | 8 | public class EditorHitTest : MonoBehaviour { 9 | 10 | public Transform m_HitTransform; 11 | public float maxRayDistance = 30.0f; 12 | public LayerMask collisionLayerMask; 13 | 14 | #if UNITY_EDITOR //we will only use this script on the editor side, though there is nothing that would prevent it from working on device 15 | void Update () { 16 | if (Input.GetMouseButtonDown (0)) { 17 | Ray ray = Camera.main.ScreenPointToRay (Input.mousePosition); 18 | RaycastHit hit; 19 | 20 | //we'll try to hit one of the plane collider gameobjects that were generated by the plugin 21 | //effectively similar to calling HitTest with ARHitTestResultType.ARHitTestResultTypeExistingPlaneUsingExtent 22 | if (Physics.Raycast (ray, out hit, maxRayDistance, collisionLayerMask)) { 23 | //we're going to get the position from the contact point 24 | m_HitTransform.position = hit.point; 25 | Debug.Log (string.Format ("x:{0:0.######} y:{1:0.######} z:{2:0.######}", m_HitTransform.position.x, m_HitTransform.position.y, m_HitTransform.position.z)); 26 | 27 | //and the rotation from the transform of the plane collider 28 | m_HitTransform.rotation = hit.transform.rotation; 29 | } 30 | } 31 | } 32 | #endif 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/ARKitRemote/EditorHitTest.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6e5621b71c5c74d94ac88603287035e2 3 | timeCreated: 1504320319 4 | licenseType: Store 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/ARKitRemote/EditorTestScene.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e1efc0006a07a4fc8ab373ea6249a832 3 | timeCreated: 1497484703 4 | licenseType: Store 5 | DefaultImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/ARKitRemote/ObjectSerializationExtension.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using System.Collections; 3 | using System.Runtime.Serialization.Formatters.Binary; 4 | using System.IO; 5 | 6 | namespace Utils 7 | { 8 | //Extension class to provide serialize / deserialize methods to object. 9 | //src: http://stackoverflow.com/questions/1446547/how-to-convert-an-object-to-a-byte-array-in-c-sharp 10 | //NOTE: You need add [Serializable] attribute in your class to enable serialization 11 | public static class ObjectSerializationExtension 12 | { 13 | 14 | public static byte[] SerializeToByteArray(this object obj) 15 | { 16 | if (obj == null) 17 | { 18 | return null; 19 | } 20 | var bf = new BinaryFormatter(); 21 | using (var ms = new MemoryStream()) 22 | { 23 | bf.Serialize(ms, obj); 24 | return ms.ToArray(); 25 | } 26 | } 27 | 28 | public static T Deserialize(this byte[] byteArray) where T : class 29 | { 30 | if (byteArray == null) 31 | { 32 | return null; 33 | } 34 | using (var memStream = new MemoryStream()) 35 | { 36 | var binForm = new BinaryFormatter(); 37 | memStream.Write(byteArray, 0, byteArray.Length); 38 | memStream.Seek(0, SeekOrigin.Begin); 39 | var obj = (T)binForm.Deserialize(memStream); 40 | return obj; 41 | } 42 | } 43 | } 44 | } -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/ARKitRemote/ObjectSerializationExtension.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 93eca58af117741f3be69b00a1cc4077 3 | timeCreated: 1498702127 4 | licenseType: Store 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/ARKitRemote/SerializableObjects.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 80135f02c883b43c582626d2cd4d0190 3 | timeCreated: 1498702704 4 | licenseType: Store 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/ARKitRemote/UnityARKitRemote.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3ed73c0c9d4b76a418a0541c0cefd3ac 3 | timeCreated: 1498647556 4 | licenseType: Store 5 | DefaultImporter: 6 | externalObjects: {} 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/ARKitRemote/UnityRemoteVideo.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: cdf0c6a69131b44f5bdb35de994fcea1 3 | timeCreated: 1499380179 4 | licenseType: Store 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Examples.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a143135f16d634fa9ba945abac98f63c 3 | folderAsset: yes 4 | timeCreated: 1496972798 5 | licenseType: Store 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Examples/AddRemoveAnchorExample.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0a88daffac7ad42debbc62feb726fe89 3 | folderAsset: yes 4 | timeCreated: 1499364808 5 | licenseType: Store 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Examples/AddRemoveAnchorExample/AddRemoveAnchorScene.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c59061d8b0a364aa58f20007a956f23a 3 | timeCreated: 1499365892 4 | licenseType: Store 5 | DefaultImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Examples/AddRemoveAnchorExample/RandomCube.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2c5f8d679f3e64a40a967471f4fa7030 3 | timeCreated: 1499371804 4 | licenseType: Store 5 | NativeFormatImporter: 6 | mainObjectFileID: 100100000 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Examples/AddRemoveAnchorExample/UnityARUserAnchorExample.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections; 3 | using System.Collections.Generic; 4 | using System.Runtime.InteropServices; 5 | using UnityEngine; 6 | using UnityEngine.XR.iOS; 7 | 8 | /** 9 | This Class will place a game object with an UnityARUserAnchorComponent attached to it. 10 | It will then call the RemoveAnchor API after 5 seconds. This scipt will subscribe to the 11 | AnchorRemoved event and remove the game object from the scene. 12 | */ 13 | public class UnityARUserAnchorExample : MonoBehaviour { 14 | 15 | 16 | public GameObject prefabObject; 17 | // Distance in Meters 18 | public int distanceFromCamera = 1; 19 | private HashSet m_Clones; 20 | 21 | 22 | private float m_TimeUntilRemove = 5.0f; 23 | 24 | void Awake() { 25 | UnityARSessionNativeInterface.ARUserAnchorAddedEvent += ExampleAddAnchor; 26 | UnityARSessionNativeInterface.ARUserAnchorRemovedEvent += AnchorRemoved; 27 | m_Clones = new HashSet(); 28 | } 29 | 30 | public void ExampleAddAnchor(ARUserAnchor anchor) 31 | { 32 | if (m_Clones.Contains(anchor.identifier)) 33 | { 34 | Console.WriteLine("Our anchor was added!"); 35 | } 36 | } 37 | 38 | public void AnchorRemoved(ARUserAnchor anchor) 39 | { 40 | if (m_Clones.Contains(anchor.identifier)) 41 | { 42 | m_Clones.Remove(anchor.identifier); 43 | Console.WriteLine("AnchorRemovedExample: " + anchor.identifier); 44 | } 45 | } 46 | 47 | // Update is called once per frame 48 | void Update () { 49 | if (Input.touchCount > 0 && Input.GetTouch(0).phase == TouchPhase.Began) 50 | { 51 | GameObject clone = Instantiate(prefabObject, Camera.main.transform.position + (this.distanceFromCamera * Camera.main.transform.forward), Quaternion.identity); 52 | UnityARUserAnchorComponent component = clone.GetComponent(); 53 | m_Clones.Add(component.AnchorId); 54 | m_TimeUntilRemove = 4.0f; 55 | } 56 | 57 | // just remove anchors afte a certain amount of time for example's sake. 58 | m_TimeUntilRemove -= Time.deltaTime; 59 | if (m_TimeUntilRemove <= 0.0f) 60 | { 61 | foreach (string id in m_Clones) 62 | { 63 | Console.WriteLine("Removing anchor with id: " + id); 64 | UnityARSessionNativeInterface.GetARSessionNativeInterface().RemoveUserAnchor(id); 65 | break; 66 | } 67 | m_TimeUntilRemove = 4.0f; 68 | } 69 | } 70 | } 71 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Examples/AddRemoveAnchorExample/UnityARUserAnchorExample.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 677b99d7d687d4052a5c5e8006696910 3 | timeCreated: 1499374237 4 | licenseType: Store 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Examples/BallMaker.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | using UnityEngine.XR.iOS; 5 | 6 | public class BallMaker : MonoBehaviour { 7 | 8 | public GameObject ballPrefab; 9 | public float createHeight; 10 | private MaterialPropertyBlock props; 11 | 12 | // Use this for initialization 13 | void Start () { 14 | props = new MaterialPropertyBlock (); 15 | 16 | } 17 | 18 | void CreateBall(Vector3 atPosition) 19 | { 20 | GameObject ballGO = Instantiate (ballPrefab, atPosition, Quaternion.identity); 21 | 22 | 23 | float r = Random.Range(0.0f, 1.0f); 24 | float g = Random.Range(0.0f, 1.0f); 25 | float b = Random.Range(0.0f, 1.0f); 26 | 27 | props.SetColor("_InstanceColor", new Color(r, g, b)); 28 | 29 | MeshRenderer renderer = ballGO.GetComponent(); 30 | renderer.SetPropertyBlock(props); 31 | 32 | } 33 | 34 | // Update is called once per frame 35 | void Update () { 36 | if (Input.touchCount > 0 ) 37 | { 38 | var touch = Input.GetTouch(0); 39 | if (touch.phase == TouchPhase.Began) 40 | { 41 | var screenPosition = Camera.main.ScreenToViewportPoint(touch.position); 42 | ARPoint point = new ARPoint { 43 | x = screenPosition.x, 44 | y = screenPosition.y 45 | }; 46 | 47 | List hitResults = UnityARSessionNativeInterface.GetARSessionNativeInterface ().HitTest (point, 48 | ARHitTestResultType.ARHitTestResultTypeExistingPlaneUsingExtent); 49 | if (hitResults.Count > 0) { 50 | foreach (var hitResult in hitResults) { 51 | Vector3 position = UnityARMatrixOps.GetPosition (hitResult.worldTransform); 52 | CreateBall (new Vector3 (position.x, position.y + createHeight, position.z)); 53 | break; 54 | } 55 | } 56 | 57 | } 58 | } 59 | 60 | } 61 | 62 | } 63 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Examples/BallMaker.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e8d14a82591ec4fcabb481f075ffeb53 3 | timeCreated: 1496972819 4 | licenseType: Store 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Examples/BallMover.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | using UnityEngine.XR.iOS; 5 | 6 | public class BallMover : MonoBehaviour { 7 | 8 | public GameObject collBallPrefab; 9 | private GameObject collBallGO; 10 | 11 | // Use this for initialization 12 | void Start () { 13 | 14 | } 15 | 16 | void CreateMoveBall( Vector3 explodePosition) 17 | { 18 | collBallGO = Instantiate (collBallPrefab, explodePosition, Quaternion.identity); 19 | } 20 | 21 | // Update is called once per frame 22 | void Update () { 23 | if (Input.touchCount > 0 ) 24 | { 25 | var touch = Input.GetTouch(0); 26 | if (touch.phase == TouchPhase.Began) { 27 | var screenPosition = Camera.main.ScreenToViewportPoint (touch.position); 28 | ARPoint point = new ARPoint { 29 | x = screenPosition.x, 30 | y = screenPosition.y 31 | }; 32 | 33 | List hitResults = UnityARSessionNativeInterface.GetARSessionNativeInterface ().HitTest (point, 34 | ARHitTestResultType.ARHitTestResultTypeExistingPlaneUsingExtent); 35 | if (hitResults.Count > 0) { 36 | foreach (var hitResult in hitResults) { 37 | Vector3 position = UnityARMatrixOps.GetPosition (hitResult.worldTransform); 38 | CreateMoveBall (position); 39 | break; 40 | } 41 | } 42 | 43 | } else if (touch.phase == TouchPhase.Moved && collBallGO != null) { 44 | var screenPosition = Camera.main.ScreenToViewportPoint (touch.position); 45 | ARPoint point = new ARPoint { 46 | x = screenPosition.x, 47 | y = screenPosition.y 48 | }; 49 | 50 | List hitResults = UnityARSessionNativeInterface.GetARSessionNativeInterface ().HitTest (point, 51 | ARHitTestResultType.ARHitTestResultTypeExistingPlaneUsingExtent); 52 | if (hitResults.Count > 0) { 53 | foreach (var hitResult in hitResults) { 54 | Vector3 position = UnityARMatrixOps.GetPosition (hitResult.worldTransform); 55 | collBallGO.transform.position = Vector3.MoveTowards (collBallGO.transform.position, position, 0.05f); 56 | break; 57 | } 58 | } 59 | } else if (touch.phase != TouchPhase.Stationary) { //ended or cancelled 60 | Destroy(collBallGO); 61 | collBallGO = null; 62 | 63 | } 64 | } 65 | 66 | } 67 | } 68 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Examples/BallMover.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d7f6cc13442cf445295719af5da92de8 3 | timeCreated: 1496974880 4 | licenseType: Store 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Examples/Ballz.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | 5 | public class Ballz : MonoBehaviour { 6 | 7 | public float yDistanceThreshold; 8 | 9 | private float startingY; 10 | 11 | // Use this for initialization 12 | void Start () { 13 | startingY = transform.position.y; 14 | } 15 | 16 | // Update is called once per frame 17 | void Update () { 18 | 19 | if (Mathf.Abs (startingY - transform.position.y) > yDistanceThreshold) { 20 | Destroy (gameObject); 21 | } 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Examples/Ballz.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2a2b4127da4fa4302b8db592636b3d55 3 | timeCreated: 1496967378 4 | licenseType: Store 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Examples/FocusSquare.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: af68919dbd7264d6584857ed14b907e6 3 | folderAsset: yes 4 | timeCreated: 1504390677 5 | licenseType: Store 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Examples/FocusSquare/FocusSquare.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 534fd29b1b9f645a28cf2f3deeaeda50 3 | timeCreated: 1504390678 4 | licenseType: Store 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Examples/FocusSquare/FocusSquareFinding.controller: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!91 &9100000 4 | AnimatorController: 5 | m_ObjectHideFlags: 0 6 | m_PrefabParentObject: {fileID: 0} 7 | m_PrefabInternal: {fileID: 0} 8 | m_Name: FocusSquareFinding 9 | serializedVersion: 5 10 | m_AnimatorParameters: [] 11 | m_AnimatorLayers: 12 | - serializedVersion: 5 13 | m_Name: Base Layer 14 | m_StateMachine: {fileID: 1107000555576970242} 15 | m_Mask: {fileID: 0} 16 | m_Motions: [] 17 | m_Behaviours: [] 18 | m_BlendingMode: 0 19 | m_SyncedLayerIndex: -1 20 | m_DefaultWeight: 0 21 | m_IKPass: 0 22 | m_SyncedLayerAffectsTiming: 0 23 | m_Controller: {fileID: 9100000} 24 | --- !u!1102 &1102417429920230580 25 | AnimatorState: 26 | serializedVersion: 5 27 | m_ObjectHideFlags: 1 28 | m_PrefabParentObject: {fileID: 0} 29 | m_PrefabInternal: {fileID: 0} 30 | m_Name: focuspulse 31 | m_Speed: 1 32 | m_CycleOffset: 0 33 | m_Transitions: [] 34 | m_StateMachineBehaviours: [] 35 | m_Position: {x: 50, y: 50, z: 0} 36 | m_IKOnFeet: 0 37 | m_WriteDefaultValues: 1 38 | m_Mirror: 0 39 | m_SpeedParameterActive: 0 40 | m_MirrorParameterActive: 0 41 | m_CycleOffsetParameterActive: 0 42 | m_Motion: {fileID: 7400000, guid: 30f10be4bda0f4d1bb27b0f1ef492dcc, type: 2} 43 | m_Tag: 44 | m_SpeedParameter: 45 | m_MirrorParameter: 46 | m_CycleOffsetParameter: 47 | --- !u!1107 &1107000555576970242 48 | AnimatorStateMachine: 49 | serializedVersion: 5 50 | m_ObjectHideFlags: 1 51 | m_PrefabParentObject: {fileID: 0} 52 | m_PrefabInternal: {fileID: 0} 53 | m_Name: Base Layer 54 | m_ChildStates: 55 | - serializedVersion: 1 56 | m_State: {fileID: 1102417429920230580} 57 | m_Position: {x: 200, y: 0, z: 0} 58 | m_ChildStateMachines: [] 59 | m_AnyStateTransitions: [] 60 | m_EntryTransitions: [] 61 | m_StateMachineTransitions: {} 62 | m_StateMachineBehaviours: [] 63 | m_AnyStatePosition: {x: 50, y: 20, z: 0} 64 | m_EntryPosition: {x: 50, y: 120, z: 0} 65 | m_ExitPosition: {x: 800, y: 120, z: 0} 66 | m_ParentStateMachinePosition: {x: 800, y: 20, z: 0} 67 | m_DefaultState: {fileID: 1102417429920230580} 68 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Examples/FocusSquare/FocusSquareFinding.controller.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: cca9b37da3e7e458fba02babd2ee71b9 3 | timeCreated: 1504634087 4 | licenseType: Store 5 | NativeFormatImporter: 6 | mainObjectFileID: 9100000 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Examples/FocusSquare/FocusSquareFinding.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_PrefabParentObject: {fileID: 0} 8 | m_PrefabInternal: {fileID: 0} 9 | m_Name: FocusSquareFinding 10 | m_Shader: {fileID: 10720, guid: 0000000000000000f000000000000000, type: 0} 11 | m_ShaderKeywords: 12 | m_LightmapFlags: 4 13 | m_EnableInstancingVariants: 0 14 | m_DoubleSidedGI: 0 15 | m_CustomRenderQueue: -1 16 | stringTagMap: {} 17 | disabledShaderPasses: [] 18 | m_SavedProperties: 19 | serializedVersion: 3 20 | m_TexEnvs: 21 | - _BumpMap: 22 | m_Texture: {fileID: 0} 23 | m_Scale: {x: 1, y: 1} 24 | m_Offset: {x: 0, y: 0} 25 | - _DetailAlbedoMap: 26 | m_Texture: {fileID: 0} 27 | m_Scale: {x: 1, y: 1} 28 | m_Offset: {x: 0, y: 0} 29 | - _DetailMask: 30 | m_Texture: {fileID: 0} 31 | m_Scale: {x: 1, y: 1} 32 | m_Offset: {x: 0, y: 0} 33 | - _DetailNormalMap: 34 | m_Texture: {fileID: 0} 35 | m_Scale: {x: 1, y: 1} 36 | m_Offset: {x: 0, y: 0} 37 | - _EmissionMap: 38 | m_Texture: {fileID: 0} 39 | m_Scale: {x: 1, y: 1} 40 | m_Offset: {x: 0, y: 0} 41 | - _MainTex: 42 | m_Texture: {fileID: 2800000, guid: 6f12b022b96934e8496f32281cfe574c, type: 3} 43 | m_Scale: {x: 1, y: 1} 44 | m_Offset: {x: 0, y: 0} 45 | - _MetallicGlossMap: 46 | m_Texture: {fileID: 0} 47 | m_Scale: {x: 1, y: 1} 48 | m_Offset: {x: 0, y: 0} 49 | - _OcclusionMap: 50 | m_Texture: {fileID: 0} 51 | m_Scale: {x: 1, y: 1} 52 | m_Offset: {x: 0, y: 0} 53 | - _ParallaxMap: 54 | m_Texture: {fileID: 0} 55 | m_Scale: {x: 1, y: 1} 56 | m_Offset: {x: 0, y: 0} 57 | m_Floats: 58 | - _BumpScale: 1 59 | - _Cutoff: 0.5 60 | - _DetailNormalMapScale: 1 61 | - _DstBlend: 0 62 | - _GlossMapScale: 1 63 | - _Glossiness: 0.5 64 | - _GlossyReflections: 1 65 | - _Metallic: 0 66 | - _Mode: 0 67 | - _OcclusionStrength: 1 68 | - _Parallax: 0.02 69 | - _SmoothnessTextureChannel: 0 70 | - _SpecularHighlights: 1 71 | - _SrcBlend: 1 72 | - _UVSec: 0 73 | - _ZWrite: 1 74 | m_Colors: 75 | - _Color: {r: 1, g: 1, b: 1, a: 1} 76 | - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} 77 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Examples/FocusSquare/FocusSquareFinding.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: bdec2f90bd7304fd7859a64780a6947e 3 | timeCreated: 1504393627 4 | licenseType: Store 5 | NativeFormatImporter: 6 | mainObjectFileID: 0 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Examples/FocusSquare/FocusSquareFinding.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 455b404c52d7d4188bf02f3682baa204 3 | timeCreated: 1504390680 4 | licenseType: Store 5 | NativeFormatImporter: 6 | mainObjectFileID: 0 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Examples/FocusSquare/FocusSquareFocused.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ad2f8ea2bac7e4117ad509404bab9f73 3 | timeCreated: 1504390680 4 | licenseType: Store 5 | NativeFormatImporter: 6 | mainObjectFileID: 0 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Examples/FocusSquare/FocusSquareFound.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_PrefabParentObject: {fileID: 0} 8 | m_PrefabInternal: {fileID: 0} 9 | m_Name: FocusSquareFound 10 | m_Shader: {fileID: 10720, guid: 0000000000000000f000000000000000, type: 0} 11 | m_ShaderKeywords: 12 | m_LightmapFlags: 4 13 | m_EnableInstancingVariants: 0 14 | m_DoubleSidedGI: 0 15 | m_CustomRenderQueue: -1 16 | stringTagMap: {} 17 | disabledShaderPasses: [] 18 | m_SavedProperties: 19 | serializedVersion: 3 20 | m_TexEnvs: 21 | - _BumpMap: 22 | m_Texture: {fileID: 0} 23 | m_Scale: {x: 1, y: 1} 24 | m_Offset: {x: 0, y: 0} 25 | - _DetailAlbedoMap: 26 | m_Texture: {fileID: 0} 27 | m_Scale: {x: 1, y: 1} 28 | m_Offset: {x: 0, y: 0} 29 | - _DetailMask: 30 | m_Texture: {fileID: 0} 31 | m_Scale: {x: 1, y: 1} 32 | m_Offset: {x: 0, y: 0} 33 | - _DetailNormalMap: 34 | m_Texture: {fileID: 0} 35 | m_Scale: {x: 1, y: 1} 36 | m_Offset: {x: 0, y: 0} 37 | - _EmissionMap: 38 | m_Texture: {fileID: 0} 39 | m_Scale: {x: 1, y: 1} 40 | m_Offset: {x: 0, y: 0} 41 | - _MainTex: 42 | m_Texture: {fileID: 2800000, guid: 4e0e8b7bcde33420a8c2731e0f3fbd57, type: 3} 43 | m_Scale: {x: 1, y: 1} 44 | m_Offset: {x: 0, y: 0} 45 | - _MetallicGlossMap: 46 | m_Texture: {fileID: 0} 47 | m_Scale: {x: 1, y: 1} 48 | m_Offset: {x: 0, y: 0} 49 | - _OcclusionMap: 50 | m_Texture: {fileID: 0} 51 | m_Scale: {x: 1, y: 1} 52 | m_Offset: {x: 0, y: 0} 53 | - _ParallaxMap: 54 | m_Texture: {fileID: 0} 55 | m_Scale: {x: 1, y: 1} 56 | m_Offset: {x: 0, y: 0} 57 | m_Floats: 58 | - _BumpScale: 1 59 | - _Cutoff: 0.5 60 | - _DetailNormalMapScale: 1 61 | - _DstBlend: 0 62 | - _GlossMapScale: 1 63 | - _Glossiness: 0.5 64 | - _GlossyReflections: 1 65 | - _Metallic: 0 66 | - _Mode: 0 67 | - _OcclusionStrength: 1 68 | - _Parallax: 0.02 69 | - _SmoothnessTextureChannel: 0 70 | - _SpecularHighlights: 1 71 | - _SrcBlend: 1 72 | - _UVSec: 0 73 | - _ZWrite: 1 74 | m_Colors: 75 | - _Color: {r: 1, g: 1, b: 1, a: 1} 76 | - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} 77 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Examples/FocusSquare/FocusSquareFound.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5dc9e0ae01c204ce7b7517c8d59713e6 3 | timeCreated: 1504393627 4 | licenseType: Store 5 | NativeFormatImporter: 6 | mainObjectFileID: 0 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Examples/FocusSquare/FocusSquareScene.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3c9ef824a7b95400bade362484e9b6af 3 | timeCreated: 1504393453 4 | licenseType: Store 5 | DefaultImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Examples/FocusSquare/focuspulse.anim.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 30f10be4bda0f4d1bb27b0f1ef492dcc 3 | timeCreated: 1504634087 4 | licenseType: Store 5 | NativeFormatImporter: 6 | mainObjectFileID: 7400000 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Examples/FocusSquare/focussquare.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/craigkj312/unity-arkit-portal/4028290aacd52e4e84cab78f515ca57c5a84ec66/ThinkingWithPortals/Assets/UnityARKitPlugin/Examples/FocusSquare/focussquare.png -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Examples/FocusSquare/focussquarefound.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/craigkj312/unity-arkit-portal/4028290aacd52e4e84cab78f515ca57c5a84ec66/ThinkingWithPortals/Assets/UnityARKitPlugin/Examples/FocusSquare/focussquarefound.png -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Examples/FocusSquare/focussquarefound.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4e0e8b7bcde33420a8c2731e0f3fbd57 3 | timeCreated: 1504402917 4 | licenseType: Store 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | serializedVersion: 4 8 | mipmaps: 9 | mipMapMode: 0 10 | enableMipMap: 1 11 | sRGBTexture: 1 12 | linearTexture: 0 13 | fadeOut: 0 14 | borderMipMap: 0 15 | mipMapsPreserveCoverage: 0 16 | alphaTestReferenceValue: 0.5 17 | mipMapFadeDistanceStart: 1 18 | mipMapFadeDistanceEnd: 3 19 | bumpmap: 20 | convertToNormalMap: 0 21 | externalNormalMap: 0 22 | heightScale: 0.25 23 | normalMapFilter: 0 24 | isReadable: 0 25 | grayScaleToAlpha: 0 26 | generateCubemap: 6 27 | cubemapConvolution: 0 28 | seamlessCubemap: 0 29 | textureFormat: 1 30 | maxTextureSize: 2048 31 | textureSettings: 32 | serializedVersion: 2 33 | filterMode: -1 34 | aniso: -1 35 | mipBias: -1 36 | wrapU: -1 37 | wrapV: -1 38 | wrapW: -1 39 | nPOTScale: 1 40 | lightmap: 0 41 | compressionQuality: 50 42 | spriteMode: 0 43 | spriteExtrude: 1 44 | spriteMeshType: 1 45 | alignment: 0 46 | spritePivot: {x: 0.5, y: 0.5} 47 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 48 | spritePixelsToUnits: 100 49 | alphaUsage: 1 50 | alphaIsTransparency: 0 51 | spriteTessellationDetail: -1 52 | textureType: 0 53 | textureShape: 1 54 | maxTextureSizeSet: 0 55 | compressionQualitySet: 0 56 | textureFormatSet: 0 57 | platformSettings: 58 | - buildTarget: DefaultTexturePlatform 59 | maxTextureSize: 2048 60 | textureFormat: -1 61 | textureCompression: 1 62 | compressionQuality: 50 63 | crunchedCompression: 0 64 | allowsAlphaSplitting: 0 65 | overridden: 0 66 | spriteSheet: 67 | serializedVersion: 2 68 | sprites: [] 69 | outline: [] 70 | physicsShape: [] 71 | spritePackingTag: 72 | userData: 73 | assetBundleName: 74 | assetBundleVariant: 75 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Examples/InstancedSurfaceShader.shader: -------------------------------------------------------------------------------- 1 | Shader "Custom/InstancedSurfaceShader" { 2 | Properties { 3 | _Color ("Color", Color) = (1,1,1,1) 4 | _MainTex ("Albedo (RGB)", 2D) = "white" {} 5 | _Glossiness ("Smoothness", Range(0,1)) = 0.5 6 | _Metallic ("Metallic", Range(0,1)) = 0.0 7 | } 8 | SubShader { 9 | Tags { "RenderType"="Opaque" } 10 | LOD 200 11 | 12 | CGPROGRAM 13 | // Physically based Standard lighting model, and enable shadows on all light types 14 | #pragma surface surf Standard fullforwardshadows 15 | 16 | // Use shader model 3.0 target, to get nicer looking lighting 17 | #pragma target 3.0 18 | 19 | sampler2D _MainTex; 20 | 21 | struct Input { 22 | float2 uv_MainTex; 23 | }; 24 | 25 | half _Glossiness; 26 | half _Metallic; 27 | fixed4 _Color; 28 | 29 | // Add instancing support for this shader. You need to check 'Enable Instancing' on materials that use the shader. 30 | // See https://docs.unity3d.com/Manual/GPUInstancing.html for more information about instancing. 31 | // #pragma instancing_options assumeuniformscaling 32 | UNITY_INSTANCING_CBUFFER_START(Props) 33 | // put more per-instance properties here 34 | UNITY_DEFINE_INSTANCED_PROP (fixed4, _InstanceColor) 35 | UNITY_INSTANCING_CBUFFER_END 36 | 37 | void surf (Input IN, inout SurfaceOutputStandard o) { 38 | // Albedo comes from a texture tinted by color 39 | fixed4 c = tex2D (_MainTex, IN.uv_MainTex) * UNITY_ACCESS_INSTANCED_PROP (_InstanceColor); 40 | o.Albedo = c.rgb; 41 | // Metallic and smoothness come from slider variables 42 | o.Metallic = _Metallic; 43 | o.Smoothness = _Glossiness; 44 | o.Alpha = c.a; 45 | } 46 | ENDCG 47 | } 48 | FallBack "Diffuse" 49 | } 50 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Examples/InstancedSurfaceShader.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: aef340cb91e534f40870ff658a7aecee 3 | timeCreated: 1496974206 4 | licenseType: Store 5 | ShaderImporter: 6 | defaultTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Examples/ModeSwitcher.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | 5 | public class ModeSwitcher : MonoBehaviour { 6 | 7 | public GameObject ballMake; 8 | public GameObject ballMove; 9 | 10 | private int appMode = 0; 11 | // Use this for initialization 12 | void Start () { 13 | 14 | } 15 | 16 | // Update is called once per frame 17 | void Update () { 18 | 19 | } 20 | 21 | void EnableBallCreation(bool enable) 22 | { 23 | ballMake.SetActive (enable); 24 | ballMove.SetActive (!enable); 25 | 26 | } 27 | 28 | void OnGUI() 29 | { 30 | string modeString = appMode == 0 ? "MAKE" : "BREAK"; 31 | if (GUI.Button(new Rect(Screen.width -150.0f, 0.0f, 150.0f, 100.0f), modeString)) 32 | { 33 | appMode = (appMode + 1) % 2; 34 | EnableBallCreation (appMode == 0); 35 | } 36 | 37 | } 38 | 39 | } 40 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Examples/ModeSwitcher.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b892a4b0455dd4e378c69c09e1d48df4 3 | timeCreated: 1496987845 4 | licenseType: Store 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Examples/Plane Physic Material.physicMaterial: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!134 &13400000 4 | PhysicMaterial: 5 | m_ObjectHideFlags: 0 6 | m_PrefabParentObject: {fileID: 0} 7 | m_PrefabInternal: {fileID: 0} 8 | m_Name: Plane Physic Material 9 | dynamicFriction: 0.5 10 | staticFriction: 0.5 11 | bounciness: 0.1 12 | frictionCombine: 0 13 | bounceCombine: 0 14 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Examples/Plane Physic Material.physicMaterial.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: beba2f308446f43da8e82c54f30f93b5 3 | timeCreated: 1496984011 4 | licenseType: Store 5 | NativeFormatImporter: 6 | mainObjectFileID: 13400000 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/HSVPicker.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 42ca15f1893ea4df79823e4a752e0032 3 | folderAsset: yes 4 | timeCreated: 1494022978 5 | licenseType: Store 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/HSVPicker/Editor.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2a9e9df3c14e9034eb587348635c8f09 3 | folderAsset: yes 4 | DefaultImporter: 5 | userData: 6 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/HSVPicker/Editor/BoxSliderEditor.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using UnityEngine; 3 | using UnityEngine.UI; 4 | 5 | namespace UnityEditor.UI 6 | { 7 | [CustomEditor(typeof(BoxSlider), true)] 8 | [CanEditMultipleObjects] 9 | public class BoxSliderEditor : SelectableEditor 10 | { 11 | 12 | SerializedProperty m_HandleRect; 13 | SerializedProperty m_MinValue; 14 | SerializedProperty m_MaxValue; 15 | SerializedProperty m_WholeNumbers; 16 | SerializedProperty m_Value; 17 | SerializedProperty m_ValueY; 18 | SerializedProperty m_OnValueChanged; 19 | 20 | protected override void OnEnable() 21 | { 22 | base.OnEnable(); 23 | m_HandleRect = serializedObject.FindProperty("m_HandleRect"); 24 | 25 | m_MinValue = serializedObject.FindProperty("m_MinValue"); 26 | m_MaxValue = serializedObject.FindProperty("m_MaxValue"); 27 | m_WholeNumbers = serializedObject.FindProperty("m_WholeNumbers"); 28 | m_Value = serializedObject.FindProperty("m_Value"); 29 | m_ValueY = serializedObject.FindProperty("m_ValueY"); 30 | m_OnValueChanged = serializedObject.FindProperty("m_OnValueChanged"); 31 | } 32 | 33 | public override void OnInspectorGUI() 34 | { 35 | base.OnInspectorGUI(); 36 | EditorGUILayout.Space(); 37 | 38 | serializedObject.Update(); 39 | 40 | EditorGUILayout.PropertyField(m_HandleRect); 41 | 42 | if (m_HandleRect.objectReferenceValue != null) 43 | { 44 | EditorGUI.BeginChangeCheck(); 45 | 46 | 47 | EditorGUILayout.PropertyField(m_MinValue); 48 | EditorGUILayout.PropertyField(m_MaxValue); 49 | EditorGUILayout.PropertyField(m_WholeNumbers); 50 | EditorGUILayout.Slider(m_Value, m_MinValue.floatValue, m_MaxValue.floatValue); 51 | EditorGUILayout.Slider(m_ValueY, m_MinValue.floatValue, m_MaxValue.floatValue); 52 | 53 | // Draw the event notification options 54 | EditorGUILayout.Space(); 55 | EditorGUILayout.PropertyField(m_OnValueChanged); 56 | } 57 | else 58 | { 59 | EditorGUILayout.HelpBox("Specify a RectTransform for the slider fill or the slider handle or both. Each must have a parent RectTransform that it can slide within.", MessageType.Info); 60 | } 61 | 62 | serializedObject.ApplyModifiedProperties(); 63 | } 64 | } 65 | } 66 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/HSVPicker/Editor/BoxSliderEditor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8701e045b26e51f4eb345f2ccb3c13f5 3 | timeCreated: 1426804458 4 | licenseType: Store 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/HSVPicker/Enums.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5d3904d3d18ddd544820bd8518990fee 3 | folderAsset: yes 4 | timeCreated: 1442586617 5 | licenseType: Store 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/HSVPicker/Enums/ColorValues.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | 3 | public enum ColorValues 4 | { 5 | R, 6 | G, 7 | B, 8 | A, 9 | 10 | Hue, 11 | Saturation, 12 | Value 13 | } 14 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/HSVPicker/Enums/ColorValues.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 859a1720e083e504cb68917f781e87c7 3 | timeCreated: 1442586608 4 | licenseType: Store 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/HSVPicker/Events.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6bb0d49c64210014e9a24ed9345928c2 3 | folderAsset: yes 4 | timeCreated: 1442747310 5 | licenseType: Store 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/HSVPicker/Events/ColorChangedEvent.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using System; 3 | using UnityEngine.Events; 4 | 5 | [Serializable] 6 | public class ColorChangedEvent : UnityEvent 7 | { 8 | 9 | } -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/HSVPicker/Events/ColorChangedEvent.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ff46fbecea7739f4690e4285c88f53c5 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/HSVPicker/Events/HSVChangedEvent.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using UnityEngine.Events; 3 | 4 | public class HSVChangedEvent : UnityEvent 5 | { 6 | 7 | } 8 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/HSVPicker/Events/HSVChangedEvent.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3d95ce8fba3dbbf4eb14411412169b88 3 | timeCreated: 1442747317 4 | licenseType: Store 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/HSVPicker/Other.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 304681ea793fc054aa8ed2beab28d0b1 3 | folderAsset: yes 4 | timeCreated: 1442751317 5 | licenseType: Store 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/HSVPicker/Other/ColorPickerTester.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using System.Collections; 3 | 4 | public class ColorPickerTester : MonoBehaviour 5 | { 6 | 7 | public new Renderer renderer; 8 | public ColorPicker picker; 9 | 10 | // Use this for initialization 11 | void Start () 12 | { 13 | picker.onValueChanged.AddListener(color => 14 | { 15 | renderer.material.color = color; 16 | }); 17 | renderer.material.color = picker.CurrentColor; 18 | } 19 | 20 | // Update is called once per frame 21 | void Update () { 22 | 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/HSVPicker/Other/ColorPickerTester.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 06851a815227e5044b0e3c1bf9b3a282 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/HSVPicker/Other/TiltWindow.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | 3 | public class TiltWindow : MonoBehaviour 4 | { 5 | public Vector2 range = new Vector2(5f, 3f); 6 | 7 | Transform mTrans; 8 | Quaternion mStart; 9 | Vector2 mRot = Vector2.zero; 10 | 11 | void Start () 12 | { 13 | mTrans = transform; 14 | mStart = mTrans.localRotation; 15 | } 16 | 17 | void Update () 18 | { 19 | Vector3 pos = Input.mousePosition; 20 | 21 | float halfWidth = Screen.width * 0.5f; 22 | float halfHeight = Screen.height * 0.5f; 23 | float x = Mathf.Clamp((pos.x - halfWidth) / halfWidth, -1f, 1f); 24 | float y = Mathf.Clamp((pos.y - halfHeight) / halfHeight, -1f, 1f); 25 | mRot = Vector2.Lerp(mRot, new Vector2(x, y), Time.deltaTime * 5f); 26 | 27 | mTrans.localRotation = mStart * Quaternion.Euler(-mRot.y * range.y, mRot.x * range.x, 0f); 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/HSVPicker/Other/TiltWindow.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f2aa04a3e088320429a06194a3483daa 3 | timeCreated: 1426051352 4 | licenseType: Store 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/HSVPicker/Picker 2.0.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 916ee089a0d7b63419075f91e1c657ec 3 | timeCreated: 1442747914 4 | licenseType: Store 5 | NativeFormatImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/HSVPicker/PickerTest.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ce46c07f0028e314ab7767577ab5e7a6 3 | DefaultImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/HSVPicker/UI.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2b5fe4e314cbd9944bcaa93e814e9bd5 3 | folderAsset: yes 4 | timeCreated: 1442586536 5 | licenseType: Store 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/HSVPicker/UI/ColorImage.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using UnityEngine.UI; 3 | using System.Collections; 4 | 5 | [RequireComponent(typeof(Image))] 6 | public class ColorImage : MonoBehaviour 7 | { 8 | public ColorPicker picker; 9 | 10 | private Image image; 11 | 12 | private void Awake() 13 | { 14 | image = GetComponent(); 15 | picker.onValueChanged.AddListener(ColorChanged); 16 | } 17 | 18 | private void OnDestroy() 19 | { 20 | picker.onValueChanged.RemoveListener(ColorChanged); 21 | } 22 | 23 | private void ColorChanged(Color newColor) 24 | { 25 | image.color = newColor; 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/HSVPicker/UI/ColorImage.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6bca58eb07ad66b498a2f158bcb13225 3 | timeCreated: 1442675622 4 | licenseType: Store 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/HSVPicker/UI/ColorLabel.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using UnityEngine.UI; 3 | using System; 4 | 5 | [RequireComponent(typeof(Text))] 6 | public class ColorLabel : MonoBehaviour 7 | { 8 | public ColorPicker picker; 9 | 10 | public ColorValues type; 11 | 12 | public string prefix = "R: "; 13 | public float minValue = 0; 14 | public float maxValue = 255; 15 | 16 | public int precision = 0; 17 | 18 | private Text label; 19 | 20 | private void Awake() 21 | { 22 | label = GetComponent(); 23 | 24 | } 25 | 26 | private void OnEnable() 27 | { 28 | if (Application.isPlaying && picker != null) 29 | { 30 | picker.onValueChanged.AddListener(ColorChanged); 31 | picker.onHSVChanged.AddListener(HSVChanged); 32 | } 33 | } 34 | 35 | private void OnDestroy() 36 | { 37 | if (picker != null) 38 | { 39 | picker.onValueChanged.RemoveListener(ColorChanged); 40 | picker.onHSVChanged.RemoveListener(HSVChanged); 41 | } 42 | } 43 | 44 | #if UNITY_EDITOR 45 | private void OnValidate() 46 | { 47 | label = GetComponent(); 48 | UpdateValue(); 49 | } 50 | #endif 51 | 52 | private void ColorChanged(Color color) 53 | { 54 | UpdateValue(); 55 | } 56 | 57 | private void HSVChanged(float hue, float sateration, float value) 58 | { 59 | UpdateValue(); 60 | } 61 | 62 | private void UpdateValue() 63 | { 64 | if (picker == null) 65 | { 66 | label.text = prefix + "-"; 67 | } 68 | else 69 | { 70 | float value = minValue + (picker.GetValue(type) * (maxValue - minValue)); 71 | 72 | label.text = prefix + ConvertToDisplayString(value); 73 | } 74 | } 75 | 76 | private string ConvertToDisplayString(float value) 77 | { 78 | if (precision > 0) 79 | return value.ToString("f " + precision); 80 | else 81 | return Mathf.FloorToInt(value).ToString(); 82 | } 83 | } 84 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/HSVPicker/UI/ColorLabel.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6b10e832a32d2d14facd8a3f489ee8d6 3 | timeCreated: 1442587803 4 | licenseType: Store 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/HSVPicker/UI/ColorPicker.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8262e4a8322117f4da079921eaa72834 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/HSVPicker/UI/ColorPresets.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using UnityEngine.UI; 3 | 4 | public class ColorPresets : MonoBehaviour 5 | { 6 | public ColorPicker picker; 7 | public GameObject[] presets; 8 | public Image createPresetImage; 9 | 10 | void Awake() 11 | { 12 | // picker.onHSVChanged.AddListener(HSVChanged); 13 | picker.onValueChanged.AddListener(ColorChanged); 14 | } 15 | 16 | public void CreatePresetButton() 17 | { 18 | for (var i = 0; i < presets.Length; i++) 19 | { 20 | if (!presets[i].activeSelf) 21 | { 22 | presets[i].SetActive(true); 23 | presets[i].GetComponent().color = picker.CurrentColor; 24 | break; 25 | } 26 | } 27 | } 28 | 29 | public void PresetSelect(Image sender) 30 | { 31 | picker.CurrentColor = sender.color; 32 | } 33 | 34 | // Not working, it seems ConvertHsvToRgb() is broken. It doesn't work when fed 35 | // input h, s, v as shown below. 36 | // private void HSVChanged(float h, float s, float v) 37 | // { 38 | // createPresetImage.color = HSVUtil.ConvertHsvToRgb(h, s, v, 1); 39 | // } 40 | private void ColorChanged(Color color) 41 | { 42 | createPresetImage.color = color; 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/HSVPicker/UI/ColorPresets.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0923373e76e77402c9c53a2f1250ad3e 3 | timeCreated: 1456875791 4 | licenseType: Store 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/HSVPicker/UI/ColorSlider.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c600592efa0cf25479655321bf4fb08a 3 | timeCreated: 1442586558 4 | licenseType: Store 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/HSVPicker/UI/ColorSliderImage.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7ca76dd9ad6eb204c9b0481aece34497 3 | timeCreated: 1442682013 4 | licenseType: Store 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/HSVPicker/UI/HexColorField.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d85c534b3c1560544b09d0996dfeba84 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/HSVPicker/UI/SVBoxSlider.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1e4240873631f724496efec97d7151b3 3 | timeCreated: 1442650713 4 | licenseType: Store 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/HSVPicker/UtilityScripts.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2b33138f525222146865861432dbe845 3 | folderAsset: yes 4 | timeCreated: 1426051345 5 | licenseType: Store 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/HSVPicker/UtilityScripts/BoxSlider.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 37c44bc94a9a7f241b5b552f3ff89458 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/HSVPicker/UtilityScripts/HSVUtil.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4f3189246d7fc204faba7a1e9c08e0af 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2017, Unity Technologies 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 13 | all 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 21 | THE SOFTWARE. -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/LICENSE.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d631b74e0e9d64532bd2452fdeae229b 3 | timeCreated: 1500653252 4 | licenseType: Store 5 | DefaultImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Materials.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f97a11a66bf894d0ea9d78ecae1fb271 3 | folderAsset: yes 4 | timeCreated: 1492534937 5 | licenseType: Store 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Materials/2000px-Checkerboard_pattern.svg.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_PrefabParentObject: {fileID: 0} 8 | m_PrefabInternal: {fileID: 0} 9 | m_Name: 2000px-Checkerboard_pattern.svg 10 | m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} 11 | m_ShaderKeywords: 12 | m_LightmapFlags: 4 13 | m_EnableInstancingVariants: 0 14 | m_CustomRenderQueue: -1 15 | stringTagMap: {} 16 | disabledShaderPasses: [] 17 | m_SavedProperties: 18 | serializedVersion: 3 19 | m_TexEnvs: 20 | - _BumpMap: 21 | m_Texture: {fileID: 0} 22 | m_Scale: {x: 1, y: 1} 23 | m_Offset: {x: 0, y: 0} 24 | - _DetailAlbedoMap: 25 | m_Texture: {fileID: 0} 26 | m_Scale: {x: 1, y: 1} 27 | m_Offset: {x: 0, y: 0} 28 | - _DetailMask: 29 | m_Texture: {fileID: 0} 30 | m_Scale: {x: 1, y: 1} 31 | m_Offset: {x: 0, y: 0} 32 | - _DetailNormalMap: 33 | m_Texture: {fileID: 0} 34 | m_Scale: {x: 1, y: 1} 35 | m_Offset: {x: 0, y: 0} 36 | - _EmissionMap: 37 | m_Texture: {fileID: 0} 38 | m_Scale: {x: 1, y: 1} 39 | m_Offset: {x: 0, y: 0} 40 | - _MainTex: 41 | m_Texture: {fileID: 0} 42 | m_Scale: {x: 1, y: 1} 43 | m_Offset: {x: 0, y: 0} 44 | - _MetallicGlossMap: 45 | m_Texture: {fileID: 0} 46 | m_Scale: {x: 1, y: 1} 47 | m_Offset: {x: 0, y: 0} 48 | - _OcclusionMap: 49 | m_Texture: {fileID: 0} 50 | m_Scale: {x: 1, y: 1} 51 | m_Offset: {x: 0, y: 0} 52 | - _ParallaxMap: 53 | m_Texture: {fileID: 0} 54 | m_Scale: {x: 1, y: 1} 55 | m_Offset: {x: 0, y: 0} 56 | - _textureCbCr: 57 | m_Texture: {fileID: 0} 58 | m_Scale: {x: 1, y: 1} 59 | m_Offset: {x: 0, y: 0} 60 | - _textureY: 61 | m_Texture: {fileID: 0} 62 | m_Scale: {x: 1, y: 1} 63 | m_Offset: {x: 0, y: 0} 64 | m_Floats: 65 | - _BumpScale: 1 66 | - _Cutoff: 0.5 67 | - _DetailNormalMapScale: 1 68 | - _DstBlend: 0 69 | - _GlossMapScale: 1 70 | - _Glossiness: 0.5 71 | - _GlossyReflections: 1 72 | - _Metallic: 0 73 | - _Mode: 0 74 | - _OcclusionStrength: 1 75 | - _Parallax: 0.02 76 | - _SmoothnessTextureChannel: 0 77 | - _SpecularHighlights: 1 78 | - _SrcBlend: 1 79 | - _UVSec: 0 80 | - _ZWrite: 1 81 | m_Colors: 82 | - _Color: {r: 1, g: 1, b: 1, a: 1} 83 | - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} 84 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Materials/2000px-Checkerboard_pattern.svg.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 48f9ec19142bd7e4c9f2441ab5799cca 3 | timeCreated: 1489779706 4 | licenseType: Store 5 | NativeFormatImporter: 6 | mainObjectFileID: 2100000 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Materials/2000px-Checkerboard_patternUV.svg.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_PrefabParentObject: {fileID: 0} 8 | m_PrefabInternal: {fileID: 0} 9 | m_Name: 2000px-Checkerboard_patternUV.svg 10 | m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} 11 | m_ShaderKeywords: 12 | m_LightmapFlags: 4 13 | m_EnableInstancingVariants: 0 14 | m_CustomRenderQueue: -1 15 | stringTagMap: {} 16 | disabledShaderPasses: [] 17 | m_SavedProperties: 18 | serializedVersion: 3 19 | m_TexEnvs: 20 | - _BumpMap: 21 | m_Texture: {fileID: 0} 22 | m_Scale: {x: 1, y: 1} 23 | m_Offset: {x: 0, y: 0} 24 | - _DetailAlbedoMap: 25 | m_Texture: {fileID: 0} 26 | m_Scale: {x: 1, y: 1} 27 | m_Offset: {x: 0, y: 0} 28 | - _DetailMask: 29 | m_Texture: {fileID: 0} 30 | m_Scale: {x: 1, y: 1} 31 | m_Offset: {x: 0, y: 0} 32 | - _DetailNormalMap: 33 | m_Texture: {fileID: 0} 34 | m_Scale: {x: 1, y: 1} 35 | m_Offset: {x: 0, y: 0} 36 | - _EmissionMap: 37 | m_Texture: {fileID: 0} 38 | m_Scale: {x: 1, y: 1} 39 | m_Offset: {x: 0, y: 0} 40 | - _MainTex: 41 | m_Texture: {fileID: 2800000, guid: 70976333360a046c1bcf8dc7cb1f593c, type: 3} 42 | m_Scale: {x: 1, y: 1} 43 | m_Offset: {x: 0, y: 0} 44 | - _MetallicGlossMap: 45 | m_Texture: {fileID: 0} 46 | m_Scale: {x: 1, y: 1} 47 | m_Offset: {x: 0, y: 0} 48 | - _OcclusionMap: 49 | m_Texture: {fileID: 0} 50 | m_Scale: {x: 1, y: 1} 51 | m_Offset: {x: 0, y: 0} 52 | - _ParallaxMap: 53 | m_Texture: {fileID: 0} 54 | m_Scale: {x: 1, y: 1} 55 | m_Offset: {x: 0, y: 0} 56 | m_Floats: 57 | - _BumpScale: 1 58 | - _Cutoff: 0.5 59 | - _DetailNormalMapScale: 1 60 | - _DstBlend: 0 61 | - _GlossMapScale: 1 62 | - _Glossiness: 0.5 63 | - _GlossyReflections: 1 64 | - _Metallic: 0 65 | - _Mode: 0 66 | - _OcclusionStrength: 1 67 | - _Parallax: 0.02 68 | - _SmoothnessTextureChannel: 0 69 | - _SpecularHighlights: 1 70 | - _SrcBlend: 1 71 | - _UVSec: 0 72 | - _ZWrite: 1 73 | m_Colors: 74 | - _Color: {r: 1, g: 1, b: 1, a: 1} 75 | - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} 76 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Materials/2000px-Checkerboard_patternUV.svg.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 66fbc43c67b564bb4a4c2c2dcd6c1970 3 | timeCreated: 1489779706 4 | licenseType: Store 5 | NativeFormatImporter: 6 | mainObjectFileID: 2100000 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Materials/BallMaterial.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_PrefabParentObject: {fileID: 0} 8 | m_PrefabInternal: {fileID: 0} 9 | m_Name: BallMaterial 10 | m_Shader: {fileID: 4800000, guid: aef340cb91e534f40870ff658a7aecee, type: 3} 11 | m_ShaderKeywords: 12 | m_LightmapFlags: 4 13 | m_EnableInstancingVariants: 1 14 | m_CustomRenderQueue: -1 15 | stringTagMap: {} 16 | disabledShaderPasses: [] 17 | m_SavedProperties: 18 | serializedVersion: 3 19 | m_TexEnvs: 20 | - _BumpMap: 21 | m_Texture: {fileID: 0} 22 | m_Scale: {x: 1, y: 1} 23 | m_Offset: {x: 0, y: 0} 24 | - _DetailAlbedoMap: 25 | m_Texture: {fileID: 0} 26 | m_Scale: {x: 1, y: 1} 27 | m_Offset: {x: 0, y: 0} 28 | - _DetailMask: 29 | m_Texture: {fileID: 0} 30 | m_Scale: {x: 1, y: 1} 31 | m_Offset: {x: 0, y: 0} 32 | - _DetailNormalMap: 33 | m_Texture: {fileID: 0} 34 | m_Scale: {x: 1, y: 1} 35 | m_Offset: {x: 0, y: 0} 36 | - _EmissionMap: 37 | m_Texture: {fileID: 0} 38 | m_Scale: {x: 1, y: 1} 39 | m_Offset: {x: 0, y: 0} 40 | - _MainTex: 41 | m_Texture: {fileID: 10904, guid: 0000000000000000f000000000000000, type: 0} 42 | m_Scale: {x: 1, y: 1} 43 | m_Offset: {x: 0, y: 0} 44 | - _MetallicGlossMap: 45 | m_Texture: {fileID: 0} 46 | m_Scale: {x: 1, y: 1} 47 | m_Offset: {x: 0, y: 0} 48 | - _OcclusionMap: 49 | m_Texture: {fileID: 0} 50 | m_Scale: {x: 1, y: 1} 51 | m_Offset: {x: 0, y: 0} 52 | - _ParallaxMap: 53 | m_Texture: {fileID: 0} 54 | m_Scale: {x: 1, y: 1} 55 | m_Offset: {x: 0, y: 0} 56 | m_Floats: 57 | - _BumpScale: 1 58 | - _Cutoff: 0.5 59 | - _DetailNormalMapScale: 1 60 | - _DstBlend: 0 61 | - _GlossMapScale: 1 62 | - _Glossiness: 0.635 63 | - _GlossyReflections: 1 64 | - _Metallic: 0.2 65 | - _Mode: 0 66 | - _OcclusionStrength: 1 67 | - _Parallax: 0.02 68 | - _SmoothnessTextureChannel: 0 69 | - _SpecularHighlights: 1 70 | - _SrcBlend: 1 71 | - _UVSec: 0 72 | - _ZWrite: 1 73 | m_Colors: 74 | - _Color: {r: 0.9044118, g: 0.13300176, b: 0.13300176, a: 1} 75 | - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} 76 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Materials/BallMaterial.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f5e394a942fae453583e8e6009ee49a1 3 | timeCreated: 1496972319 4 | licenseType: Store 5 | NativeFormatImporter: 6 | mainObjectFileID: 2100000 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Materials/PlayerMaterial.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3ea44298aa419344dbdcf87dd1a50533 3 | NativeFormatImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Models.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7f1c84e523876664083649b7a985a6f4 3 | folderAsset: yes 4 | DefaultImporter: 5 | userData: 6 | assetBundleName: 7 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Models/Characters.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a2db6ed60f35771478d3b31828b24fe8 3 | folderAsset: yes 4 | DefaultImporter: 5 | userData: 6 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Models/Characters/Materials.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9e9efecd428e54b9aabf3e5fc4fbc526 3 | folderAsset: yes 4 | timeCreated: 1501101803 5 | licenseType: Store 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Models/Characters/Materials/GunMaterial.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_PrefabParentObject: {fileID: 0} 8 | m_PrefabInternal: {fileID: 0} 9 | m_Name: GunMaterial 10 | m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} 11 | m_ShaderKeywords: 12 | m_LightmapFlags: 4 13 | m_EnableInstancingVariants: 0 14 | m_DoubleSidedGI: 0 15 | m_CustomRenderQueue: -1 16 | stringTagMap: {} 17 | disabledShaderPasses: [] 18 | m_SavedProperties: 19 | serializedVersion: 3 20 | m_TexEnvs: 21 | - _BumpMap: 22 | m_Texture: {fileID: 0} 23 | m_Scale: {x: 1, y: 1} 24 | m_Offset: {x: 0, y: 0} 25 | - _DetailAlbedoMap: 26 | m_Texture: {fileID: 0} 27 | m_Scale: {x: 1, y: 1} 28 | m_Offset: {x: 0, y: 0} 29 | - _DetailMask: 30 | m_Texture: {fileID: 0} 31 | m_Scale: {x: 1, y: 1} 32 | m_Offset: {x: 0, y: 0} 33 | - _DetailNormalMap: 34 | m_Texture: {fileID: 0} 35 | m_Scale: {x: 1, y: 1} 36 | m_Offset: {x: 0, y: 0} 37 | - _EmissionMap: 38 | m_Texture: {fileID: 0} 39 | m_Scale: {x: 1, y: 1} 40 | m_Offset: {x: 0, y: 0} 41 | - _MainTex: 42 | m_Texture: {fileID: 0} 43 | m_Scale: {x: 1, y: 1} 44 | m_Offset: {x: 0, y: 0} 45 | - _MetallicGlossMap: 46 | m_Texture: {fileID: 0} 47 | m_Scale: {x: 1, y: 1} 48 | m_Offset: {x: 0, y: 0} 49 | - _OcclusionMap: 50 | m_Texture: {fileID: 0} 51 | m_Scale: {x: 1, y: 1} 52 | m_Offset: {x: 0, y: 0} 53 | - _ParallaxMap: 54 | m_Texture: {fileID: 0} 55 | m_Scale: {x: 1, y: 1} 56 | m_Offset: {x: 0, y: 0} 57 | m_Floats: 58 | - _BumpScale: 1 59 | - _Cutoff: 0.5 60 | - _DetailNormalMapScale: 1 61 | - _DstBlend: 0 62 | - _GlossMapScale: 1 63 | - _Glossiness: 0.5 64 | - _GlossyReflections: 1 65 | - _Metallic: 0 66 | - _Mode: 0 67 | - _OcclusionStrength: 1 68 | - _Parallax: 0.02 69 | - _SmoothnessTextureChannel: 0 70 | - _SpecularHighlights: 1 71 | - _SrcBlend: 1 72 | - _UVSec: 0 73 | - _ZWrite: 1 74 | m_Colors: 75 | - _Color: {r: 1, g: 1, b: 1, a: 1} 76 | - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} 77 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Models/Characters/Materials/GunMaterial.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: fb5e14eb1d53543c2a0f0fb4f0bedcd8 3 | timeCreated: 1501101803 4 | licenseType: Store 5 | NativeFormatImporter: 6 | mainObjectFileID: 2100000 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Models/Characters/Player.fbx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/craigkj312/unity-arkit-portal/4028290aacd52e4e84cab78f515ca57c5a84ec66/ThinkingWithPortals/Assets/UnityARKitPlugin/Models/Characters/Player.fbx -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/ParticlePainter.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a3a20b380ef854b22b8541736614c00e 3 | timeCreated: 1494016368 4 | licenseType: Store 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Plugins.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 05a89afb32ff4cd48a0278f931aa903b 3 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Plugins/iOS.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 20ca1a77fe0cf4e049dac6d2a8afd62e 3 | folderAsset: yes 4 | timeCreated: 1492036260 5 | licenseType: Store 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b8fd2eea89786441a84b5c25c1d48982 3 | folderAsset: yes 4 | timeCreated: 1492103332 5 | licenseType: Store 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/AR3DOFCameraManager.cs: -------------------------------------------------------------------------------- 1 |  2 | using System.Collections; 3 | using System.Collections.Generic; 4 | using UnityEngine; 5 | using UnityEngine.XR.iOS; 6 | 7 | public class AR3DOFCameraManager : MonoBehaviour { 8 | 9 | public Camera m_camera; 10 | private UnityARSessionNativeInterface m_session; 11 | private Material savedClearMaterial; 12 | 13 | // Use this for initialization 14 | void Start () { 15 | #if !UNITY_EDITOR 16 | Application.targetFrameRate = 60; 17 | m_session = UnityARSessionNativeInterface.GetARSessionNativeInterface(); 18 | ARKitSessionConfiguration config = new ARKitSessionConfiguration(); 19 | config.alignment = UnityARAlignment.UnityARAlignmentGravity; 20 | config.getPointCloudData = true; 21 | config.enableLightEstimation = true; 22 | m_session.RunWithConfig(config); 23 | 24 | if (m_camera == null) { 25 | m_camera = Camera.main; 26 | } 27 | #endif 28 | } 29 | 30 | public void SetCamera(Camera newCamera) 31 | { 32 | if (m_camera != null) { 33 | UnityARVideo oldARVideo = m_camera.gameObject.GetComponent (); 34 | if (oldARVideo != null) { 35 | savedClearMaterial = oldARVideo.m_ClearMaterial; 36 | Destroy (oldARVideo); 37 | } 38 | } 39 | SetupNewCamera (newCamera); 40 | } 41 | 42 | private void SetupNewCamera(Camera newCamera) 43 | { 44 | m_camera = newCamera; 45 | 46 | if (m_camera != null) { 47 | UnityARVideo unityARVideo = m_camera.gameObject.GetComponent (); 48 | if (unityARVideo != null) { 49 | savedClearMaterial = unityARVideo.m_ClearMaterial; 50 | Destroy (unityARVideo); 51 | } 52 | unityARVideo = m_camera.gameObject.AddComponent (); 53 | unityARVideo.m_ClearMaterial = savedClearMaterial; 54 | } 55 | } 56 | 57 | // Update is called once per frame 58 | 59 | #if !UNITY_EDITOR 60 | void Update () { 61 | 62 | if (m_camera != null) 63 | { 64 | // JUST WORKS! 65 | Matrix4x4 matrix = m_session.GetCameraPose(); 66 | m_camera.transform.localPosition = UnityARMatrixOps.GetPosition(matrix); 67 | m_camera.transform.localRotation = UnityARMatrixOps.GetRotation (matrix); 68 | m_camera.projectionMatrix = m_session.GetCameraProjection (); 69 | } 70 | 71 | } 72 | #endif 73 | 74 | } 75 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/AR3DOFCameraManager.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0ff614c6973544218b2c1e3036b8de0a 3 | timeCreated: 1494626284 4 | licenseType: Store 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/ARPlaneAnchorGameObject.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace UnityEngine.XR.iOS 4 | { 5 | public class ARPlaneAnchorGameObject 6 | { 7 | public GameObject gameObject; 8 | public ARPlaneAnchor planeAnchor; 9 | } 10 | } 11 | 12 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/ARPlaneAnchorGameObject.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6a07258b16ace4bf1a395aa0a80f2135 3 | timeCreated: 1493059957 4 | licenseType: Store 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/DontDestroyOnLoad.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | 5 | public class DontDestroyOnLoad : MonoBehaviour { 6 | 7 | // Use this for initialization 8 | void Start () { 9 | DontDestroyOnLoad (gameObject); 10 | } 11 | 12 | // Update is called once per frame 13 | void Update () { 14 | 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/DontDestroyOnLoad.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 562a9fe49bfc2418099790a804f22711 3 | timeCreated: 1493408595 4 | licenseType: Store 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Editor.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 085eeda524261654b88f97ea61b33090 3 | folderAsset: yes 4 | DefaultImporter: 5 | userData: 6 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Editor/UnityARBuildPostprocessor.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using UnityEditor; 3 | using UnityEditor.Callbacks; 4 | using System.IO; 5 | 6 | public class UnityARBuildPostprocessor 7 | { 8 | // Build postprocessor. Currently only needed on: 9 | // - iOS: no dynamic libraries, so plugin source files have to be copied into Xcode project 10 | [PostProcessBuild] 11 | public static void OnPostprocessBuild(BuildTarget target, string pathToBuiltProject) 12 | { 13 | if (target == BuildTarget.iOS) 14 | OnPostprocessBuildIOS(pathToBuiltProject); 15 | } 16 | 17 | private static void OnPostprocessBuildIOS(string pathToBuiltProject) 18 | { 19 | // We use UnityEditor.iOS.Xcode API which only exists in iOS editor module 20 | #if UNITY_IOS 21 | 22 | string projPath = pathToBuiltProject + "/Unity-iPhone.xcodeproj/project.pbxproj"; 23 | 24 | UnityEditor.iOS.Xcode.PBXProject proj = new UnityEditor.iOS.Xcode.PBXProject(); 25 | proj.ReadFromString(File.ReadAllText(projPath)); 26 | proj.AddFrameworkToProject(proj.TargetGuidByName("Unity-iPhone"), "ARKit.framework", false); 27 | string target = proj.TargetGuidByName("Unity-iPhone"); 28 | Directory.CreateDirectory(Path.Combine(pathToBuiltProject, "Libraries/Unity")); 29 | 30 | string[] filesToCopy = new string[] 31 | { 32 | 33 | }; 34 | 35 | for(int i = 0 ; i < filesToCopy.Length ; ++i) 36 | { 37 | var srcPath = Path.Combine("../PluginSource/source", filesToCopy[i]); 38 | var dstLocalPath = "Libraries/" + filesToCopy[i]; 39 | var dstPath = Path.Combine(pathToBuiltProject, dstLocalPath); 40 | File.Copy(srcPath, dstPath, true); 41 | proj.AddFileToBuild(target, proj.AddFile(dstLocalPath, dstLocalPath)); 42 | } 43 | 44 | File.WriteAllText(projPath, proj.WriteToString()); 45 | #endif // #if UNITY_IOS 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Editor/UnityARBuildPostprocessor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a56f8b807c15f4cf3a44275a5e5f89f3 3 | timeCreated: 1492795428 4 | licenseType: Store 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Materials.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b97b0ebd5e0d84160a0b477bf246c1e1 3 | folderAsset: yes 4 | timeCreated: 1492792741 5 | licenseType: Store 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Materials/PointCloudMaterial.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_PrefabParentObject: {fileID: 0} 8 | m_PrefabInternal: {fileID: 0} 9 | m_Name: PointCloudMaterial 10 | m_Shader: {fileID: 200, guid: 0000000000000000f000000000000000, type: 0} 11 | m_ShaderKeywords: 12 | m_LightmapFlags: 4 13 | m_EnableInstancingVariants: 0 14 | m_CustomRenderQueue: -1 15 | stringTagMap: {} 16 | disabledShaderPasses: [] 17 | m_SavedProperties: 18 | serializedVersion: 3 19 | m_TexEnvs: 20 | - _BumpMap: 21 | m_Texture: {fileID: 0} 22 | m_Scale: {x: 1, y: 1} 23 | m_Offset: {x: 0, y: 0} 24 | - _DetailAlbedoMap: 25 | m_Texture: {fileID: 0} 26 | m_Scale: {x: 1, y: 1} 27 | m_Offset: {x: 0, y: 0} 28 | - _DetailMask: 29 | m_Texture: {fileID: 0} 30 | m_Scale: {x: 1, y: 1} 31 | m_Offset: {x: 0, y: 0} 32 | - _DetailNormalMap: 33 | m_Texture: {fileID: 0} 34 | m_Scale: {x: 1, y: 1} 35 | m_Offset: {x: 0, y: 0} 36 | - _EmissionMap: 37 | m_Texture: {fileID: 0} 38 | m_Scale: {x: 1, y: 1} 39 | m_Offset: {x: 0, y: 0} 40 | - _MainTex: 41 | m_Texture: {fileID: 10305, guid: 0000000000000000f000000000000000, type: 0} 42 | m_Scale: {x: 1, y: 1} 43 | m_Offset: {x: 0, y: 0} 44 | - _MetallicGlossMap: 45 | m_Texture: {fileID: 0} 46 | m_Scale: {x: 1, y: 1} 47 | m_Offset: {x: 0, y: 0} 48 | - _OcclusionMap: 49 | m_Texture: {fileID: 0} 50 | m_Scale: {x: 1, y: 1} 51 | m_Offset: {x: 0, y: 0} 52 | - _ParallaxMap: 53 | m_Texture: {fileID: 0} 54 | m_Scale: {x: 1, y: 1} 55 | m_Offset: {x: 0, y: 0} 56 | m_Floats: 57 | - _BumpScale: 1 58 | - _Cutoff: 0.5 59 | - _DetailNormalMapScale: 1 60 | - _DstBlend: 0 61 | - _GlossMapScale: 1 62 | - _Glossiness: 0.797 63 | - _GlossyReflections: 1 64 | - _InvFade: 2.2 65 | - _Metallic: 0 66 | - _Mode: 0 67 | - _OcclusionStrength: 1 68 | - _Parallax: 0.02 69 | - _SmoothnessTextureChannel: 0 70 | - _SpecularHighlights: 1 71 | - _SrcBlend: 1 72 | - _UVSec: 0 73 | - _ZWrite: 1 74 | m_Colors: 75 | - _Color: {r: 1, g: 1, b: 0, a: 1} 76 | - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} 77 | - _TintColor: {r: 1, g: 1, b: 0, a: 0.5} 78 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Materials/PointCloudMaterial.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3a044f7471feb4bd4be40dcec09eae05 3 | timeCreated: 1493918099 4 | licenseType: Store 5 | NativeFormatImporter: 6 | mainObjectFileID: 2100000 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Materials/PointCloudParticleMaterial.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_PrefabParentObject: {fileID: 0} 8 | m_PrefabInternal: {fileID: 0} 9 | m_Name: PointCloudParticleMaterial 10 | m_Shader: {fileID: 200, guid: 0000000000000000f000000000000000, type: 0} 11 | m_ShaderKeywords: 12 | m_LightmapFlags: 4 13 | m_EnableInstancingVariants: 0 14 | m_CustomRenderQueue: -1 15 | stringTagMap: {} 16 | disabledShaderPasses: [] 17 | m_SavedProperties: 18 | serializedVersion: 3 19 | m_TexEnvs: 20 | - _BumpMap: 21 | m_Texture: {fileID: 0} 22 | m_Scale: {x: 1, y: 1} 23 | m_Offset: {x: 0, y: 0} 24 | - _DetailAlbedoMap: 25 | m_Texture: {fileID: 0} 26 | m_Scale: {x: 1, y: 1} 27 | m_Offset: {x: 0, y: 0} 28 | - _DetailMask: 29 | m_Texture: {fileID: 0} 30 | m_Scale: {x: 1, y: 1} 31 | m_Offset: {x: 0, y: 0} 32 | - _DetailNormalMap: 33 | m_Texture: {fileID: 0} 34 | m_Scale: {x: 1, y: 1} 35 | m_Offset: {x: 0, y: 0} 36 | - _EmissionMap: 37 | m_Texture: {fileID: 0} 38 | m_Scale: {x: 1, y: 1} 39 | m_Offset: {x: 0, y: 0} 40 | - _MainTex: 41 | m_Texture: {fileID: 10300, guid: 0000000000000000f000000000000000, type: 0} 42 | m_Scale: {x: 1, y: 1} 43 | m_Offset: {x: 0, y: 0} 44 | - _MetallicGlossMap: 45 | m_Texture: {fileID: 0} 46 | m_Scale: {x: 1, y: 1} 47 | m_Offset: {x: 0, y: 0} 48 | - _OcclusionMap: 49 | m_Texture: {fileID: 0} 50 | m_Scale: {x: 1, y: 1} 51 | m_Offset: {x: 0, y: 0} 52 | - _ParallaxMap: 53 | m_Texture: {fileID: 0} 54 | m_Scale: {x: 1, y: 1} 55 | m_Offset: {x: 0, y: 0} 56 | m_Floats: 57 | - _BumpScale: 1 58 | - _Cutoff: 0.5 59 | - _DetailNormalMapScale: 1 60 | - _DstBlend: 0 61 | - _GlossMapScale: 1 62 | - _Glossiness: 0.797 63 | - _GlossyReflections: 1 64 | - _InvFade: 2.2 65 | - _Metallic: 0 66 | - _Mode: 0 67 | - _OcclusionStrength: 1 68 | - _Parallax: 0.02 69 | - _SmoothnessTextureChannel: 0 70 | - _SpecularHighlights: 1 71 | - _SrcBlend: 1 72 | - _UVSec: 0 73 | - _ZWrite: 1 74 | m_Colors: 75 | - _Color: {r: 1, g: 1, b: 0, a: 1} 76 | - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} 77 | - _TintColor: {r: 1, g: 1, b: 0, a: 0.5} 78 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Materials/PointCloudParticleMaterial.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f7cffc03fadd142ea81401e16399833e 3 | timeCreated: 1493918099 4 | licenseType: Store 5 | NativeFormatImporter: 6 | mainObjectFileID: 2100000 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Materials/XColor.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_PrefabParentObject: {fileID: 0} 8 | m_PrefabInternal: {fileID: 0} 9 | m_Name: XColor 10 | m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} 11 | m_ShaderKeywords: 12 | m_LightmapFlags: 4 13 | m_EnableInstancingVariants: 0 14 | m_CustomRenderQueue: -1 15 | stringTagMap: {} 16 | disabledShaderPasses: [] 17 | m_SavedProperties: 18 | serializedVersion: 3 19 | m_TexEnvs: 20 | - _BumpMap: 21 | m_Texture: {fileID: 0} 22 | m_Scale: {x: 1, y: 1} 23 | m_Offset: {x: 0, y: 0} 24 | - _DetailAlbedoMap: 25 | m_Texture: {fileID: 0} 26 | m_Scale: {x: 1, y: 1} 27 | m_Offset: {x: 0, y: 0} 28 | - _DetailMask: 29 | m_Texture: {fileID: 0} 30 | m_Scale: {x: 1, y: 1} 31 | m_Offset: {x: 0, y: 0} 32 | - _DetailNormalMap: 33 | m_Texture: {fileID: 0} 34 | m_Scale: {x: 1, y: 1} 35 | m_Offset: {x: 0, y: 0} 36 | - _EmissionMap: 37 | m_Texture: {fileID: 0} 38 | m_Scale: {x: 1, y: 1} 39 | m_Offset: {x: 0, y: 0} 40 | - _MainTex: 41 | m_Texture: {fileID: 0} 42 | m_Scale: {x: 1, y: 1} 43 | m_Offset: {x: 0, y: 0} 44 | - _MetallicGlossMap: 45 | m_Texture: {fileID: 0} 46 | m_Scale: {x: 1, y: 1} 47 | m_Offset: {x: 0, y: 0} 48 | - _OcclusionMap: 49 | m_Texture: {fileID: 0} 50 | m_Scale: {x: 1, y: 1} 51 | m_Offset: {x: 0, y: 0} 52 | - _ParallaxMap: 53 | m_Texture: {fileID: 0} 54 | m_Scale: {x: 1, y: 1} 55 | m_Offset: {x: 0, y: 0} 56 | m_Floats: 57 | - _BumpScale: 1 58 | - _Cutoff: 0.5 59 | - _DetailNormalMapScale: 1 60 | - _DstBlend: 0 61 | - _GlossMapScale: 1 62 | - _Glossiness: 0.5 63 | - _GlossyReflections: 1 64 | - _Metallic: 0 65 | - _Mode: 0 66 | - _OcclusionStrength: 1 67 | - _Parallax: 0.02 68 | - _SmoothnessTextureChannel: 0 69 | - _SpecularHighlights: 1 70 | - _SrcBlend: 1 71 | - _UVSec: 0 72 | - _ZWrite: 1 73 | m_Colors: 74 | - _Color: {r: 1, g: 0, b: 0.06206894, a: 1} 75 | - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} 76 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Materials/XColor.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: aaae8be92ba59487a9946818d7a2017f 3 | timeCreated: 1493855225 4 | licenseType: Store 5 | NativeFormatImporter: 6 | mainObjectFileID: 2100000 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Materials/YColor.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_PrefabParentObject: {fileID: 0} 8 | m_PrefabInternal: {fileID: 0} 9 | m_Name: YColor 10 | m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} 11 | m_ShaderKeywords: 12 | m_LightmapFlags: 4 13 | m_EnableInstancingVariants: 0 14 | m_CustomRenderQueue: -1 15 | stringTagMap: {} 16 | disabledShaderPasses: [] 17 | m_SavedProperties: 18 | serializedVersion: 3 19 | m_TexEnvs: 20 | - _BumpMap: 21 | m_Texture: {fileID: 0} 22 | m_Scale: {x: 1, y: 1} 23 | m_Offset: {x: 0, y: 0} 24 | - _DetailAlbedoMap: 25 | m_Texture: {fileID: 0} 26 | m_Scale: {x: 1, y: 1} 27 | m_Offset: {x: 0, y: 0} 28 | - _DetailMask: 29 | m_Texture: {fileID: 0} 30 | m_Scale: {x: 1, y: 1} 31 | m_Offset: {x: 0, y: 0} 32 | - _DetailNormalMap: 33 | m_Texture: {fileID: 0} 34 | m_Scale: {x: 1, y: 1} 35 | m_Offset: {x: 0, y: 0} 36 | - _EmissionMap: 37 | m_Texture: {fileID: 0} 38 | m_Scale: {x: 1, y: 1} 39 | m_Offset: {x: 0, y: 0} 40 | - _MainTex: 41 | m_Texture: {fileID: 0} 42 | m_Scale: {x: 1, y: 1} 43 | m_Offset: {x: 0, y: 0} 44 | - _MetallicGlossMap: 45 | m_Texture: {fileID: 0} 46 | m_Scale: {x: 1, y: 1} 47 | m_Offset: {x: 0, y: 0} 48 | - _OcclusionMap: 49 | m_Texture: {fileID: 0} 50 | m_Scale: {x: 1, y: 1} 51 | m_Offset: {x: 0, y: 0} 52 | - _ParallaxMap: 53 | m_Texture: {fileID: 0} 54 | m_Scale: {x: 1, y: 1} 55 | m_Offset: {x: 0, y: 0} 56 | m_Floats: 57 | - _BumpScale: 1 58 | - _Cutoff: 0.5 59 | - _DetailNormalMapScale: 1 60 | - _DstBlend: 0 61 | - _GlossMapScale: 1 62 | - _Glossiness: 0.5 63 | - _GlossyReflections: 1 64 | - _Metallic: 0 65 | - _Mode: 0 66 | - _OcclusionStrength: 1 67 | - _Parallax: 0.02 68 | - _SmoothnessTextureChannel: 0 69 | - _SpecularHighlights: 1 70 | - _SrcBlend: 1 71 | - _UVSec: 0 72 | - _ZWrite: 1 73 | m_Colors: 74 | - _Color: {r: 0.19463666, g: 0.88235295, b: 0.31320846, a: 1} 75 | - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} 76 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Materials/YColor.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8fa2e9e7c08844dd4a8d581610839228 3 | timeCreated: 1493855225 4 | licenseType: Store 5 | NativeFormatImporter: 6 | mainObjectFileID: 2100000 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Materials/YUVMaterial.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f1d9352050a75486f878ab19fa578f16 3 | timeCreated: 1492641356 4 | licenseType: Store 5 | NativeFormatImporter: 6 | mainObjectFileID: 2100000 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Materials/ZColor.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_PrefabParentObject: {fileID: 0} 8 | m_PrefabInternal: {fileID: 0} 9 | m_Name: ZColor 10 | m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} 11 | m_ShaderKeywords: 12 | m_LightmapFlags: 4 13 | m_EnableInstancingVariants: 0 14 | m_CustomRenderQueue: -1 15 | stringTagMap: {} 16 | disabledShaderPasses: [] 17 | m_SavedProperties: 18 | serializedVersion: 3 19 | m_TexEnvs: 20 | - _BumpMap: 21 | m_Texture: {fileID: 0} 22 | m_Scale: {x: 1, y: 1} 23 | m_Offset: {x: 0, y: 0} 24 | - _DetailAlbedoMap: 25 | m_Texture: {fileID: 0} 26 | m_Scale: {x: 1, y: 1} 27 | m_Offset: {x: 0, y: 0} 28 | - _DetailMask: 29 | m_Texture: {fileID: 0} 30 | m_Scale: {x: 1, y: 1} 31 | m_Offset: {x: 0, y: 0} 32 | - _DetailNormalMap: 33 | m_Texture: {fileID: 0} 34 | m_Scale: {x: 1, y: 1} 35 | m_Offset: {x: 0, y: 0} 36 | - _EmissionMap: 37 | m_Texture: {fileID: 0} 38 | m_Scale: {x: 1, y: 1} 39 | m_Offset: {x: 0, y: 0} 40 | - _MainTex: 41 | m_Texture: {fileID: 0} 42 | m_Scale: {x: 1, y: 1} 43 | m_Offset: {x: 0, y: 0} 44 | - _MetallicGlossMap: 45 | m_Texture: {fileID: 0} 46 | m_Scale: {x: 1, y: 1} 47 | m_Offset: {x: 0, y: 0} 48 | - _OcclusionMap: 49 | m_Texture: {fileID: 0} 50 | m_Scale: {x: 1, y: 1} 51 | m_Offset: {x: 0, y: 0} 52 | - _ParallaxMap: 53 | m_Texture: {fileID: 0} 54 | m_Scale: {x: 1, y: 1} 55 | m_Offset: {x: 0, y: 0} 56 | m_Floats: 57 | - _BumpScale: 1 58 | - _Cutoff: 0.5 59 | - _DetailNormalMapScale: 1 60 | - _DstBlend: 0 61 | - _GlossMapScale: 1 62 | - _Glossiness: 0.5 63 | - _GlossyReflections: 1 64 | - _Metallic: 0 65 | - _Mode: 0 66 | - _OcclusionStrength: 1 67 | - _Parallax: 0.02 68 | - _SmoothnessTextureChannel: 0 69 | - _SpecularHighlights: 1 70 | - _SrcBlend: 1 71 | - _UVSec: 0 72 | - _ZWrite: 1 73 | m_Colors: 74 | - _Color: {r: 0, g: 0.13103437, b: 1, a: 1} 75 | - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} 76 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Materials/ZColor.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d55ccb0db00e54a1696c1e96094d706d 3 | timeCreated: 1493855225 4 | licenseType: Store 5 | NativeFormatImporter: 6 | mainObjectFileID: 2100000 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Materials/debugPlaneMaterial.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b36939cf153274ec29fbf2f10d0a49d7 3 | timeCreated: 1492715747 4 | licenseType: Store 5 | NativeFormatImporter: 6 | mainObjectFileID: 2100000 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Materials/occlusionPlaneMaterial.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_PrefabParentObject: {fileID: 0} 8 | m_PrefabInternal: {fileID: 0} 9 | m_Name: occlusionPlaneMaterial 10 | m_Shader: {fileID: 4800000, guid: 1e5df5a56a7624e0981993663cf33154, type: 3} 11 | m_ShaderKeywords: 12 | m_LightmapFlags: 4 13 | m_EnableInstancingVariants: 0 14 | m_DoubleSidedGI: 0 15 | m_CustomRenderQueue: 1990 16 | stringTagMap: {} 17 | disabledShaderPasses: [] 18 | m_SavedProperties: 19 | serializedVersion: 3 20 | m_TexEnvs: 21 | - _BumpMap: 22 | m_Texture: {fileID: 0} 23 | m_Scale: {x: 1, y: 1} 24 | m_Offset: {x: 0, y: 0} 25 | - _DetailAlbedoMap: 26 | m_Texture: {fileID: 0} 27 | m_Scale: {x: 1, y: 1} 28 | m_Offset: {x: 0, y: 0} 29 | - _DetailMask: 30 | m_Texture: {fileID: 0} 31 | m_Scale: {x: 1, y: 1} 32 | m_Offset: {x: 0, y: 0} 33 | - _DetailNormalMap: 34 | m_Texture: {fileID: 0} 35 | m_Scale: {x: 1, y: 1} 36 | m_Offset: {x: 0, y: 0} 37 | - _EmissionMap: 38 | m_Texture: {fileID: 0} 39 | m_Scale: {x: 1, y: 1} 40 | m_Offset: {x: 0, y: 0} 41 | - _MainTex: 42 | m_Texture: {fileID: 0} 43 | m_Scale: {x: 1, y: 1} 44 | m_Offset: {x: 0, y: 0} 45 | - _MetallicGlossMap: 46 | m_Texture: {fileID: 0} 47 | m_Scale: {x: 1, y: 1} 48 | m_Offset: {x: 0, y: 0} 49 | - _OcclusionMap: 50 | m_Texture: {fileID: 0} 51 | m_Scale: {x: 1, y: 1} 52 | m_Offset: {x: 0, y: 0} 53 | - _ParallaxMap: 54 | m_Texture: {fileID: 0} 55 | m_Scale: {x: 1, y: 1} 56 | m_Offset: {x: 0, y: 0} 57 | m_Floats: 58 | - _BumpScale: 1 59 | - _Cutoff: 0.5 60 | - _DetailNormalMapScale: 1 61 | - _DstBlend: 0 62 | - _GlossMapScale: 1 63 | - _Glossiness: 0.5 64 | - _GlossyReflections: 1 65 | - _Metallic: 0 66 | - _Mode: 0 67 | - _OcclusionStrength: 1 68 | - _Parallax: 0.02 69 | - _SmoothnessTextureChannel: 0 70 | - _SpecularHighlights: 1 71 | - _SrcBlend: 1 72 | - _UVSec: 0 73 | - _ZWrite: 1 74 | m_Colors: 75 | - _Color: {r: 1, g: 1, b: 1, a: 1} 76 | - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} 77 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Materials/occlusionPlaneMaterial.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 25eeebe0578974575aac9f24b4ede717 3 | timeCreated: 1497288096 4 | licenseType: Store 5 | NativeFormatImporter: 6 | mainObjectFileID: 2100000 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Materials/shadowPlaneMaterial.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_PrefabParentObject: {fileID: 0} 8 | m_PrefabInternal: {fileID: 0} 9 | m_Name: shadowPlaneMaterial 10 | m_Shader: {fileID: 4800000, guid: abcf973b8dc974208a882fe4b8c6b73f, type: 3} 11 | m_ShaderKeywords: 12 | m_LightmapFlags: 4 13 | m_EnableInstancingVariants: 0 14 | m_CustomRenderQueue: -1 15 | stringTagMap: {} 16 | disabledShaderPasses: [] 17 | m_SavedProperties: 18 | serializedVersion: 3 19 | m_TexEnvs: 20 | - _BumpMap: 21 | m_Texture: {fileID: 0} 22 | m_Scale: {x: 1, y: 1} 23 | m_Offset: {x: 0, y: 0} 24 | - _DetailAlbedoMap: 25 | m_Texture: {fileID: 0} 26 | m_Scale: {x: 1, y: 1} 27 | m_Offset: {x: 0, y: 0} 28 | - _DetailMask: 29 | m_Texture: {fileID: 0} 30 | m_Scale: {x: 1, y: 1} 31 | m_Offset: {x: 0, y: 0} 32 | - _DetailNormalMap: 33 | m_Texture: {fileID: 0} 34 | m_Scale: {x: 1, y: 1} 35 | m_Offset: {x: 0, y: 0} 36 | - _EmissionMap: 37 | m_Texture: {fileID: 0} 38 | m_Scale: {x: 1, y: 1} 39 | m_Offset: {x: 0, y: 0} 40 | - _MainTex: 41 | m_Texture: {fileID: 0} 42 | m_Scale: {x: 1, y: 1} 43 | m_Offset: {x: 0, y: 0} 44 | - _MetallicGlossMap: 45 | m_Texture: {fileID: 0} 46 | m_Scale: {x: 1, y: 1} 47 | m_Offset: {x: 0, y: 0} 48 | - _OcclusionMap: 49 | m_Texture: {fileID: 0} 50 | m_Scale: {x: 1, y: 1} 51 | m_Offset: {x: 0, y: 0} 52 | - _ParallaxMap: 53 | m_Texture: {fileID: 0} 54 | m_Scale: {x: 1, y: 1} 55 | m_Offset: {x: 0, y: 0} 56 | m_Floats: 57 | - _BumpScale: 1 58 | - _Cutoff: 0.5 59 | - _DetailNormalMapScale: 1 60 | - _DstBlend: 0 61 | - _GlossMapScale: 1 62 | - _Glossiness: 0.5 63 | - _GlossyReflections: 1 64 | - _Metallic: 0 65 | - _Mode: 0 66 | - _OcclusionStrength: 1 67 | - _Parallax: 0.02 68 | - _SmoothnessTextureChannel: 0 69 | - _SpecularHighlights: 1 70 | - _SrcBlend: 1 71 | - _UVSec: 0 72 | - _ZWrite: 1 73 | m_Colors: 74 | - _Color: {r: 1, g: 1, b: 1, a: 1} 75 | - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} 76 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Materials/shadowPlaneMaterial.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 16f11da3beeaf498f8526286a295a38e 3 | timeCreated: 1497288096 4 | licenseType: Store 5 | NativeFormatImporter: 6 | mainObjectFileID: 2100000 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6930a53974b964a77bb66c8a01551eaa 3 | folderAsset: yes 4 | timeCreated: 1492795798 5 | licenseType: Store 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARAnchor.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace UnityEngine.XR.iOS 4 | { 5 | public struct ARAnchor 6 | { 7 | public string identifier; 8 | 9 | /** 10 | The transformation matrix that defines the anchor's rotation, translation and scale in world coordinates. 11 | */ 12 | public Matrix4x4 transform; 13 | } 14 | } 15 | 16 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARAnchor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 79ff8feee38c24e158252a971d93a42a 3 | timeCreated: 1492118050 4 | licenseType: Store 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARCamera.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | 5 | namespace UnityEngine.XR.iOS 6 | { 7 | public struct ARCamera 8 | { 9 | /** 10 | The transformation matrix that defines the camera's rotation and translation in world coordinates. 11 | */ 12 | 13 | public Matrix4x4 worldTransform; 14 | 15 | /** 16 | The camera's orientation defined as Euler angles. 17 | 18 | @dicussion The order of components in this vector matches the axes of rotation: 19 | 1. Pitch (the x component) is the rotation about the node's x-axis (in radians) 20 | 2. Yaw (the y component) is the rotation about the node's y-axis (in radians) 21 | 3. Roll (the z component) is the rotation about the node's z-axis (in radians) 22 | ARKit applies these rotations in the reverse order of the components: 23 | 1. first roll 24 | 2. then yaw 25 | 3. then pitch 26 | */ 27 | 28 | public Vector3 eulerAngles; 29 | 30 | public ARTrackingQuality trackingQuality; 31 | 32 | /** 33 | The camera intrinsics. 34 | @discussion The matrix has the following contents: 35 | fx 0 px 36 | 0 fy py 37 | 0 0 1 38 | fx and fy are the focal length in pixels. 39 | px and py are the coordinates of the principal point in pixels. 40 | The origin is at the center of the upper-left pixel. 41 | */ 42 | 43 | public Vector3 intrinsics_row1; 44 | public Vector3 intrinsics_row2; 45 | public Vector3 intrinsics_row3; 46 | 47 | public ARSize imageResolution; 48 | 49 | } 50 | } 51 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARCamera.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f7914788e42e54a09ac79ed2629dfb48 3 | timeCreated: 1492103364 4 | licenseType: Store 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARErrorCode.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace UnityEngine.XR.iOS 4 | { 5 | public enum ARErrorCode : long 6 | { 7 | /** Unsupported session configuration. */ 8 | ARErrorCodeUnsupportedConfiguration = 100, 9 | 10 | /** A sensor required to run the session is not available. */ 11 | ARErrorCodeSensorUnavailable = 101, 12 | 13 | /** A sensor failed to provide the required input. */ 14 | ARErrorCodeSensorFailed = 102, 15 | 16 | /** World tracking has encountered a fatal error. */ 17 | ARErrorCodeWorldTrackingFailed = 200, 18 | 19 | } 20 | } 21 | 22 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARErrorCode.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 094318df5b9084291abdf9a768914ab7 3 | timeCreated: 1492118622 4 | licenseType: Store 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARFrame.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace UnityEngine.XR.iOS 4 | { 5 | public struct ARFrame 6 | { 7 | /** 8 | A timestamp identifying the frame. 9 | */ 10 | public double timestamp; 11 | 12 | /** 13 | The frame's captured image. 14 | */ 15 | public IntPtr capturedImage; 16 | 17 | /** 18 | The camera used to capture the frame's image. 19 | @discussion The camera provides the device's position and orientation as well as camera parameters. 20 | */ 21 | public ARCamera camera; 22 | 23 | /** 24 | A list of anchors in the scene. 25 | */ 26 | //List anchors; 27 | 28 | /** 29 | A light estimate representing the light in the scene. 30 | @discussion Returns nil if there is no light estimation. 31 | */ 32 | ARLightEstimate lightEstimate; 33 | 34 | } 35 | } 36 | 37 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARFrame.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b8b915b5e16c84740b940efc7a7e2821 3 | timeCreated: 1492118050 4 | licenseType: Store 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARHitTestResult.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace UnityEngine.XR.iOS 4 | { 5 | public struct ARHitTestResult 6 | { 7 | /** 8 | The type of the hit-test result. 9 | */ 10 | public ARHitTestResultType type; 11 | 12 | /** 13 | The distance from the camera to the intersection in meters. 14 | */ 15 | public double distance; 16 | 17 | /** 18 | The transformation matrix that defines the intersection's rotation, translation and scale 19 | relative to the anchor or nearest feature point. 20 | */ 21 | public Matrix4x4 localTransform; 22 | 23 | /** 24 | The transformation matrix that defines the intersection's rotation, translation and scale 25 | relative to the world. 26 | */ 27 | public Matrix4x4 worldTransform; 28 | 29 | /** 30 | The anchor that the hit-test intersected. 31 | */ 32 | public string anchorIdentifier; 33 | 34 | /** 35 | True if the test represents a valid hit test. Data is undefined otherwise. 36 | */ 37 | public bool isValid; 38 | } 39 | } 40 | 41 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARHitTestResult.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 048b3fa7b70bb49689905314375cd7c3 3 | timeCreated: 1492121726 4 | licenseType: Store 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARHitTestResultType.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace UnityEngine.XR.iOS 4 | { 5 | [Flags] 6 | public enum ARHitTestResultType : long 7 | { 8 | /** Result type from intersecting the nearest feature point. */ 9 | ARHitTestResultTypeFeaturePoint = (1 << 0), 10 | 11 | /** Result type from detecting and intersecting a new horizontal plane. */ 12 | ARHitTestResultTypeHorizontalPlane = (1 << 1), 13 | 14 | /** Result type from detecting and intersecting a new vertical plane. */ 15 | ARHitTestResultTypeVerticalPlane = (1 << 2), 16 | 17 | /** Result type from intersecting with an existing plane anchor. */ 18 | ARHitTestResultTypeExistingPlane = (1 << 3), 19 | 20 | /** Result type from intersecting with an existing plane anchor, taking into account the plane's extent. */ 21 | ARHitTestResultTypeExistingPlaneUsingExtent = ( 1 << 4) 22 | 23 | } 24 | } 25 | 26 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARHitTestResultType.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1d70fc085339c436b848c46340250a29 3 | timeCreated: 1492121726 4 | licenseType: Store 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARLightEstimate.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace UnityEngine.XR.iOS 4 | { 5 | public struct ARLightEstimate 6 | { 7 | public double ambientIntensity; 8 | } 9 | } 10 | 11 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARLightEstimate.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c1f2e6c89195544de943f77cd419d81d 3 | timeCreated: 1492118050 4 | licenseType: Store 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARPlaneAnchor.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace UnityEngine.XR.iOS 4 | { 5 | public struct ARPlaneAnchor 6 | { 7 | 8 | public string identifier; 9 | 10 | /** 11 | The transformation matrix that defines the anchor's rotation, translation and scale in world coordinates. 12 | */ 13 | public Matrix4x4 transform; 14 | 15 | /** 16 | The alignment of the plane. 17 | */ 18 | 19 | public ARPlaneAnchorAlignment alignment; 20 | 21 | /** 22 | The center of the plane in the anchor’s coordinate space. 23 | */ 24 | 25 | public Vector3 center; 26 | 27 | /** 28 | The extent of the plane in the anchor’s coordinate space. 29 | */ 30 | public Vector3 extent; 31 | 32 | 33 | } 34 | } 35 | 36 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARPlaneAnchor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4a7917e69c7bc43ad8879cc6d58266fc 3 | timeCreated: 1492119200 4 | licenseType: Store 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARPlaneAnchorAlignment.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace UnityEngine.XR.iOS 4 | { 5 | public enum ARPlaneAnchorAlignment : long 6 | { 7 | /** A plane that is horizontal with respect to gravity. */ 8 | ARPlaneAnchorAlignmentHorizontal 9 | } 10 | } 11 | 12 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARPlaneAnchorAlignment.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f8d5557085c2d4e3e8ac43f5694ea8c8 3 | timeCreated: 1492119200 4 | licenseType: Store 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARPoint.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace UnityEngine.XR.iOS 4 | { 5 | public struct ARPoint 6 | { 7 | public double x; 8 | public double y; 9 | } 10 | } 11 | 12 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARPoint.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 91d28e0ba93314b2298e88a73bf448d3 3 | timeCreated: 1492119200 4 | licenseType: Store 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARRect.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace UnityEngine.XR.iOS 4 | { 5 | public struct ARRect 6 | { 7 | public ARPoint origin; 8 | public ARSize size; 9 | } 10 | } 11 | 12 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARRect.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1b78ac1873b934b6497aa4404b460655 3 | timeCreated: 1492120116 4 | licenseType: Store 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARSessionNative.mm.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9ecd21425b31a46ef9abc90a0516e9a1 3 | timeCreated: 1492108287 4 | licenseType: Store 5 | PluginImporter: 6 | serializedVersion: 2 7 | iconMap: {} 8 | executionOrder: {} 9 | isPreloaded: 0 10 | isOverridable: 0 11 | platformData: 12 | data: 13 | first: 14 | Any: 15 | second: 16 | enabled: 0 17 | settings: {} 18 | data: 19 | first: 20 | Editor: Editor 21 | second: 22 | enabled: 0 23 | settings: 24 | DefaultValueInitialized: true 25 | data: 26 | first: 27 | iPhone: iOS 28 | second: 29 | enabled: 1 30 | settings: {} 31 | userData: 32 | assetBundleName: 33 | assetBundleVariant: 34 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARSize.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace UnityEngine.XR.iOS 4 | { 5 | public struct ARSize 6 | { 7 | public double width; 8 | public double height; 9 | } 10 | } 11 | 12 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARSize.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c72e6d3d39c0b495ba3d40c3cbd3a8ca 3 | timeCreated: 1492114222 4 | licenseType: Store 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARTextureHandles.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace UnityEngine.XR.iOS 4 | { 5 | public struct ARTextureHandles 6 | { 7 | // Native (Metal) texture handles for the device camera buffer 8 | public IntPtr textureY; 9 | public IntPtr textureCbCr; 10 | } 11 | } 12 | 13 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARTextureHandles.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 223ca11cf486046fe9c3740ee69b7a27 3 | timeCreated: 1493064086 4 | licenseType: Store 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARTrackingQuality.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace UnityEngine.XR.iOS 4 | { 5 | public enum ARTrackingQuality : long 6 | { 7 | /** The tracking quality is not available. */ 8 | ARTrackingQualityNotAvailable, 9 | 10 | /** The tracking quality is limited, relying only on the device's motion. */ 11 | ARTrackingQualityLimited, 12 | 13 | /** The tracking quality is poor. */ 14 | ARTrackingQualityPoor, 15 | 16 | /** The tracking quality is good. */ 17 | ARTrackingQualityGood 18 | 19 | } 20 | } 21 | 22 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARTrackingQuality.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 70419166c9be04782bc37a66aa7ead0a 3 | timeCreated: 1492114222 4 | licenseType: Store 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARTrackingState.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace UnityEngine.XR.iOS 4 | { 5 | public enum ARTrackingState 6 | { 7 | /** Tracking is not available. */ 8 | ARTrackingStateNotAvailable, 9 | 10 | /** Tracking is limited. See tracking reason for details. */ 11 | ARTrackingStateLimited, 12 | 13 | /** Tracking is Normal. */ 14 | ARTrackingStateNormal, 15 | } 16 | } 17 | 18 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARTrackingState.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3c8e21e94c4944a7eb5202db41d4bce0 3 | timeCreated: 1493767524 4 | licenseType: Store 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARTrackingStateReason.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace UnityEngine.XR.iOS 4 | { 5 | public enum ARTrackingStateReason 6 | { 7 | /** Tracking is not limited. */ 8 | ARTrackingStateReasonNone, 9 | 10 | /** Tracking is limited due to initialization in progress. */ 11 | ARTrackingStateReasonInitializing, 12 | 13 | /** Tracking is limited due to a excessive motion of the camera. */ 14 | ARTrackingStateReasonExcessiveMotion, 15 | 16 | /** Tracking is limited due to a lack of features visible to the camera. */ 17 | ARTrackingStateReasonInsufficientFeatures, 18 | } 19 | } 20 | 21 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARTrackingStateReason.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b76c532f89f25411ca5c1d82cd7a5367 3 | timeCreated: 1493767524 4 | licenseType: Store 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARUserAnchor.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace UnityEngine.XR.iOS 4 | { 5 | public struct ARUserAnchor 6 | { 7 | 8 | public string identifier; 9 | 10 | /** 11 | The transformation matrix that defines the anchor's rotation, translation and scale in world coordinates. 12 | */ 13 | public Matrix4x4 transform; 14 | } 15 | } 16 | 17 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARUserAnchor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e8271a80f6d6245a4bf920bbe514bbc0 3 | timeCreated: 1500325731 4 | licenseType: Store 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/UnityARSessionNativeInterface.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 43900ad1460304627a359bed956a451d 3 | timeCreated: 1492795428 4 | licenseType: Store 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/PointCloudParticleExample.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | using UnityEngine.XR.iOS; 5 | 6 | public class PointCloudParticleExample : MonoBehaviour { 7 | public ParticleSystem pointCloudParticlePrefab; 8 | public int maxPointsToShow; 9 | public float particleSize = 1.0f; 10 | private Vector3[] m_PointCloudData; 11 | private bool frameUpdated = false; 12 | private ParticleSystem currentPS; 13 | private ParticleSystem.Particle [] particles; 14 | 15 | // Use this for initialization 16 | void Start () { 17 | UnityARSessionNativeInterface.ARFrameUpdatedEvent += ARFrameUpdated; 18 | currentPS = Instantiate (pointCloudParticlePrefab); 19 | frameUpdated = false; 20 | } 21 | 22 | public void ARFrameUpdated(UnityARCamera camera) 23 | { 24 | m_PointCloudData = camera.pointCloudData; 25 | frameUpdated = true; 26 | } 27 | 28 | // Update is called once per frame 29 | void Update () { 30 | if (frameUpdated) { 31 | if (m_PointCloudData != null && m_PointCloudData.Length > 0) { 32 | int numParticles = Mathf.Min (m_PointCloudData.Length, maxPointsToShow); 33 | ParticleSystem.Particle[] particles = new ParticleSystem.Particle[numParticles]; 34 | int index = 0; 35 | foreach (Vector3 currentPoint in m_PointCloudData) { 36 | particles [index].position = currentPoint; 37 | particles [index].startColor = new Color (1.0f, 1.0f, 1.0f); 38 | particles [index].startSize = particleSize; 39 | index++; 40 | } 41 | currentPS.SetParticles (particles, numParticles); 42 | } else { 43 | ParticleSystem.Particle[] particles = new ParticleSystem.Particle[1]; 44 | particles [0].startSize = 0.0f; 45 | currentPS.SetParticles (particles, 1); 46 | } 47 | frameUpdated = false; 48 | } 49 | } 50 | } 51 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/PointCloudParticleExample.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ec20d460fbb7e4f92b4d84a10da98cd9 3 | timeCreated: 1494006942 4 | licenseType: Store 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Prefabs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 89956a1e1c98d49de8bf53800b483902 3 | folderAsset: yes 4 | timeCreated: 1492715679 5 | licenseType: Store 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Prefabs/BallPrefab.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e11b49885a57845e3b22a6355928ed72 3 | timeCreated: 1496972639 4 | licenseType: Store 5 | NativeFormatImporter: 6 | mainObjectFileID: 100100000 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Prefabs/CollSphere.prefab: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!1001 &100100000 4 | Prefab: 5 | m_ObjectHideFlags: 1 6 | serializedVersion: 2 7 | m_Modification: 8 | m_TransformParent: {fileID: 0} 9 | m_Modifications: [] 10 | m_RemovedComponents: [] 11 | m_ParentPrefab: {fileID: 0} 12 | m_RootGameObject: {fileID: 1054048126866664} 13 | m_IsPrefabParent: 1 14 | --- !u!1 &1054048126866664 15 | GameObject: 16 | m_ObjectHideFlags: 0 17 | m_PrefabParentObject: {fileID: 0} 18 | m_PrefabInternal: {fileID: 100100000} 19 | serializedVersion: 5 20 | m_Component: 21 | - component: {fileID: 4813142357266462} 22 | - component: {fileID: 33999288727854204} 23 | - component: {fileID: 135561595105751414} 24 | m_Layer: 0 25 | m_Name: CollSphere 26 | m_TagString: Untagged 27 | m_Icon: {fileID: 0} 28 | m_NavMeshLayer: 0 29 | m_StaticEditorFlags: 0 30 | m_IsActive: 1 31 | --- !u!4 &4813142357266462 32 | Transform: 33 | m_ObjectHideFlags: 1 34 | m_PrefabParentObject: {fileID: 0} 35 | m_PrefabInternal: {fileID: 100100000} 36 | m_GameObject: {fileID: 1054048126866664} 37 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 38 | m_LocalPosition: {x: 0, y: 0, z: 0} 39 | m_LocalScale: {x: 0.07, y: 0.07, z: 0.07} 40 | m_Children: [] 41 | m_Father: {fileID: 0} 42 | m_RootOrder: 0 43 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 44 | --- !u!33 &33999288727854204 45 | MeshFilter: 46 | m_ObjectHideFlags: 1 47 | m_PrefabParentObject: {fileID: 0} 48 | m_PrefabInternal: {fileID: 100100000} 49 | m_GameObject: {fileID: 1054048126866664} 50 | m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} 51 | --- !u!135 &135561595105751414 52 | SphereCollider: 53 | m_ObjectHideFlags: 1 54 | m_PrefabParentObject: {fileID: 0} 55 | m_PrefabInternal: {fileID: 100100000} 56 | m_GameObject: {fileID: 1054048126866664} 57 | m_Material: {fileID: 0} 58 | m_IsTrigger: 0 59 | m_Enabled: 1 60 | serializedVersion: 2 61 | m_Radius: 0.5 62 | m_Center: {x: 0, y: 0, z: 0} 63 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Prefabs/CollSphere.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 772733b9aeeb7481ea21ab0986f34715 3 | timeCreated: 1496987653 4 | licenseType: Store 5 | NativeFormatImporter: 6 | mainObjectFileID: 100100000 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Prefabs/ParticlePainterPrefab.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 200646a121c9c46f69245ca2c1b789ee 3 | timeCreated: 1494016471 4 | licenseType: Store 5 | NativeFormatImporter: 6 | mainObjectFileID: 100100000 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Prefabs/ParticlePrefab.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 87db9decf4b3e4cb8bf3eea22ccd37f5 3 | timeCreated: 1494009634 4 | licenseType: Store 5 | NativeFormatImporter: 6 | mainObjectFileID: 100100000 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Prefabs/PointCloudPrefab.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 02d2a544d8d594d30b790e76398d0873 3 | timeCreated: 1493917937 4 | licenseType: Store 5 | NativeFormatImporter: 6 | mainObjectFileID: 100100000 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Prefabs/collisionPlanePrefab.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 813dd14a7826b4795823dd39ac4cc050 3 | timeCreated: 1492718811 4 | licenseType: Store 5 | NativeFormatImporter: 6 | mainObjectFileID: 100100000 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Prefabs/debugPlanePrefab.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f879aaf3eeb0c467eb22cbaf08dc97a4 3 | timeCreated: 1492718811 4 | licenseType: Store 5 | NativeFormatImporter: 6 | mainObjectFileID: 100100000 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Prefabs/occlusionPlanePrefab.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9eb96f002ffce4560879b18f2e0502e5 3 | timeCreated: 1497394239 4 | licenseType: Store 5 | NativeFormatImporter: 6 | mainObjectFileID: 100100000 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Prefabs/shadowPlanePrefab.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 696855730620a483c9ae4c242e312b28 3 | timeCreated: 1497394239 4 | licenseType: Store 5 | NativeFormatImporter: 6 | mainObjectFileID: 100100000 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Shaders.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f9e3cccf742844401a584fdd294d0607 3 | folderAsset: yes 4 | timeCreated: 1492634328 5 | licenseType: Store 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Shaders/MobileARShadow.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: abcf973b8dc974208a882fe4b8c6b73f 3 | timeCreated: 1497394336 4 | licenseType: Store 5 | ShaderImporter: 6 | defaultTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Shaders/MobileOcclusion.shader: -------------------------------------------------------------------------------- 1 | Shader "Custom/MobileOcclusion" 2 | { 3 | SubShader { 4 | Pass { 5 | // Render the Occlusion shader before all 6 | // opaque geometry to prime the depth buffer. 7 | Tags { "Queue"="Geometry" } 8 | 9 | ZWrite On 10 | ZTest LEqual 11 | ColorMask 0 12 | 13 | CGPROGRAM 14 | #pragma vertex vert 15 | #pragma fragment frag 16 | 17 | #include "UnityCG.cginc" 18 | 19 | struct appdata 20 | { 21 | float4 vertex : POSITION; 22 | }; 23 | 24 | struct v2f 25 | { 26 | float4 position : SV_POSITION; 27 | }; 28 | 29 | v2f vert (appdata input) 30 | { 31 | v2f output; 32 | 33 | output.position = UnityObjectToClipPos(input.vertex); 34 | return output; 35 | } 36 | 37 | fixed4 frag (v2f input) : SV_Target 38 | { 39 | return fixed4(0.5, 0.3, 0.0, 1.0); 40 | } 41 | ENDCG 42 | } 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Shaders/MobileOcclusion.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1e5df5a56a7624e0981993663cf33154 3 | timeCreated: 1498679026 4 | licenseType: Store 5 | ShaderImporter: 6 | defaultTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Shaders/YUVShader.shader: -------------------------------------------------------------------------------- 1 | Shader "Unlit/ARCameraShader" 2 | { 3 | Properties 4 | { 5 | _textureY ("TextureY", 2D) = "white" {} 6 | _textureCbCr ("TextureCbCr", 2D) = "black" {} 7 | _texCoordScale ("Texture Coordinate Scale", float) = 1.0 8 | _isPortrait ("Device Orientation", Int) = 0 9 | } 10 | SubShader 11 | { 12 | Cull Off 13 | Tags { "RenderType"="Opaque" } 14 | LOD 100 15 | 16 | Pass 17 | { 18 | ZWrite Off 19 | CGPROGRAM 20 | #pragma vertex vert 21 | #pragma fragment frag 22 | 23 | #include "UnityCG.cginc" 24 | 25 | uniform float _texCoordScale; 26 | uniform int _isPortrait; 27 | float4x4 _TextureRotation; 28 | 29 | struct Vertex 30 | { 31 | float4 position : POSITION; 32 | float2 texcoord : TEXCOORD0; 33 | }; 34 | 35 | struct TexCoordInOut 36 | { 37 | float4 position : SV_POSITION; 38 | float2 texcoord : TEXCOORD0; 39 | }; 40 | 41 | TexCoordInOut vert (Vertex vertex) 42 | { 43 | TexCoordInOut o; 44 | o.position = UnityObjectToClipPos(vertex.position); 45 | if (_isPortrait == 1) 46 | { 47 | o.texcoord = float2(vertex.texcoord.x, -(vertex.texcoord.y - 0.5f) * _texCoordScale + 0.5f); 48 | } 49 | else 50 | { 51 | o.texcoord = float2((vertex.texcoord.x - 0.5f) * _texCoordScale + 0.5f, -vertex.texcoord.y); 52 | } 53 | o.texcoord = mul(_TextureRotation, float4(o.texcoord,0,1)).xy; 54 | 55 | return o; 56 | } 57 | 58 | // samplers 59 | sampler2D _textureY; 60 | sampler2D _textureCbCr; 61 | 62 | fixed4 frag (TexCoordInOut i) : SV_Target 63 | { 64 | // sample the texture 65 | float2 texcoord = i.texcoord; 66 | float y = tex2D(_textureY, texcoord).r; 67 | float4 ycbcr = float4(y, tex2D(_textureCbCr, texcoord).rg, 1.0); 68 | 69 | const float4x4 ycbcrToRGBTransform = float4x4( 70 | float4(1.0, +0.0000, +1.4020, -0.7010), 71 | float4(1.0, -0.3441, -0.7141, +0.5291), 72 | float4(1.0, +1.7720, +0.0000, -0.8860), 73 | float4(0.0, +0.0000, +0.0000, +1.0000) 74 | ); 75 | 76 | return mul(ycbcrToRGBTransform, ycbcr); 77 | } 78 | ENDCG 79 | } 80 | } 81 | } 82 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Shaders/YUVShader.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ef7b8eec959eb4f1e9fa97bc86273848 3 | timeCreated: 1492634375 4 | licenseType: Store 5 | ShaderImporter: 6 | defaultTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Textures.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e91ae238bfa1f46bb888a95633863510 3 | folderAsset: yes 4 | timeCreated: 1492718667 5 | licenseType: Store 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Textures/debugPlaneTile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/craigkj312/unity-arkit-portal/4028290aacd52e4e84cab78f515ca57c5a84ec66/ThinkingWithPortals/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Textures/debugPlaneTile.png -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Textures/debugPlaneTile.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5db0892a9f35841a1aafa4d2f617eaf3 3 | timeCreated: 1492718703 4 | licenseType: Store 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | serializedVersion: 4 8 | mipmaps: 9 | mipMapMode: 0 10 | enableMipMap: 1 11 | sRGBTexture: 1 12 | linearTexture: 0 13 | fadeOut: 0 14 | borderMipMap: 0 15 | mipMapsPreserveCoverage: 0 16 | alphaTestReferenceValue: 0.5 17 | mipMapFadeDistanceStart: 1 18 | mipMapFadeDistanceEnd: 3 19 | bumpmap: 20 | convertToNormalMap: 0 21 | externalNormalMap: 0 22 | heightScale: 0.25 23 | normalMapFilter: 0 24 | isReadable: 0 25 | grayScaleToAlpha: 0 26 | generateCubemap: 6 27 | cubemapConvolution: 0 28 | seamlessCubemap: 0 29 | textureFormat: 1 30 | maxTextureSize: 2048 31 | textureSettings: 32 | serializedVersion: 2 33 | filterMode: -1 34 | aniso: -1 35 | mipBias: -1 36 | wrapU: -1 37 | wrapV: -1 38 | wrapW: -1 39 | nPOTScale: 1 40 | lightmap: 0 41 | compressionQuality: 50 42 | spriteMode: 0 43 | spriteExtrude: 1 44 | spriteMeshType: 1 45 | alignment: 0 46 | spritePivot: {x: 0.5, y: 0.5} 47 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 48 | spritePixelsToUnits: 100 49 | alphaUsage: 1 50 | alphaIsTransparency: 0 51 | spriteTessellationDetail: -1 52 | textureType: 0 53 | textureShape: 1 54 | maxTextureSizeSet: 0 55 | compressionQualitySet: 0 56 | textureFormatSet: 0 57 | platformSettings: 58 | - buildTarget: DefaultTexturePlatform 59 | maxTextureSize: 2048 60 | textureFormat: -1 61 | textureCompression: 1 62 | compressionQuality: 50 63 | crunchedCompression: 0 64 | allowsAlphaSplitting: 0 65 | overridden: 0 66 | spriteSheet: 67 | serializedVersion: 2 68 | sprites: [] 69 | outline: [] 70 | physicsShape: [] 71 | spritePackingTag: 72 | userData: 73 | assetBundleName: 74 | assetBundleVariant: 75 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/UnityARCameraManager.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 462d46d2423bb4f738d2497a397b1590 3 | timeCreated: 1493058653 4 | licenseType: Store 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/UnityARCameraNearFar.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | using UnityEngine.XR.iOS; 5 | 6 | [RequireComponent(typeof(Camera))] 7 | public class UnityARCameraNearFar : MonoBehaviour { 8 | 9 | private Camera attachedCamera; 10 | private float currentNearZ; 11 | private float currentFarZ; 12 | 13 | // Use this for initialization 14 | void Start () { 15 | attachedCamera = GetComponent (); 16 | UpdateCameraClipPlanes (); 17 | } 18 | 19 | void UpdateCameraClipPlanes() 20 | { 21 | currentNearZ = attachedCamera.nearClipPlane; 22 | currentFarZ = attachedCamera.farClipPlane; 23 | UnityARSessionNativeInterface.GetARSessionNativeInterface ().SetCameraClipPlanes (currentNearZ, currentFarZ); 24 | } 25 | 26 | // Update is called once per frame 27 | void Update () { 28 | if (currentNearZ != attachedCamera.nearClipPlane || currentFarZ != attachedCamera.farClipPlane) { 29 | UpdateCameraClipPlanes (); 30 | } 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/UnityARCameraNearFar.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ce437cef046e841aabd6070890e79d41 3 | timeCreated: 1496930896 4 | licenseType: Store 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/UnityARGeneratePlane.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | namespace UnityEngine.XR.iOS 5 | { 6 | public class UnityARGeneratePlane : MonoBehaviour 7 | { 8 | public GameObject planePrefab; 9 | private UnityARAnchorManager unityARAnchorManager; 10 | 11 | // Use this for initialization 12 | void Start () { 13 | unityARAnchorManager = new UnityARAnchorManager(); 14 | UnityARUtility.InitializePlanePrefab (planePrefab); 15 | } 16 | 17 | void OnDestroy() 18 | { 19 | unityARAnchorManager.Destroy (); 20 | } 21 | 22 | void OnGUI() 23 | { 24 | List arpags = unityARAnchorManager.GetCurrentPlaneAnchors (); 25 | if (arpags.Count >= 1) { 26 | //ARPlaneAnchor ap = arpags [0].planeAnchor; 27 | //GUI.Box (new Rect (100, 100, 800, 60), string.Format ("Center: x:{0}, y:{1}, z:{2}", ap.center.x, ap.center.y, ap.center.z)); 28 | //GUI.Box(new Rect(100, 200, 800, 60), string.Format ("Extent: x:{0}, y:{1}, z:{2}", ap.extent.x, ap.extent.y, ap.extent.z)); 29 | } 30 | } 31 | } 32 | } 33 | 34 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/UnityARGeneratePlane.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 31cac8edf84834043ac167deaeba16a9 3 | timeCreated: 1493058396 4 | licenseType: Store 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/UnityARHitTestExample.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | namespace UnityEngine.XR.iOS 5 | { 6 | public class UnityARHitTestExample : MonoBehaviour 7 | { 8 | public Transform m_HitTransform; 9 | 10 | bool HitTestWithResultType (ARPoint point, ARHitTestResultType resultTypes) 11 | { 12 | List hitResults = UnityARSessionNativeInterface.GetARSessionNativeInterface ().HitTest (point, resultTypes); 13 | if (hitResults.Count > 0) { 14 | foreach (var hitResult in hitResults) { 15 | Debug.Log ("Got hit!"); 16 | m_HitTransform.position = UnityARMatrixOps.GetPosition (hitResult.worldTransform); 17 | m_HitTransform.rotation = UnityARMatrixOps.GetRotation (hitResult.worldTransform); 18 | Debug.Log (string.Format ("x:{0:0.######} y:{1:0.######} z:{2:0.######}", m_HitTransform.position.x, m_HitTransform.position.y, m_HitTransform.position.z)); 19 | return true; 20 | } 21 | } 22 | return false; 23 | } 24 | 25 | // Update is called once per frame 26 | void Update () { 27 | if (Input.touchCount > 0 && m_HitTransform != null) 28 | { 29 | var touch = Input.GetTouch(0); 30 | if (touch.phase == TouchPhase.Began || touch.phase == TouchPhase.Moved) 31 | { 32 | var screenPosition = Camera.main.ScreenToViewportPoint(touch.position); 33 | ARPoint point = new ARPoint { 34 | x = screenPosition.x, 35 | y = screenPosition.y 36 | }; 37 | 38 | // prioritize reults types 39 | ARHitTestResultType[] resultTypes = { 40 | ARHitTestResultType.ARHitTestResultTypeExistingPlaneUsingExtent, 41 | // if you want to use infinite planes use this: 42 | //ARHitTestResultType.ARHitTestResultTypeExistingPlane, 43 | ARHitTestResultType.ARHitTestResultTypeHorizontalPlane, 44 | ARHitTestResultType.ARHitTestResultTypeFeaturePoint 45 | }; 46 | 47 | foreach (ARHitTestResultType resultType in resultTypes) 48 | { 49 | if (HitTestWithResultType (point, resultType)) 50 | { 51 | return; 52 | } 53 | } 54 | } 55 | } 56 | } 57 | 58 | 59 | } 60 | } 61 | 62 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/UnityARHitTestExample.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6941ec02ead994c9b848d640887441f1 3 | timeCreated: 1492806244 4 | licenseType: Store 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/UnityARKitControl.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4977b930c0f8843c8b8a101ba5bf3c8f 3 | timeCreated: 1493240142 4 | licenseType: Store 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/UnityARUserAnchorComponent.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections; 3 | using System.Collections.Generic; 4 | using UnityEngine; 5 | using UnityEngine.XR.iOS; 6 | 7 | namespace UnityEngine.XR.iOS 8 | { 9 | public class UnityARUserAnchorComponent : MonoBehaviour { 10 | 11 | private string m_AnchorId; 12 | 13 | public string AnchorId { get { return m_AnchorId; } } 14 | 15 | void Awake() 16 | { 17 | UnityARSessionNativeInterface.ARUserAnchorUpdatedEvent += GameObjectAnchorUpdated; 18 | UnityARSessionNativeInterface.ARUserAnchorRemovedEvent += AnchorRemoved; 19 | this.m_AnchorId = UnityARSessionNativeInterface.GetARSessionNativeInterface ().AddUserAnchorFromGameObject(this.gameObject).identifierStr; 20 | } 21 | void Start () { 22 | 23 | } 24 | 25 | public void AnchorRemoved(ARUserAnchor anchor) 26 | { 27 | if (anchor.identifier.Equals(m_AnchorId)) 28 | { 29 | Destroy(this.gameObject); 30 | } 31 | } 32 | 33 | void OnDestroy() { 34 | UnityARSessionNativeInterface.ARUserAnchorUpdatedEvent -= GameObjectAnchorUpdated; 35 | UnityARSessionNativeInterface.ARUserAnchorRemovedEvent -= AnchorRemoved; 36 | UnityARSessionNativeInterface.GetARSessionNativeInterface ().RemoveUserAnchor(this.m_AnchorId); 37 | } 38 | 39 | private void GameObjectAnchorUpdated(ARUserAnchor anchor) 40 | { 41 | 42 | } 43 | } 44 | } -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/UnityARUserAnchorComponent.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4d24244ceb54d42ca92481ba81c45056 3 | timeCreated: 1499372973 4 | licenseType: Store 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/UnityARVideo.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b58ecea7a196242dd879c814ac05084c 3 | timeCreated: 1492796577 4 | licenseType: Store 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/UnityPointCloudExample.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using UnityEngine; 3 | using UnityEngine.XR.iOS; 4 | using System.Collections; 5 | using System.Collections.Generic; 6 | using System.Runtime.InteropServices; 7 | 8 | public class UnityPointCloudExample : MonoBehaviour 9 | { 10 | public uint numPointsToShow = 100; 11 | public GameObject PointCloudPrefab = null; 12 | private List pointCloudObjects; 13 | private Vector3[] m_PointCloudData; 14 | 15 | public void Start() 16 | { 17 | UnityARSessionNativeInterface.ARFrameUpdatedEvent += ARFrameUpdated; 18 | if (PointCloudPrefab != null) 19 | { 20 | pointCloudObjects = new List (); 21 | for (int i =0; i < numPointsToShow; i++) 22 | { 23 | pointCloudObjects.Add (Instantiate (PointCloudPrefab)); 24 | } 25 | } 26 | } 27 | 28 | public void ARFrameUpdated(UnityARCamera camera) 29 | { 30 | m_PointCloudData = camera.pointCloudData; 31 | } 32 | 33 | public void Update() 34 | { 35 | if (PointCloudPrefab != null && m_PointCloudData != null) 36 | { 37 | for (int count = 0; count < Math.Min (m_PointCloudData.Length, numPointsToShow); count++) 38 | { 39 | Vector4 vert = m_PointCloudData [count]; 40 | GameObject point = pointCloudObjects [count]; 41 | point.transform.position = new Vector3(vert.x, vert.y, vert.z); 42 | } 43 | } 44 | } 45 | } -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/UnityPointCloudExample.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c5ab0fdfbf2334e8dbbcdda6ceada7e3 3 | timeCreated: 1493835634 4 | licenseType: Store 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Utility.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0d3c230228c3e4ba4b8de56da4f82e2e 3 | folderAsset: yes 4 | timeCreated: 1492534108 5 | licenseType: Store 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Utility/UnityARAnchorManager.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | 5 | namespace UnityEngine.XR.iOS 6 | { 7 | public class UnityARAnchorManager 8 | { 9 | 10 | 11 | private Dictionary planeAnchorMap; 12 | 13 | 14 | public UnityARAnchorManager () 15 | { 16 | planeAnchorMap = new Dictionary (); 17 | UnityARSessionNativeInterface.ARAnchorAddedEvent += AddAnchor; 18 | UnityARSessionNativeInterface.ARAnchorUpdatedEvent += UpdateAnchor; 19 | UnityARSessionNativeInterface.ARAnchorRemovedEvent += RemoveAnchor; 20 | 21 | } 22 | 23 | 24 | public void AddAnchor(ARPlaneAnchor arPlaneAnchor) 25 | { 26 | GameObject go = UnityARUtility.CreatePlaneInScene (arPlaneAnchor); 27 | go.AddComponent (); //this is so these GOs persist across scene loads 28 | ARPlaneAnchorGameObject arpag = new ARPlaneAnchorGameObject (); 29 | arpag.planeAnchor = arPlaneAnchor; 30 | arpag.gameObject = go; 31 | planeAnchorMap.Add (arPlaneAnchor.identifier, arpag); 32 | } 33 | 34 | public void RemoveAnchor(ARPlaneAnchor arPlaneAnchor) 35 | { 36 | if (planeAnchorMap.ContainsKey (arPlaneAnchor.identifier)) { 37 | ARPlaneAnchorGameObject arpag = planeAnchorMap [arPlaneAnchor.identifier]; 38 | GameObject.Destroy (arpag.gameObject); 39 | planeAnchorMap.Remove (arPlaneAnchor.identifier); 40 | } 41 | } 42 | 43 | public void UpdateAnchor(ARPlaneAnchor arPlaneAnchor) 44 | { 45 | if (planeAnchorMap.ContainsKey (arPlaneAnchor.identifier)) { 46 | ARPlaneAnchorGameObject arpag = planeAnchorMap [arPlaneAnchor.identifier]; 47 | UnityARUtility.UpdatePlaneWithAnchorTransform (arpag.gameObject, arPlaneAnchor); 48 | arpag.planeAnchor = arPlaneAnchor; 49 | planeAnchorMap [arPlaneAnchor.identifier] = arpag; 50 | } 51 | } 52 | 53 | public void Destroy() 54 | { 55 | foreach (ARPlaneAnchorGameObject arpag in GetCurrentPlaneAnchors()) { 56 | GameObject.Destroy (arpag.gameObject); 57 | } 58 | 59 | planeAnchorMap.Clear (); 60 | } 61 | 62 | public List GetCurrentPlaneAnchors() 63 | { 64 | return planeAnchorMap.Values.ToList (); 65 | } 66 | } 67 | } 68 | 69 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Utility/UnityARAnchorManager.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 00b197bb73412448e9a5e14be146aaeb 3 | timeCreated: 1492557010 4 | licenseType: Store 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Utility/UnityARMatrixOps.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace UnityEngine.XR.iOS 4 | { 5 | public class UnityARMatrixOps 6 | { 7 | 8 | public static Vector3 GetPosition(Matrix4x4 matrix) 9 | { 10 | // Convert from ARKit's right-handed coordinate 11 | // system to Unity's left-handed 12 | Vector3 position = matrix.GetColumn(3); 13 | position.z = -position.z; 14 | 15 | return position; 16 | } 17 | 18 | public static Quaternion GetRotation(Matrix4x4 matrix) 19 | { 20 | // Convert from ARKit's right-handed coordinate 21 | // system to Unity's left-handed 22 | Quaternion rotation = QuaternionFromMatrix(matrix); 23 | rotation.z = -rotation.z; 24 | rotation.w = -rotation.w; 25 | 26 | return rotation; 27 | } 28 | 29 | 30 | static Quaternion QuaternionFromMatrix(Matrix4x4 m) { 31 | // Adapted from: http://www.euclideanspace.com/maths/geometry/rotations/conversions/matrixToQuaternion/index.htm 32 | Quaternion q = new Quaternion(); 33 | q.w = Mathf.Sqrt( Mathf.Max( 0, 1 + m[0,0] + m[1,1] + m[2,2] ) ) / 2; 34 | q.x = Mathf.Sqrt( Mathf.Max( 0, 1 + m[0,0] - m[1,1] - m[2,2] ) ) / 2; 35 | q.y = Mathf.Sqrt( Mathf.Max( 0, 1 - m[0,0] + m[1,1] - m[2,2] ) ) / 2; 36 | q.z = Mathf.Sqrt( Mathf.Max( 0, 1 - m[0,0] - m[1,1] + m[2,2] ) ) / 2; 37 | q.x *= Mathf.Sign( q.x * ( m[2,1] - m[1,2] ) ); 38 | q.y *= Mathf.Sign( q.y * ( m[0,2] - m[2,0] ) ); 39 | q.z *= Mathf.Sign( q.z * ( m[1,0] - m[0,1] ) ); 40 | return q; 41 | } 42 | 43 | } 44 | } 45 | 46 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Utility/UnityARMatrixOps.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 37808a86538754725a15d36128fd2afc 3 | timeCreated: 1492800582 4 | licenseType: Store 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Utility/UnityARUtility.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Runtime.InteropServices; 3 | 4 | namespace UnityEngine.XR.iOS 5 | { 6 | public class UnityARUtility 7 | { 8 | private MeshCollider meshCollider; //declared to avoid code stripping of class 9 | private MeshFilter meshFilter; //declared to avoid code stripping of class 10 | private static GameObject planePrefab = null; 11 | 12 | public static void InitializePlanePrefab(GameObject go) 13 | { 14 | planePrefab = go; 15 | } 16 | 17 | public static GameObject CreatePlaneInScene(ARPlaneAnchor arPlaneAnchor) 18 | { 19 | GameObject plane; 20 | if (planePrefab != null) { 21 | plane = GameObject.Instantiate(planePrefab); 22 | } else { 23 | plane = new GameObject (); //put in a blank gameObject to get at least a transform to manipulate 24 | } 25 | 26 | plane.name = arPlaneAnchor.identifier; 27 | 28 | return UpdatePlaneWithAnchorTransform(plane, arPlaneAnchor); 29 | 30 | } 31 | 32 | public static GameObject UpdatePlaneWithAnchorTransform(GameObject plane, ARPlaneAnchor arPlaneAnchor) 33 | { 34 | 35 | //do coordinate conversion from ARKit to Unity 36 | plane.transform.position = UnityARMatrixOps.GetPosition (arPlaneAnchor.transform); 37 | plane.transform.rotation = UnityARMatrixOps.GetRotation (arPlaneAnchor.transform); 38 | 39 | MeshFilter mf = plane.GetComponentInChildren (); 40 | 41 | if (mf != null) { 42 | //since our plane mesh is actually 10mx10m in the world, we scale it here by 0.1f 43 | mf.gameObject.transform.localScale = new Vector3(arPlaneAnchor.extent.x * 0.1f ,arPlaneAnchor.extent.y * 0.1f ,arPlaneAnchor.extent.z * 0.1f ); 44 | 45 | //convert our center position to unity coords 46 | mf.gameObject.transform.localPosition = new Vector3(arPlaneAnchor.center.x,arPlaneAnchor.center.y, -arPlaneAnchor.center.z); 47 | } 48 | 49 | return plane; 50 | } 51 | 52 | 53 | 54 | } 55 | } 56 | 57 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Utility/UnityARUtility.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9736aad5d8518481ab7e8d1d0b0e6e36 3 | timeCreated: 1492800582 4 | licenseType: Store 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/README.md.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3b9fee03a64e549a6b436e047016d85a 3 | timeCreated: 1502316137 4 | licenseType: Store 5 | DefaultImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/SCENES.txt.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 337fe1eb146c5432aab075e1f12953dc 3 | timeCreated: 1502316137 4 | licenseType: Store 5 | TextScriptImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/TUTORIAL.txt.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: afe7679fe22e04cdbabb06578ac72433 3 | timeCreated: 1502316137 4 | licenseType: Store 5 | TextScriptImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Textures.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: add6e5fca69477444b121f7c695ceb8e 3 | folderAsset: yes 4 | DefaultImporter: 5 | userData: 6 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Textures/PlayerDiffuse.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/craigkj312/unity-arkit-portal/4028290aacd52e4e84cab78f515ca57c5a84ec66/ThinkingWithPortals/Assets/UnityARKitPlugin/Textures/PlayerDiffuse.png -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Textures/PlayerDiffuse.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a3cc890ba79fb47449fb51893aa9b363 3 | TextureImporter: 4 | fileIDToRecycleName: {} 5 | serializedVersion: 2 6 | mipmaps: 7 | mipMapMode: 0 8 | enableMipMap: 1 9 | linearTexture: 0 10 | correctGamma: 0 11 | fadeOut: 0 12 | borderMipMap: 0 13 | mipMapFadeDistanceStart: 1 14 | mipMapFadeDistanceEnd: 3 15 | bumpmap: 16 | convertToNormalMap: 0 17 | externalNormalMap: 0 18 | heightScale: .25 19 | normalMapFilter: 0 20 | isReadable: 0 21 | grayScaleToAlpha: 0 22 | generateCubemap: 0 23 | cubemapConvolution: 0 24 | cubemapConvolutionSteps: 8 25 | cubemapConvolutionExponent: 1.5 26 | seamlessCubemap: 0 27 | textureFormat: -1 28 | maxTextureSize: 1024 29 | textureSettings: 30 | filterMode: -1 31 | aniso: -1 32 | mipBias: -1 33 | wrapMode: -1 34 | nPOTScale: 1 35 | lightmap: 0 36 | rGBM: 0 37 | compressionQuality: 50 38 | spriteMode: 0 39 | spriteExtrude: 1 40 | spriteMeshType: 1 41 | alignment: 0 42 | spritePivot: {x: .5, y: .5} 43 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 44 | spritePixelsToUnits: 100 45 | alphaIsTransparency: 0 46 | textureType: -1 47 | buildTargetSettings: [] 48 | spriteSheet: 49 | sprites: [] 50 | spritePackingTag: 51 | userData: 52 | assetBundleName: 53 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Textures/PlayerNormals.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/craigkj312/unity-arkit-portal/4028290aacd52e4e84cab78f515ca57c5a84ec66/ThinkingWithPortals/Assets/UnityARKitPlugin/Textures/PlayerNormals.png -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Textures/PlayerNormals.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d98be175031405b4fb3f6a5f459a22e4 3 | TextureImporter: 4 | fileIDToRecycleName: {} 5 | serializedVersion: 2 6 | mipmaps: 7 | mipMapMode: 0 8 | enableMipMap: 1 9 | linearTexture: 1 10 | correctGamma: 0 11 | fadeOut: 0 12 | borderMipMap: 0 13 | mipMapFadeDistanceStart: 1 14 | mipMapFadeDistanceEnd: 3 15 | bumpmap: 16 | convertToNormalMap: 0 17 | externalNormalMap: 1 18 | heightScale: .25 19 | normalMapFilter: 0 20 | isReadable: 0 21 | grayScaleToAlpha: 0 22 | generateCubemap: 0 23 | cubemapConvolution: 0 24 | cubemapConvolutionSteps: 8 25 | cubemapConvolutionExponent: 1.5 26 | seamlessCubemap: 0 27 | textureFormat: -1 28 | maxTextureSize: 1024 29 | textureSettings: 30 | filterMode: -1 31 | aniso: -1 32 | mipBias: -1 33 | wrapMode: -1 34 | nPOTScale: 1 35 | lightmap: 0 36 | rGBM: 0 37 | compressionQuality: 50 38 | spriteMode: 0 39 | spriteExtrude: 1 40 | spriteMeshType: 1 41 | alignment: 0 42 | spritePivot: {x: .5, y: .5} 43 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 44 | spritePixelsToUnits: 100 45 | alphaIsTransparency: 0 46 | textureType: 1 47 | buildTargetSettings: [] 48 | spriteSheet: 49 | sprites: [] 50 | spritePackingTag: 51 | userData: 52 | assetBundleName: 53 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Textures/PlayerOcclusion.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/craigkj312/unity-arkit-portal/4028290aacd52e4e84cab78f515ca57c5a84ec66/ThinkingWithPortals/Assets/UnityARKitPlugin/Textures/PlayerOcclusion.png -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Textures/PlayerOcclusion.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6ae2af98f5c9f0243806bfb6ccbbdd19 3 | TextureImporter: 4 | fileIDToRecycleName: {} 5 | serializedVersion: 2 6 | mipmaps: 7 | mipMapMode: 0 8 | enableMipMap: 1 9 | linearTexture: 0 10 | correctGamma: 0 11 | fadeOut: 0 12 | borderMipMap: 0 13 | mipMapFadeDistanceStart: 1 14 | mipMapFadeDistanceEnd: 3 15 | bumpmap: 16 | convertToNormalMap: 0 17 | externalNormalMap: 0 18 | heightScale: .25 19 | normalMapFilter: 0 20 | isReadable: 0 21 | grayScaleToAlpha: 0 22 | generateCubemap: 0 23 | cubemapConvolution: 0 24 | cubemapConvolutionSteps: 8 25 | cubemapConvolutionExponent: 1.5 26 | seamlessCubemap: 0 27 | textureFormat: -1 28 | maxTextureSize: 1024 29 | textureSettings: 30 | filterMode: -1 31 | aniso: -1 32 | mipBias: -1 33 | wrapMode: -1 34 | nPOTScale: 1 35 | lightmap: 0 36 | rGBM: 0 37 | compressionQuality: 50 38 | spriteMode: 0 39 | spriteExtrude: 1 40 | spriteMeshType: 1 41 | alignment: 0 42 | spritePivot: {x: .5, y: .5} 43 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 44 | spritePixelsToUnits: 100 45 | alphaIsTransparency: 0 46 | textureType: -1 47 | buildTargetSettings: [] 48 | spriteSheet: 49 | sprites: [] 50 | spritePackingTag: 51 | userData: 52 | assetBundleName: 53 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Textures/PlayerSpecular.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/craigkj312/unity-arkit-portal/4028290aacd52e4e84cab78f515ca57c5a84ec66/ThinkingWithPortals/Assets/UnityARKitPlugin/Textures/PlayerSpecular.tif -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/Textures/PlayerSpecular.tif.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: bc9b1c6383841ea4f9e532a49c651ff6 3 | TextureImporter: 4 | fileIDToRecycleName: {} 5 | serializedVersion: 2 6 | mipmaps: 7 | mipMapMode: 0 8 | enableMipMap: 1 9 | linearTexture: 0 10 | correctGamma: 0 11 | fadeOut: 0 12 | borderMipMap: 0 13 | mipMapFadeDistanceStart: 1 14 | mipMapFadeDistanceEnd: 3 15 | bumpmap: 16 | convertToNormalMap: 0 17 | externalNormalMap: 0 18 | heightScale: .25 19 | normalMapFilter: 0 20 | isReadable: 0 21 | grayScaleToAlpha: 0 22 | generateCubemap: 0 23 | cubemapConvolution: 0 24 | cubemapConvolutionSteps: 8 25 | cubemapConvolutionExponent: 1.5 26 | seamlessCubemap: 0 27 | textureFormat: -1 28 | maxTextureSize: 2048 29 | textureSettings: 30 | filterMode: -1 31 | aniso: -1 32 | mipBias: -1 33 | wrapMode: -1 34 | nPOTScale: 1 35 | lightmap: 0 36 | rGBM: 0 37 | compressionQuality: 50 38 | spriteMode: 0 39 | spriteExtrude: 1 40 | spriteMeshType: 1 41 | alignment: 0 42 | spritePivot: {x: .5, y: .5} 43 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 44 | spritePixelsToUnits: 100 45 | alphaIsTransparency: 0 46 | textureType: -1 47 | buildTargetSettings: [] 48 | spriteSheet: 49 | sprites: [] 50 | spritePackingTag: 51 | userData: 52 | assetBundleName: 53 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/UnityARAmbient.cs: -------------------------------------------------------------------------------- 1 | using System.Runtime.InteropServices; 2 | using UnityEngine.XR.iOS; 3 | 4 | namespace UnityEngine.XR.iOS 5 | { 6 | public class UnityARAmbient : MonoBehaviour 7 | { 8 | 9 | private Light l; 10 | 11 | public void Start() 12 | { 13 | l = GetComponent(); 14 | UnityARSessionNativeInterface.ARFrameUpdatedEvent += UpdateLightEstimation; 15 | } 16 | 17 | void UpdateLightEstimation(UnityARCamera camera) 18 | { 19 | // Convert ARKit intensity to Unity intensity 20 | // ARKit ambient intensity ranges 0-2000 21 | // Unity ambient intensity ranges 0-8 (for over-bright lights) 22 | float newai = camera.lightEstimation.ambientIntensity; 23 | l.intensity = newai / 1000.0f; 24 | 25 | //Unity Light has functionality to filter the light color to correct temperature 26 | //https://docs.unity3d.com/ScriptReference/Light-colorTemperature.html 27 | l.colorTemperature = camera.lightEstimation.ambientColorTemperature; 28 | } 29 | 30 | void OnDestroy() { 31 | UnityARSessionNativeInterface.ARFrameUpdatedEvent -= UpdateLightEstimation; 32 | } 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/UnityARAmbient.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5587c957048494a2f96db36e0995449e 3 | timeCreated: 1492805300 4 | licenseType: Store 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/UnityARBallz.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 75972bcfc855b486593ec2ec68da0b81 3 | timeCreated: 1496964608 4 | licenseType: Store 5 | DefaultImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/UnityARKitScene.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c159f2591a9b5c843b0a0442451f78f8 3 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/UnityAROcclusion.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7f026c59fb9d6489ab924c6e0e119760 3 | timeCreated: 1497467387 4 | licenseType: Store 5 | DefaultImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/UnityARShadows.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 14d17ec7304f440b48e6b953ba7a5895 3 | timeCreated: 1497467387 4 | licenseType: Store 5 | DefaultImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/UnityParticlePainter.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0327f0aa0142146c291df8203b848257 3 | timeCreated: 1494021616 4 | licenseType: Store 5 | DefaultImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/UnityARKitPlugin/checker_large UV.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/craigkj312/unity-arkit-portal/4028290aacd52e4e84cab78f515ca57c5a84ec66/ThinkingWithPortals/Assets/UnityARKitPlugin/checker_large UV.gif -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/_Scenes.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d869a9623eeff4bffb771569a482f796 3 | folderAsset: yes 4 | timeCreated: 1501776703 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /ThinkingWithPortals/Assets/_Scenes/MainScene.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 821e4344a07b04b408744f19c6e560fd 3 | timeCreated: 1497484703 4 | licenseType: Store 5 | DefaultImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /ThinkingWithPortals/ProjectSettings/AudioManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!11 &1 4 | AudioManager: 5 | m_ObjectHideFlags: 0 6 | m_Volume: 1 7 | Rolloff Scale: 1 8 | m_SpeedOfSound: 347 9 | Doppler Factor: 1 10 | Default Speaker Mode: 2 11 | m_DSPBufferSize: 0 12 | -------------------------------------------------------------------------------- /ThinkingWithPortals/ProjectSettings/ClusterInputManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!236 &1 4 | ClusterInputManager: 5 | m_ObjectHideFlags: 0 6 | m_Inputs: [] 7 | -------------------------------------------------------------------------------- /ThinkingWithPortals/ProjectSettings/DynamicsManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!55 &1 4 | PhysicsManager: 5 | m_ObjectHideFlags: 0 6 | m_Gravity: {x: 0, y: -9.81000042, z: 0} 7 | m_DefaultMaterial: {fileID: 0} 8 | m_BounceThreshold: 2 9 | m_SleepVelocity: .150000006 10 | m_SleepAngularVelocity: .140000001 11 | m_MaxAngularVelocity: 7 12 | m_MinPenetrationForPenalty: .00999999978 13 | m_SolverIterationCount: 6 14 | m_RaycastsHitTriggers: 1 15 | m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 16 | -------------------------------------------------------------------------------- /ThinkingWithPortals/ProjectSettings/EditorBuildSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!1045 &1 4 | EditorBuildSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 2 7 | m_Scenes: 8 | - enabled: 0 9 | path: Assets/UnityARKitPlugin/UnityARKitScene.unity 10 | guid: c159f2591a9b5c843b0a0442451f78f8 11 | - enabled: 0 12 | path: Assets/UnityARKitPlugin/UnityParticlePainter.unity 13 | guid: 0327f0aa0142146c291df8203b848257 14 | - enabled: 0 15 | path: Assets/UnityARKitPlugin/UnityARBallz.unity 16 | guid: 75972bcfc855b486593ec2ec68da0b81 17 | - enabled: 0 18 | path: Assets/UnityARKitPlugin/UnityARShadows.unity 19 | guid: 14d17ec7304f440b48e6b953ba7a5895 20 | - enabled: 0 21 | path: Assets/UnityARKitPlugin/UnityAROcclusion.unity 22 | guid: 7f026c59fb9d6489ab924c6e0e119760 23 | - enabled: 0 24 | path: Assets/UnityARKitPlugin/ARKitRemote/UnityARKitRemote.unity 25 | guid: 3ed73c0c9d4b76a418a0541c0cefd3ac 26 | - enabled: 0 27 | path: Assets/UnityARKitPlugin/Examples/FocusSquare/FocusSquareScene.unity 28 | guid: 3c9ef824a7b95400bade362484e9b6af 29 | - enabled: 1 30 | path: Assets/_Scenes/MainScene.unity 31 | guid: 821e4344a07b04b408744f19c6e560fd 32 | -------------------------------------------------------------------------------- /ThinkingWithPortals/ProjectSettings/EditorSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!159 &1 4 | EditorSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 3 7 | m_ExternalVersionControlSupport: Visible Meta Files 8 | m_SerializationMode: 2 9 | m_WebSecurityEmulationEnabled: 0 10 | m_WebSecurityEmulationHostUrl: http://www.mydomain.com/mygame.unity3d 11 | m_DefaultBehaviorMode: 0 12 | m_SpritePackerMode: 2 13 | m_SpritePackerPaddingPower: 1 14 | m_ProjectGenerationIncludedExtensions: txt;xml;fnt;cd 15 | m_ProjectGenerationRootNamespace: 16 | -------------------------------------------------------------------------------- /ThinkingWithPortals/ProjectSettings/GraphicsSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!30 &1 4 | GraphicsSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 12 7 | m_Deferred: 8 | m_Mode: 1 9 | m_Shader: {fileID: 69, guid: 0000000000000000f000000000000000, type: 0} 10 | m_DeferredReflections: 11 | m_Mode: 1 12 | m_Shader: {fileID: 74, guid: 0000000000000000f000000000000000, type: 0} 13 | m_ScreenSpaceShadows: 14 | m_Mode: 1 15 | m_Shader: {fileID: 64, guid: 0000000000000000f000000000000000, type: 0} 16 | m_LegacyDeferred: 17 | m_Mode: 1 18 | m_Shader: {fileID: 63, guid: 0000000000000000f000000000000000, type: 0} 19 | m_DepthNormals: 20 | m_Mode: 1 21 | m_Shader: {fileID: 62, guid: 0000000000000000f000000000000000, type: 0} 22 | m_MotionVectors: 23 | m_Mode: 1 24 | m_Shader: {fileID: 75, guid: 0000000000000000f000000000000000, type: 0} 25 | m_LightHalo: 26 | m_Mode: 1 27 | m_Shader: {fileID: 105, guid: 0000000000000000f000000000000000, type: 0} 28 | m_LensFlare: 29 | m_Mode: 1 30 | m_Shader: {fileID: 102, guid: 0000000000000000f000000000000000, type: 0} 31 | m_AlwaysIncludedShaders: 32 | - {fileID: 7, guid: 0000000000000000f000000000000000, type: 0} 33 | - {fileID: 15104, guid: 0000000000000000f000000000000000, type: 0} 34 | - {fileID: 15105, guid: 0000000000000000f000000000000000, type: 0} 35 | - {fileID: 15106, guid: 0000000000000000f000000000000000, type: 0} 36 | - {fileID: 10770, guid: 0000000000000000f000000000000000, type: 0} 37 | - {fileID: 10782, guid: 0000000000000000f000000000000000, type: 0} 38 | - {fileID: 16000, guid: 0000000000000000f000000000000000, type: 0} 39 | m_PreloadedShaders: [] 40 | m_SpritesDefaultMaterial: {fileID: 10754, guid: 0000000000000000f000000000000000, 41 | type: 0} 42 | m_CustomRenderPipeline: {fileID: 0} 43 | m_TransparencySortMode: 0 44 | m_TransparencySortAxis: {x: 0, y: 0, z: 1} 45 | m_DefaultRenderingPath: 1 46 | m_DefaultMobileRenderingPath: 1 47 | m_TierSettings: [] 48 | m_LightmapStripping: 0 49 | m_FogStripping: 0 50 | m_InstancingStripping: 0 51 | m_LightmapKeepPlain: 1 52 | m_LightmapKeepDirCombined: 1 53 | m_LightmapKeepDynamicPlain: 1 54 | m_LightmapKeepDynamicDirCombined: 1 55 | m_LightmapKeepShadowMask: 1 56 | m_LightmapKeepSubtractive: 1 57 | m_FogKeepLinear: 1 58 | m_FogKeepExp: 1 59 | m_FogKeepExp2: 1 60 | m_AlbedoSwatchInfos: [] 61 | m_LightsUseLinearIntensity: 0 62 | m_LightsUseColorTemperature: 0 63 | -------------------------------------------------------------------------------- /ThinkingWithPortals/ProjectSettings/NetworkManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!149 &1 4 | NetworkManager: 5 | m_ObjectHideFlags: 0 6 | m_DebugLevel: 0 7 | m_Sendrate: 15 8 | m_AssetToPrefab: {} 9 | -------------------------------------------------------------------------------- /ThinkingWithPortals/ProjectSettings/Physics2DSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!19 &1 4 | Physics2DSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 2 7 | m_Gravity: {x: 0, y: -9.81} 8 | m_DefaultMaterial: {fileID: 0} 9 | m_VelocityIterations: 8 10 | m_PositionIterations: 3 11 | m_VelocityThreshold: 1 12 | m_MaxLinearCorrection: 0.2 13 | m_MaxAngularCorrection: 8 14 | m_MaxTranslationSpeed: 100 15 | m_MaxRotationSpeed: 360 16 | m_MinPenetrationForPenalty: 0.01 17 | m_BaumgarteScale: 0.2 18 | m_BaumgarteTimeOfImpactScale: 0.75 19 | m_TimeToSleep: 0.5 20 | m_LinearSleepTolerance: 0.01 21 | m_AngularSleepTolerance: 2 22 | m_QueriesHitTriggers: 1 23 | m_QueriesStartInColliders: 1 24 | m_ChangeStopsCallbacks: 0 25 | m_AlwaysShowColliders: 0 26 | m_ShowColliderSleep: 1 27 | m_ShowColliderContacts: 0 28 | m_ContactArrowScale: 0.2 29 | m_ColliderAwakeColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.7529412} 30 | m_ColliderAsleepColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.36078432} 31 | m_ColliderContactColor: {r: 1, g: 0, b: 1, a: 0.6862745} 32 | m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 33 | -------------------------------------------------------------------------------- /ThinkingWithPortals/ProjectSettings/ProjectVersion.txt: -------------------------------------------------------------------------------- 1 | m_EditorVersion: 2017.1.1f1 2 | -------------------------------------------------------------------------------- /ThinkingWithPortals/ProjectSettings/QualitySettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!47 &1 4 | QualitySettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 5 7 | m_CurrentQuality: 0 8 | m_QualitySettings: 9 | - serializedVersion: 2 10 | name: Good 11 | pixelLightCount: 2 12 | shadows: 1 13 | shadowResolution: 1 14 | shadowProjection: 0 15 | shadowCascades: 2 16 | shadowDistance: 20 17 | shadowNearPlaneOffset: 2 18 | shadowCascade2Split: 0.33333334 19 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} 20 | blendWeights: 2 21 | textureQuality: 0 22 | anisotropicTextures: 1 23 | antiAliasing: 0 24 | softParticles: 0 25 | softVegetation: 1 26 | realtimeReflectionProbes: 1 27 | billboardsFaceCameraPosition: 1 28 | vSyncCount: 1 29 | lodBias: 1 30 | maximumLODLevel: 0 31 | particleRaycastBudget: 256 32 | asyncUploadTimeSlice: 2 33 | asyncUploadBufferSize: 4 34 | excludedTargetPlatforms: [] 35 | m_PerPlatformDefaultQuality: 36 | Android: 0 37 | FlashPlayer: 0 38 | GLES Emulation: 0 39 | PS3: 0 40 | Standalone: 0 41 | Web: 0 42 | Wii: 0 43 | XBOX360: 0 44 | iPhone: 0 45 | -------------------------------------------------------------------------------- /ThinkingWithPortals/ProjectSettings/TagManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!78 &1 4 | TagManager: 5 | serializedVersion: 2 6 | tags: [] 7 | layers: 8 | - Default 9 | - TransparentFX 10 | - Ignore Raycast 11 | - 12 | - Water 13 | - UI 14 | - 15 | - 16 | - ARWorld 17 | - Portal 18 | - ARKitPlane 19 | - 20 | - 21 | - 22 | - 23 | - 24 | - 25 | - 26 | - 27 | - 28 | - 29 | - 30 | - 31 | - 32 | - 33 | - 34 | - 35 | - 36 | - 37 | - 38 | - 39 | - 40 | m_SortingLayers: 41 | - name: Default 42 | uniqueID: 0 43 | locked: 0 44 | -------------------------------------------------------------------------------- /ThinkingWithPortals/ProjectSettings/TimeManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!5 &1 4 | TimeManager: 5 | m_ObjectHideFlags: 0 6 | Fixed Timestep: .0199999996 7 | Maximum Allowed Timestep: .333333343 8 | m_TimeScale: 1 9 | -------------------------------------------------------------------------------- /ThinkingWithPortals/ProjectSettings/UnityConnectSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!310 &1 4 | UnityConnectSettings: 5 | m_ObjectHideFlags: 0 6 | m_Enabled: 0 7 | m_TestMode: 0 8 | m_TestEventUrl: 9 | m_TestConfigUrl: 10 | CrashReportingSettings: 11 | m_EventUrl: https://perf-events.cloud.unity3d.com/api/events/crashes 12 | m_Enabled: 0 13 | UnityPurchasingSettings: 14 | m_Enabled: 0 15 | m_TestMode: 0 16 | UnityAnalyticsSettings: 17 | m_Enabled: 0 18 | m_InitializeOnStartup: 1 19 | m_TestMode: 0 20 | m_TestEventUrl: 21 | m_TestConfigUrl: 22 | -------------------------------------------------------------------------------- /readme_img/example-run.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/craigkj312/unity-arkit-portal/4028290aacd52e4e84cab78f515ca57c5a84ec66/readme_img/example-run.gif --------------------------------------------------------------------------------