diff --git a/Assets/DefaultVolumeProfile.asset b/Assets/DefaultVolumeProfile.asset index 2dc4156..fc5264c 100644 --- a/Assets/DefaultVolumeProfile.asset +++ b/Assets/DefaultVolumeProfile.asset @@ -148,6 +148,9 @@ MonoBehaviour: highQualityFiltering: m_OverrideState: 1 m_Value: 0 + filter: + m_OverrideState: 1 + m_Value: 0 downscale: m_OverrideState: 1 m_Value: 0 diff --git a/Assets/PhoneInteraction.cs b/Assets/PhoneInteraction.cs new file mode 100644 index 0000000..319728e --- /dev/null +++ b/Assets/PhoneInteraction.cs @@ -0,0 +1,20 @@ +using UnityEngine; + +public class PhoneInteraction : MonoBehaviour +{ + public GameObject Controller; + public GameObject Plane; + + void Update() + { + var t = Controller.GetComponent(); + if (Physics.Raycast(t.position, t.forward, out RaycastHit hit) && hit.collider == Plane.GetComponent()) + { + var local = Plane.transform.InverseTransformPoint(hit.point); + var normalized = new Vector2((local.x + 5) / 10, (local.z + 5) / 10); + KotlinBridge.SendTouchMove(normalized.x, 1 - normalized.y); + //Debug.Log("MOVE " + normalized); + //Debug.DrawLine(t.position, hit.point, Color.green); + } + } +} diff --git a/Assets/PhoneInteraction.cs.meta b/Assets/PhoneInteraction.cs.meta new file mode 100644 index 0000000..6d06426 --- /dev/null +++ b/Assets/PhoneInteraction.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: bb641b8633936544788c3a8f5ea67825 \ No newline at end of file diff --git a/Assets/Scenes/SampleScene.unity b/Assets/Scenes/SampleScene.unity index e40f0a5..f63f4f0 100644 --- a/Assets/Scenes/SampleScene.unity +++ b/Assets/Scenes/SampleScene.unity @@ -10543,6 +10543,11 @@ PrefabInstance: m_AddedGameObjects: [] m_AddedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 77e7c27b2c5525e4aa8cc9f99d654486, type: 3} +--- !u!1 &1378838373 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 7917674758240283208, guid: 77e7c27b2c5525e4aa8cc9f99d654486, type: 3} + m_PrefabInstance: {fileID: 1373153106} + m_PrefabAsset: {fileID: 0} --- !u!1 &1390846723 GameObject: m_ObjectHideFlags: 0 @@ -13304,6 +13309,119 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1872001982} m_CullTransparentMesh: 1 +--- !u!1 &1877296311 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1877296312} + - component: {fileID: 1877296315} + - component: {fileID: 1877296314} + - component: {fileID: 1877296313} + m_Layer: 0 + m_Name: Plane + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1877296312 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1877296311} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -0, y: 0.00055, z: 0.01328} + m_LocalScale: {x: 0.0011496508, y: 0.0010088001, z: 0.0023212505} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 2053499142} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!64 &1877296313 +MeshCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1877296311} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 5 + m_Convex: 1 + m_CookingOptions: 30 + m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &1877296314 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1877296311} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_ForceMeshLod: -1 + m_MeshLodSelectionBias: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 31321ba15b8f8eb4c954353edc038b1d, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_GlobalIlluminationMeshLod: 0 + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_MaskInteraction: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &1877296315 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1877296311} + m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &1881474691 GameObject: m_ObjectHideFlags: 0 @@ -14713,15 +14831,15 @@ PrefabInstance: m_Modifications: - target: {fileID: -8679921383154817045, guid: 3ce336f03a8dd4896a6301bad4ca64eb, type: 3} propertyPath: m_LocalPosition.x - value: 1.8026487 + value: 1.803 objectReference: {fileID: 0} - target: {fileID: -8679921383154817045, guid: 3ce336f03a8dd4896a6301bad4ca64eb, type: 3} propertyPath: m_LocalPosition.y - value: 0.0043821335 + value: 0.019 objectReference: {fileID: 0} - target: {fileID: -8679921383154817045, guid: 3ce336f03a8dd4896a6301bad4ca64eb, type: 3} propertyPath: m_LocalPosition.z - value: 1.7040387 + value: 1.704 objectReference: {fileID: 0} - target: {fileID: -8679921383154817045, guid: 3ce336f03a8dd4896a6301bad4ca64eb, type: 3} propertyPath: m_LocalRotation.w @@ -14759,9 +14877,20 @@ PrefabInstance: propertyPath: m_Name value: phone objectReference: {fileID: 0} + - target: {fileID: 3451118302482216456, guid: 3ce336f03a8dd4896a6301bad4ca64eb, type: 3} + propertyPath: m_Convex + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 3451118302482216456, guid: 3ce336f03a8dd4896a6301bad4ca64eb, type: 3} + propertyPath: m_ProvidesContacts + value: 1 + objectReference: {fileID: 0} m_RemovedComponents: [] m_RemovedGameObjects: [] - m_AddedGameObjects: [] + m_AddedGameObjects: + - targetCorrespondingSourceObject: {fileID: -8679921383154817045, guid: 3ce336f03a8dd4896a6301bad4ca64eb, type: 3} + insertIndex: -1 + addedObject: {fileID: 1877296312} m_AddedComponents: - targetCorrespondingSourceObject: {fileID: 919132149155446097, guid: 3ce336f03a8dd4896a6301bad4ca64eb, type: 3} insertIndex: -1 @@ -14769,6 +14898,18 @@ PrefabInstance: - targetCorrespondingSourceObject: {fileID: 919132149155446097, guid: 3ce336f03a8dd4896a6301bad4ca64eb, type: 3} insertIndex: -1 addedObject: {fileID: 2053499130} + - targetCorrespondingSourceObject: {fileID: 919132149155446097, guid: 3ce336f03a8dd4896a6301bad4ca64eb, type: 3} + insertIndex: -1 + addedObject: {fileID: 2053499138} + - targetCorrespondingSourceObject: {fileID: 919132149155446097, guid: 3ce336f03a8dd4896a6301bad4ca64eb, type: 3} + insertIndex: -1 + addedObject: {fileID: 2053499145} + - targetCorrespondingSourceObject: {fileID: 919132149155446097, guid: 3ce336f03a8dd4896a6301bad4ca64eb, type: 3} + insertIndex: -1 + addedObject: {fileID: 2053499144} + - targetCorrespondingSourceObject: {fileID: 919132149155446097, guid: 3ce336f03a8dd4896a6301bad4ca64eb, type: 3} + insertIndex: -1 + addedObject: {fileID: 2053499143} m_SourcePrefab: {fileID: 100100000, guid: 3ce336f03a8dd4896a6301bad4ca64eb, type: 3} --- !u!1 &2053499129 stripped GameObject: @@ -14799,6 +14940,204 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 30d423b9d44d240e7a5d6bf14c711e45, type: 3} m_Name: m_EditorClassIdentifier: Omarator.Mosissdk::KotlinBridge +--- !u!114 &2053499138 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2053499129} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: bb641b8633936544788c3a8f5ea67825, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::PhoneInteraction + Controller: {fileID: 1378838373} + Plane: {fileID: 1877296311} +--- !u!4 &2053499142 stripped +Transform: + m_CorrespondingSourceObject: {fileID: -8679921383154817045, guid: 3ce336f03a8dd4896a6301bad4ca64eb, type: 3} + m_PrefabInstance: {fileID: 2053499128} + m_PrefabAsset: {fileID: 0} +--- !u!114 &2053499143 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2053499129} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d0a1302d0d134fa8a2a5b3bf4aec3c20, type: 3} + m_Name: + m_EditorClassIdentifier: Unity.XR.Interaction.Toolkit::UnityEngine.XR.Interaction.Toolkit.Transformers.XRGeneralGrabTransformer + m_PermittedDisplacementAxes: -1 + m_ConstrainedAxisDisplacementMode: 1 + m_TwoHandedRotationMode: 1 + m_AllowOneHandedScaling: 1 + m_AllowTwoHandedScaling: 0 + m_OneHandedScaleSpeed: 0.5 + m_ThresholdMoveRatioForScale: 0.05 + m_ClampScaling: 1 + m_MinimumScaleRatio: 0.25 + m_MaximumScaleRatio: 2 + m_ScaleMultiplier: 0.25 +--- !u!114 &2053499144 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2053499129} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0ad34abafad169848a38072baa96cdb2, type: 3} + m_Name: + m_EditorClassIdentifier: Unity.XR.Interaction.Toolkit::UnityEngine.XR.Interaction.Toolkit.Interactables.XRGrabInteractable + m_InteractionManager: {fileID: 0} + m_Colliders: [] + m_InteractionLayers: + m_Bits: 1 + m_DistanceCalculationMode: 1 + m_SelectMode: 0 + m_FocusMode: 1 + m_CustomReticle: {fileID: 0} + m_AllowGazeInteraction: 0 + m_AllowGazeSelect: 0 + m_OverrideGazeTimeToSelect: 0 + m_GazeTimeToSelect: 0.5 + m_OverrideTimeToAutoDeselectGaze: 0 + m_TimeToAutoDeselectGaze: 3 + m_AllowGazeAssistance: 0 + m_FirstHoverEntered: + m_PersistentCalls: + m_Calls: [] + m_LastHoverExited: + m_PersistentCalls: + m_Calls: [] + m_HoverEntered: + m_PersistentCalls: + m_Calls: [] + m_HoverExited: + m_PersistentCalls: + m_Calls: [] + m_FirstSelectEntered: + m_PersistentCalls: + m_Calls: [] + m_LastSelectExited: + m_PersistentCalls: + m_Calls: [] + m_SelectEntered: + m_PersistentCalls: + m_Calls: [] + m_SelectExited: + m_PersistentCalls: + m_Calls: [] + m_FirstFocusEntered: + m_PersistentCalls: + m_Calls: [] + m_LastFocusExited: + m_PersistentCalls: + m_Calls: [] + m_FocusEntered: + m_PersistentCalls: + m_Calls: [] + m_FocusExited: + m_PersistentCalls: + m_Calls: [] + m_Activated: + m_PersistentCalls: + m_Calls: [] + m_Deactivated: + m_PersistentCalls: + m_Calls: [] + m_StartingHoverFilters: [] + m_StartingSelectFilters: [] + m_StartingInteractionStrengthFilters: [] + m_AutoFindParentInteractableInHierarchy: 0 + m_ParentInteractableObject: {fileID: 0} + m_AttachTransform: {fileID: 0} + m_SecondaryAttachTransform: {fileID: 0} + m_UseDynamicAttach: 0 + m_MatchAttachPosition: 1 + m_MatchAttachRotation: 1 + m_SnapToColliderVolume: 1 + m_ReinitializeDynamicAttachEverySingleGrab: 1 + m_AttachEaseInTime: 0.15 + m_MovementType: 2 + m_PredictedVisualsTransform: {fileID: 0} + m_VelocityDamping: 1 + m_VelocityScale: 1 + m_AngularVelocityDamping: 1 + m_AngularVelocityScale: 1 + m_TrackPosition: 1 + m_SmoothPosition: 0 + m_SmoothPositionAmount: 8 + m_TightenPosition: 0.1 + m_TrackRotation: 1 + m_SmoothRotation: 0 + m_SmoothRotationAmount: 8 + m_TightenRotation: 0.1 + m_TrackScale: 1 + m_SmoothScale: 0 + m_SmoothScaleAmount: 8 + m_TightenScale: 0.1 + m_ThrowOnDetach: 1 + m_ThrowSmoothingDuration: 0.25 + m_ThrowSmoothingCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + m_ThrowVelocityScale: 1.5 + m_ThrowAngularVelocityScale: 1 + m_ForceGravityOnDetach: 0 + m_RetainTransformParent: 1 + m_StartingSingleGrabTransformers: [] + m_StartingMultipleGrabTransformers: [] + m_AddDefaultGrabTransformers: 1 + m_FarAttachMode: 0 + m_LimitLinearVelocity: 0 + m_LimitAngularVelocity: 0 + m_MaxLinearVelocityDelta: 10 + m_MaxAngularVelocityDelta: 20 +--- !u!54 &2053499145 +Rigidbody: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2053499129} + serializedVersion: 5 + m_Mass: 1 + m_LinearDamping: 0 + m_AngularDamping: 0.05 + m_CenterOfMass: {x: 0, y: 0, z: 0} + m_InertiaTensor: {x: 1, y: 1, z: 1} + m_InertiaRotation: {x: 0, y: 0, z: 0, w: 1} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ImplicitCom: 1 + m_ImplicitTensor: 1 + m_UseGravity: 1 + m_IsKinematic: 0 + m_Interpolate: 0 + m_Constraints: 0 + m_CollisionDetection: 0 --- !u!1 &2064529225 GameObject: m_ObjectHideFlags: 0 diff --git a/Assets/ScreenMaterial.mat b/Assets/ScreenMaterial.mat index 7d2881b..fe876ce 100644 --- a/Assets/ScreenMaterial.mat +++ b/Assets/ScreenMaterial.mat @@ -1,5 +1,18 @@ %YAML 1.1 %TAG !u! tag:unity3d.com,2011: +--- !u!114 &-2433430758012586810 +MonoBehaviour: + m_ObjectHideFlags: 11 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} + m_Name: + m_EditorClassIdentifier: Unity.RenderPipelines.Universal.Editor::UnityEditor.Rendering.Universal.AssetVersion + version: 10 --- !u!21 &2100000 Material: serializedVersion: 8 @@ -8,7 +21,7 @@ Material: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_Name: ScreenMaterial - m_Shader: {fileID: 4800000, guid: 13c02b14c4d048fa9653293d54f6e0e1, type: 3} + m_Shader: {fileID: 4800000, guid: 650dd9526735d5b46b79224bc6e94025, type: 3} m_Parent: {fileID: 0} m_ModifiedSerializedProperties: 0 m_ValidKeywords: [] @@ -17,8 +30,10 @@ Material: m_EnableInstancingVariants: 0 m_DoubleSidedGI: 0 m_CustomRenderQueue: -1 - stringTagMap: {} - disabledShaderPasses: [] + stringTagMap: + RenderType: Opaque + disabledShaderPasses: + - MOTIONVECTORS m_LockedProperties: m_SavedProperties: serializedVersion: 3 @@ -27,6 +42,10 @@ Material: m_Texture: {fileID: 0} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} + - _BaseMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} - _MainTex: m_Texture: {fileID: 0} m_Scale: {x: 1, y: 1} @@ -42,9 +61,25 @@ Material: m_Ints: [] m_Floats: - PixelSnap: 0 + - _AddPrecomputedVelocity: 0 + - _AlphaClip: 0 + - _AlphaToMask: 0 + - _Blend: 0 + - _BlendOp: 0 + - _Cull: 2 + - _Cutoff: 0.5 + - _DstBlend: 0 + - _DstBlendAlpha: 0 - _EnableExternalAlpha: 0 - - _ZWrite: 0 + - _QueueOffset: 0 + - _SampleGI: 0 + - _SrcBlend: 1 + - _SrcBlendAlpha: 1 + - _Surface: 0 + - _XRMotionVectorsPass: 1 + - _ZWrite: 1 m_Colors: + - _BaseColor: {r: 1, g: 1, b: 1, a: 1} - _Color: {r: 1, g: 1, b: 1, a: 1} - _RendererColor: {r: 1, g: 1, b: 1, a: 1} m_BuildTextureStacks: [] diff --git a/Assets/Settings/Project Configuration/SampleScene.scenetemplate b/Assets/Settings/Project Configuration/SampleScene.scenetemplate index d97a132..3459caf 100644 --- a/Assets/Settings/Project Configuration/SampleScene.scenetemplate +++ b/Assets/Settings/Project Configuration/SampleScene.scenetemplate @@ -106,6 +106,8 @@ MonoBehaviour: instantiationMode: 0 - dependency: {fileID: 11400000, guid: 591edbd6be1a73b4fab57bd230c3efbf, type: 2} instantiationMode: 1 + - dependency: {fileID: 2100000, guid: 6e9667c306271074f8569f70b8f0acf1, type: 2} + instantiationMode: 0 - dependency: {fileID: 2800000, guid: b398f58ecc9d0ac4c8de2c6e007b5c95, type: 3} instantiationMode: 0 - dependency: {fileID: 2800000, guid: 490272c7e5fa30f4a88f5f77ac90ca97, type: 3} @@ -128,6 +130,8 @@ MonoBehaviour: instantiationMode: 0 - dependency: {fileID: 7666611877484744202, guid: ecbf6d1d3a7091b4bbdbc934b3c89fb9, type: 3} instantiationMode: 0 + - dependency: {fileID: 11400000, guid: ec1df508c6fb9eb45ae9f181ff6bbe82, type: 2} + instantiationMode: 1 - dependency: {fileID: 2800000, guid: 29476f995aeec6243b4aa5032ecf7dd5, type: 3} instantiationMode: 0 - dependency: {fileID: 2800000, guid: b873120a80369e440ba03e663b63fc0e, type: 3} @@ -140,8 +144,6 @@ MonoBehaviour: instantiationMode: 0 - dependency: {fileID: 7400000, guid: ebfa13455423c254e943b87bf6e1f310, type: 2} instantiationMode: 0 - - dependency: {fileID: 11400000, guid: ec1df508c6fb9eb45ae9f181ff6bbe82, type: 2} - instantiationMode: 1 - dependency: {fileID: 9100000, guid: db6239f7ccb29ca4aac63126c6a35e7d, type: 2} instantiationMode: 0 - dependency: {fileID: 8300000, guid: d14b106713a74b448bcab90869f1706e, type: 3} @@ -214,9 +216,9 @@ MonoBehaviour: instantiationMode: 0 - dependency: {fileID: 11400000, guid: 3f64ff74c0b83314ba0d51fd6312625b, type: 2} instantiationMode: 1 - - dependency: {fileID: 2100000, guid: 19fd09f1fd9347644a27778b73938d3b, type: 2} + - dependency: {fileID: 2800000, guid: 27ef0c8a1f7e7f24c8dfdcdf67dbe928, type: 3} instantiationMode: 0 - - dependency: {fileID: 919132149155446097, guid: 56186ccf27ad7864681108ed88349071, type: 3} + - dependency: {fileID: 2100000, guid: 19fd09f1fd9347644a27778b73938d3b, type: 2} instantiationMode: 0 - dependency: {fileID: 2553013088739230253, guid: aa788f58037d03649911102b0771966e, type: 3} instantiationMode: 0 @@ -224,8 +226,8 @@ MonoBehaviour: instantiationMode: 0 - dependency: {fileID: 3055433562365713971, guid: b84cd05e1160fe34cab2585022c8cd99, type: 3} instantiationMode: 0 - - dependency: {fileID: -5475051401550479605, guid: d76b454bee8e3db44acf749b2f4ac142, type: 3} - instantiationMode: 1 + - dependency: {fileID: 919132149155446097, guid: 56186ccf27ad7864681108ed88349071, type: 3} + instantiationMode: 0 - dependency: {fileID: 6512716314604831236, guid: 2c1a76173c7e0144fbab968bd1968de1, type: 3} instantiationMode: 0 - dependency: {fileID: 2179057468902719980, guid: 41d89b59fe3e9964a83686ff24b7d0c5, type: 3} @@ -238,6 +240,8 @@ MonoBehaviour: instantiationMode: 0 - dependency: {fileID: 8758423527188247893, guid: 1392f805216c47742996d4742c80721c, type: 3} instantiationMode: 0 + - dependency: {fileID: -5475051401550479605, guid: d76b454bee8e3db44acf749b2f4ac142, type: 3} + instantiationMode: 1 - dependency: {fileID: 4677460305500781396, guid: 753505d367f39d04c8ef944e9491a149, type: 3} instantiationMode: 0 - dependency: {fileID: 2687717463706941668, guid: 9b4a657c7df58fb4fa21624fe730efa2, type: 3} @@ -252,12 +256,12 @@ MonoBehaviour: instantiationMode: 0 - dependency: {fileID: 7400000, guid: 7f09ae8868245cf41bcc21258a951f22, type: 2} instantiationMode: 0 - - dependency: {fileID: 2397425259038431699, guid: fa5ef3b56cfeb4f4ba855cdf2610a578, type: 3} - instantiationMode: 0 - dependency: {fileID: 6345562874480820535, guid: e1f0d4bc2d67ddb4295e73f51f3ca4f7, type: 3} instantiationMode: 0 - dependency: {fileID: 11400000, guid: 12bd4b8ecc486d84b9e059255860c49b, type: 2} instantiationMode: 0 + - dependency: {fileID: 2397425259038431699, guid: fa5ef3b56cfeb4f4ba855cdf2610a578, type: 3} + instantiationMode: 0 - dependency: {fileID: 6689992741278781415, guid: 3549fdaf258e11846b85a316c16c699c, type: 3} instantiationMode: 0 - dependency: {fileID: 2100000, guid: 895b038bf03adba4c951968630c6032d, type: 2} @@ -272,6 +276,8 @@ MonoBehaviour: instantiationMode: 0 - dependency: {fileID: 2800000, guid: c587cac8808c8b745adbae420e9acc83, type: 3} instantiationMode: 0 + - dependency: {fileID: 2800000, guid: 7e51390506d6084449db036c4dde2bda, type: 3} + instantiationMode: 0 - dependency: {fileID: 919132149155446097, guid: 27b7629e54b332449bfa3a4065ffe17a, type: 3} instantiationMode: 0 - dependency: {fileID: 2100000, guid: c3474c208278e814cb8d1c29aa806e81, type: 2} @@ -318,10 +324,10 @@ MonoBehaviour: instantiationMode: 0 - dependency: {fileID: 2800000, guid: b342eb1e41a45ce41b5c7c684a17c465, type: 3} instantiationMode: 0 - - dependency: {fileID: 919132149155446097, guid: 436757056de26e144b330984c539cecd, type: 3} - instantiationMode: 0 - dependency: {fileID: 11400000, guid: fbb7c6a04be6d8341934b839f24b42e1, type: 2} instantiationMode: 1 + - dependency: {fileID: 919132149155446097, guid: 436757056de26e144b330984c539cecd, type: 3} + instantiationMode: 0 - dependency: {fileID: -927199367670048503, guid: 9a13b94cace2a4d78ac94a0ed0a88843, type: 3} instantiationMode: 0 - dependency: {fileID: 2100000, guid: f5ccd52dc494e054fbe7d7161dcabe25, type: 2} @@ -342,6 +348,8 @@ MonoBehaviour: instantiationMode: 0 - dependency: {fileID: 2800000, guid: ee148e281f3c41c5b4ff5f8a5afe5a6c, type: 3} instantiationMode: 1 + - dependency: {fileID: 2800000, guid: 319adc7d9f08d654a854fd141a197589, type: 3} + instantiationMode: 0 - dependency: {fileID: 5648130919276084443, guid: 085ce58b196caa446a8545c9dd388793, type: 3} instantiationMode: 0 - dependency: {fileID: 1064811109664483937, guid: 29529d949c965f643befe6cfcd1e372c, type: 3} @@ -426,6 +434,8 @@ MonoBehaviour: instantiationMode: 0 - dependency: {fileID: -5475051401550479605, guid: 31b878b1ba6f0f548bacb4ee6ae992e9, type: 3} instantiationMode: 1 + - dependency: {fileID: 2800000, guid: 400b852fe920b6f4c88997509431791a, type: 3} + instantiationMode: 0 - dependency: {fileID: 919132149155446097, guid: 4ed41858240845b479082276b0831228, type: 3} instantiationMode: 0 - dependency: {fileID: 2800000, guid: 83d67d78424a7e24fa4bef36e1e32541, type: 3} diff --git a/Assets/phone.fbx.meta b/Assets/phone.fbx.meta index 1384c7d..b5d938c 100644 --- a/Assets/phone.fbx.meta +++ b/Assets/phone.fbx.meta @@ -30,12 +30,12 @@ ModelImporter: extraExposedTransformPaths: [] extraUserProperties: [] clipAnimations: [] - isReadable: 0 + isReadable: 1 meshes: lODScreenPercentages: [] globalScale: 1 meshCompression: 0 - addColliders: 0 + addColliders: 1 useSRGBMaterialColor: 1 sortHierarchyByName: 1 importPhysicalCameras: 1 diff --git a/Packages/com.omarator.mosissdk/Plugins/Android/MyKotlinSource.kt b/Packages/com.omarator.mosissdk/Plugins/Android/MyKotlinSource.kt index ca82714..2442bf3 100644 --- a/Packages/com.omarator.mosissdk/Plugins/Android/MyKotlinSource.kt +++ b/Packages/com.omarator.mosissdk/Plugins/Android/MyKotlinSource.kt @@ -23,7 +23,6 @@ class MyKotlinPlugin { override fun onServiceConnected(className: ComponentName, service: IBinder) { Log.d("MosisTest", "Service Connected") remote_service = IMosisService.Stub.asInterface(service) - Log.d("MosisTest", "Number: ${remote_service?.number}") serviceConnected(service) } override fun onServiceDisconnected(arg0: ComponentName) { diff --git a/Packages/com.omarator.mosissdk/Plugins/Android/cpp/CMakeLists.txt b/Packages/com.omarator.mosissdk/Plugins/Android/cpp/CMakeLists.txt index 3372dd4..26c5494 100644 --- a/Packages/com.omarator.mosissdk/Plugins/Android/cpp/CMakeLists.txt +++ b/Packages/com.omarator.mosissdk/Plugins/Android/cpp/CMakeLists.txt @@ -14,10 +14,29 @@ set(PLUGIN_API "${UNITY_ROOT}/PluginAPI") set(BINDER_DIR "${ANDROID_SDK}/platforms/android-36/optional/libbinder_ndk_cpp") set(SHARED_SRC_DIR "${UNITY_PROJECT_DIR}/../MosisService/src/main/cpp/") +set(AIDL_EXE "${ANDROID_SDK}/build-tools/36.1.0/aidl.exe") +set(AIDL_BASE_ARGS --lang=ndk --min_sdk_version=36 + -o ${CMAKE_CURRENT_BINARY_DIR} -h ${CMAKE_CURRENT_BINARY_DIR} -I ..\\aidl) + +add_custom_command( + OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/com/omixlab/mosis/IMosisService.cpp" + COMMAND ${AIDL_EXE} ${AIDL_BASE_ARGS} ..\\aidl\\com\\omixlab\\mosis\\IMosisService.aidl + DEPENDS ../aidl/com/omixlab/mosis/IMosisService.aidl + WORKING_DIRECTORY ${SHARED_SRC_DIR} + VERBATIM +) +add_custom_command( + OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/com/omixlab/mosis/IMosisListener.cpp" + COMMAND ${AIDL_EXE} ${AIDL_BASE_ARGS} ..\\aidl\\com\\omixlab\\mosis\\IMosisListener.aidl + DEPENDS ../aidl/com/omixlab/mosis/IMosisListener.aidl + WORKING_DIRECTORY ${SHARED_SRC_DIR} + VERBATIM +) + add_library(my_native_lib SHARED my_native_code.cpp - ${SHARED_SRC_DIR}/com/omixlab/mosis/IMosisService.cpp - ${SHARED_SRC_DIR}/com/omixlab/mosis/IMosisListener.cpp + ${CMAKE_CURRENT_BINARY_DIR}/com/omixlab/mosis/IMosisService.cpp + ${CMAKE_CURRENT_BINARY_DIR}/com/omixlab/mosis/IMosisListener.cpp ${SHARED_SRC_DIR}/logger.cpp ${SHARED_SRC_DIR}/external_texture.cpp ${SHARED_SRC_DIR}/render_target.cpp @@ -28,6 +47,7 @@ target_link_libraries(my_native_lib ${log-lib} binder_ndk EGL GLESv2 nativewindo target_include_directories(my_native_lib PUBLIC ${SHARED_SRC_DIR} ${SHARED_SRC_DIR}/glad/include + ${CMAKE_CURRENT_BINARY_DIR} ${BINDER_DIR} ${PLUGIN_API} ) diff --git a/Packages/com.omarator.mosissdk/Plugins/Android/cpp/my_native_code.cpp b/Packages/com.omarator.mosissdk/Plugins/Android/cpp/my_native_code.cpp index 30a35c3..a26c258 100644 --- a/Packages/com.omarator.mosissdk/Plugins/Android/cpp/my_native_code.cpp +++ b/Packages/com.omarator.mosissdk/Plugins/Android/cpp/my_native_code.cpp @@ -14,7 +14,7 @@ using namespace aidl::com::omixlab::mosis; using namespace aidl::android::hardware; -std::shared_ptr g_service; +std::shared_ptr g_service; std::shared_ptr g_context; class TextureBlitter @@ -145,6 +145,14 @@ extern "C" void SetNativeCallbacks(const NativeCallbacks& ptr) g_callbacks = ptr; } +extern "C" void SendTouchMove(float x, float y) +{ + if (g_service) + { + g_service->onTouchMove(x, y); + } +} + extern "C" UnityRenderingEvent InitGLAD() { return [](int eventId){ diff --git a/Packages/com.omarator.mosissdk/Runtime/KotlinBridge.cs b/Packages/com.omarator.mosissdk/Runtime/KotlinBridge.cs index e935a0b..6ab8f2b 100644 --- a/Packages/com.omarator.mosissdk/Runtime/KotlinBridge.cs +++ b/Packages/com.omarator.mosissdk/Runtime/KotlinBridge.cs @@ -6,7 +6,6 @@ using System.Runtime.InteropServices; public class KotlinBridge : MonoBehaviour { static KotlinBridge Instance; - Texture2D texture; [StructLayout(LayoutKind.Sequential)] struct NativeCallbacks { @@ -16,17 +15,19 @@ public class KotlinBridge : MonoBehaviour public IntPtr OnBufferReady; public IntPtr OnTextureReady; } - public delegate void OnMessageDelegate(string message); - public delegate void OnServiceInitializedDelegate(bool success); - public delegate void OnFrameAvailableDelegate(); - public delegate void OnBufferReadyDelegate(); - public delegate void OnTextureReadyDelegate(uint gl_texture); + delegate void OnMessageDelegate(string message); + delegate void OnServiceInitializedDelegate(bool success); + delegate void OnFrameAvailableDelegate(); + delegate void OnBufferReadyDelegate(); + delegate void OnTextureReadyDelegate(uint gl_texture); [DllImport("my_native_lib")] - private static extern void SetNativeCallbacks(ref NativeCallbacks callbacks); + static extern void SetNativeCallbacks(ref NativeCallbacks callbacks); [DllImport("my_native_lib")] - private static extern IntPtr InitGLAD(); + public static extern void SendTouchMove(float u, float v); [DllImport("my_native_lib")] - private static extern IntPtr UpdateTexture(); + static extern IntPtr InitGLAD(); + [DllImport("my_native_lib")] + static extern IntPtr UpdateTexture(); [AOT.MonoPInvokeCallback(typeof(OnMessageDelegate))] static void OnMessage(string message) @@ -63,7 +64,6 @@ public class KotlinBridge : MonoBehaviour Debug.Log("Texture Ready: " + gl_texture); UnityMainThreadDispatcher.Enqueue(() => { var renderer = Instance.GetComponent(); - //renderer.material = new Material(Instance.oesShader); renderer.materials[2].mainTexture = Texture2D.CreateExternalTexture(1024, 1024, TextureFormat.RGBA32, false, false, (IntPtr)gl_texture); }); diff --git a/ProjectSettings/ProjectSettings.asset b/ProjectSettings/ProjectSettings.asset index b1d2774..63173ff 100644 --- a/ProjectSettings/ProjectSettings.asset +++ b/ProjectSettings/ProjectSettings.asset @@ -144,10 +144,7 @@ PlayerSettings: visionOSBundleVersion: 1.0 tvOSBundleVersion: 1.0 bundleVersion: 9.2.1 - preloadedAssets: - - {fileID: 9030113687040111788, guid: 4b3de149e50ea0c4f8ad04c79b9f12ec, type: 2} - - {fileID: 4226981303226134123, guid: b716680a41c7a094fa3b7fb9a8024a67, type: 2} - - {fileID: 11400000, guid: 908d62378b8205449861e5838a18a596, type: 2} + preloadedAssets: [] metroInputSource: 0 wsaTransparentSwapchain: 0 m_HolographicPauseOnTrackingLoss: 1