diff --git a/Assets/ARPG/Core/Editor/LayerDrawer.cs b/Assets/ARPG/Core/Editor/LayerDrawer.cs new file mode 100644 index 0000000..617c4e8 --- /dev/null +++ b/Assets/ARPG/Core/Editor/LayerDrawer.cs @@ -0,0 +1,73 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditorInternal; +using UnityEditor; + +namespace ARCeye +{ + [CustomPropertyDrawer(typeof(Layer))] + public class LayerDrawer : PropertyDrawer + { + public override float GetPropertyHeight(SerializedProperty property, GUIContent label) + { + return EditorGUI.GetPropertyHeight(property, label, true); + } + + public override void OnGUI(Rect position, SerializedProperty property, GUIContent label) + { + float lineHeight = EditorGUIUtility.singleLineHeight + 2; + + EditorGUI.BeginProperty(position, label, property); + + var layerNameProp = property.FindPropertyRelative("layerName"); + var linkToStageProp = property.FindPropertyRelative("linkToStage"); + var stageNameProp = property.FindPropertyRelative("stageName"); + var subLayerProp = property.FindPropertyRelative("subLayers"); + + string layerName = layerNameProp.stringValue; + bool linkToStage = linkToStageProp.boolValue; + + EditorGUI.PrefixLabel(position, new GUIContent($"계층 - {layerName}")); + position.y += lineHeight; + + { + EditorGUI.indentLevel++; + + float fullWidth = EditorGUIUtility.currentViewWidth - position.x - 10; + + Rect layerNameRect = new Rect(position.x, position.y, fullWidth, EditorGUIUtility.singleLineHeight); + position.y += lineHeight; + + Rect linkToStageRect = new Rect(position.x, position.y, fullWidth, EditorGUIUtility.singleLineHeight); + position.y += lineHeight; + + EditorGUI.PropertyField(layerNameRect, layerNameProp, new GUIContent("계층 이름")); + EditorGUI.PropertyField(linkToStageRect, linkToStageProp, new GUIContent("스테이지 연결")); + + if(linkToStage) + { + Rect stageNameRect = new Rect(position.x, position.y, fullWidth, EditorGUIUtility.singleLineHeight); + position.y += lineHeight; + + EditorGUI.PropertyField(stageNameRect, stageNameProp, new GUIContent("스테이지 이름")); + } + else + { + Rect subLayerRect = new Rect(position.x, position.y, fullWidth, EditorGUIUtility.singleLineHeight); + position.y += lineHeight; + + EditorGUI.PropertyField(subLayerRect, subLayerProp, new GUIContent("하위 계층")); + EditorUtility.SetDirty(subLayerProp.serializedObject.targetObject); + } + + EditorGUI.indentLevel--; + } + + subLayerProp.serializedObject.ApplyModifiedProperties(); + property.serializedObject.ApplyModifiedProperties(); + + EditorGUI.EndProperty(); + } + } +} \ No newline at end of file diff --git a/Assets/ARPG/Core/Editor/LayerDrawer.cs.meta b/Assets/ARPG/Core/Editor/LayerDrawer.cs.meta new file mode 100644 index 0000000..2835089 --- /dev/null +++ b/Assets/ARPG/Core/Editor/LayerDrawer.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: b9a04ec2d09d64bda8bba04bf69f834a +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/ARPG/Core/Editor/LayerInfoSettingEditor.cs b/Assets/ARPG/Core/Editor/LayerInfoSettingEditor.cs new file mode 100644 index 0000000..c1288b4 --- /dev/null +++ b/Assets/ARPG/Core/Editor/LayerInfoSettingEditor.cs @@ -0,0 +1,170 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +namespace ARCeye +{ + [CustomEditor(typeof(LayerInfoSetting))] + public class LayerInfoSettingEditor : Editor + { + private LayerInfoSetting m_LayerInfoSetting; + + private SerializedProperty m_LayerTreeProp; + + private Color m_OriginalContentColor; + private Color m_OriginalBackgroundColor; + + + const int kMAX_DEPTH = 7; + + void OnEnable() + { + m_LayerInfoSetting = (LayerInfoSetting) target; + m_LayerTreeProp = serializedObject.FindProperty("m_LayerTree"); + } + + public override void OnInspectorGUI() + { + serializedObject.Update(); + + DrawLogo(); + DrawAllLayers(); + } + + private void DrawLogo() + { + EditorGUILayout.Space(); + + GUIStyle style = new GUIStyle(); + style.fixedHeight = 30; + style.alignment = TextAnchor.MiddleCenter; + + GUILayout.Label(Resources.Load("Sprites/ARSDK-Logo") as Texture, style, GUILayout.ExpandWidth(true)); + + EditorGUILayout.Space(); + } + + private void DrawAllLayers() + { + SerializedLayerTree layerTree = m_LayerInfoSetting.layerTree; + Layer layer = layerTree.Deserialize(); + + DrawLayer(layer, 0); + + layerTree.SerializeFromLayer(layer); + + EditorUtility.SetDirty(m_LayerTreeProp.serializedObject.targetObject); + m_LayerTreeProp.serializedObject.ApplyModifiedProperties(); + } + + private void DrawLayer(Layer layer, int depth) + { + if(layer == null) return; + if(depth == kMAX_DEPTH) return; + + m_OriginalContentColor = GUI.contentColor; + m_OriginalBackgroundColor = GUI.backgroundColor; + + + EditorGUI.indentLevel = depth; + + EditorGUILayout.BeginHorizontal(); + + // FoldOut 타이틀 바. + DrawFoldOutLabel(layer, depth); + + // 새 계층 추가 버튼 + DrawAddLayerButton(layer, depth); + + // 계층 삭제 버튼 + DrawRemoveLayerButton(layer); + + EditorGUILayout.EndHorizontal(); + + + // Foldout 컨텐츠. + if(layer.foldout) + { + DrawFoldOutContents(layer, depth); + } + } + + private void DrawFoldOutLabel(Layer layer, int depth) + { + string foldoutLabel; + + if(layer.linkToStage) + { + GUI.contentColor = Color.yellow; + foldoutLabel = $"계층 {depth + 1} {layer.layerName} → {layer.stageName}"; + } + else + { + foldoutLabel = $"계층 {depth + 1} {layer.layerName}"; + } + + layer.foldout = EditorGUILayout.Foldout(layer.foldout, foldoutLabel); + + GUI.contentColor = m_OriginalContentColor; + } + + private void DrawAddLayerButton(Layer layer, int depth) + { + GUILayout.FlexibleSpace(); + + GUI.backgroundColor = Color.green; + if(layer.foldout && !layer.linkToStage && layer.depth < 6) + { + if(GUILayout.Button($"새 계층 {depth + 2} 추가")) { + layer.subLayers.Add(new Layer(depth + 1)); + } + } + GUI.backgroundColor = m_OriginalBackgroundColor; + } + + private void DrawRemoveLayerButton(Layer layer) + { + GUI.backgroundColor = Color.red; + if(GUILayout.Button($"-")) + { + layer.isRemoved = true; + } + GUI.backgroundColor = m_OriginalBackgroundColor; + } + + private void DrawFoldOutContents(Layer layer, int depth) + { + EditorGUI.indentLevel++; + + layer.layerName = EditorGUILayout.TextField("계층 이름", layer.layerName); + layer.linkToStage = EditorGUILayout.Toggle("스테이지 연결", layer.linkToStage); + + if(layer.linkToStage) + { + layer.stageName = EditorGUILayout.TextField("스테이지 이름", layer.stageName); + } + else + { + List subLayers = layer.subLayers; + Layer removedLayer = null; + foreach(var child in subLayers) + { + if(child.data == null) continue; + DrawLayer(child, depth + 1); + + if(child.isRemoved) { + removedLayer = child; + } + } + + if(removedLayer != null) + { + subLayers.Remove(removedLayer); + } + } + + EditorGUI.indentLevel--; + } + } +} \ No newline at end of file diff --git a/Assets/ARPG/Core/Editor/LayerInfoSettingEditor.cs.meta b/Assets/ARPG/Core/Editor/LayerInfoSettingEditor.cs.meta new file mode 100644 index 0000000..a2f41be --- /dev/null +++ b/Assets/ARPG/Core/Editor/LayerInfoSettingEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 4d955d0522ee148cdad1a11ee75e63da +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/ARPG/Core/Editor/LayerInfoSettingGenerator.cs b/Assets/ARPG/Core/Editor/LayerInfoSettingGenerator.cs new file mode 100644 index 0000000..3bf4ca4 --- /dev/null +++ b/Assets/ARPG/Core/Editor/LayerInfoSettingGenerator.cs @@ -0,0 +1,23 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +namespace ARCeye +{ + public class LayerInfoSettingGenerator + { + [MenuItem("Assets/Create/ARCeye/LayerInfoSetting")] + public static void CreateLayerInfoSetting() + { + LayerInfoSetting asset = ScriptableObject.CreateInstance(); + + AssetDatabase.CreateAsset(asset, "Assets/ARPG/Core/LayerInfoSetting.asset"); + AssetDatabase.SaveAssets(); + + EditorUtility.FocusProjectWindow(); + + Selection.activeObject = asset; + } + } +} \ No newline at end of file diff --git a/Assets/ARPG/Core/Editor/LayerInfoSettingGenerator.cs.meta b/Assets/ARPG/Core/Editor/LayerInfoSettingGenerator.cs.meta new file mode 100644 index 0000000..6f1b9b9 --- /dev/null +++ b/Assets/ARPG/Core/Editor/LayerInfoSettingGenerator.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 3131a7a294ed24a0880ef982354f0474 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/ARPG/Core/LayerInfoSetting.asset b/Assets/ARPG/Core/LayerInfoSetting.asset new file mode 100644 index 0000000..8e3443b --- /dev/null +++ b/Assets/ARPG/Core/LayerInfoSetting.asset @@ -0,0 +1,61 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + 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: f12a043366a0f44e6a4a4aea6a2e16df, type: 3} + m_Name: LayerInfoSetting + m_EditorClassIdentifier: + m_LayerTree: + layerList: + - data: + layerName: AMCOHERITZ + linkToStage: 0 + stageName: aa + depth: 0 + layerInfoCode: AMCOHERITZ + foldout: 1 + isRemoved: 0 + childCount: 2 + - data: + layerName: GND + linkToStage: 1 + stageName: 1F + depth: 1 + layerInfoCode: AMCOHERITZ_GND + foldout: 1 + isRemoved: 0 + childCount: 0 + - data: + layerName: 2F + linkToStage: 1 + stageName: 2F + depth: 1 + layerInfoCode: AMCOHERITZ_2F + foldout: 1 + isRemoved: 0 + childCount: 1 + - data: + layerName: + linkToStage: 0 + stageName: + depth: 2 + layerInfoCode: + foldout: 1 + isRemoved: 0 + childCount: 1 + - data: + layerName: + linkToStage: 0 + stageName: + depth: 3 + layerInfoCode: + foldout: 1 + isRemoved: 0 + childCount: 0 diff --git a/Assets/ARPG/Core/LayerInfoSetting.asset.meta b/Assets/ARPG/Core/LayerInfoSetting.asset.meta new file mode 100644 index 0000000..09a10db --- /dev/null +++ b/Assets/ARPG/Core/LayerInfoSetting.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 1bfe950fe611b41ebb8a5733673b116c +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/ARPG/Core/Plugins/OSX/ARPG-plugin.bundle/Contents/_CodeSignature.meta b/Assets/ARPG/Core/Plugins/Android/arm64-v8a.meta similarity index 77% rename from Assets/ARPG/Core/Plugins/OSX/ARPG-plugin.bundle/Contents/_CodeSignature.meta rename to Assets/ARPG/Core/Plugins/Android/arm64-v8a.meta index 617cbea..b77bd16 100644 --- a/Assets/ARPG/Core/Plugins/OSX/ARPG-plugin.bundle/Contents/_CodeSignature.meta +++ b/Assets/ARPG/Core/Plugins/Android/arm64-v8a.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 859327cbff6bc44ac85fb8f4f95d008f +guid: 25fd1f6cc7d0c4127801049a961f9bc7 folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Assets/ARPG/Core/Plugins/Android/arm64-v8a/libARPG-plugin.so b/Assets/ARPG/Core/Plugins/Android/arm64-v8a/libARPG-plugin.so new file mode 100755 index 0000000..0271c3c Binary files /dev/null and b/Assets/ARPG/Core/Plugins/Android/arm64-v8a/libARPG-plugin.so differ diff --git a/Assets/ARPG/Core/Plugins/Android/libARPG-plugin.so.meta b/Assets/ARPG/Core/Plugins/Android/arm64-v8a/libARPG-plugin.so.meta similarity index 97% rename from Assets/ARPG/Core/Plugins/Android/libARPG-plugin.so.meta rename to Assets/ARPG/Core/Plugins/Android/arm64-v8a/libARPG-plugin.so.meta index f94d22f..f0ca108 100644 --- a/Assets/ARPG/Core/Plugins/Android/libARPG-plugin.so.meta +++ b/Assets/ARPG/Core/Plugins/Android/arm64-v8a/libARPG-plugin.so.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 48aeba35031e845719f138e6e12d149a +guid: 66ce41b46311a4d25a45527d7f42317f PluginImporter: externalObjects: {} serializedVersion: 2 diff --git a/Assets/ARPG/Core/Plugins/Android/libHeightField-Lite.a b/Assets/ARPG/Core/Plugins/Android/arm64-v8a/libHeightField-Lite.a similarity index 100% rename from Assets/ARPG/Core/Plugins/Android/libHeightField-Lite.a rename to Assets/ARPG/Core/Plugins/Android/arm64-v8a/libHeightField-Lite.a diff --git a/Assets/ARPG/Core/Plugins/Android/libHeightField-Lite.a.meta b/Assets/ARPG/Core/Plugins/Android/arm64-v8a/libHeightField-Lite.a.meta similarity index 92% rename from Assets/ARPG/Core/Plugins/Android/libHeightField-Lite.a.meta rename to Assets/ARPG/Core/Plugins/Android/arm64-v8a/libHeightField-Lite.a.meta index d914fe4..7fd27b3 100644 --- a/Assets/ARPG/Core/Plugins/Android/libHeightField-Lite.a.meta +++ b/Assets/ARPG/Core/Plugins/Android/arm64-v8a/libHeightField-Lite.a.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: b91eb4bb2996c45859627c0395c756a1 +guid: 604ea6ac4d3dd4fc69d634513c5990e8 PluginImporter: externalObjects: {} serializedVersion: 2 @@ -67,11 +67,6 @@ PluginImporter: enabled: 0 settings: CPU: None - - first: - WebGL: WebGL - second: - enabled: 0 - settings: {} - first: iPhone: iOS second: diff --git a/Assets/ARPG/Core/Plugins/Android/libARPG-plugin.so b/Assets/ARPG/Core/Plugins/Android/libARPG-plugin.so deleted file mode 100755 index 54936b3..0000000 Binary files a/Assets/ARPG/Core/Plugins/Android/libARPG-plugin.so and /dev/null differ diff --git a/Assets/ARPG/Core/Plugins/OSX/ARPG-plugin.bundle/Contents/MacOS.meta b/Assets/ARPG/Core/Plugins/Android/x86_64.meta similarity index 77% rename from Assets/ARPG/Core/Plugins/OSX/ARPG-plugin.bundle/Contents/MacOS.meta rename to Assets/ARPG/Core/Plugins/Android/x86_64.meta index 8d3b3fa..1930a32 100644 --- a/Assets/ARPG/Core/Plugins/OSX/ARPG-plugin.bundle/Contents/MacOS.meta +++ b/Assets/ARPG/Core/Plugins/Android/x86_64.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 7258140d4dc984bb280eba7cc3c1c494 +guid: cab421f3e6a464becb7d0e67ee5155ed folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Assets/ARPG/Core/Plugins/Android/x86_64/libARPG-plugin.so b/Assets/ARPG/Core/Plugins/Android/x86_64/libARPG-plugin.so new file mode 100755 index 0000000..7e7cd65 Binary files /dev/null and b/Assets/ARPG/Core/Plugins/Android/x86_64/libARPG-plugin.so differ diff --git a/Assets/ARPG/Core/Plugins/Android/x86_64/libARPG-plugin.so.meta b/Assets/ARPG/Core/Plugins/Android/x86_64/libARPG-plugin.so.meta new file mode 100644 index 0000000..1a0385e --- /dev/null +++ b/Assets/ARPG/Core/Plugins/Android/x86_64/libARPG-plugin.so.meta @@ -0,0 +1,81 @@ +fileFormatVersion: 2 +guid: 275c5507d1ac24d01ac9e353ecf6de7c +PluginImporter: + externalObjects: {} + serializedVersion: 2 + iconMap: {} + executionOrder: {} + defineConstraints: [] + isPreloaded: 0 + isOverridable: 0 + isExplicitlyReferenced: 0 + validateReferences: 1 + platformData: + - first: + : Any + second: + enabled: 0 + settings: + Exclude Android: 0 + Exclude Editor: 1 + Exclude Linux64: 1 + Exclude OSXUniversal: 1 + Exclude WebGL: 1 + Exclude Win: 1 + Exclude Win64: 1 + Exclude iOS: 1 + - first: + Android: Android + second: + enabled: 1 + settings: + CPU: X86_64 + - first: + Any: + second: + enabled: 0 + settings: {} + - first: + Editor: Editor + second: + enabled: 0 + settings: + CPU: AnyCPU + DefaultValueInitialized: true + OS: AnyOS + - first: + Standalone: Linux64 + second: + enabled: 0 + settings: + CPU: None + - first: + Standalone: OSXUniversal + second: + enabled: 0 + settings: + CPU: None + - first: + Standalone: Win + second: + enabled: 0 + settings: + CPU: None + - first: + Standalone: Win64 + second: + enabled: 0 + settings: + CPU: None + - first: + iPhone: iOS + second: + enabled: 0 + settings: + AddToEmbeddedBinaries: false + CPU: AnyCPU + CompileFlags: + FrameworkDependencies: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/ARPG/Core/Plugins/Android/x86_64/libHeightField-Lite.a b/Assets/ARPG/Core/Plugins/Android/x86_64/libHeightField-Lite.a new file mode 100644 index 0000000..29143f0 Binary files /dev/null and b/Assets/ARPG/Core/Plugins/Android/x86_64/libHeightField-Lite.a differ diff --git a/Assets/ARPG/Core/Plugins/Android/x86_64/libHeightField-Lite.a.meta b/Assets/ARPG/Core/Plugins/Android/x86_64/libHeightField-Lite.a.meta new file mode 100644 index 0000000..9e433e1 --- /dev/null +++ b/Assets/ARPG/Core/Plugins/Android/x86_64/libHeightField-Lite.a.meta @@ -0,0 +1,81 @@ +fileFormatVersion: 2 +guid: f751913e8f7864f9a816040549c7e108 +PluginImporter: + externalObjects: {} + serializedVersion: 2 + iconMap: {} + executionOrder: {} + defineConstraints: [] + isPreloaded: 0 + isOverridable: 0 + isExplicitlyReferenced: 0 + validateReferences: 1 + platformData: + - first: + : Any + second: + enabled: 0 + settings: + Exclude Android: 0 + Exclude Editor: 1 + Exclude Linux64: 1 + Exclude OSXUniversal: 1 + Exclude WebGL: 1 + Exclude Win: 1 + Exclude Win64: 1 + Exclude iOS: 1 + - first: + Android: Android + second: + enabled: 1 + settings: + CPU: X86_64 + - first: + Any: + second: + enabled: 0 + settings: {} + - first: + Editor: Editor + second: + enabled: 0 + settings: + CPU: AnyCPU + DefaultValueInitialized: true + OS: AnyOS + - first: + Standalone: Linux64 + second: + enabled: 0 + settings: + CPU: None + - first: + Standalone: OSXUniversal + second: + enabled: 0 + settings: + CPU: None + - first: + Standalone: Win + second: + enabled: 0 + settings: + CPU: None + - first: + Standalone: Win64 + second: + enabled: 0 + settings: + CPU: None + - first: + iPhone: iOS + second: + enabled: 0 + settings: + AddToEmbeddedBinaries: false + CPU: AnyCPU + CompileFlags: + FrameworkDependencies: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/ARPG/Core/Plugins/OSX/ARPG-plugin.bundle.meta b/Assets/ARPG/Core/Plugins/OSX/ARPG-plugin.bundle.meta index b8ee40b..2524cef 100644 --- a/Assets/ARPG/Core/Plugins/OSX/ARPG-plugin.bundle.meta +++ b/Assets/ARPG/Core/Plugins/OSX/ARPG-plugin.bundle.meta @@ -1,6 +1,5 @@ fileFormatVersion: 2 guid: aba67340b6d414290a445d9820e337f5 -folderAsset: yes PluginImporter: externalObjects: {} serializedVersion: 2 diff --git a/Assets/ARPG/Core/Plugins/OSX/ARPG-plugin.bundle/Contents/MacOS/ARPG-plugin b/Assets/ARPG/Core/Plugins/OSX/ARPG-plugin.bundle/Contents/MacOS/ARPG-plugin index 1ab6f84..dca6c2c 100755 Binary files a/Assets/ARPG/Core/Plugins/OSX/ARPG-plugin.bundle/Contents/MacOS/ARPG-plugin and b/Assets/ARPG/Core/Plugins/OSX/ARPG-plugin.bundle/Contents/MacOS/ARPG-plugin differ diff --git a/Assets/ARPG/Core/Plugins/OSX/ARPG-plugin.bundle/Contents/_CodeSignature/CodeResources.meta b/Assets/ARPG/Core/Plugins/OSX/ARPG-plugin.bundle/Contents/_CodeSignature/CodeResources.meta deleted file mode 100644 index 89e5e81..0000000 --- a/Assets/ARPG/Core/Plugins/OSX/ARPG-plugin.bundle/Contents/_CodeSignature/CodeResources.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 4050297b43ad8410d8ce6618085f2212 -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ARPG/Core/Plugins/Windows/x64/ARPG-plugin.dll b/Assets/ARPG/Core/Plugins/Windows/x64/ARPG-plugin.dll old mode 100644 new mode 100755 index 41c2ea9..bd01d2f Binary files a/Assets/ARPG/Core/Plugins/Windows/x64/ARPG-plugin.dll and b/Assets/ARPG/Core/Plugins/Windows/x64/ARPG-plugin.dll differ diff --git a/Assets/ARPG/Core/Plugins/Windows/x64/ARPG-plugin.dll.meta b/Assets/ARPG/Core/Plugins/Windows/x64/ARPG-plugin.dll.meta index b925d27..9cabbd8 100644 --- a/Assets/ARPG/Core/Plugins/Windows/x64/ARPG-plugin.dll.meta +++ b/Assets/ARPG/Core/Plugins/Windows/x64/ARPG-plugin.dll.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: fb8824a67f7b36749bd3d744c107bca9 +guid: fd7a6ca17c6950841b467c940c9c4f4a PluginImporter: externalObjects: {} serializedVersion: 2 @@ -11,81 +11,17 @@ PluginImporter: isExplicitlyReferenced: 0 validateReferences: 1 platformData: - - first: - : Any - second: - enabled: 0 - settings: - Exclude Android: 1 - Exclude Editor: 0 - Exclude Linux64: 1 - Exclude OSXUniversal: 1 - Exclude Win: 1 - Exclude Win64: 1 - Exclude WindowsStoreApps: 1 - Exclude iOS: 1 - - first: - Android: Android - second: - enabled: 0 - settings: - CPU: ARMv7 - first: Any: second: - enabled: 0 + enabled: 1 settings: {} - first: Editor: Editor - second: - enabled: 1 - settings: - CPU: x86_64 - DefaultValueInitialized: true - OS: Windows - - first: - Standalone: Linux64 - second: - enabled: 0 - settings: - CPU: None - - first: - Standalone: OSXUniversal - second: - enabled: 0 - settings: - CPU: None - - first: - Standalone: Win - second: - enabled: 0 - settings: - CPU: None - - first: - Standalone: Win64 second: enabled: 0 settings: - CPU: None - - first: - Windows Store Apps: WindowsStoreApps - second: - enabled: 0 - settings: - CPU: AnyCPU - DontProcess: false - PlaceholderPath: - SDK: AnySDK - ScriptingBackend: AnyScriptingBackend - - first: - iPhone: iOS - second: - enabled: 0 - settings: - AddToEmbeddedBinaries: false - CPU: AnyCPU - CompileFlags: - FrameworkDependencies: + DefaultValueInitialized: true userData: assetBundleName: assetBundleVariant: diff --git a/Assets/ARPG/Core/Plugins/iOS/libARPG-plugin.a b/Assets/ARPG/Core/Plugins/iOS/libARPG-plugin.a index 207142f..e7bc67f 100644 Binary files a/Assets/ARPG/Core/Plugins/iOS/libARPG-plugin.a and b/Assets/ARPG/Core/Plugins/iOS/libARPG-plugin.a differ diff --git a/Assets/ARPG/Core/Plugins/iOS/libARPG-plugin.a.meta b/Assets/ARPG/Core/Plugins/iOS/libARPG-plugin.a.meta index d8705d7..1de52d1 100644 --- a/Assets/ARPG/Core/Plugins/iOS/libARPG-plugin.a.meta +++ b/Assets/ARPG/Core/Plugins/iOS/libARPG-plugin.a.meta @@ -11,71 +11,17 @@ PluginImporter: isExplicitlyReferenced: 0 validateReferences: 1 platformData: - - first: - : Any - second: - enabled: 0 - settings: - Exclude Android: 1 - Exclude Editor: 1 - Exclude Linux64: 1 - Exclude OSXUniversal: 1 - Exclude WebGL: 1 - Exclude Win: 1 - Exclude Win64: 1 - Exclude iOS: 0 - - first: - Android: Android - second: - enabled: 0 - settings: - CPU: ARMv7 - first: Any: second: - enabled: 0 + enabled: 1 settings: {} - first: Editor: Editor second: enabled: 0 settings: - CPU: AnyCPU DefaultValueInitialized: true - OS: AnyOS - - first: - Standalone: Linux64 - second: - enabled: 0 - settings: - CPU: None - - first: - Standalone: OSXUniversal - second: - enabled: 0 - settings: - CPU: None - - first: - Standalone: Win - second: - enabled: 0 - settings: - CPU: None - - first: - Standalone: Win64 - second: - enabled: 0 - settings: - CPU: None - - first: - iPhone: iOS - second: - enabled: 1 - settings: - AddToEmbeddedBinaries: false - CPU: AnyCPU - CompileFlags: - FrameworkDependencies: userData: assetBundleName: assetBundleVariant: diff --git a/Assets/ARPG/Core/Prefabs/ARPlayGround.prefab b/Assets/ARPG/Core/Prefabs/ARPlayGround.prefab index 207efa0..d33a7ba 100644 --- a/Assets/ARPG/Core/Prefabs/ARPlayGround.prefab +++ b/Assets/ARPG/Core/Prefabs/ARPlayGround.prefab @@ -10,6 +10,7 @@ GameObject: m_Component: - component: {fileID: 5451198551273644277} - component: {fileID: 5451198551273644278} + - component: {fileID: 4031693856957110526} - component: {fileID: 4906040656490709302} - component: {fileID: 5451198551273644276} - component: {fileID: 8513705081441293160} @@ -73,6 +74,19 @@ MonoBehaviour: m_OnTransitMovingEnded: m_PersistentCalls: m_Calls: [] +--- !u!114 &4031693856957110526 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5451198551273644282} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5d9d15a91df37407da3711a891d6ce09, type: 3} + m_Name: + m_EditorClassIdentifier: + m_LayerInfoSetting: {fileID: 11400000, guid: 1bfe950fe611b41ebb8a5733673b116c, type: 2} --- !u!114 &4906040656490709302 MonoBehaviour: m_ObjectHideFlags: 0 diff --git a/Assets/ARPG/Core/Scripts/ARPlayGround.cs b/Assets/ARPG/Core/Scripts/ARPlayGround.cs index 4dbaf70..bdffc2e 100644 --- a/Assets/ARPG/Core/Scripts/ARPlayGround.cs +++ b/Assets/ARPG/Core/Scripts/ARPlayGround.cs @@ -12,7 +12,7 @@ namespace ARCeye { public class ARPlayGround : MonoBehaviour { - const string PLUGIN_VERSION = "1.1.0"; + const string PLUGIN_VERSION = "1.2.0"; #if UNITY_IOS && !UNITY_EDITOR const string dll = "__Internal"; @@ -70,6 +70,7 @@ public class ARPlayGround : MonoBehaviour private Camera m_MainCamera; + private LayerInfoConverter m_LayerInfoConverter; private PathFinder m_PathFinder; private NetworkController m_NetworkController; private NativeLogger m_NativeLogger; @@ -149,6 +150,7 @@ private void InitComponents() { m_NetworkController = GetComponent(); m_PathFinder = GetComponent(); + m_LayerInfoConverter = GetComponent(); m_NativeEventHandler = GetComponent(); m_NativeEventHandler.m_OnPOIList = m_OnPOIList; @@ -223,6 +225,16 @@ public void SetStage(string stageName) SetStageNative(stageName); } + /// + /// VL에서 전달 받은 LayerInfo 값과 매칭되는 Stage를 로드한다. + /// + /// + public void SetLayerInfo(string layerInfo) + { + string stageName = m_LayerInfoConverter.Convert(layerInfo); + SetStage(stageName); + } + public void OnStageChanged(string stage) { var stageCodes = stage.Split('_'); @@ -253,14 +265,12 @@ private IEnumerator SetVLPassInternal(bool value) public void LoadNavigation(LayerPOIItem poiItem, ConnectionType connectionType = ConnectionType.Default) { - LoadNavigationParams param = new LoadNavigationParams(); - - var stageCodes = poiItem.stageName.Split('_'); - var endCode = stageCodes.Length == 0 ? "" : stageCodes[stageCodes.Length - 1]; + LoadNavigationParams param = new LoadNavigationParams(); + var coord = poiItem.entrance[0]; - param.endFloor = endCode; - param.endPoints = new float[]{ (float) -coord[0], (float) coord[1], (float) coord[2] }; + param.endFloor = poiItem.stageName; + param.endPoints = new float[]{ (float) coord[0], (float) coord[1], (float) coord[2] }; param.connectionType = connectionType; m_PathFinder.LoadNavigation(param); diff --git a/Assets/ARPG/Core/Scripts/Item/ItemGenerator.cs b/Assets/ARPG/Core/Scripts/Item/ItemGenerator.cs index b9ad91d..4d47e46 100644 --- a/Assets/ARPG/Core/Scripts/Item/ItemGenerator.cs +++ b/Assets/ARPG/Core/Scripts/Item/ItemGenerator.cs @@ -345,18 +345,17 @@ static public void SetPickable(IntPtr itemPtr, bool pickable) static public void SetMatrixModel(IntPtr itemPtr, IntPtr matrix) { Matrix4x4 rhm = PoseHelper.UnmanagedToMatrix4x4(matrix); - Matrix4x4 modelMatrix = PoseHelper.FlipX(rhm); + Matrix4x4 lhm = PoseHelper.ConvertLHRH(rhm); - Quaternion rotation = Quaternion.LookRotation( - modelMatrix.GetColumn(2), - modelMatrix.GetColumn(1) - ); - - Vector4 translate = modelMatrix.GetColumn(3); - Vector3 pos = new Vector3(translate[0], translate[1], translate[2]); + Matrix4x4 modelMatrix = lhm; GameObject item = Unwrap(itemPtr); - item.transform.SetPositionAndRotation(pos, rotation); + + item.transform.localPosition = modelMatrix.GetPosition(); + item.transform.localRotation = modelMatrix.rotation; + item.transform.localScale = modelMatrix.lossyScale; + + item.transform.Rotate(0, 180, 0); } // Background thread에서 실행 @@ -392,9 +391,17 @@ static public bool HasAnimation(IntPtr itemPtr, IntPtr animNamePtr) static public float AnimationDuration(IntPtr itemPtr, IntPtr animNamePtr) { GameObject item = Unwrap(itemPtr); + if(item == null) { + return 0.0f; + } + string animName = Marshal.PtrToStringAnsi(animNamePtr); + UnityModel unityModel = item.GetComponent(); - float value = item.GetComponent().AnimationDuration(animName); + if(unityModel == null) { + return 0.0f; + } + float value = unityModel.AnimationDuration(animName); // Debug.Log($"{item.name} AnimationDuration : " + value); return value; } diff --git a/Assets/ARPG/Core/Scripts/Item/UnityInfoPanel.cs b/Assets/ARPG/Core/Scripts/Item/UnityInfoPanel.cs index bf6e5ad..a84eda9 100644 --- a/Assets/ARPG/Core/Scripts/Item/UnityInfoPanel.cs +++ b/Assets/ARPG/Core/Scripts/Item/UnityInfoPanel.cs @@ -10,12 +10,18 @@ public class UnityInfoPanel : UnityModel [SerializeField] private TextMesh m_Text; + [SerializeField] + private TextMesh m_TextBack; + [SerializeField] private SpriteRenderer m_Panel; [SerializeField] public Sprite[] m_PanelSprites = new Sprite[5]; + [SerializeField] + public Material m_PanelMaterialAlt; // alternaitve material for Type 4 + [SerializeField] private SpriteRenderer m_Image; @@ -25,7 +31,6 @@ public class UnityInfoPanel : UnityModel public int m_Type; public string m_TextString; - public string m_ImagePath; public bool m_UseFrame; public bool m_UseRoundedCorner; @@ -35,11 +40,16 @@ private void Awake() { m_Text.font = ItemGenerator.Instance.font; } - var meshRenderer = m_Text.GetComponent(); + var meshRenderer = m_Text.GetComponent(); + var meshRendererBack = m_TextBack.GetComponent(); Texture fontTexture = m_Text.font.material.mainTexture; + meshRenderer.material = ItemGenerator.Instance.infoPanelTextMaterial; meshRenderer.sharedMaterial.mainTexture = fontTexture; + + meshRendererBack.material = ItemGenerator.Instance.infoPanelTextMaterial; + meshRendererBack.sharedMaterial.mainTexture = fontTexture; } //스크립트를 시작하면 처음 한 번 실행됨. @@ -80,6 +90,7 @@ public void SetInfoPanelType(int type) else if(type==204) // Type 4. callout Down { sr.sprite = m_PanelSprites[4]; + sr.material = m_PanelMaterialAlt; } else if(type==205) // Type 5. Image { @@ -171,6 +182,7 @@ public void SetInfoPanelText(string text) panelSizeProcessed = panelSize / scaleOffset; // offset needed for 9-slicing size m_Text.transform.localPosition = new Vector3(0,0.115f,0); + m_TextBack.transform.localPosition = new Vector3(0,0.115f,0); // move entire InfoPanel object to relocate anchor at the endpoint of speech bubble gameObject.transform.localPosition += new Vector3(panelSize.x*0.5f, panelSize.y*0.5f, 0f); @@ -187,6 +199,9 @@ public void SetInfoPanelText(string text) // move entire InfoPanel object to relocate anchor at the endpoint of speech bubble gameObject.transform.localPosition += new Vector3(0f, panelSize.y*0.5f, 0f); + + m_Panel.material.SetFloat("_Width", panelSize.x); + m_Panel.material.SetFloat("_Height", panelSize.y); } else if(m_Type == 207){ // Type 7. image + description var scaleOffset = 0.125f; @@ -212,14 +227,60 @@ public void SetInfoPanelText(string text) panelSizeProcessed = panelSize / scaleOffset; // offset needed for 9-slicing size } + if(!m_UseFrame) + transform.Find("Panel").gameObject.SetActive(false); + if(!m_UseRoundedCorner) + m_Image.material.SetFloat("_UseRoundedCorner", 0f); + if(m_Type == 202 || m_Type == 203) + m_TextBack.text = m_TextString; + else + transform.Find("TextBack").gameObject.SetActive(false); + m_Panel.size = panelSizeProcessed; } public void SetInfoPanelImage(string imagePath) { - m_ImagePath = imagePath; + StartCoroutine( LoadImageBuffer(imagePath, CreateInfoPanelImage) ); + } + + private IEnumerator LoadImageBuffer(string path, System.Action callback) + { + if(string.IsNullOrEmpty(path)) + { + Debug.LogError("[UnityInfoPanel] 이미지 경로가 비어있음"); + yield break; + } + + byte[] bytes; - byte[] imageBytes = System.IO.File.ReadAllBytes(imagePath); + if (path.Contains("://") || path.Contains(":///")) + { + path = path.Trim('/'); + + using (UnityEngine.Networking.UnityWebRequest www = UnityEngine.Networking.UnityWebRequest.Get(path)) + { + yield return www.SendWebRequest(); + + if (www.result != UnityEngine.Networking.UnityWebRequest.Result.Success) + { + Debug.LogError("Failed to load the file: " + www.error); + yield break; + } + + bytes = www.downloadHandler.data; + callback?.Invoke(bytes); + } + } + else + { + bytes = System.IO.File.ReadAllBytes(path); + callback?.Invoke(bytes); + } + } + + private void CreateInfoPanelImage(byte[] imageBytes) + { Texture2D texture = new Texture2D(0,0); texture.LoadImage(imageBytes); @@ -240,6 +301,9 @@ public void SetInfoPanelImage(string imagePath) m_Image.transform.localPosition += new Vector3((0.1f+m_Text.GetComponent().bounds.size.x)*0.5f, 0.0f, 0.0f); m_Image.GetComponent().size = new Vector2(0.75f, 1.0f); } + + m_Image.material.SetFloat("_Width", m_Image.GetComponent().size.x*100f); + m_Image.material.SetFloat("_Height", m_Image.GetComponent().size.y*100f); } else { // update panel height from image size @@ -253,6 +317,9 @@ public void SetInfoPanelImage(string imagePath) m_Text .transform.localPosition += new Vector3(0.0f, (0.1f+imageHeight)*0.5f, 0.0f); m_Image.transform.localPosition -= new Vector3(0.0f, (0.1f+m_Text.GetComponent().bounds.size.y)*0.5f, 0.0f); } + + m_Image.material.SetFloat("_Width", m_Image.GetComponent().size.x*100f); + m_Image.material.SetFloat("_Height", m_Image.GetComponent().size.y*100f); } } diff --git a/Assets/ARPG/Core/Scripts/Item/UnityModel.cs b/Assets/ARPG/Core/Scripts/Item/UnityModel.cs index 320e989..e9a1bb9 100644 --- a/Assets/ARPG/Core/Scripts/Item/UnityModel.cs +++ b/Assets/ARPG/Core/Scripts/Item/UnityModel.cs @@ -22,6 +22,7 @@ private Animation anim { } private Material[] m_Materials; + private Renderer[] m_Renderers; private Dictionary m_OpaqueMaterials; private bool m_UseBillboard = false; protected Billboard.RotationMode m_BillboardRotationMode = Billboard.RotationMode.AXIS_Y; @@ -42,6 +43,8 @@ public virtual void Initialize(PostEventGltfAsset model) gameObject.name = GetType().ToString(); + m_Renderers = GetComponentsInChildren(); + StopAnimation(); FindMaterials(); SetOpacity(0); @@ -192,7 +195,13 @@ public float AnimationDuration(string animName) { float value = 0.1f; + if(anim == null) { + // Debug.LogWarning("UnityModel.AnimationDuration no anim"); + return 0.1f; + } + AnimationClip clip = anim.GetClip(animName); + if(clip == null) { // Debug.LogWarning($"{name} - No animation with name : " + animName); @@ -235,6 +244,11 @@ private IEnumerator FadeInternal(float duration, bool fadeIn, Action onComplete) bool isFinished = false; float accumTime = 0; + if(fadeIn) + { + EnableAllRenderers(true); + } + foreach(var material in m_Materials) { if(material.shader.name != k_PBRUnlit) @@ -294,6 +308,11 @@ private IEnumerator FadeInternal(float duration, bool fadeIn, Action onComplete) { onComplete.Invoke(); } + + if(!fadeIn) + { + EnableAllRenderers(false); + } } public virtual void SetOpacity(float opacity) @@ -311,16 +330,25 @@ public virtual void SetOpacity(float opacity) material.color = new Color(baseColor.r, baseColor.g, baseColor.b, opacity); } - if(opacity == 1.0f) + if(opacity == 0.0f) { - foreach(var material in m_Materials) + EnableAllRenderers(false); + } + else + { + EnableAllRenderers(true); + + if(opacity == 1.0f) { - if(m_OpaqueMaterials[material]) { - BuiltInMaterialGenerator.SetOpaqueMode(material); - } else { - BuiltInMaterialGenerator.SetAlphaModeBlend(material); - } - } + foreach(var material in m_Materials) + { + if(m_OpaqueMaterials[material]) { + BuiltInMaterialGenerator.SetOpaqueMode(material); + } else { + BuiltInMaterialGenerator.SetAlphaModeBlend(material); + } + } + } } } @@ -332,5 +360,13 @@ private IEnumerator RunCoroutineInternal(System.Action action, float delay) { yield return new WaitForSeconds(delay); action.Invoke(); } + + private void EnableAllRenderers(bool value) + { + foreach(var elem in m_Renderers) + { + elem.enabled = value; + } + } } } diff --git a/Assets/ARPG/Core/Plugins/OSX/ARPG-plugin.bundle/Contents.meta b/Assets/ARPG/Core/Scripts/Layer.meta similarity index 77% rename from Assets/ARPG/Core/Plugins/OSX/ARPG-plugin.bundle/Contents.meta rename to Assets/ARPG/Core/Scripts/Layer.meta index 2f11731..5e14319 100644 --- a/Assets/ARPG/Core/Plugins/OSX/ARPG-plugin.bundle/Contents.meta +++ b/Assets/ARPG/Core/Scripts/Layer.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 318a2bc9d7b2844b3974c181f87da663 +guid: bb3429a86b9dc4f61b2d6c7765621eb3 folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Assets/ARPG/Core/Scripts/Layer/LayerInfoConverter.cs b/Assets/ARPG/Core/Scripts/Layer/LayerInfoConverter.cs new file mode 100644 index 0000000..fff1182 --- /dev/null +++ b/Assets/ARPG/Core/Scripts/Layer/LayerInfoConverter.cs @@ -0,0 +1,129 @@ +using System.Collections; +using System.Collections.Generic; +using System.Linq; +using System.Runtime.CompilerServices; +using System.Text; +using UnityEditor.Graphs; +using UnityEngine; + +namespace ARCeye +{ + public class LayerInfoConverter : MonoBehaviour + { + [SerializeField] + private LayerInfoSetting m_LayerInfoSetting; + + private Dictionary m_StageNameByLayerName = new Dictionary(); + + private void Awake() + { + Layer rootLayer = m_LayerInfoSetting.layer; + rootLayer.parent = null; + + FindStageName(rootLayer); + // PrintMatches(); + + CheckError(); + } + + /// + /// LayerInfoSetting의 값을 이용하여 스테이지 + /// + private void FindStageName(Layer layer) + { + if(layer.parent == null) + { + layer.layerInfoCode = layer.layerName; + } + else + { + layer.layerInfoCode = layer.parent.layerInfoCode + "_" + layer.layerName; + } + + if(layer.linkToStage) + { + string stageName = layer.stageName.Trim(); + if(string.IsNullOrEmpty(stageName)) + { + Debug.LogWarning($"LayerInfo({layer.layerInfoCode})에 스테이지 이름이 할당되지 않았습니다."); + } + else + { + m_StageNameByLayerName.Add(layer.layerInfoCode, stageName); + } + } + else if(layer.subLayers != null && layer.subLayers.Count > 0) + { + foreach(var elem in layer.subLayers) + { + elem.parent = layer; + FindStageName(elem); + } + } + } + + public string Convert(string layerInfo) + { + var registerLayerInfos = m_StageNameByLayerName.Keys.ToList(); + + string[] layerElem = layerInfo.Split("_"); + string layerInfoSub = ""; + string result = ""; + + for(int i=0 ; i e == layerInfoSub); + if(!string.IsNullOrEmpty(stageName)) + { + result = m_StageNameByLayerName[stageName]; + break; + } + } + + if(string.IsNullOrEmpty(result)) + { + Debug.LogError($"인식 된 VL 영역 {layerInfo}과 매칭되는 스테이지 이름을 찾을 수 없습니다."); + } + + return result; + } + + private void PrintMatches() + { + StringBuilder sb = new StringBuilder(); + + foreach(var elem in m_StageNameByLayerName) + { + sb.Append($"stage : {elem.Value} -- layer : {elem.Key}\n"); + } + + Debug.Log("LayerInfo\n" + sb.ToString()); + } + + private void CheckError() + { + if(m_StageNameByLayerName.Count == 0) + { + Debug.LogError("[ARSDK] LayerInfoSetting이 정상적으로 설정되지 않았습니다. ARPG > Core > LayerInfoSetting.asset 파일에서 로케이션 계층과 매칭되는 Stage 이름 정보를 입력해주세요."); + } + + List emptyStageNameLayers = new List(); + foreach(var elem in m_StageNameByLayerName) + { + if(string.IsNullOrEmpty(elem.Value)) + { + emptyStageNameLayers.Add(elem.Key); + } + } + } + } +} \ No newline at end of file diff --git a/Assets/ARPG/Core/Scripts/Layer/LayerInfoConverter.cs.meta b/Assets/ARPG/Core/Scripts/Layer/LayerInfoConverter.cs.meta new file mode 100644 index 0000000..87c323f --- /dev/null +++ b/Assets/ARPG/Core/Scripts/Layer/LayerInfoConverter.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 5d9d15a91df37407da3711a891d6ce09 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/ARPG/Core/Scripts/Layer/LayerInfoSetting.cs b/Assets/ARPG/Core/Scripts/Layer/LayerInfoSetting.cs new file mode 100644 index 0000000..294ec9e --- /dev/null +++ b/Assets/ARPG/Core/Scripts/Layer/LayerInfoSetting.cs @@ -0,0 +1,181 @@ +using System; +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +namespace ARCeye +{ + public class Layer { + private LayerData m_LayerData = new LayerData(); + public LayerData data => m_LayerData; + + public string layerName { + get => m_LayerData.layerName; + set => m_LayerData.layerName = value; + } + + public bool linkToStage { + get => m_LayerData.linkToStage; + set => m_LayerData.linkToStage = value; + } + + public string stageName { + get => m_LayerData.stageName; + set => m_LayerData.stageName = value; + } + + public int depth { + get => m_LayerData.depth; + set => m_LayerData.depth = value; + } + + public Layer parent { + get => m_LayerData.parent; + set => m_LayerData.parent = value; + } + + public string layerInfoCode { + get => m_LayerData.layerInfoCode; + set => m_LayerData.layerInfoCode = value; + } + + public bool foldout { + get => m_LayerData.foldout; + set => m_LayerData.foldout = value; + } + + public bool isRemoved { + get => m_LayerData.isRemoved; + set => m_LayerData.isRemoved = value; + } + + public List subLayers; + + public Layer(LayerData data) + { + this.subLayers = new List(); + this.m_LayerData = data; + } + + public Layer(int depth) + { + this.m_LayerData = new LayerData(); + + this.depth = depth; + this.subLayers = new List(); + this.isRemoved = false; + + this.foldout = true; + } + + public void AddChild(Layer layer) + { + subLayers.Add(layer); + } + } + + [Serializable] + public class LayerData { + public string layerName; + public bool linkToStage; + public string stageName; + public int depth; + + [HideInInspector] + public Layer parent; + [HideInInspector] + public string layerInfoCode; + + // Editor features. + public bool foldout; + public bool isRemoved; + } + + [Serializable] + public class SerializedLayer + { + public LayerData data; + public int childCount; + + public SerializedLayer(Layer layer) + { + this.data = layer.data; + this.childCount = layer.subLayers.Count; + } + + public Layer Deserialize() + { + return new Layer(data); + } + } + + [Serializable] + public class SerializedLayerTree + { + public List layerList; + + public SerializedLayerTree() + { + layerList = new List(); + } + + public SerializedLayerTree(Layer layer) : this() + { + SerializeFromLayer(layer); + } + + public void SerializeFromLayer(Layer layer) + { + layerList.Clear(); + SerializeAll(layer); + } + + private void SerializeAll(Layer layer) + { + layerList.Add(new SerializedLayer(layer)); + foreach(var child in layer.subLayers) + { + SerializeAll(child); + } + } + + public Layer Deserialize() + { + if(layerList.Count == 0) + return null; + + int index = 0; + Layer root = DeserializeAll(ref index); + return root; + } + + private Layer DeserializeAll(ref int index) + { + int currentIndex = index; + Layer current = layerList[currentIndex].Deserialize(); + + index++; + for(int i=0 ; i 0; + } + } + + [Serializable] + public class LayerInfoSetting : ScriptableObject + { + [field:SerializeField, Tooltip("ARC eye 콘솔에 등록된 레이어 계층 구조")] + private SerializedLayerTree m_LayerTree = new SerializedLayerTree(new Layer(0)); + public SerializedLayerTree layerTree => m_LayerTree; + + public Layer layer => m_LayerTree.Deserialize(); + } +} \ No newline at end of file diff --git a/Assets/ARPG/Core/Scripts/Layer/LayerInfoSetting.cs.meta b/Assets/ARPG/Core/Scripts/Layer/LayerInfoSetting.cs.meta new file mode 100644 index 0000000..8706a57 --- /dev/null +++ b/Assets/ARPG/Core/Scripts/Layer/LayerInfoSetting.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: f12a043366a0f44e6a4a4aea6a2e16df +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/ARPG/Core/Scripts/Map/PathFinder.cs b/Assets/ARPG/Core/Scripts/Map/PathFinder.cs index 3efd7b0..f1ef281 100644 --- a/Assets/ARPG/Core/Scripts/Map/PathFinder.cs +++ b/Assets/ARPG/Core/Scripts/Map/PathFinder.cs @@ -12,7 +12,7 @@ public enum ConnectionType { } [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)] - public class LoadNavigationParams { + public struct LoadNavigationParams { [MarshalAs(UnmanagedType.ByValArray, SizeConst = 3)] public float[] endPoints; public string endFloor; diff --git a/Assets/ARPG/Core/Scripts/Native/NativeEventHandler.cs b/Assets/ARPG/Core/Scripts/Native/NativeEventHandler.cs index bf49fbc..7445d67 100644 --- a/Assets/ARPG/Core/Scripts/Native/NativeEventHandler.cs +++ b/Assets/ARPG/Core/Scripts/Native/NativeEventHandler.cs @@ -153,9 +153,9 @@ private unsafe static void OnPOIList(IntPtr itemsPtr, int count) { int entranceCount = nativeItem.coord_count/3; for(int j=0 ; j < entranceCount ; j++) { - float x = -entrance[j + 0]; - float y = entrance[j + 1]; - float z = entrance[j + 2]; + float x = entrance[j + 0]; + float y = entrance[j + 1]; + float z = entrance[j + 2]; item.entrance.Add(new Vector3(x, y, z)); } diff --git a/Assets/ARPG/Core/Scripts/Native/NativeScreenBridge.cs b/Assets/ARPG/Core/Scripts/Native/NativeScreenBridge.cs index 534318a..a4739c5 100644 --- a/Assets/ARPG/Core/Scripts/Native/NativeScreenBridge.cs +++ b/Assets/ARPG/Core/Scripts/Native/NativeScreenBridge.cs @@ -31,10 +31,6 @@ enum RendererScreen [DllImport(dll)] private static extern void SetActivateScreenFuncNative(IB_Func func); [DllImport(dll)] private static extern void SetIsScreenActivatedFuncNative(I_BFunc func); - [DllImport(dll)] private static extern void SetEnableModelFuncNative(B_Func func); - [DllImport(dll)] private static extern void SetEnableMapFuncNative(B_Func func); - [DllImport(dll)] private static extern void SetOnScanningViewFuncNative(B_Func func); - private void Awake() { @@ -42,9 +38,6 @@ private void Awake() SetActivateScreenFuncNative( ActivateScreen ); SetIsScreenActivatedFuncNative( IsScreenActivated ); - SetEnableModelFuncNative(EnableModel); - SetEnableMapFuncNative(EnableMap); - SetOnScanningViewFuncNative(OnScanningView); } @@ -88,23 +81,5 @@ private static bool IsScreenActivated(int screenTypeIdx) } } } - - [MonoPInvokeCallback(typeof(B_Func))] - private static void EnableModel(bool value) - { - - } - - [MonoPInvokeCallback(typeof(B_Func))] - private static void EnableMap(bool value) - { - - } - - [MonoPInvokeCallback(typeof(B_Func))] - private static void OnScanningView(bool value) - { - - } } } \ No newline at end of file diff --git a/Assets/ARPG/Core/Scripts/NaverLabs.ARPG.asmdef b/Assets/ARPG/Core/Scripts/NaverLabs.ARPG.asmdef index c275e96..fca49e7 100644 --- a/Assets/ARPG/Core/Scripts/NaverLabs.ARPG.asmdef +++ b/Assets/ARPG/Core/Scripts/NaverLabs.ARPG.asmdef @@ -14,9 +14,7 @@ "excludePlatforms": [], "allowUnsafeCode": true, "overrideReferences": true, - "precompiledReferences": [ - "Newtonsoft.Json.dll" - ], + "precompiledReferences": [], "autoReferenced": true, "defineConstraints": [], "versionDefines": [], diff --git a/Assets/ARPG/Core/Scripts/Pose/UnityPose.cs b/Assets/ARPG/Core/Scripts/Pose/UnityPose.cs index c416b72..ece176b 100644 --- a/Assets/ARPG/Core/Scripts/Pose/UnityPose.cs +++ b/Assets/ARPG/Core/Scripts/Pose/UnityPose.cs @@ -7,7 +7,7 @@ namespace ARCeye { [StructLayout(LayoutKind.Sequential)] - public class UnityFrame + public struct UnityFrame { public long timestamp; [MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)] diff --git a/Assets/ARPG/Core/Shaders/ARPG_InfoPanelImage.shader b/Assets/ARPG/Core/Shaders/ARPG_InfoPanelImage.shader index 644aa31..5efb2d5 100644 --- a/Assets/ARPG/Core/Shaders/ARPG_InfoPanelImage.shader +++ b/Assets/ARPG/Core/Shaders/ARPG_InfoPanelImage.shader @@ -3,6 +3,10 @@ Shader "ARPG/InfoPanelImage" Properties { _MainTex ("Texture", 2D) = "white" {} + _Radius ("Radius px", Float) = 7 + _Width ("Width px", Float) = 1500 + _Height ("Height px", Float) = 1200 + _UseRoundedCorner ("UseRoundedCorner", Float) = 1 [Enum(UnityEngine.Rendering.CullMode)] _CullMode ("Cull Mode", Float) = 2.0 [Enum(UnityEngine.Rendering.CompareFunction)] _ZTest ("ZTest", Float) = 4 @@ -26,6 +30,8 @@ Shader "ARPG/InfoPanelImage" CGPROGRAM #pragma vertex vert #pragma fragment frag + // make fog work + #pragma multi_compile_fog #include "UnityCG.cginc" @@ -38,22 +44,51 @@ Shader "ARPG/InfoPanelImage" struct v2f { float2 uv : TEXCOORD0; + UNITY_FOG_COORDS(1) float4 vertex : SV_POSITION; }; + sampler2D _MainTex; + float4 _MainTex_ST; + float _Radius; + float _Width; + float _Height; + float _UseRoundedCorner; + v2f vert (appdata v) { v2f o; o.vertex = UnityObjectToClipPos(v.vertex); - o.uv = v.uv; + o.uv = TRANSFORM_TEX(v.uv, _MainTex); + UNITY_TRANSFER_FOG(o,o.vertex); return o; } - sampler2D _MainTex; + float2 GetRadiusToPointVector(float2 pixel, float2 halfRes, float radius) { + float2 firstQuadrant = abs(pixel); + float2 radiusToPoint = firstQuadrant - (halfRes - radius); + radiusToPoint = max(radiusToPoint, 0.0); + return radiusToPoint; + } + + float HardRounded(float2 pixel, float2 halfRes, float radius) { + float2 v = GetRadiusToPointVector(pixel, halfRes, radius); + float alpha = 1.0 - floor(length(v) / radius); + return alpha; + } fixed4 frag (v2f i) : SV_Target { + float2 uvInPixel = (i.uv - 0.5) * float2(_Width, _Height); + float2 halfRes = float2(_Width, _Height) * 0.5; + float alpha = HardRounded( uvInPixel, halfRes, _Radius ); + fixed4 col = tex2D(_MainTex, i.uv); + + if(_UseRoundedCorner){ + if(alpha<=0.0) + discard; + } return col; } ENDCG diff --git a/Assets/ARPG/Core/Shaders/ARPG_InfoPanelPanel.shader b/Assets/ARPG/Core/Shaders/ARPG_InfoPanelPanel.shader new file mode 100644 index 0000000..fe199a2 --- /dev/null +++ b/Assets/ARPG/Core/Shaders/ARPG_InfoPanelPanel.shader @@ -0,0 +1,117 @@ +Shader "ARPG/InfoPanelPanel" +{ + Properties + { + _MainTex ("Texture", 2D) = "white" {} + _Radius ("Radius px", Float) = 7 + _Width ("Width px", Float) = 1500 + _Height ("Height px", Float) = 1200 + _UseRoundedCorner ("UseRoundedCorner", Float) = 1 + + [Enum(UnityEngine.Rendering.CullMode)] _CullMode ("Cull Mode", Float) = 2.0 + [Enum(UnityEngine.Rendering.CompareFunction)] _ZTest ("ZTest", Float) = 4 + } + SubShader + { + Tags { + "Queue"="Transparent+1" + "IgnoreProjector"="True" + "RenderType"="Transparent" + "PreviewType"="Plane" + } + Lighting Off + Cull [_CullMode] + ZTest [_ZTest] + ZWrite Off + Blend SrcAlpha OneMinusSrcAlpha + + Pass + { + CGPROGRAM + #pragma vertex vert + #pragma fragment frag + // make fog work + #pragma multi_compile_fog + + #include "UnityCG.cginc" + + struct appdata + { + float4 vertex : POSITION; + float2 uv : TEXCOORD0; + }; + + struct v2f + { + float2 uv : TEXCOORD0; + UNITY_FOG_COORDS(1) + float4 vertex : SV_POSITION; + }; + + sampler2D _MainTex; + float4 _MainTex_ST; + float _Width; + float _Height; + + v2f vert (appdata v) + { + v2f o; + o.vertex = UnityObjectToClipPos(v.vertex); + o.uv = TRANSFORM_TEX(v.uv, _MainTex); + UNITY_TRANSFER_FOG(o,o.vertex); + return o; + } + + fixed4 frag (v2f i) : SV_Target + { + //fixed4 col = tex2D(_MainTex, i.uv); + + float2 uvInPixel = float2(i.uv.x, 1-i.uv.y) * float2(_Width, _Height); + + float cornerLeft = 0.095; // NOTE: absolute size of left corner + float cornerRight = 0.095; // NOTE: absolute size of right corner + float cornerTop = 0.095; // NOTE: absolute size of left corner + float cornerBottom = 0.328; // NOTE: absolute size of right corner + + float tccLeft = 66.0/1024.0; // NOTE: textureCornerCoord, relative coords of left corner in texture + float tccRight = 66.0/1024.0; // NOTE: textureCornerCoord, relative coords of right corner in texture + float tccTop = 66.0/749.0; // NOTE: textureCornerCoord, relative coords of left corner in texture + float tccBottom = 227.0/749.0; // NOTE: textureCornerCoord, relative coords of right corner in texture + + float2 computedUV; + + // y-axis (top and bottom) + if(uvInPixel.y < cornerTop) + computedUV.y = 1-(uvInPixel.y * tccTop/cornerTop); + else if(uvInPixel.y>=_Height-0.328) + computedUV.y = 1-((uvInPixel.y - (_Height-cornerBottom)) * tccBottom/cornerBottom + (1.0-tccBottom)); + else + computedUV.y = 0.5; //(O) + + // x-axis (left and right) + if(uvInPixel.x < cornerLeft) + computedUV.x = uvInPixel.x * tccLeft/cornerLeft; + else if (uvInPixel.x > _Width - cornerRight) + computedUV.x = (uvInPixel.x - (_Width-cornerRight)) * tccRight/cornerRight + (1.0-tccRight); + else + computedUV.x = 0.5; + + // (bottom-center) + if(uvInPixel.x >= cornerLeft && uvInPixel.x <= _Width - cornerRight && uvInPixel.y > _Height - cornerBottom){ + if(i.uv.x<=0.5){ + computedUV.x = 0.5-(((0.5-i.uv.x)/(_Height/_Width) * _Height * tccBottom / cornerBottom)*(749.0/1024.0)); + } + else{ + computedUV.x = 0.5 + (((i.uv.x-0.5)/(_Height/_Width) * _Height * tccBottom / cornerBottom)*(749.0/1024.0)); + } + } + + fixed4 col = tex2D(_MainTex, computedUV); + //col = float4(computedUV.x, computedUV.y, 0, 1); + + return col; + } + ENDCG + } + } +} diff --git a/Assets/ARPG/Core/Shaders/ARPG_InfoPanelPanel.shader.meta b/Assets/ARPG/Core/Shaders/ARPG_InfoPanelPanel.shader.meta new file mode 100644 index 0000000..36cca9b --- /dev/null +++ b/Assets/ARPG/Core/Shaders/ARPG_InfoPanelPanel.shader.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: d64c5f73f362044499307bbc0253fa10 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + preprocessorOverride: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/ARPG/Example/GameAssets/Images/InfoPanel/Type_D.png.meta b/Assets/ARPG/Example/GameAssets/Images/InfoPanel/Type_D.png.meta index 8876556..140fc00 100644 --- a/Assets/ARPG/Example/GameAssets/Images/InfoPanel/Type_D.png.meta +++ b/Assets/ARPG/Example/GameAssets/Images/InfoPanel/Type_D.png.meta @@ -48,7 +48,7 @@ TextureImporter: alignment: 0 spritePivot: {x: 0.5, y: 0.5} spritePixelsToUnits: 100 - spriteBorder: {x: 70, y: 230, z: 70, w: 70} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} spriteGenerateFallbackPhysicsShape: 1 alphaUsage: 1 alphaIsTransparency: 1 diff --git a/Assets/ARPG/Example/Materials/info_panel_image.mat b/Assets/ARPG/Example/Materials/info_panel_image.mat new file mode 100644 index 0000000..5dba317 --- /dev/null +++ b/Assets/ARPG/Example/Materials/info_panel_image.mat @@ -0,0 +1,86 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 8 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: info_panel_image + m_Shader: {fileID: 4800000, guid: c07e511f5254c4a45b0e91c07ca70904, type: 3} + m_ValidKeywords: [] + m_InvalidKeywords: [] + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + 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} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - _BumpScale: 1 + - _CullMode: 2 + - _Cutoff: 0.5 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _GlossMapScale: 1 + - _Glossiness: 0.5 + - _GlossyReflections: 1 + - _Height: 1200 + - _Metallic: 0 + - _Mode: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.02 + - _Radius: 7 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _UVSec: 0 + - _UseRoundedCorner: 1 + - _Width: 1500 + - _ZTest: 4 + - _ZWrite: 1 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + m_BuildTextureStacks: [] diff --git a/Assets/ARPG/Core/Plugins/OSX/ARPG-plugin.bundle/Contents/Info.plist.meta b/Assets/ARPG/Example/Materials/info_panel_image.mat.meta similarity index 52% rename from Assets/ARPG/Core/Plugins/OSX/ARPG-plugin.bundle/Contents/Info.plist.meta rename to Assets/ARPG/Example/Materials/info_panel_image.mat.meta index 749091f..2eb2b1a 100644 --- a/Assets/ARPG/Core/Plugins/OSX/ARPG-plugin.bundle/Contents/Info.plist.meta +++ b/Assets/ARPG/Example/Materials/info_panel_image.mat.meta @@ -1,7 +1,8 @@ fileFormatVersion: 2 -guid: 8ab5fcac5c1714546a90fd73fab4f263 -DefaultImporter: +guid: 58724a5c14ed747058b6dec20114e362 +NativeFormatImporter: externalObjects: {} + mainObjectFileID: 2100000 userData: assetBundleName: assetBundleVariant: diff --git a/Assets/ARPG/Example/Materials/info_panel_panel.mat b/Assets/ARPG/Example/Materials/info_panel_panel.mat new file mode 100644 index 0000000..381cde5 --- /dev/null +++ b/Assets/ARPG/Example/Materials/info_panel_panel.mat @@ -0,0 +1,86 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 8 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: info_panel_panel + m_Shader: {fileID: 4800000, guid: d64c5f73f362044499307bbc0253fa10, type: 3} + m_ValidKeywords: [] + m_InvalidKeywords: [] + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + 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} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - _BumpScale: 1 + - _CullMode: 2 + - _Cutoff: 0.5 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _GlossMapScale: 1 + - _Glossiness: 0.5 + - _GlossyReflections: 1 + - _Height: 1200 + - _Metallic: 0 + - _Mode: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.02 + - _Radius: 7 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _UVSec: 0 + - _UseRoundedCorner: 1 + - _Width: 750 + - _ZTest: 4 + - _ZWrite: 1 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + m_BuildTextureStacks: [] diff --git a/Assets/ARPG/Example/Materials/info_panel_panel.mat.meta b/Assets/ARPG/Example/Materials/info_panel_panel.mat.meta new file mode 100644 index 0000000..4e91180 --- /dev/null +++ b/Assets/ARPG/Example/Materials/info_panel_panel.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: f27fdecc737914103a24c5ee13524f7b +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/ARPG/Example/Prefabs/UnityInfoPanel.prefab b/Assets/ARPG/Example/Prefabs/UnityInfoPanel.prefab index ce3abf9..8954482 100644 --- a/Assets/ARPG/Example/Prefabs/UnityInfoPanel.prefab +++ b/Assets/ARPG/Example/Prefabs/UnityInfoPanel.prefab @@ -31,6 +31,7 @@ Transform: m_Children: - {fileID: 329619462090176433} - {fileID: 184958912675271057} + - {fileID: 7666865369518382479} - {fileID: 5819270767600501941} m_Father: {fileID: 0} m_RootOrder: 0 @@ -48,6 +49,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: m_Text: {fileID: 6352379844846906525} + m_TextBack: {fileID: 6327610248803475439} m_Panel: {fileID: 8207229582270430225} m_PanelSprites: - {fileID: 21300000, guid: 7cef5624ad4a74913b0d2bd49a568d9f, type: 3} @@ -55,12 +57,11 @@ MonoBehaviour: - {fileID: 21300000, guid: 845ddd67eee55431b919c4c3a603b5c5, type: 3} - {fileID: 21300000, guid: d67252626228649b6bc9ed9115453b2f, type: 3} - {fileID: 21300000, guid: 3b36333d2af82437ebfaf275a9310f3a, type: 3} + m_PanelMaterialAlt: {fileID: 2100000, guid: f27fdecc737914103a24c5ee13524f7b, type: 2} m_Image: {fileID: 8937050969299390433} - m_ImageSprite: {fileID: 0} m_Type: 0 m_TextString: m_ImagePath: - m_UseBillboard: 0 m_UseFrame: 0 m_UseRoundedCorner: 0 --- !u!1 &6708266868782982145 @@ -274,7 +275,7 @@ Transform: m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 394886170726205275} - m_RootOrder: 2 + m_RootOrder: 3 m_LocalEulerAnglesHint: {x: 0, y: 180, z: 0} --- !u!212 &8937050969299390433 SpriteRenderer: @@ -296,7 +297,7 @@ SpriteRenderer: m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: - - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + - {fileID: 2100000, guid: 58724a5c14ed747058b6dec20114e362, type: 2} m_StaticBatchInfo: firstSubMesh: 0 subMeshCount: 0 @@ -328,3 +329,100 @@ SpriteRenderer: m_WasSpriteAssigned: 1 m_MaskInteraction: 0 m_SpriteSortPoint: 1 +--- !u!1 &8222387841138745127 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7666865369518382479} + - component: {fileID: 7387570643854065228} + - component: {fileID: 6327610248803475439} + m_Layer: 0 + m_Name: TextBack + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &7666865369518382479 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8222387841138745127} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -0.0099983215} + m_LocalScale: {x: 0.01, y: 0.01, z: 0.01} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 394886170726205275} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &7387570643854065228 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8222387841138745127} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: cf2ecda7f23d04f34aad1f7a279518a5, type: 3} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!102 &6327610248803475439 +TextMesh: + serializedVersion: 3 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8222387841138745127} + m_Text: "\uD55C\uC904\uD0C0\uC785\uC740\uB744\uC5B4\uC4F0\uAE30\uB97C\uD3EC\uD568\uC774\uC2ED\uC790\uC774\uB0B4\uC785\uB2C8\uB2E4" + m_OffsetZ: 0 + m_CharacterSize: 1 + m_LineSpacing: 1 + m_Anchor: 4 + m_Alignment: 1 + m_TabSize: 4 + m_FontSize: 73 + m_FontStyle: 0 + m_RichText: 1 + m_Font: {fileID: 12800000, guid: cf2ecda7f23d04f34aad1f7a279518a5, type: 3} + m_Color: + serializedVersion: 2 + rgba: 4294967295 diff --git a/Assets/ARPG/Core/Plugins/OSX/ARPG-plugin.bundle/Contents/MacOS/ARPG-plugin.meta b/Assets/ARPG/Example/Resources/Sprites.meta similarity index 67% rename from Assets/ARPG/Core/Plugins/OSX/ARPG-plugin.bundle/Contents/MacOS/ARPG-plugin.meta rename to Assets/ARPG/Example/Resources/Sprites.meta index 380464f..189ab24 100644 --- a/Assets/ARPG/Core/Plugins/OSX/ARPG-plugin.bundle/Contents/MacOS/ARPG-plugin.meta +++ b/Assets/ARPG/Example/Resources/Sprites.meta @@ -1,5 +1,6 @@ fileFormatVersion: 2 -guid: 596d2b14d152543edbcf20afdfd28aa7 +guid: 86278738f9ee3425da5227f9f9bcde7b +folderAsset: yes DefaultImporter: externalObjects: {} userData: diff --git a/Assets/ARPG/Example/Resources/Sprites/ARSDK-Logo.png b/Assets/ARPG/Example/Resources/Sprites/ARSDK-Logo.png new file mode 100644 index 0000000..d596717 Binary files /dev/null and b/Assets/ARPG/Example/Resources/Sprites/ARSDK-Logo.png differ diff --git a/Assets/ARPG/Example/Resources/Sprites/ARSDK-Logo.png.meta b/Assets/ARPG/Example/Resources/Sprites/ARSDK-Logo.png.meta new file mode 100644 index 0000000..3ea5898 --- /dev/null +++ b/Assets/ARPG/Example/Resources/Sprites/ARSDK-Logo.png.meta @@ -0,0 +1,146 @@ +fileFormatVersion: 2 +guid: dcffc62249ddc4438b5b386e6881ff4e +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMasterTextureLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 1024 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Server + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Android + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: iPhone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + nameFileIdTable: {} + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/ARPG/Example/Scenes/1.example_navigation.unity b/Assets/ARPG/Example/Scenes/1.example_navigation.unity index fe280b1..eb81f83 100644 --- a/Assets/ARPG/Example/Scenes/1.example_navigation.unity +++ b/Assets/ARPG/Example/Scenes/1.example_navigation.unity @@ -38,7 +38,7 @@ RenderSettings: m_ReflectionIntensity: 1 m_CustomReflection: {fileID: 0} m_Sun: {fileID: 0} - m_IndirectSpecularColor: {r: 0.4439372, g: 0.49315345, b: 0.5721989, a: 1} + m_IndirectSpecularColor: {r: 0.44393998, g: 0.49315614, b: 0.57222384, a: 1} m_UseRadianceAmbientProbe: 0 --- !u!157 &3 LightmapSettings: @@ -104,7 +104,7 @@ NavMeshSettings: serializedVersion: 2 m_ObjectHideFlags: 0 m_BuildSettings: - serializedVersion: 2 + serializedVersion: 3 agentTypeID: 0 agentRadius: 0.5 agentHeight: 2 @@ -117,7 +117,7 @@ NavMeshSettings: cellSize: 0.16666667 manualTileSize: 0 tileSize: 256 - accuratePlacement: 0 + buildHeightMesh: 0 maxJobWorkers: 0 preserveTilesOutsideBounds: 0 debug: @@ -337,6 +337,7 @@ PrefabInstance: m_ObjectHideFlags: 0 serializedVersion: 2 m_Modification: + serializedVersion: 3 m_TransformParent: {fileID: 0} m_Modifications: - target: {fileID: 3216815866985024128, guid: 5d30a8d21bcba47e89512cb39bcb1dcc, type: 3} @@ -768,6 +769,9 @@ PrefabInstance: value: objectReference: {fileID: 1960847637419038591, guid: ca309a3b4bd4c4b118a442965d896bec, type: 3} m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 5d30a8d21bcba47e89512cb39bcb1dcc, type: 3} --- !u!1 &147347024 GameObject: @@ -964,6 +968,67 @@ Transform: m_Father: {fileID: 0} m_RootOrder: 10 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1001 &352329799 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 739479022350775784, guid: 120b34061590e40b1ac114ef4a7b2475, type: 3} + propertyPath: m_RootOrder + value: 13 + objectReference: {fileID: 0} + - target: {fileID: 739479022350775784, guid: 120b34061590e40b1ac114ef4a7b2475, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 739479022350775784, guid: 120b34061590e40b1ac114ef4a7b2475, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 739479022350775784, guid: 120b34061590e40b1ac114ef4a7b2475, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 739479022350775784, guid: 120b34061590e40b1ac114ef4a7b2475, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 739479022350775784, guid: 120b34061590e40b1ac114ef4a7b2475, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 739479022350775784, guid: 120b34061590e40b1ac114ef4a7b2475, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 739479022350775784, guid: 120b34061590e40b1ac114ef4a7b2475, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 739479022350775784, guid: 120b34061590e40b1ac114ef4a7b2475, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 739479022350775784, guid: 120b34061590e40b1ac114ef4a7b2475, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 739479022350775784, guid: 120b34061590e40b1ac114ef4a7b2475, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 739479022350775785, guid: 120b34061590e40b1ac114ef4a7b2475, type: 3} + propertyPath: m_Name + value: NextStep + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 120b34061590e40b1ac114ef4a7b2475, type: 3} --- !u!1 &355798826 GameObject: m_ObjectHideFlags: 0 @@ -1216,6 +1281,7 @@ PrefabInstance: m_ObjectHideFlags: 0 serializedVersion: 2 m_Modification: + serializedVersion: 3 m_TransformParent: {fileID: 1385302640} m_Modifications: - target: {fileID: 4807214979639325634, guid: 1225a8375cead42c2ba52286ce5821cf, type: 3} @@ -1307,6 +1373,9 @@ PrefabInstance: value: Default Cell objectReference: {fileID: 0} m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 1225a8375cead42c2ba52286ce5821cf, type: 3} --- !u!224 &590885391 stripped RectTransform: @@ -1318,6 +1387,7 @@ PrefabInstance: m_ObjectHideFlags: 0 serializedVersion: 2 m_Modification: + serializedVersion: 3 m_TransformParent: {fileID: 1153791410} m_Modifications: - target: {fileID: 8641873858502065033, guid: af363d9f27a1444f59be945ad6331d7e, type: 3} @@ -1413,6 +1483,9 @@ PrefabInstance: value: objectReference: {fileID: 10913, guid: 0000000000000000f000000000000000, type: 0} m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: af363d9f27a1444f59be945ad6331d7e, type: 3} --- !u!224 &635260894 stripped RectTransform: @@ -1803,6 +1876,7 @@ PrefabInstance: m_ObjectHideFlags: 0 serializedVersion: 2 m_Modification: + serializedVersion: 3 m_TransformParent: {fileID: 0} m_Modifications: - target: {fileID: 4963871251863679470, guid: bade52f6789d74c1c92db19d505c02be, type: 3} @@ -1894,6 +1968,9 @@ PrefabInstance: value: 1 objectReference: {fileID: 0} m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: bade52f6789d74c1c92db19d505c02be, type: 3} --- !u!114 &1003622029 stripped MonoBehaviour: @@ -2093,7 +2170,9 @@ Canvas: m_OverrideSorting: 0 m_OverridePixelPerfect: 0 m_SortingBucketNormalizedSize: 0 + m_VertexColorAlwaysGammaSpace: 0 m_AdditionalShaderChannelsFlag: 0 + m_UpdateRectTransformForStandalone: 0 m_SortingLayerID: 0 m_SortingOrder: 0 m_TargetDisplay: 0 @@ -2134,68 +2213,12 @@ RectTransform: m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: -20, y: -20} m_Pivot: {x: 0.5, y: 0.5} ---- !u!1001 &1159499958 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 739479022350775784, guid: 120b34061590e40b1ac114ef4a7b2475, type: 3} - propertyPath: m_RootOrder - value: 13 - objectReference: {fileID: 0} - - target: {fileID: 739479022350775784, guid: 120b34061590e40b1ac114ef4a7b2475, type: 3} - propertyPath: m_LocalPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 739479022350775784, guid: 120b34061590e40b1ac114ef4a7b2475, type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 739479022350775784, guid: 120b34061590e40b1ac114ef4a7b2475, type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 739479022350775784, guid: 120b34061590e40b1ac114ef4a7b2475, type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 739479022350775784, guid: 120b34061590e40b1ac114ef4a7b2475, type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 739479022350775784, guid: 120b34061590e40b1ac114ef4a7b2475, type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 739479022350775784, guid: 120b34061590e40b1ac114ef4a7b2475, type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 739479022350775784, guid: 120b34061590e40b1ac114ef4a7b2475, type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 739479022350775784, guid: 120b34061590e40b1ac114ef4a7b2475, type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 739479022350775784, guid: 120b34061590e40b1ac114ef4a7b2475, type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 739479022350775785, guid: 120b34061590e40b1ac114ef4a7b2475, type: 3} - propertyPath: m_Name - value: NextStep - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 120b34061590e40b1ac114ef4a7b2475, type: 3} --- !u!1001 &1190800883 PrefabInstance: m_ObjectHideFlags: 0 serializedVersion: 2 m_Modification: + serializedVersion: 3 m_TransformParent: {fileID: 0} m_Modifications: - target: {fileID: 5451198551273644277, guid: 412767673ec604349b507b6860ee5c26, type: 3} @@ -2479,6 +2502,9 @@ PrefabInstance: value: ARPlayGround objectReference: {fileID: 0} m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 412767673ec604349b507b6860ee5c26, type: 3} --- !u!114 &1190800884 stripped MonoBehaviour: @@ -2532,9 +2558,17 @@ Camera: m_projectionMatrixMode: 1 m_GateFitMode: 2 m_FOVAxisMode: 0 + m_Iso: 200 + m_ShutterSpeed: 0.005 + m_Aperture: 16 + m_FocusDistance: 10 + m_FocalLength: 50 + m_BladeCount: 5 + m_Curvature: {x: 2, y: 11} + m_BarrelClipping: 0.25 + m_Anamorphism: 0 m_SensorSize: {x: 36, y: 24} m_LensShift: {x: 0, y: 0} - m_FocalLength: 50 m_NormalizedViewPortRect: serializedVersion: 2 x: 0 @@ -2977,6 +3011,7 @@ PrefabInstance: m_ObjectHideFlags: 0 serializedVersion: 2 m_Modification: + serializedVersion: 3 m_TransformParent: {fileID: 1153791410} m_Modifications: - target: {fileID: 4209999078915257351, guid: 67bb364d5a62146d9a8c1ba230fde846, type: 3} @@ -3172,6 +3207,9 @@ PrefabInstance: value: 0 objectReference: {fileID: 0} m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 67bb364d5a62146d9a8c1ba230fde846, type: 3} --- !u!224 &1552241841 stripped RectTransform: @@ -3651,14 +3689,14 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1838011343} - m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261} + m_LocalRotation: {x: -0.07338684, y: -0.89253896, z: 0.41619772, w: -0.1573786} m_LocalPosition: {x: 0, y: 3, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 0} m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} + m_LocalEulerAnglesHint: {x: 50, y: -200, z: 0} --- !u!1 &1908316484 GameObject: m_ObjectHideFlags: 0 diff --git a/Assets/ARPG/Example/Scenes/2.example_vlsdk.unity b/Assets/ARPG/Example/Scenes/2.example_vlsdk.unity index 4184903..2b9e128 100644 --- a/Assets/ARPG/Example/Scenes/2.example_vlsdk.unity +++ b/Assets/ARPG/Example/Scenes/2.example_vlsdk.unity @@ -38,7 +38,7 @@ RenderSettings: m_ReflectionIntensity: 1 m_CustomReflection: {fileID: 0} m_Sun: {fileID: 0} - m_IndirectSpecularColor: {r: 0.44657898, g: 0.4964133, b: 0.5748178, a: 1} + m_IndirectSpecularColor: {r: 0.44657844, g: 0.49641222, b: 0.57481676, a: 1} m_UseRadianceAmbientProbe: 0 --- !u!157 &3 LightmapSettings: @@ -104,7 +104,7 @@ NavMeshSettings: serializedVersion: 2 m_ObjectHideFlags: 0 m_BuildSettings: - serializedVersion: 2 + serializedVersion: 3 agentTypeID: 0 agentRadius: 0.5 agentHeight: 2 @@ -117,7 +117,7 @@ NavMeshSettings: cellSize: 0.16666667 manualTileSize: 0 tileSize: 256 - accuratePlacement: 0 + buildHeightMesh: 0 maxJobWorkers: 0 preserveTilesOutsideBounds: 0 debug: @@ -153,6 +153,10 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: m_Camera: {fileID: 1734510473} + m_OriginBaseGameObject: {fileID: 136492374} + m_CameraFloorOffsetObject: {fileID: 0} + m_RequestedTrackingOriginMode: 0 + m_CameraYOffset: 1.1176 --- !u!4 &136492376 Transform: m_ObjectHideFlags: 0 @@ -208,6 +212,7 @@ PrefabInstance: m_ObjectHideFlags: 0 serializedVersion: 2 m_Modification: + serializedVersion: 3 m_TransformParent: {fileID: 464519651} m_Modifications: - target: {fileID: 3216815866985024128, guid: 5d30a8d21bcba47e89512cb39bcb1dcc, type: 3} @@ -220,179 +225,315 @@ PrefabInstance: objectReference: {fileID: 1937242862616383070, guid: 38bd91d3028fb4a6c8ae5f0c9609399a, type: 3} - target: {fileID: 3216815866985024128, guid: 5d30a8d21bcba47e89512cb39bcb1dcc, type: 3} propertyPath: m_MapPOIIconSprites.Array.size - value: 21 + value: 38 objectReference: {fileID: 0} - target: {fileID: 3216815866985024128, guid: 5d30a8d21bcba47e89512cb39bcb1dcc, type: 3} propertyPath: m_SignPOIIconModels.Array.size - value: 21 + value: 38 objectReference: {fileID: 0} - target: {fileID: 3216815866985024128, guid: 5d30a8d21bcba47e89512cb39bcb1dcc, type: 3} propertyPath: m_MapPOIIconSprites.Array.data[0] value: - objectReference: {fileID: 21300000, guid: 874bb0c4bc4b845d6b0a368bb5e6c22d, type: 3} + objectReference: {fileID: 21300000, guid: 64134fd390a2843e08495052c130ff59, type: 3} - target: {fileID: 3216815866985024128, guid: 5d30a8d21bcba47e89512cb39bcb1dcc, type: 3} propertyPath: m_MapPOIIconSprites.Array.data[1] value: - objectReference: {fileID: 21300000, guid: 32e27b7251e0a4663a51ba56cdb1de3a, type: 3} + objectReference: {fileID: 21300000, guid: 8f1f40a4d8c3945e7b46145d340cfd60, type: 3} - target: {fileID: 3216815866985024128, guid: 5d30a8d21bcba47e89512cb39bcb1dcc, type: 3} propertyPath: m_MapPOIIconSprites.Array.data[2] value: - objectReference: {fileID: 21300000, guid: eaaf6da8cccad490681164d475c4b351, type: 3} + objectReference: {fileID: 21300000, guid: a17022233c4a447d8a981b6bd8c4a789, type: 3} - target: {fileID: 3216815866985024128, guid: 5d30a8d21bcba47e89512cb39bcb1dcc, type: 3} propertyPath: m_MapPOIIconSprites.Array.data[3] value: - objectReference: {fileID: 21300000, guid: ff8cd848703964b75973c22ecf9c05c4, type: 3} + objectReference: {fileID: 21300000, guid: 18137b7a3bf20457893922725620bb40, type: 3} - target: {fileID: 3216815866985024128, guid: 5d30a8d21bcba47e89512cb39bcb1dcc, type: 3} propertyPath: m_MapPOIIconSprites.Array.data[4] value: - objectReference: {fileID: 21300000, guid: 323fee7b1f4e346dea29867a10f310e4, type: 3} + objectReference: {fileID: 21300000, guid: cdc952e445d8b4f7496c4ba028565695, type: 3} - target: {fileID: 3216815866985024128, guid: 5d30a8d21bcba47e89512cb39bcb1dcc, type: 3} propertyPath: m_MapPOIIconSprites.Array.data[5] value: - objectReference: {fileID: 21300000, guid: 67e2a1e70aad845bc9dea2fc307461d4, type: 3} + objectReference: {fileID: 21300000, guid: 4bb62744707174f0f9fbb94b6ad7cbc4, type: 3} - target: {fileID: 3216815866985024128, guid: 5d30a8d21bcba47e89512cb39bcb1dcc, type: 3} propertyPath: m_MapPOIIconSprites.Array.data[6] value: - objectReference: {fileID: 21300000, guid: 45ea481d3609043b3925101aee2c7e9d, type: 3} + objectReference: {fileID: 21300000, guid: 874bb0c4bc4b845d6b0a368bb5e6c22d, type: 3} - target: {fileID: 3216815866985024128, guid: 5d30a8d21bcba47e89512cb39bcb1dcc, type: 3} propertyPath: m_MapPOIIconSprites.Array.data[7] value: - objectReference: {fileID: 21300000, guid: 427747eeccfb14fcab6f2ef75f424743, type: 3} + objectReference: {fileID: 21300000, guid: 86bf0c5a3493d451596f63e9ae879396, type: 3} - target: {fileID: 3216815866985024128, guid: 5d30a8d21bcba47e89512cb39bcb1dcc, type: 3} propertyPath: m_MapPOIIconSprites.Array.data[8] value: - objectReference: {fileID: 21300000, guid: d9fc3cb0eb773491781a55e968d6b893, type: 3} + objectReference: {fileID: 21300000, guid: cdda4e55b961d4934a078f18a9565975, type: 3} - target: {fileID: 3216815866985024128, guid: 5d30a8d21bcba47e89512cb39bcb1dcc, type: 3} propertyPath: m_MapPOIIconSprites.Array.data[9] value: - objectReference: {fileID: 21300000, guid: 5c187070ec0dc4950a016d2f79e3caf6, type: 3} + objectReference: {fileID: 21300000, guid: 07836b0508d9b4e2ebd117512f718310, type: 3} - target: {fileID: 3216815866985024128, guid: 5d30a8d21bcba47e89512cb39bcb1dcc, type: 3} propertyPath: m_SignPOIIconModels.Array.data[0] value: - objectReference: {fileID: 2107409826236812522, guid: d9b87de38b9a247838429df7da8df084, type: 3} + objectReference: {fileID: 2107409826236812522, guid: fcefa4a687a4f4a809fdef4e77b080ee, type: 3} - target: {fileID: 3216815866985024128, guid: 5d30a8d21bcba47e89512cb39bcb1dcc, type: 3} propertyPath: m_SignPOIIconModels.Array.data[1] value: - objectReference: {fileID: 2107409826236812522, guid: a6f3fdc6655a845b3ab1afa091306781, type: 3} + objectReference: {fileID: 2107409826236812522, guid: 57265e0b0f4fc4ae4a58a17596d9572d, type: 3} - target: {fileID: 3216815866985024128, guid: 5d30a8d21bcba47e89512cb39bcb1dcc, type: 3} propertyPath: m_SignPOIIconModels.Array.data[2] value: - objectReference: {fileID: 2107409826236812522, guid: e57f75f8a4ff74b798f7fbb03143c1c1, type: 3} + objectReference: {fileID: 2107409826236812522, guid: 155374bb772854a5ca500b9be692179e, type: 3} - target: {fileID: 3216815866985024128, guid: 5d30a8d21bcba47e89512cb39bcb1dcc, type: 3} propertyPath: m_SignPOIIconModels.Array.data[3] value: - objectReference: {fileID: 2107409826236812522, guid: 6cf7580da0bb2483b91ab0024391f8f4, type: 3} + objectReference: {fileID: 2107409826236812522, guid: af8930b6d3aff4fc597d439a89310d17, type: 3} - target: {fileID: 3216815866985024128, guid: 5d30a8d21bcba47e89512cb39bcb1dcc, type: 3} propertyPath: m_SignPOIIconModels.Array.data[4] value: - objectReference: {fileID: 2107409826236812522, guid: 3830f56ff53c64458afa2474c90624d9, type: 3} + objectReference: {fileID: 2107409826236812522, guid: 01165f16a1cb64b618734f117ea98aa8, type: 3} - target: {fileID: 3216815866985024128, guid: 5d30a8d21bcba47e89512cb39bcb1dcc, type: 3} propertyPath: m_SignPOIIconModels.Array.data[5] value: - objectReference: {fileID: 2107409826236812522, guid: 1750b1ea1dba1477491b2fe47ead7177, type: 3} + objectReference: {fileID: 2107409826236812522, guid: 60ba4b2a61a2a4c94bc4727f5386542e, type: 3} - target: {fileID: 3216815866985024128, guid: 5d30a8d21bcba47e89512cb39bcb1dcc, type: 3} propertyPath: m_SignPOIIconModels.Array.data[6] value: - objectReference: {fileID: 2107409826236812522, guid: c50b350deca3e4949b43f0d0f61c8091, type: 3} + objectReference: {fileID: 2107409826236812522, guid: d9b87de38b9a247838429df7da8df084, type: 3} - target: {fileID: 3216815866985024128, guid: 5d30a8d21bcba47e89512cb39bcb1dcc, type: 3} propertyPath: m_SignPOIIconModels.Array.data[7] value: - objectReference: {fileID: 2107409826236812522, guid: d5f0e0e7ed14c427f88379ff129dba12, type: 3} + objectReference: {fileID: 2107409826236812522, guid: a77da0f03fe764cc187aafd78cab617e, type: 3} - target: {fileID: 3216815866985024128, guid: 5d30a8d21bcba47e89512cb39bcb1dcc, type: 3} propertyPath: m_SignPOIIconModels.Array.data[8] value: - objectReference: {fileID: 2107409826236812522, guid: 81d83d40e53f04deea3b904b93b0f85e, type: 3} + objectReference: {fileID: 2107409826236812522, guid: 20566a17762a44e8eb9fc661c17f3a38, type: 3} - target: {fileID: 3216815866985024128, guid: 5d30a8d21bcba47e89512cb39bcb1dcc, type: 3} propertyPath: m_SignPOIIconModels.Array.data[9] value: - objectReference: {fileID: 2107409826236812522, guid: 4440027982a554c349ebc9d33fc9c435, type: 3} + objectReference: {fileID: 2107409826236812522, guid: d9ce2f852645f4c9c977e1d28def64b9, type: 3} - target: {fileID: 3216815866985024128, guid: 5d30a8d21bcba47e89512cb39bcb1dcc, type: 3} propertyPath: m_MapPOIIconSprites.Array.data[10] value: - objectReference: {fileID: 21300000, guid: d8f88368048be4005bf83c1dc5ee637d, type: 3} + objectReference: {fileID: 21300000, guid: b38324b18d2ed459bac32b9741b69e85, type: 3} - target: {fileID: 3216815866985024128, guid: 5d30a8d21bcba47e89512cb39bcb1dcc, type: 3} propertyPath: m_MapPOIIconSprites.Array.data[11] value: - objectReference: {fileID: 21300000, guid: 57a49b3ba7aa34ab0b2b5b0eac7078ff, type: 3} + objectReference: {fileID: 21300000, guid: d19ab6742f5a24a76be8c0a6d18d6e06, type: 3} - target: {fileID: 3216815866985024128, guid: 5d30a8d21bcba47e89512cb39bcb1dcc, type: 3} propertyPath: m_MapPOIIconSprites.Array.data[12] value: - objectReference: {fileID: 21300000, guid: bf1aa32d4016441fdbf140bf48793d4d, type: 3} + objectReference: {fileID: 21300000, guid: 32e27b7251e0a4663a51ba56cdb1de3a, type: 3} - target: {fileID: 3216815866985024128, guid: 5d30a8d21bcba47e89512cb39bcb1dcc, type: 3} propertyPath: m_MapPOIIconSprites.Array.data[13] value: - objectReference: {fileID: 21300000, guid: 6e9cb7e0568ba44deb5fbe207eedbc0b, type: 3} + objectReference: {fileID: 21300000, guid: 6f4289ac87e7f4c4487200a780047dae, type: 3} - target: {fileID: 3216815866985024128, guid: 5d30a8d21bcba47e89512cb39bcb1dcc, type: 3} propertyPath: m_MapPOIIconSprites.Array.data[14] value: - objectReference: {fileID: 21300000, guid: c169a25f834f9478b8c4247170fcdbdd, type: 3} + objectReference: {fileID: 21300000, guid: bf5328ab0088547fa903797905779ed4, type: 3} - target: {fileID: 3216815866985024128, guid: 5d30a8d21bcba47e89512cb39bcb1dcc, type: 3} propertyPath: m_MapPOIIconSprites.Array.data[15] value: - objectReference: {fileID: 21300000, guid: 00dfc5aefd74a4bf5aa6c5f37891e6e8, type: 3} + objectReference: {fileID: 21300000, guid: 610c2ba8be5644449834858731aafb7b, type: 3} - target: {fileID: 3216815866985024128, guid: 5d30a8d21bcba47e89512cb39bcb1dcc, type: 3} propertyPath: m_MapPOIIconSprites.Array.data[16] value: - objectReference: {fileID: 21300000, guid: 291cf0d97520b42a181715aab71b27ad, type: 3} + objectReference: {fileID: 21300000, guid: 323fee7b1f4e346dea29867a10f310e4, type: 3} - target: {fileID: 3216815866985024128, guid: 5d30a8d21bcba47e89512cb39bcb1dcc, type: 3} propertyPath: m_MapPOIIconSprites.Array.data[17] value: - objectReference: {fileID: 21300000, guid: bc6fb638215eb4d69a40d69ea6094d78, type: 3} + objectReference: {fileID: 21300000, guid: 427747eeccfb14fcab6f2ef75f424743, type: 3} - target: {fileID: 3216815866985024128, guid: 5d30a8d21bcba47e89512cb39bcb1dcc, type: 3} propertyPath: m_MapPOIIconSprites.Array.data[18] value: - objectReference: {fileID: 21300000, guid: 47e076814f77641059ced06e6ddad2ac, type: 3} + objectReference: {fileID: 21300000, guid: d9fc3cb0eb773491781a55e968d6b893, type: 3} - target: {fileID: 3216815866985024128, guid: 5d30a8d21bcba47e89512cb39bcb1dcc, type: 3} propertyPath: m_MapPOIIconSprites.Array.data[19] value: - objectReference: {fileID: 21300000, guid: 452b5d8dab2bd42cf81c4f984762030a, type: 3} + objectReference: {fileID: 21300000, guid: 059d3868d9535452195d5c04639fb7af, type: 3} - target: {fileID: 3216815866985024128, guid: 5d30a8d21bcba47e89512cb39bcb1dcc, type: 3} propertyPath: m_MapPOIIconSprites.Array.data[20] value: + objectReference: {fileID: 21300000, guid: 3734826800a284f6fade68ea074c82c3, type: 3} + - target: {fileID: 3216815866985024128, guid: 5d30a8d21bcba47e89512cb39bcb1dcc, type: 3} + propertyPath: m_MapPOIIconSprites.Array.data[21] + value: + objectReference: {fileID: 21300000, guid: 5c187070ec0dc4950a016d2f79e3caf6, type: 3} + - target: {fileID: 3216815866985024128, guid: 5d30a8d21bcba47e89512cb39bcb1dcc, type: 3} + propertyPath: m_MapPOIIconSprites.Array.data[22] + value: + objectReference: {fileID: 21300000, guid: 82c0d4f9daf7a4fe7a8d129b1815ffbc, type: 3} + - target: {fileID: 3216815866985024128, guid: 5d30a8d21bcba47e89512cb39bcb1dcc, type: 3} + propertyPath: m_MapPOIIconSprites.Array.data[23] + value: + objectReference: {fileID: 21300000, guid: 4a9858ecdede94dbd81cbacba18fda18, type: 3} + - target: {fileID: 3216815866985024128, guid: 5d30a8d21bcba47e89512cb39bcb1dcc, type: 3} + propertyPath: m_MapPOIIconSprites.Array.data[24] + value: + objectReference: {fileID: 21300000, guid: 57a49b3ba7aa34ab0b2b5b0eac7078ff, type: 3} + - target: {fileID: 3216815866985024128, guid: 5d30a8d21bcba47e89512cb39bcb1dcc, type: 3} + propertyPath: m_MapPOIIconSprites.Array.data[25] + value: + objectReference: {fileID: 21300000, guid: b64521a6c4c1e4abd8b08e93c692201f, type: 3} + - target: {fileID: 3216815866985024128, guid: 5d30a8d21bcba47e89512cb39bcb1dcc, type: 3} + propertyPath: m_MapPOIIconSprites.Array.data[26] + value: + objectReference: {fileID: 21300000, guid: a232015f0c3244179ad96fed658b43ce, type: 3} + - target: {fileID: 3216815866985024128, guid: 5d30a8d21bcba47e89512cb39bcb1dcc, type: 3} + propertyPath: m_MapPOIIconSprites.Array.data[27] + value: + objectReference: {fileID: 21300000, guid: 358a2e1dea9204cad90442f6cf789d4e, type: 3} + - target: {fileID: 3216815866985024128, guid: 5d30a8d21bcba47e89512cb39bcb1dcc, type: 3} + propertyPath: m_MapPOIIconSprites.Array.data[28] + value: + objectReference: {fileID: 21300000, guid: 66bf6ef15617b4f3994ae4c735538cc6, type: 3} + - target: {fileID: 3216815866985024128, guid: 5d30a8d21bcba47e89512cb39bcb1dcc, type: 3} + propertyPath: m_MapPOIIconSprites.Array.data[29] + value: + objectReference: {fileID: 21300000, guid: 1bdb1ed6ad5824ba1af08352ebb4228a, type: 3} + - target: {fileID: 3216815866985024128, guid: 5d30a8d21bcba47e89512cb39bcb1dcc, type: 3} + propertyPath: m_MapPOIIconSprites.Array.data[30] + value: + objectReference: {fileID: 21300000, guid: 8fe0c6ad8e0b745f28e47a0b5dd3c18d, type: 3} + - target: {fileID: 3216815866985024128, guid: 5d30a8d21bcba47e89512cb39bcb1dcc, type: 3} + propertyPath: m_MapPOIIconSprites.Array.data[31] + value: + objectReference: {fileID: 21300000, guid: 6e9cb7e0568ba44deb5fbe207eedbc0b, type: 3} + - target: {fileID: 3216815866985024128, guid: 5d30a8d21bcba47e89512cb39bcb1dcc, type: 3} + propertyPath: m_MapPOIIconSprites.Array.data[32] + value: + objectReference: {fileID: 21300000, guid: 00dfc5aefd74a4bf5aa6c5f37891e6e8, type: 3} + - target: {fileID: 3216815866985024128, guid: 5d30a8d21bcba47e89512cb39bcb1dcc, type: 3} + propertyPath: m_MapPOIIconSprites.Array.data[33] + value: + objectReference: {fileID: 21300000, guid: 291cf0d97520b42a181715aab71b27ad, type: 3} + - target: {fileID: 3216815866985024128, guid: 5d30a8d21bcba47e89512cb39bcb1dcc, type: 3} + propertyPath: m_MapPOIIconSprites.Array.data[34] + value: + objectReference: {fileID: 21300000, guid: bc6fb638215eb4d69a40d69ea6094d78, type: 3} + - target: {fileID: 3216815866985024128, guid: 5d30a8d21bcba47e89512cb39bcb1dcc, type: 3} + propertyPath: m_MapPOIIconSprites.Array.data[35] + value: + objectReference: {fileID: 21300000, guid: 47e076814f77641059ced06e6ddad2ac, type: 3} + - target: {fileID: 3216815866985024128, guid: 5d30a8d21bcba47e89512cb39bcb1dcc, type: 3} + propertyPath: m_MapPOIIconSprites.Array.data[36] + value: + objectReference: {fileID: 21300000, guid: 452b5d8dab2bd42cf81c4f984762030a, type: 3} + - target: {fileID: 3216815866985024128, guid: 5d30a8d21bcba47e89512cb39bcb1dcc, type: 3} + propertyPath: m_MapPOIIconSprites.Array.data[37] + value: objectReference: {fileID: 21300000, guid: e1d56a0ffb8824b539e001efe0976d0b, type: 3} - target: {fileID: 3216815866985024128, guid: 5d30a8d21bcba47e89512cb39bcb1dcc, type: 3} propertyPath: m_SignPOIIconModels.Array.data[10] value: - objectReference: {fileID: 2107409826236812522, guid: ff8cd2dd11b874a0ea49957d1210b272, type: 3} + objectReference: {fileID: 2107409826236812522, guid: b35e1eb549e5c46a981c285e57b8bd20, type: 3} - target: {fileID: 3216815866985024128, guid: 5d30a8d21bcba47e89512cb39bcb1dcc, type: 3} propertyPath: m_SignPOIIconModels.Array.data[11] value: - objectReference: {fileID: 2107409826236812522, guid: f83a7438061184cffaaa81e9cfa8dbeb, type: 3} + objectReference: {fileID: 2107409826236812522, guid: 33dc74f38a3974f48a9a01187f1e7114, type: 3} - target: {fileID: 3216815866985024128, guid: 5d30a8d21bcba47e89512cb39bcb1dcc, type: 3} propertyPath: m_SignPOIIconModels.Array.data[12] value: - objectReference: {fileID: 2107409826236812522, guid: b3ff4523e9279457f8edda02090167c3, type: 3} + objectReference: {fileID: 2107409826236812522, guid: a6f3fdc6655a845b3ab1afa091306781, type: 3} - target: {fileID: 3216815866985024128, guid: 5d30a8d21bcba47e89512cb39bcb1dcc, type: 3} propertyPath: m_SignPOIIconModels.Array.data[13] value: - objectReference: {fileID: 2107409826236812522, guid: 5d7d8d7b9a7754cbf876ecf02ef349c3, type: 3} + objectReference: {fileID: 2107409826236812522, guid: d04224cb7c4074c86ac667219b28137f, type: 3} - target: {fileID: 3216815866985024128, guid: 5d30a8d21bcba47e89512cb39bcb1dcc, type: 3} propertyPath: m_SignPOIIconModels.Array.data[14] value: - objectReference: {fileID: 2107409826236812522, guid: 8db304a8434dd44c29a6b3fb2da07c6f, type: 3} + objectReference: {fileID: 2107409826236812522, guid: d5e1d8e4461ce4bd695cd424f8b6c2a3, type: 3} - target: {fileID: 3216815866985024128, guid: 5d30a8d21bcba47e89512cb39bcb1dcc, type: 3} propertyPath: m_SignPOIIconModels.Array.data[15] value: - objectReference: {fileID: 2107409826236812522, guid: cfd7e8665526e48e689df5bfd86ddac2, type: 3} + objectReference: {fileID: 2107409826236812522, guid: d0919b4c1bdcb4afca5ea247da8ae07c, type: 3} - target: {fileID: 3216815866985024128, guid: 5d30a8d21bcba47e89512cb39bcb1dcc, type: 3} propertyPath: m_SignPOIIconModels.Array.data[16] value: - objectReference: {fileID: 2107409826236812522, guid: 598b0cfbae96841e5bb6022882569bad, type: 3} + objectReference: {fileID: 2107409826236812522, guid: 3830f56ff53c64458afa2474c90624d9, type: 3} - target: {fileID: 3216815866985024128, guid: 5d30a8d21bcba47e89512cb39bcb1dcc, type: 3} propertyPath: m_SignPOIIconModels.Array.data[17] value: - objectReference: {fileID: 2107409826236812522, guid: 18ddccc71a1dd404eaaaeee31aca8dcd, type: 3} + objectReference: {fileID: 2107409826236812522, guid: d5f0e0e7ed14c427f88379ff129dba12, type: 3} - target: {fileID: 3216815866985024128, guid: 5d30a8d21bcba47e89512cb39bcb1dcc, type: 3} propertyPath: m_SignPOIIconModels.Array.data[18] value: - objectReference: {fileID: 2107409826236812522, guid: 2832af10484104198b8b36acfd3d5464, type: 3} + objectReference: {fileID: 2107409826236812522, guid: 81d83d40e53f04deea3b904b93b0f85e, type: 3} - target: {fileID: 3216815866985024128, guid: 5d30a8d21bcba47e89512cb39bcb1dcc, type: 3} propertyPath: m_SignPOIIconModels.Array.data[19] value: - objectReference: {fileID: 2107409826236812522, guid: 0c9c26b8f8cb64290be4338f0065c115, type: 3} + objectReference: {fileID: 2107409826236812522, guid: 01460b23a830e44719b1219812111bcf, type: 3} - target: {fileID: 3216815866985024128, guid: 5d30a8d21bcba47e89512cb39bcb1dcc, type: 3} propertyPath: m_SignPOIIconModels.Array.data[20] value: + objectReference: {fileID: 2107409826236812522, guid: 74c7d1b1c285843bb81ad80bad1b1179, type: 3} + - target: {fileID: 3216815866985024128, guid: 5d30a8d21bcba47e89512cb39bcb1dcc, type: 3} + propertyPath: m_SignPOIIconModels.Array.data[21] + value: + objectReference: {fileID: 2107409826236812522, guid: 4440027982a554c349ebc9d33fc9c435, type: 3} + - target: {fileID: 3216815866985024128, guid: 5d30a8d21bcba47e89512cb39bcb1dcc, type: 3} + propertyPath: m_SignPOIIconModels.Array.data[22] + value: + objectReference: {fileID: 2107409826236812522, guid: c393c2b39f89e438c978c2a7df9acda0, type: 3} + - target: {fileID: 3216815866985024128, guid: 5d30a8d21bcba47e89512cb39bcb1dcc, type: 3} + propertyPath: m_SignPOIIconModels.Array.data[23] + value: + objectReference: {fileID: 2107409826236812522, guid: 2e16fed94b0b549b392dfbcc696ae523, type: 3} + - target: {fileID: 3216815866985024128, guid: 5d30a8d21bcba47e89512cb39bcb1dcc, type: 3} + propertyPath: m_SignPOIIconModels.Array.data[24] + value: + objectReference: {fileID: 2107409826236812522, guid: f83a7438061184cffaaa81e9cfa8dbeb, type: 3} + - target: {fileID: 3216815866985024128, guid: 5d30a8d21bcba47e89512cb39bcb1dcc, type: 3} + propertyPath: m_SignPOIIconModels.Array.data[25] + value: + objectReference: {fileID: 2107409826236812522, guid: df6a38c3b0fb44a089b3adf0ffc8b842, type: 3} + - target: {fileID: 3216815866985024128, guid: 5d30a8d21bcba47e89512cb39bcb1dcc, type: 3} + propertyPath: m_SignPOIIconModels.Array.data[26] + value: + objectReference: {fileID: 2107409826236812522, guid: 7b6846d5ae51345c296fe8124477d01a, type: 3} + - target: {fileID: 3216815866985024128, guid: 5d30a8d21bcba47e89512cb39bcb1dcc, type: 3} + propertyPath: m_SignPOIIconModels.Array.data[27] + value: + objectReference: {fileID: 2107409826236812522, guid: 64013d13e09764dc8b98b9c86d0f5cb3, type: 3} + - target: {fileID: 3216815866985024128, guid: 5d30a8d21bcba47e89512cb39bcb1dcc, type: 3} + propertyPath: m_SignPOIIconModels.Array.data[28] + value: + objectReference: {fileID: 2107409826236812522, guid: bf1839ab828f34ec1a619d9026d00e84, type: 3} + - target: {fileID: 3216815866985024128, guid: 5d30a8d21bcba47e89512cb39bcb1dcc, type: 3} + propertyPath: m_SignPOIIconModels.Array.data[29] + value: + objectReference: {fileID: 2107409826236812522, guid: 34bfaacdbf823424fa1ba1e7a5a291a3, type: 3} + - target: {fileID: 3216815866985024128, guid: 5d30a8d21bcba47e89512cb39bcb1dcc, type: 3} + propertyPath: m_SignPOIIconModels.Array.data[30] + value: + objectReference: {fileID: 2107409826236812522, guid: 62554394160854fd1a1a784c1733e74e, type: 3} + - target: {fileID: 3216815866985024128, guid: 5d30a8d21bcba47e89512cb39bcb1dcc, type: 3} + propertyPath: m_SignPOIIconModels.Array.data[31] + value: + objectReference: {fileID: 2107409826236812522, guid: 5d7d8d7b9a7754cbf876ecf02ef349c3, type: 3} + - target: {fileID: 3216815866985024128, guid: 5d30a8d21bcba47e89512cb39bcb1dcc, type: 3} + propertyPath: m_SignPOIIconModels.Array.data[32] + value: + objectReference: {fileID: 2107409826236812522, guid: cfd7e8665526e48e689df5bfd86ddac2, type: 3} + - target: {fileID: 3216815866985024128, guid: 5d30a8d21bcba47e89512cb39bcb1dcc, type: 3} + propertyPath: m_SignPOIIconModels.Array.data[33] + value: + objectReference: {fileID: 2107409826236812522, guid: 598b0cfbae96841e5bb6022882569bad, type: 3} + - target: {fileID: 3216815866985024128, guid: 5d30a8d21bcba47e89512cb39bcb1dcc, type: 3} + propertyPath: m_SignPOIIconModels.Array.data[34] + value: + objectReference: {fileID: 2107409826236812522, guid: 18ddccc71a1dd404eaaaeee31aca8dcd, type: 3} + - target: {fileID: 3216815866985024128, guid: 5d30a8d21bcba47e89512cb39bcb1dcc, type: 3} + propertyPath: m_SignPOIIconModels.Array.data[35] + value: + objectReference: {fileID: 2107409826236812522, guid: 2832af10484104198b8b36acfd3d5464, type: 3} + - target: {fileID: 3216815866985024128, guid: 5d30a8d21bcba47e89512cb39bcb1dcc, type: 3} + propertyPath: m_SignPOIIconModels.Array.data[36] + value: + objectReference: {fileID: 2107409826236812522, guid: 0c9c26b8f8cb64290be4338f0065c115, type: 3} + - target: {fileID: 3216815866985024128, guid: 5d30a8d21bcba47e89512cb39bcb1dcc, type: 3} + propertyPath: m_SignPOIIconModels.Array.data[37] + value: objectReference: {fileID: 2107409826236812522, guid: 17b3556c8881c423095730883cd99889, type: 3} - target: {fileID: 3216815866985024129, guid: 5d30a8d21bcba47e89512cb39bcb1dcc, type: 3} propertyPath: m_Font @@ -462,7 +603,14 @@ PrefabInstance: propertyPath: m_Name value: ItemGenerator objectReference: {fileID: 0} + - target: {fileID: 5952151847712425795, guid: 5d30a8d21bcba47e89512cb39bcb1dcc, type: 3} + propertyPath: m_InfoPanelPrefab + value: + objectReference: {fileID: 1960847637419038591, guid: ca309a3b4bd4c4b118a442965d896bec, type: 3} m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 5d30a8d21bcba47e89512cb39bcb1dcc, type: 3} --- !u!4 &727220699 stripped Transform: @@ -474,6 +622,7 @@ PrefabInstance: m_ObjectHideFlags: 0 serializedVersion: 2 m_Modification: + serializedVersion: 3 m_TransformParent: {fileID: 464519651} m_Modifications: - target: {fileID: 4963871252345228624, guid: bade52f6789d74c1c92db19d505c02be, type: 3} @@ -525,6 +674,9 @@ PrefabInstance: value: MapCameraRig objectReference: {fileID: 0} m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: bade52f6789d74c1c92db19d505c02be, type: 3} --- !u!4 &792935173 stripped Transform: @@ -638,32 +790,12 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 714792e97ea2f4620b4bf8d17531ed5c, type: 3} m_Name: m_EditorClassIdentifier: + m_PlayOnAwake: 0 m_Settings: {fileID: 11400000, guid: 4a679e3463abc49ad833706890dd9833, type: 2} m_OnStateChanged: m_PersistentCalls: m_Calls: [] - m_OnLocationChanged: - m_PersistentCalls: - m_Calls: [] - m_OnBuildingChanged: - m_PersistentCalls: - m_Calls: [] - m_OnFloorChanged: - m_PersistentCalls: - m_Calls: - - m_Target: {fileID: 1452147349} - m_TargetAssemblyTypeName: ExampleVLSDK, Assembly-CSharp - m_MethodName: OnFloorChanged - m_Mode: 0 - m_Arguments: - m_ObjectArgument: {fileID: 0} - m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine - m_IntArgument: 0 - m_FloatArgument: 0 - m_StringArgument: - m_BoolArgument: 0 - m_CallState: 2 - m_OnRegionCodeChanged: + m_OnLayerInfoChanged: m_PersistentCalls: m_Calls: [] m_OnPoseUpdated: @@ -888,7 +1020,9 @@ Canvas: m_OverrideSorting: 0 m_OverridePixelPerfect: 0 m_SortingBucketNormalizedSize: 0 + m_VertexColorAlwaysGammaSpace: 0 m_AdditionalShaderChannelsFlag: 0 + m_UpdateRectTransformForStandalone: 0 m_SortingLayerID: 0 m_SortingOrder: 0 m_TargetDisplay: 0 @@ -957,6 +1091,7 @@ PrefabInstance: m_ObjectHideFlags: 0 serializedVersion: 2 m_Modification: + serializedVersion: 3 m_TransformParent: {fileID: 464519651} m_Modifications: - target: {fileID: 5451198551273644277, guid: 412767673ec604349b507b6860ee5c26, type: 3} @@ -1012,6 +1147,9 @@ PrefabInstance: value: ARPlayGround objectReference: {fileID: 0} m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 412767673ec604349b507b6860ee5c26, type: 3} --- !u!4 &1409909560 stripped Transform: @@ -1151,7 +1289,9 @@ Canvas: m_OverrideSorting: 0 m_OverridePixelPerfect: 0 m_SortingBucketNormalizedSize: 0 + m_VertexColorAlwaysGammaSpace: 0 m_AdditionalShaderChannelsFlag: 0 + m_UpdateRectTransformForStandalone: 0 m_SortingLayerID: 0 m_SortingOrder: 0 m_TargetDisplay: 0 @@ -1295,7 +1435,7 @@ VideoPlayer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1650495946} m_Enabled: 1 - m_VideoClip: {fileID: 32900000, guid: 2b642812a710c834385adf8e5664e686, type: 3} + m_VideoClip: {fileID: 32900000, guid: 2ea1c4f0d383240e7aaf6410b775adb4, type: 3} m_TargetCameraAlpha: 1 m_TargetCamera3DLayout: 0 m_TargetCamera: {fileID: 0} @@ -1306,6 +1446,7 @@ VideoPlayer: m_RenderMode: 2 m_AspectRatio: 2 m_DataSource: 0 + m_TimeUpdateMode: 2 m_PlaybackSpeed: 1 m_AudioOutputMode: 2 m_TargetAudioSources: [] @@ -1370,9 +1511,17 @@ Camera: m_projectionMatrixMode: 1 m_GateFitMode: 2 m_FOVAxisMode: 0 + m_Iso: 200 + m_ShutterSpeed: 0.005 + m_Aperture: 16 + m_FocusDistance: 10 + m_FocalLength: 50 + m_BladeCount: 5 + m_Curvature: {x: 2, y: 11} + m_BarrelClipping: 0.25 + m_Anamorphism: 0 m_SensorSize: {x: 36, y: 24} m_LensShift: {x: 0, y: 0} - m_FocalLength: 50 m_NormalizedViewPortRect: serializedVersion: 2 x: 0 @@ -1430,6 +1579,7 @@ MonoBehaviour: m_AutoFocus: 1 m_LightEstimation: 0 m_FacingDirection: 1 + m_RenderMode: 0 --- !u!114 &1734510476 MonoBehaviour: m_ObjectHideFlags: 0 diff --git a/Assets/ARPG/Example/Scenes/3.example_arnavi.unity b/Assets/ARPG/Example/Scenes/3.example_arnavi.unity index 3290d8d..a26dad6 100644 --- a/Assets/ARPG/Example/Scenes/3.example_arnavi.unity +++ b/Assets/ARPG/Example/Scenes/3.example_arnavi.unity @@ -38,7 +38,7 @@ RenderSettings: m_ReflectionIntensity: 1 m_CustomReflection: {fileID: 0} m_Sun: {fileID: 0} - m_IndirectSpecularColor: {r: 0.4439372, g: 0.49315345, b: 0.5721989, a: 1} + m_IndirectSpecularColor: {r: 0.44657844, g: 0.49641222, b: 0.57481676, a: 1} m_UseRadianceAmbientProbe: 0 --- !u!157 &3 LightmapSettings: @@ -104,7 +104,7 @@ NavMeshSettings: serializedVersion: 2 m_ObjectHideFlags: 0 m_BuildSettings: - serializedVersion: 2 + serializedVersion: 3 agentTypeID: 0 agentRadius: 0.5 agentHeight: 2 @@ -117,7 +117,7 @@ NavMeshSettings: cellSize: 0.16666667 manualTileSize: 0 tileSize: 256 - accuratePlacement: 0 + buildHeightMesh: 0 maxJobWorkers: 0 preserveTilesOutsideBounds: 0 debug: @@ -667,6 +667,7 @@ PrefabInstance: m_ObjectHideFlags: 0 serializedVersion: 2 m_Modification: + serializedVersion: 3 m_TransformParent: {fileID: 453627105} m_Modifications: - target: {fileID: 4807214979639325634, guid: 1225a8375cead42c2ba52286ce5821cf, type: 3} @@ -735,7 +736,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 4807214979639325634, guid: 1225a8375cead42c2ba52286ce5821cf, type: 3} propertyPath: m_AnchoredPosition.x - value: 628.1559 + value: 569.0477 objectReference: {fileID: 0} - target: {fileID: 4807214979639325634, guid: 1225a8375cead42c2ba52286ce5821cf, type: 3} propertyPath: m_AnchoredPosition.y @@ -774,6 +775,9 @@ PrefabInstance: value: 2 objectReference: {fileID: 0} m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 1225a8375cead42c2ba52286ce5821cf, type: 3} --- !u!224 &158143815 stripped RectTransform: @@ -1803,9 +1807,9 @@ RectTransform: m_Father: {fileID: 1783187391} m_RootOrder: 1 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 0, y: -1114} + m_AnchorMin: {x: 0.5, y: 0} + m_AnchorMax: {x: 0.5, y: 0} + m_AnchoredPosition: {x: 0, y: 130} m_SizeDelta: {x: 438, y: 50} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &434733519 @@ -2267,6 +2271,7 @@ PrefabInstance: m_ObjectHideFlags: 0 serializedVersion: 2 m_Modification: + serializedVersion: 3 m_TransformParent: {fileID: 0} m_Modifications: - target: {fileID: 3216815866985024128, guid: 5d30a8d21bcba47e89512cb39bcb1dcc, type: 3} @@ -2657,11 +2662,18 @@ PrefabInstance: propertyPath: m_Name value: ItemGenerator objectReference: {fileID: 0} + - target: {fileID: 3216815866985024135, guid: 5d30a8d21bcba47e89512cb39bcb1dcc, type: 3} + propertyPath: m_IsActive + value: 1 + objectReference: {fileID: 0} - target: {fileID: 5952151847712425795, guid: 5d30a8d21bcba47e89512cb39bcb1dcc, type: 3} propertyPath: m_InfoPanelPrefab value: objectReference: {fileID: 1960847637419038591, guid: ca309a3b4bd4c4b118a442965d896bec, type: 3} m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 5d30a8d21bcba47e89512cb39bcb1dcc, type: 3} --- !u!1 &531846764 GameObject: @@ -3876,7 +3888,7 @@ VideoPlayer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 838217846} m_Enabled: 1 - m_VideoClip: {fileID: 32900000, guid: 0121c540120da47f49ebe272c9ab3e93, type: 3} + m_VideoClip: {fileID: 0} m_TargetCameraAlpha: 1 m_TargetCamera3DLayout: 0 m_TargetCamera: {fileID: 0} @@ -3887,6 +3899,7 @@ VideoPlayer: m_RenderMode: 2 m_AspectRatio: 2 m_DataSource: 0 + m_TimeUpdateMode: 2 m_PlaybackSpeed: 1 m_AudioOutputMode: 2 m_TargetAudioSources: [] @@ -4169,6 +4182,10 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: m_Camera: {fileID: 1326068031} + m_OriginBaseGameObject: {fileID: 905759768} + m_CameraFloorOffsetObject: {fileID: 0} + m_RequestedTrackingOriginMode: 0 + m_CameraYOffset: 1.1176 --- !u!4 &905759770 Transform: m_ObjectHideFlags: 0 @@ -4190,6 +4207,7 @@ PrefabInstance: m_ObjectHideFlags: 0 serializedVersion: 2 m_Modification: + serializedVersion: 3 m_TransformParent: {fileID: 0} m_Modifications: - target: {fileID: 739479022350775784, guid: 120b34061590e40b1ac114ef4a7b2475, type: 3} @@ -4241,6 +4259,9 @@ PrefabInstance: value: NextStep objectReference: {fileID: 0} m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 120b34061590e40b1ac114ef4a7b2475, type: 3} --- !u!1 &954867298 GameObject: @@ -4343,17 +4364,16 @@ RectTransform: m_GameObject: {fileID: 972783768} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} + m_LocalScale: {x: 0.8, y: 0.8, z: 0.8} m_ConstrainProportionsScale: 0 m_Children: - {fileID: 1702579338} - - {fileID: 1447313963} m_Father: {fileID: 1045636896} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 0, y: 63.419678} + m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: 100, y: 100} m_Pivot: {x: 0.5, y: 0.5} --- !u!1 &982761675 @@ -4894,7 +4914,7 @@ MonoBehaviour: m_UiScaleMode: 1 m_ReferencePixelsPerUnit: 100 m_ScaleFactor: 1 - m_ReferenceResolution: {x: 1125, y: 2463} + m_ReferenceResolution: {x: 1080, y: 1920} m_ScreenMatchMode: 1 m_MatchWidthOrHeight: 0 m_PhysicalUnit: 3 @@ -4919,7 +4939,9 @@ Canvas: m_OverrideSorting: 0 m_OverridePixelPerfect: 0 m_SortingBucketNormalizedSize: 0 + m_VertexColorAlwaysGammaSpace: 0 m_AdditionalShaderChannelsFlag: 25 + m_UpdateRectTransformForStandalone: 0 m_SortingLayerID: 0 m_SortingOrder: 0 m_TargetDisplay: 0 @@ -4978,7 +5000,9 @@ Canvas: m_OverrideSorting: 0 m_OverridePixelPerfect: 0 m_SortingBucketNormalizedSize: 0 + m_VertexColorAlwaysGammaSpace: 0 m_AdditionalShaderChannelsFlag: 0 + m_UpdateRectTransformForStandalone: 0 m_SortingLayerID: 0 m_SortingOrder: 0 m_TargetDisplay: 0 @@ -5201,6 +5225,7 @@ PrefabInstance: m_ObjectHideFlags: 0 serializedVersion: 2 m_Modification: + serializedVersion: 3 m_TransformParent: {fileID: 0} m_Modifications: - target: {fileID: 4963871252345228624, guid: bade52f6789d74c1c92db19d505c02be, type: 3} @@ -5252,12 +5277,16 @@ PrefabInstance: value: MapCameraRig objectReference: {fileID: 0} m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: bade52f6789d74c1c92db19d505c02be, type: 3} --- !u!1001 &1108548455 PrefabInstance: m_ObjectHideFlags: 0 serializedVersion: 2 m_Modification: + serializedVersion: 3 m_TransformParent: {fileID: 0} m_Modifications: - target: {fileID: 5451198551273644277, guid: 412767673ec604349b507b6860ee5c26, type: 3} @@ -5565,6 +5594,9 @@ PrefabInstance: value: ARPlayGround objectReference: {fileID: 0} m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 412767673ec604349b507b6860ee5c26, type: 3} --- !u!114 &1108548456 stripped MonoBehaviour: @@ -5796,6 +5828,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 714792e97ea2f4620b4bf8d17531ed5c, type: 3} m_Name: m_EditorClassIdentifier: + m_PlayOnAwake: 0 m_Settings: {fileID: 11400000, guid: 4a679e3463abc49ad833706890dd9833, type: 2} m_OnStateChanged: m_PersistentCalls: @@ -5812,18 +5845,12 @@ MonoBehaviour: m_StringArgument: m_BoolArgument: 0 m_CallState: 2 - m_OnLocationChanged: - m_PersistentCalls: - m_Calls: [] - m_OnBuildingChanged: - m_PersistentCalls: - m_Calls: [] - m_OnFloorChanged: + m_OnLayerInfoChanged: m_PersistentCalls: m_Calls: - - m_Target: {fileID: 2001531052} - m_TargetAssemblyTypeName: ARNaviExample, Assembly-CSharp - m_MethodName: SetStage + - m_Target: {fileID: 1108548456} + m_TargetAssemblyTypeName: ARCeye.ARPlayGround, NaverLabs.ARPG + m_MethodName: SetLayerInfo m_Mode: 0 m_Arguments: m_ObjectArgument: {fileID: 0} @@ -5833,9 +5860,6 @@ MonoBehaviour: m_StringArgument: m_BoolArgument: 0 m_CallState: 2 - m_OnRegionCodeChanged: - m_PersistentCalls: - m_Calls: [] m_OnPoseUpdated: m_PersistentCalls: m_Calls: [] @@ -5942,6 +5966,7 @@ PrefabInstance: m_ObjectHideFlags: 0 serializedVersion: 2 m_Modification: + serializedVersion: 3 m_TransformParent: {fileID: 0} m_Modifications: - target: {fileID: 7415422177952903244, guid: af752da318a58419591e4d4180b38896, type: 3} @@ -6049,6 +6074,9 @@ PrefabInstance: value: UIViewController objectReference: {fileID: 0} m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: af752da318a58419591e4d4180b38896, type: 3} --- !u!1 &1238808078 GameObject: @@ -6551,6 +6579,7 @@ PrefabInstance: m_ObjectHideFlags: 0 serializedVersion: 2 m_Modification: + serializedVersion: 3 m_TransformParent: {fileID: 1045636896} m_Modifications: - target: {fileID: 8641873858502065033, guid: af363d9f27a1444f59be945ad6331d7e, type: 3} @@ -6642,6 +6671,9 @@ PrefabInstance: value: 0 objectReference: {fileID: 0} m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: af363d9f27a1444f59be945ad6331d7e, type: 3} --- !u!224 &1309545260 stripped RectTransform: @@ -6763,9 +6795,17 @@ Camera: m_projectionMatrixMode: 1 m_GateFitMode: 2 m_FOVAxisMode: 0 + m_Iso: 200 + m_ShutterSpeed: 0.005 + m_Aperture: 16 + m_FocusDistance: 10 + m_FocalLength: 50 + m_BladeCount: 5 + m_Curvature: {x: 2, y: 11} + m_BarrelClipping: 0.25 + m_Anamorphism: 0 m_SensorSize: {x: 36, y: 24} m_LensShift: {x: 0, y: 0} - m_FocalLength: 50 m_NormalizedViewPortRect: serializedVersion: 2 x: 0 @@ -6823,6 +6863,7 @@ MonoBehaviour: m_AutoFocus: 1 m_LightEstimation: 0 m_FacingDirection: 1 + m_RenderMode: 0 --- !u!114 &1326068034 MonoBehaviour: m_ObjectHideFlags: 0 @@ -7257,8 +7298,8 @@ RectTransform: m_ConstrainProportionsScale: 0 m_Children: - {fileID: 1313877116} - m_Father: {fileID: 972783769} - m_RootOrder: 1 + m_Father: {fileID: 1702579338} + m_RootOrder: -1 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} @@ -8821,12 +8862,13 @@ RectTransform: - {fileID: 164909294} - {fileID: 1763303496} - {fileID: 1775522003} + - {fileID: 1447313963} m_Father: {fileID: 972783769} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: -4.1286, y: 0.1822} + m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: 961, y: 1730.8591} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &1702579339 @@ -8902,8 +8944,8 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 0, y: 141} - m_SizeDelta: {x: 500, y: 500} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 489.8412, y: 489.8412} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &1718173281 MonoBehaviour: @@ -9581,7 +9623,7 @@ RectTransform: m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 1, y: 1} m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: -1} + m_SizeDelta: {x: 0, y: 0} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &1783187392 MonoBehaviour: diff --git a/Assets/ARPG/Example/Scripts/ARNaviExample.cs b/Assets/ARPG/Example/Scripts/ARNaviExample.cs index f8129d7..be3f353 100644 --- a/Assets/ARPG/Example/Scripts/ARNaviExample.cs +++ b/Assets/ARPG/Example/Scripts/ARNaviExample.cs @@ -68,16 +68,7 @@ public void Reset() public void SetStage(string stageName) { - if(stageName == "066") - { - stageName = "1F"; - } - m_ARPlayGround.SetStage(stageName); - - // 스테이지가 할당되면 MapView를 활성화. - m_MapViewController.Show(true, false); - m_UIViewController.SetStageName(stageName); } void OnApplicationPause(bool pauseStatus) @@ -100,6 +91,9 @@ public void OnVLStateChanged(TrackerState state) { m_UIViewController.UpdateScanView(false); m_UIViewController.UpdateAroundView(true); + + m_MapViewController.Show(true, false); + m_UIViewController.SetStageName(m_ARPlayGround.GetStageName()); } else if(state == TrackerState.INITIAL) { diff --git a/Assets/Editor.meta b/Assets/Editor.meta new file mode 100644 index 0000000..084c1ee --- /dev/null +++ b/Assets/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 173f04034e153419a8c13d91ef058af7 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Editor/ARSDKPackageExporter.cs b/Assets/Editor/ARSDKPackageExporter.cs new file mode 100644 index 0000000..2d1486f --- /dev/null +++ b/Assets/Editor/ARSDKPackageExporter.cs @@ -0,0 +1,83 @@ +using UnityEngine; +using UnityEditor; +using System.Collections.Generic; + +using System.IO; + +namespace ARCeye +{ + public class ARSDKPackageExporter + { + private static List m_ExcludeFiles = new List + { + + }; + + private static List m_ExcludeDirectories = new List + { + + }; + + [MenuItem("ARC eye/Export ARSDK Package")] + private static void CreatePackage() + { + string directoryPath = "Assets/ARPG"; + + if (Directory.Exists(directoryPath)) + { + List assetPaths = GetAssetsFromDirectory(directoryPath); + + if (assetPaths.Count > 0) + { + string version = PlayerSettings.bundleVersion; + string filename = $"ar-sdk-{version}"; + + string exportPath = EditorUtility.SaveFilePanel("Save UnityPackage", "", filename, "unitypackage"); + + if (!string.IsNullOrEmpty(exportPath)) + { + AssetDatabase.ExportPackage(assetPaths.ToArray(), exportPath, ExportPackageOptions.Recurse); + Debug.Log("Package created at: " + exportPath); + } + } + else + { + Debug.LogWarning("No assets to package."); + } + } + else + { + Debug.LogWarning("Directory does not exist: " + directoryPath); + } + } + + private static List GetAssetsFromDirectory(string directoryPath) + { + List assetList = new List(); + + string[] allFiles = Directory.GetFiles(directoryPath, "*.*", SearchOption.AllDirectories); + foreach (string file in allFiles) + { + string filename = Path.GetFileName(file); + if (!m_ExcludeFiles.Contains(filename) && !IsPathExcluded(file)) + { + assetList.Add(file); + } + } + + return assetList; + } + + private static bool IsPathExcluded(string path) + { + foreach (string excludeDir in m_ExcludeDirectories) + { + if (path.Contains("/" + excludeDir + "/") || path.EndsWith("/" + excludeDir)) + { + return true; + } + } + return false; + } + } +} \ No newline at end of file diff --git a/Assets/Editor/ARSDKPackageExporter.cs.meta b/Assets/Editor/ARSDKPackageExporter.cs.meta new file mode 100644 index 0000000..e4dd3bb --- /dev/null +++ b/Assets/Editor/ARSDKPackageExporter.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 9f009e5ad227d429da757bc4070aa897 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/VLSDK/Plugins/Android/arm64-v8a.meta b/Assets/VLSDK/Plugins/Android/arm64-v8a.meta new file mode 100644 index 0000000..9e45d38 --- /dev/null +++ b/Assets/VLSDK/Plugins/Android/arm64-v8a.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: d9cf46dd1c6d3459994afa84fa38656f +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/VLSDK/Plugins/Android/arm64-v8a/libVLSDK.so b/Assets/VLSDK/Plugins/Android/arm64-v8a/libVLSDK.so new file mode 100755 index 0000000..3033607 Binary files /dev/null and b/Assets/VLSDK/Plugins/Android/arm64-v8a/libVLSDK.so differ diff --git a/Assets/VLSDK/Plugins/Android/libVLSDK.so.meta b/Assets/VLSDK/Plugins/Android/arm64-v8a/libVLSDK.so.meta similarity index 100% rename from Assets/VLSDK/Plugins/Android/libVLSDK.so.meta rename to Assets/VLSDK/Plugins/Android/arm64-v8a/libVLSDK.so.meta diff --git a/Assets/VLSDK/Plugins/Android/libVLSDK.so b/Assets/VLSDK/Plugins/Android/libVLSDK.so deleted file mode 100755 index 9dd295e..0000000 Binary files a/Assets/VLSDK/Plugins/Android/libVLSDK.so and /dev/null differ diff --git a/Assets/VLSDK/Plugins/Android/x86_64.meta b/Assets/VLSDK/Plugins/Android/x86_64.meta new file mode 100644 index 0000000..cafc028 --- /dev/null +++ b/Assets/VLSDK/Plugins/Android/x86_64.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 56ceb3dd3d2f14c02a55b4078aeefefe +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/VLSDK/Plugins/Android/x86_64/libVLSDK.so b/Assets/VLSDK/Plugins/Android/x86_64/libVLSDK.so new file mode 100755 index 0000000..7ed61fd Binary files /dev/null and b/Assets/VLSDK/Plugins/Android/x86_64/libVLSDK.so differ diff --git a/Assets/VLSDK/Plugins/Android/x86_64/libVLSDK.so.meta b/Assets/VLSDK/Plugins/Android/x86_64/libVLSDK.so.meta new file mode 100644 index 0000000..45f15a1 --- /dev/null +++ b/Assets/VLSDK/Plugins/Android/x86_64/libVLSDK.so.meta @@ -0,0 +1,81 @@ +fileFormatVersion: 2 +guid: 7a99f33d7e32f4061bbf1a7eaf0cd92f +PluginImporter: + externalObjects: {} + serializedVersion: 2 + iconMap: {} + executionOrder: {} + defineConstraints: [] + isPreloaded: 0 + isOverridable: 0 + isExplicitlyReferenced: 0 + validateReferences: 1 + platformData: + - first: + : Any + second: + enabled: 0 + settings: + Exclude Android: 0 + Exclude Editor: 1 + Exclude Linux64: 1 + Exclude OSXUniversal: 1 + Exclude Win: 1 + Exclude Win64: 1 + Exclude iOS: 1 + - first: + Android: Android + second: + enabled: 1 + settings: + AndroidSharedLibraryType: Executable + CPU: X86_64 + - first: + Any: + second: + enabled: 0 + settings: {} + - first: + Editor: Editor + second: + enabled: 0 + settings: + CPU: AnyCPU + DefaultValueInitialized: true + OS: AnyOS + - first: + Standalone: Linux64 + second: + enabled: 0 + settings: + CPU: None + - first: + Standalone: OSXUniversal + second: + enabled: 0 + settings: + CPU: None + - first: + Standalone: Win + second: + enabled: 0 + settings: + CPU: None + - first: + Standalone: Win64 + second: + enabled: 0 + settings: + CPU: None + - first: + iPhone: iOS + second: + enabled: 0 + settings: + AddToEmbeddedBinaries: false + CPU: AnyCPU + CompileFlags: + FrameworkDependencies: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/VLSDK/Plugins/IOS/libVLSDK.a b/Assets/VLSDK/Plugins/IOS/libVLSDK.a index cabe950..a955433 100644 Binary files a/Assets/VLSDK/Plugins/IOS/libVLSDK.a and b/Assets/VLSDK/Plugins/IOS/libVLSDK.a differ diff --git a/Assets/VLSDK/Plugins/OSX/VLSDK.bundle/Contents/MacOS/VLSDK b/Assets/VLSDK/Plugins/OSX/VLSDK.bundle/Contents/MacOS/VLSDK index 3b82b5b..17b254e 100755 Binary files a/Assets/VLSDK/Plugins/OSX/VLSDK.bundle/Contents/MacOS/VLSDK and b/Assets/VLSDK/Plugins/OSX/VLSDK.bundle/Contents/MacOS/VLSDK differ diff --git a/Assets/VLSDK/Plugins/Windows/x64/VLSDK.dll b/Assets/VLSDK/Plugins/Windows/x64/VLSDK.dll index 910acff..d29b3b5 100644 Binary files a/Assets/VLSDK/Plugins/Windows/x64/VLSDK.dll and b/Assets/VLSDK/Plugins/Windows/x64/VLSDK.dll differ diff --git a/Assets/VLSDK/Resources/Textures/VideoTexture.renderTexture b/Assets/VLSDK/Resources/Textures/VideoTexture.renderTexture index d467f44..11bbcd1 100644 --- a/Assets/VLSDK/Resources/Textures/VideoTexture.renderTexture +++ b/Assets/VLSDK/Resources/Textures/VideoTexture.renderTexture @@ -13,12 +13,12 @@ RenderTexture: m_ForcedFallbackFormat: 4 m_DownscaleFallback: 0 m_IsAlphaChannelOptional: 0 - serializedVersion: 3 - m_Width: 720 - m_Height: 1280 + serializedVersion: 5 + m_Width: 360 + m_Height: 640 m_AntiAliasing: 1 m_MipCount: -1 - m_DepthFormat: 2 + m_DepthStencilFormat: 92 m_ColorFormat: 8 m_MipMap: 0 m_GenerateMips: 1 @@ -36,3 +36,4 @@ RenderTexture: m_WrapW: 1 m_Dimension: 2 m_VolumeDepth: 1 + m_ShadowSamplingMode: 2 diff --git a/Assets/VLSDK/Scripts/Debugger/LogViewer.cs b/Assets/VLSDK/Scripts/Debugger/LogViewer.cs index 445b0f6..94e8159 100644 --- a/Assets/VLSDK/Scripts/Debugger/LogViewer.cs +++ b/Assets/VLSDK/Scripts/Debugger/LogViewer.cs @@ -69,7 +69,7 @@ public LogLevel logLevel private static string m_Building = ""; private static string m_CurrState = ""; private static string m_Floor = ""; - private static string m_RegionCode = ""; + private static string m_LayerInfo = ""; private Vector3 m_Position; private Vector3 m_EulerRotation; @@ -105,24 +105,9 @@ public void OnStateChanged(TrackerState state) // Debug.Log($"[LogViewer] Latitude : {locationInfo.latitude}, Longitude : {locationInfo.longitude}"); } - public void OnLocationChanged(string location) { - Debug.Log($"[LogViewer] OnLocationChanged : {location}"); - m_Location = location; - } - - public void OnBuildingChanged(string building) { - Debug.Log($"[LogViewer] OnBuildingChanged : {building}"); - m_Building = building; - } - - public void OnFloorChanged(string floor) { - Debug.Log($"[LogViewer] OnFloorChanged : {floor}"); - m_Floor = floor; - } - - public void OnRegionCodeChanged(string regionCode) { - Debug.Log($"[LogViewer] OnRegionCodeChanged : {regionCode}"); - m_RegionCode = regionCode; + public void OnLayerInfoChanged(string layerInfo) { + Debug.Log($"[LogViewer] OnLayerInfoChanged : {layerInfo}"); + m_LayerInfo = layerInfo; } public void OnPoseUpdated(Matrix4x4 matrix, Matrix4x4 projMatrix) { @@ -130,8 +115,6 @@ public void OnPoseUpdated(Matrix4x4 matrix, Matrix4x4 projMatrix) { Quaternion rotation = Quaternion.LookRotation(poseMatrix.GetColumn(2), poseMatrix.GetColumn(1)); m_EulerRotation = rotation.eulerAngles; - - m_Position = poseMatrix.GetColumn(3); } public void OnObjectDetected(DetectedObject detectedObject) { @@ -232,11 +215,8 @@ void OnGUI() GUILayout.BeginHorizontal(); string stateStr = "State : " + m_CurrState; GUILayout.Label(stateStr); - - GUILayout.Label($"Location : {m_Location}"); - GUILayout.Label($"Building : {m_Building}"); - GUILayout.Label($"Floor : {m_Floor}"); - GUILayout.Label($"Region Code : {m_RegionCode}"); + + GUILayout.Label($"Layer Info : {m_LayerInfo}"); GUILayout.EndHorizontal(); diff --git a/Assets/VLSDK/Scripts/Event/CallbackEvents.cs b/Assets/VLSDK/Scripts/Event/CallbackEvents.cs index c301194..9fe4fa7 100644 --- a/Assets/VLSDK/Scripts/Event/CallbackEvents.cs +++ b/Assets/VLSDK/Scripts/Event/CallbackEvents.cs @@ -15,6 +15,8 @@ public class ChangedFloorEvent : UnityEvent {} [System.Serializable] public class ChangedRegionCodeEvent : UnityEvent {} [System.Serializable] +public class ChangedLayerInfoEvent : UnityEvent {} +[System.Serializable] public class UpdatedPoseEvent : UnityEvent {} [System.Serializable] public class UpdatedGeoCoordEvent : UnityEvent {} diff --git a/Assets/VLSDK/Scripts/Network/VLRequestBody.cs b/Assets/VLSDK/Scripts/Network/VLRequestBody.cs index b314d9b..db7b5de 100644 --- a/Assets/VLSDK/Scripts/Network/VLRequestBody.cs +++ b/Assets/VLSDK/Scripts/Network/VLRequestBody.cs @@ -71,12 +71,13 @@ private static VLRequestBody CreateARCEyeRequest(ARCeye.RequestVLInfo requestInf body.authorization = requestInfo.secretKey; body.filename = requestInfo.filename; body.imageFieldName = "image"; - + if(VLRequestBody.IsValidCameraParam(requestInfo.cameraParam)) { body.parameters.Add("cameraParameters", requestInfo.cameraParam); } +#if !UNITY_EDITOR if(requestInfo.requestWithPosition) { body.parameters.Add("odometry", requestInfo.odometry); body.parameters.Add("lastPose", requestInfo.lastPose); @@ -85,6 +86,7 @@ private static VLRequestBody CreateARCEyeRequest(ARCeye.RequestVLInfo requestInf body.parameters.Add("withGlobal", "true"); } } +#endif body.nativeNetworkServiceHandle = requestInfo.nativeNetworkServiceHandle; @@ -110,6 +112,7 @@ private static VLRequestBody CreateLABSRequest(ARCeye.RequestVLInfo requestInfo) body.parameters.Add("location", requestInfo.location); } +#if !UNITY_EDITOR if(requestInfo.requestWithPosition) { body.parameters.Add("odometry", requestInfo.odometry); body.parameters.Add("last-pose", requestInfo.lastPose); @@ -118,6 +121,7 @@ private static VLRequestBody CreateLABSRequest(ARCeye.RequestVLInfo requestInfo) body.parameters.Add("withGlobal", "true"); } } +#endif body.nativeNetworkServiceHandle = requestInfo.nativeNetworkServiceHandle; diff --git a/Assets/VLSDK/Scripts/PoseTracker/EditorPoseTracker.cs b/Assets/VLSDK/Scripts/PoseTracker/EditorPoseTracker.cs index 52454b9..90bc4ba 100644 --- a/Assets/VLSDK/Scripts/PoseTracker/EditorPoseTracker.cs +++ b/Assets/VLSDK/Scripts/PoseTracker/EditorPoseTracker.cs @@ -19,10 +19,10 @@ public TextureProvider textureProvider { const float MAJOR_AXIS_LENGTH = 640.0f; // 장축의 길이를 640으로 고정. - protected const float DEFAULT_FX = 474.457672f; - protected const float DEFAULT_FY = 474.457672f; - protected const float DEFAULT_CX = 180.000000f; - protected const float DEFAULT_CY = 321.5426635f; + protected const float DEFAULT_FX = 469.672760f; + protected const float DEFAULT_FY = 469.672760f; + protected const float DEFAULT_CX = 179.404327f; + protected const float DEFAULT_CY = 315.172272f; private Camera m_MainCamera; private MonoBehaviour m_CoroutineRunner; diff --git a/Assets/VLSDK/Scripts/PoseTracker/PoseTracker.cs b/Assets/VLSDK/Scripts/PoseTracker/PoseTracker.cs index 2727863..346db9c 100644 --- a/Assets/VLSDK/Scripts/PoseTracker/PoseTracker.cs +++ b/Assets/VLSDK/Scripts/PoseTracker/PoseTracker.cs @@ -19,7 +19,7 @@ public abstract class PoseTracker public delegate void ChangeLocationDelegate(IntPtr rawLocation); public delegate void ChangeBuildingDelegate(IntPtr rawBuilding); public delegate void ChangeFloorDelegate(IntPtr rawFloor); - public delegate void ChangeRegionCodeDelegate(IntPtr rawRegionCode); + public delegate void ChangeLayerInfoDelegate(IntPtr rawRegionCode); [UnmanagedFunctionPointer(CallingConvention.Cdecl)] public delegate void DetectVLLocationNativeDelegate( @@ -87,6 +87,12 @@ public ChangedRegionCodeEvent onRegionCodeChanged { set => m_OnRegionCodeChanged = value; } + protected ChangedLayerInfoEvent m_OnLayerInfoChanged; + public ChangedLayerInfoEvent onLayerInfoChanged { + get => m_OnLayerInfoChanged; + set => m_OnLayerInfoChanged = value; + } + protected UpdatedPoseEvent m_OnPoseUpdated; public UpdatedPoseEvent onPoseUpdated { get => m_OnPoseUpdated; @@ -164,7 +170,9 @@ public DetectedVLLocationEvent onVLLocationDetected { private static extern void SetChangeFloorFuncNative(ChangeFloorDelegate func); [DllImport(dll)] - private static extern void SetChangeRegionCodeFuncNative(ChangeRegionCodeDelegate func); + private static extern void SetChangeRegionCodeFuncNative(ChangeLayerInfoDelegate func); + [DllImport(dll)] + private static extern void SetChangeLayerInfoFuncNative(ChangeLayerInfoDelegate func); [DllImport(dll)] private static extern void SetDetectObjectFuncNative(DetectObjectDelegate func); @@ -209,6 +217,7 @@ public void Initialize(Config config) { m_Config = config; m_Frame = new UnityFrame(); + m_ARCamera = Camera.main.transform; InitNativeMethods(); InitVLURLCandidates(config); @@ -236,11 +245,14 @@ private void InitNativeMethods() { SetPoseUpdateFuncNative(OnPoseUpdated); SetChangeStateFuncNative(OnStateChanged); + SetChangeLayerInfoFuncNative(OnLayerInfoChanged); + SetDetectObjectFuncNative(OnObjectDetected); + + // deprecate 예정. SetChangeLocationFuncNative(OnLocationChanged); SetChangeBuildingFuncNative(OnBuildingChanged); SetChangeFloorFuncNative(OnFloorChanged); - SetChangeRegionCodeFuncNative(OnRegionCodeChanged); - SetDetectObjectFuncNative(OnObjectDetected); + SetChangeRegionCodeFuncNative(OnLayerInfoChanged); InitVLSDKNative(m_Config.tracker); } @@ -275,7 +287,7 @@ public void Reset() ResetVLSDKNative(); } - public void Release() + public virtual void Release() { ReleaseVLSDKNative(); } @@ -319,13 +331,14 @@ unsafe protected void UpdateFrame(Matrix4x4 projMatrix, Matrix4x4 transMatrix) AssignCameraIntrinsicToNative(); Matrix4x4 lhCamModelMatrix; - if(Camera.main == null) + if(m_ARCamera == null) { + m_ARCamera = Camera.main.transform; lhCamModelMatrix = Matrix4x4.identity; } else { - Transform camTrans = Camera.main.transform; + Transform camTrans = m_ARCamera; lhCamModelMatrix = Matrix4x4.TRS(camTrans.localPosition, camTrans.localRotation, Vector3.one); } @@ -341,7 +354,11 @@ unsafe protected void UpdateFrame(Matrix4x4 projMatrix, Matrix4x4 transMatrix) GCHandle gcI = GCHandle.Alloc(requestImageTexture, GCHandleType.Weak); - LocationInfo locationInfo = m_GeoCoordProvider.info; + LocationInfo locationInfo = new LocationInfo(0, 0); + + if(m_GeoCoordProvider) { + locationInfo = m_GeoCoordProvider.info; + } m_Frame.viewMatrix = v; m_Frame.projMatrix = p; @@ -416,12 +433,15 @@ private static void OnFloorChanged(IntPtr rawFloor) } } - [MonoPInvokeCallback(typeof(ChangeRegionCodeDelegate))] - private static void OnRegionCodeChanged(IntPtr rawRegionCode) + [MonoPInvokeCallback(typeof(ChangeLayerInfoDelegate))] + private static void OnLayerInfoChanged(IntPtr rawRegionCode) { - string regionCode = Marshal.PtrToStringAnsi(rawRegionCode); + string layerInfo = Marshal.PtrToStringAnsi(rawRegionCode); if(s_Instance.onRegionCodeChanged != null) { - s_Instance.onRegionCodeChanged.Invoke(regionCode); + s_Instance.onRegionCodeChanged.Invoke(layerInfo); + } + if(s_Instance.onLayerInfoChanged != null) { + s_Instance.onLayerInfoChanged.Invoke(layerInfo); } } diff --git a/Assets/VLSDK/Scripts/PoseTracker/UnityFrame.cs b/Assets/VLSDK/Scripts/PoseTracker/UnityFrame.cs index 1a144a9..4886b1b 100644 --- a/Assets/VLSDK/Scripts/PoseTracker/UnityFrame.cs +++ b/Assets/VLSDK/Scripts/PoseTracker/UnityFrame.cs @@ -8,7 +8,7 @@ namespace ARCeye { [StructLayout(LayoutKind.Sequential)] -public class UnityFrame { +public struct UnityFrame { [MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)] public float[] viewMatrix; [MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)] @@ -19,12 +19,5 @@ public class UnityFrame { public float[] geoCoord; public IntPtr imageBuffer; - - public UnityFrame() { - viewMatrix = new float[16]; - projMatrix = new float[16]; - texTrans = new float[9]; - imageBuffer = new IntPtr(0); - } } } \ No newline at end of file diff --git a/Assets/VLSDK/Scripts/VLSDKManager.cs b/Assets/VLSDK/Scripts/VLSDKManager.cs index 909fb29..9c8fb01 100644 --- a/Assets/VLSDK/Scripts/VLSDKManager.cs +++ b/Assets/VLSDK/Scripts/VLSDKManager.cs @@ -1,3 +1,4 @@ +using System; using System.Collections; using System.Collections.Generic; using UnityEngine; @@ -18,6 +19,13 @@ public class VLSDKManager : MonoBehaviour, IGPSLocationRequester const string dll = "VLSDK"; #endif private static VLSDKManager s_Instance; + + [SerializeField] + private bool m_PlayOnAwake; + public bool playOnAwake { + get => m_PlayOnAwake; + set => m_PlayOnAwake = value; + } [SerializeField] private VLSDKSettings m_Settings; @@ -52,7 +60,7 @@ public ChangedStateEvent OnStateChanged { } } - [SerializeField] + // [SerializeField] private ChangedLocationEvent m_OnLocationChanged; public ChangedLocationEvent OnLocationChanged { get => m_OnLocationChanged; @@ -62,7 +70,7 @@ public ChangedLocationEvent OnLocationChanged { } } - [SerializeField] + // [SerializeField] private ChangedBuildingEvent m_OnBuildingChanged; public ChangedBuildingEvent OnBuildingChanged { get => m_OnBuildingChanged; @@ -72,7 +80,7 @@ public ChangedBuildingEvent OnBuildingChanged { } } - [SerializeField] + // [SerializeField] private ChangedFloorEvent m_OnFloorChanged; public ChangedFloorEvent OnFloorChanged { get => m_OnFloorChanged; @@ -82,7 +90,7 @@ public ChangedFloorEvent OnFloorChanged { } } - [SerializeField] + // [SerializeField] private ChangedRegionCodeEvent m_OnRegionCodeChanged; public ChangedRegionCodeEvent OnRegionCodeChanged { get => m_OnRegionCodeChanged; @@ -92,6 +100,16 @@ public ChangedRegionCodeEvent OnRegionCodeChanged { } } + [SerializeField] + private ChangedLayerInfoEvent m_OnLayerInfoChanged; + public ChangedLayerInfoEvent OnLayerInfoChanged { + get => m_OnLayerInfoChanged; + set { + m_PoseTracker.onLayerInfoChanged = value; + m_OnLayerInfoChanged = value; + } + } + [SerializeField] private UpdatedPoseEvent m_OnPoseUpdated; public UpdatedPoseEvent OnPoseUpdated { @@ -122,6 +140,16 @@ public DetectedObjectEvent OnObjectDetected { } } + private Camera m_MainCamera; + public Camera mainCamera { + get { + if(m_MainCamera == null) { + m_MainCamera = Camera.main; + } + return m_MainCamera; + } + } + //// Lifecycle private void Awake() @@ -160,21 +188,22 @@ private void InitLogViewer() if(logViewer) { logViewer.logLevel = m_Config.logLevel; - m_OnStateChanged.AddListener(logViewer.OnStateChanged); - m_OnLocationChanged.AddListener(logViewer.OnLocationChanged); - m_OnBuildingChanged.AddListener(logViewer.OnBuildingChanged); - m_OnFloorChanged.AddListener(logViewer.OnFloorChanged); - m_OnRegionCodeChanged.AddListener(logViewer.OnRegionCodeChanged); - m_OnPoseUpdated.AddListener(logViewer.OnPoseUpdated); + m_OnStateChanged?.AddListener(logViewer.OnStateChanged); + // m_OnLocationChanged.AddListener(logViewer.OnLocationChanged); + // m_OnBuildingChanged.AddListener(logViewer.OnBuildingChanged); + // m_OnFloorChanged.AddListener(logViewer.OnFloorChanged); + m_OnRegionCodeChanged?.AddListener(logViewer.OnLayerInfoChanged); + m_OnLayerInfoChanged?.AddListener(logViewer.OnLayerInfoChanged); + m_OnPoseUpdated?.AddListener(logViewer.OnPoseUpdated); } } private void InitCamera() { - if(Camera.main == null) { + if(mainCamera == null) { Debug.LogError("Main Camera를 찾을 수 없습니다."); } - m_ARCamera = Camera.main.transform; + m_ARCamera = mainCamera.transform; m_Origin = m_ARCamera.parent; } @@ -200,8 +229,8 @@ private void OnEnable() m_GeoCoordProvider = GetComponent(); } - m_PoseTracker.Initialize(m_ARCamera, m_Config); m_PoseTracker.SetGeoCoordProvider(m_GeoCoordProvider); + m_PoseTracker.Initialize(m_ARCamera, m_Config); } private void Start() @@ -223,14 +252,34 @@ private void Start() m_PoseTracker.onStateChanged = m_OnStateChanged; m_PoseTracker.onPoseUpdated = m_OnPoseUpdated; - m_PoseTracker.onLocationChanged = m_OnLocationChanged; - m_PoseTracker.onBuildingChanged = m_OnBuildingChanged; - m_PoseTracker.onFloorChanged = m_OnFloorChanged; m_PoseTracker.onRegionCodeChanged = m_OnRegionCodeChanged; + m_PoseTracker.onLayerInfoChanged = m_OnLayerInfoChanged; m_PoseTracker.onObjectDetected = m_OnObjectDetected; + CheckObsoleteEvents(); + m_PoseTracker.SetGPSLocationRequester(this); StartDetectingGPSLocation(); + + if(m_PlayOnAwake) + { + StartSession(); + } + } + + private void CheckObsoleteEvents() { + if(m_OnLocationChanged?.GetPersistentEventCount() > 0) { + Debug.LogWarning("[VLSDKManager] OnLocationChanged 이벤트는 삭제 될 예정입니다. OnLayerInfoChanged 이벤트를 사용해주세요"); + } + if(m_OnBuildingChanged?.GetPersistentEventCount() > 0) { + Debug.LogWarning("[VLSDKManager] OnBuildingChanged 이벤트는 삭제 될 예정입니다. OnLayerInfoChanged 이벤트를 사용해주세요"); + } + if(m_OnFloorChanged?.GetPersistentEventCount() > 0) { + Debug.LogWarning("[VLSDKManager] OnFloorChanged 이벤트는 삭제 될 예정입니다. OnLayerInfoChanged 이벤트를 사용해주세요"); + } + if(m_OnRegionCodeChanged?.GetPersistentEventCount() > 0) { + Debug.LogWarning("[VLSDKManager] OnRegionCodeChanged 이벤트는 삭제 될 예정입니다. OnLayerInfoChanged 이벤트를 사용해주세요"); + } } private void OnDisable() { @@ -248,7 +297,7 @@ private void UpdateOriginPose(Matrix4x4 localizedViewMatrix, Matrix4x4 projectio Matrix4x4 localizedPoseMatrix = Matrix4x4.Inverse(localizedViewMatrix); // 디바이스의 AR SDK session을 기준으로 하는 AR Camera의 Local Transform Matrix 계산. - Transform camTrans = Camera.main.transform; + Transform camTrans = mainCamera.transform; Matrix4x4 lhCamModelMatrix = Matrix4x4.TRS(camTrans.localPosition, camTrans.localRotation, Vector3.one); // 위의 두 Matrix를 이용하여 AR Session Origin의 WC Transform Matrix 계산. diff --git a/Assets/VLSDK/VLSDK Settings_NAVER.asset b/Assets/VLSDK/VLSDK Settings_NAVER.asset index 898d9a1..fff1218 100644 --- a/Assets/VLSDK/VLSDK Settings_NAVER.asset +++ b/Assets/VLSDK/VLSDK Settings_NAVER.asset @@ -15,27 +15,19 @@ MonoBehaviour: m_URLList: - m_Location: amco m_InvokeUrl: https://vl-arc-eye.ncloud.com/api/v1/96/7b1a278f5abe8e9da907fc9c29dfd432d60dc76e17b0fabab659d2a508bc65c4/location - m_SecretKey: S0prT0pNYVp6ZGJ1SXZGckRESEtObG9QZnhlZFlOVVI= + m_SecretKey: ZUpCdlJHVUZmWG9hVWJkZXJnZW94aWhiV3BGU0VPR2E= m_IsInactivated: 0 m_GPSGuide: 0 m_LocationGeoJson: "{\n \"type\": \"FeatureCollection\",\n \"features\": [\n {\n \"type\": \"Feature\",\n \"properties\": {\n \"location\": - \"tour-1784\"\n },\n \"geometry\": {\n \"coordinates\": [\n - [\n [\n 127.10450360698871,\n 37.35985385694738\n - ],\n [\n 127.1044985060035,\n 37.35843478001753\n - ],\n [\n 127.10592678189249,\n 37.35842667092898\n - ],\n [\n 127.10593188287771,\n 37.35984574801208\n - ],\n [\n 127.10450360698871,\n 37.35985385694738\n + \"amco\"\n },\n \"geometry\": {\n \"coordinates\": [\n + [\n [\n 127.105970850419,\n 37.36339915759358\n + ],\n [\n 127.105970850419,\n 37.36166434956375\n + ],\n [\n 127.1070683630042,\n 37.36166434956375\n + ],\n [\n 127.1070683630042,\n 37.36339915759358\n + ],\n [\n 127.105970850419,\n 37.36339915759358\n ]\n ]\n ],\n \"type\": \"Polygon\"\n },\n \"id\": - 0\n },\n {\n \"type\": \"Feature\",\n \"properties\": {\n - \"location\": \"jeongja\"\n },\n \"geometry\": {\n \"coordinates\": - [\n [\n [\n 127.1059328425282,\n - 37.36344018655649\n ],\n [\n 127.1059328425282,\n - 37.361591841672364\n ],\n [\n 127.10800513265997,\n - 37.361591841672364\n ],\n [\n 127.10800513265997,\n - 37.36344018655649\n ],\n [\n 127.1059328425282,\n - 37.36344018655649\n ]\n ]\n ],\n \"type\": - \"Polygon\"\n },\n \"id\": 1\n }\n ]\n}" + 0\n }\n ]\n}" m_VLIntervalInitial: 500 m_VLIntervalPassed: 1000 m_LogLevel: 0 diff --git a/Assets/XR/Loaders/SimulationLoader.asset b/Assets/XR/Loaders/SimulationLoader.asset new file mode 100644 index 0000000..f560076 --- /dev/null +++ b/Assets/XR/Loaders/SimulationLoader.asset @@ -0,0 +1,14 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + 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: df71837a07684b24082222c253aa156a, type: 3} + m_Name: SimulationLoader + m_EditorClassIdentifier: diff --git a/Assets/XR/Loaders/SimulationLoader.asset.meta b/Assets/XR/Loaders/SimulationLoader.asset.meta new file mode 100644 index 0000000..56991f1 --- /dev/null +++ b/Assets/XR/Loaders/SimulationLoader.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 334b3afe5100748098d656e869a1348d +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/XR/Resources.meta b/Assets/XR/Resources.meta new file mode 100644 index 0000000..0229b05 --- /dev/null +++ b/Assets/XR/Resources.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 2e9d26cce54234bebb7c70d8127b0e37 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/XR/Resources/XRSimulationRuntimeSettings.asset b/Assets/XR/Resources/XRSimulationRuntimeSettings.asset new file mode 100644 index 0000000..e85064d --- /dev/null +++ b/Assets/XR/Resources/XRSimulationRuntimeSettings.asset @@ -0,0 +1,60 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + 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: e2b12afd4d27418a9cfb2823fe2b9ff3, type: 3} + m_Name: XRSimulationRuntimeSettings + m_EditorClassIdentifier: + m_EnvironmentLayer: 30 + m_EnvironmentScanParams: + m_MinimumRescanTime: 0.1 + m_DeltaCameraDistanceToRescan: 0.025 + m_DeltaCameraAngleToRescan: 4 + m_RaysPerCast: 10 + m_MaximumHitDistance: 12 + m_MinimumHitDistance: 0.05 + m_PlaneFindingParams: + m_MinimumPlaneUpdateTime: 0.13 + m_MinPointsPerSqMeter: 30 + m_MinSideLength: 0.11 + m_InLayerMergeDistance: 0.2 + m_CrossLayerMergeDistance: 0.05 + m_CheckEmptyArea: 0 + m_AllowedEmptyAreaCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - 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_PointUpdateDropoutRate: 0.4 + m_NormalToleranceAngle: 15 + m_VoxelSize: 0.1 + m_TrackedImageDiscoveryParams: + m_TrackingUpdateInterval: 0.09 + m_UseXRay: 1 + m_FlipXRayDirection: 0 diff --git a/Assets/XR/Resources/XRSimulationRuntimeSettings.asset.meta b/Assets/XR/Resources/XRSimulationRuntimeSettings.asset.meta new file mode 100644 index 0000000..af07e2e --- /dev/null +++ b/Assets/XR/Resources/XRSimulationRuntimeSettings.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 00c4d71d8f3354d599a21b0f6cead5e3 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/XR/Settings/OpenXR Package Settings.asset b/Assets/XR/Settings/OpenXR Package Settings.asset index e5c3e30..a9a0e57 100644 --- a/Assets/XR/Settings/OpenXR Package Settings.asset +++ b/Assets/XR/Settings/OpenXR Package Settings.asset @@ -16,15 +16,35 @@ MonoBehaviour: - {fileID: -6336426562755696385} - {fileID: -2080287443213358587} - {fileID: -5502740259581847237} - - {fileID: 2939935673868209696} - - {fileID: -6283586771262360154} + - {fileID: 8809310377778891998} + - {fileID: 4742707261645818487} - {fileID: -6881351228387131268} - - {fileID: -5814657524955383294} + - {fileID: 8081326001788411676} - {fileID: 9171131402888021266} - {fileID: 5447856400195337487} - {fileID: -3497363071710231930} m_renderMode: 1 m_depthSubmissionMode: 0 +--- !u!114 &-8171694477977015074 +MonoBehaviour: + m_ObjectHideFlags: 0 + 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: 0f6bfdbcb316ed242b30a8798c9eb853, type: 3} + m_Name: KHRSimpleControllerProfile WSA + m_EditorClassIdentifier: + m_enabled: 0 + nameUi: Khronos Simple Controller Profile + version: 0.0.1 + featureIdInternal: com.unity.openxr.feature.input.khrsimpleprofile + openxrExtensionStrings: + company: Unity + priority: 0 + required: 0 --- !u!114 &-7565725279933731014 MonoBehaviour: m_ObjectHideFlags: 0 @@ -145,6 +165,26 @@ MonoBehaviour: company: Unity priority: 0 required: 0 +--- !u!114 &-5992888614494758581 +MonoBehaviour: + m_ObjectHideFlags: 0 + 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: 0d6ccd3d0ef0f1d458e69421dccbdae1, type: 3} + m_Name: ValveIndexControllerProfile WSA + m_EditorClassIdentifier: + m_enabled: 0 + nameUi: Valve Index Controller Profile + version: 0.0.1 + featureIdInternal: com.unity.openxr.feature.input.valveindex + openxrExtensionStrings: + company: Unity + priority: 0 + required: 0 --- !u!114 &-5814657524955383294 MonoBehaviour: m_ObjectHideFlags: 0 @@ -186,6 +226,26 @@ MonoBehaviour: company: Unity priority: 0 required: 0 +--- !u!114 &-5394933354397121460 +MonoBehaviour: + m_ObjectHideFlags: 0 + 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: c4b862ee14fb479fbfe5fffe655d3ed3, type: 3} + m_Name: MetaQuestTouchProControllerProfile Standalone + m_EditorClassIdentifier: + m_enabled: 0 + nameUi: Meta Quest Touch Pro Controller Profile + version: 0.0.1 + featureIdInternal: com.unity.openxr.feature.input.metaquestpro + openxrExtensionStrings: XR_FB_touch_controller_pro + company: Unity + priority: 0 + required: 0 --- !u!114 &-5054917781197337835 MonoBehaviour: m_ObjectHideFlags: 0 @@ -265,7 +325,7 @@ MonoBehaviour: - {fileID: -6304339789779644417} - {fileID: -5054917781197337835} - {fileID: 2524932235127281808} - - {fileID: 4578826117192682587} + - {fileID: -5394933354397121460} - {fileID: 7880453614738600110} - {fileID: -6392148309239498094} - {fileID: -3076134964387507080} @@ -335,6 +395,26 @@ MonoBehaviour: company: Unity priority: 0 required: 0 +--- !u!114 &-1356670507169681210 +MonoBehaviour: + m_ObjectHideFlags: 0 + 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: b3cf79659a011bd419c7a2a30eb74e9a, type: 3} + m_Name: EyeGazeInteraction WSA + m_EditorClassIdentifier: + m_enabled: 0 + nameUi: Eye Gaze Interaction Profile + version: 0.0.1 + featureIdInternal: com.unity.openxr.feature.input.eyetracking + openxrExtensionStrings: XR_EXT_eye_gaze_interaction + company: Unity + priority: 0 + required: 0 --- !u!114 &11400000 MonoBehaviour: m_ObjectHideFlags: 0 @@ -347,12 +427,53 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 9f0ebc320a151d3408ea1e9fce54d40e, type: 3} m_Name: OpenXR Package Settings m_EditorClassIdentifier: - Keys: 0100000004000000070000000d000000 + Keys: 0100000004000000070000000d0000000e000000 Values: - {fileID: -3434469741604894868} - {fileID: 7947260138392068438} - {fileID: -8779226281511826880} - {fileID: 2645379041276740161} + - {fileID: 5851009806750985558} +--- !u!114 &519992669817802635 +MonoBehaviour: + m_ObjectHideFlags: 0 + 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: 486b5e28864f9a94b979b9620ce5006d, type: 3} + m_Name: ConformanceAutomationFeature WSA + m_EditorClassIdentifier: + m_enabled: 0 + nameUi: Conformance Automation + version: 0.0.1 + featureIdInternal: com.unity.openxr.feature.conformance + openxrExtensionStrings: XR_EXT_conformance_automation + company: Unity + priority: 0 + required: 0 +--- !u!114 &735978318777625342 +MonoBehaviour: + m_ObjectHideFlags: 0 + 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: f928d0d73a35f294fbe357ca17aa3547, type: 3} + m_Name: MicrosoftHandInteraction WSA + m_EditorClassIdentifier: + m_enabled: 0 + nameUi: Microsoft Hand Interaction Profile + version: 0.0.1 + featureIdInternal: com.unity.openxr.feature.input.handtracking + openxrExtensionStrings: XR_MSFT_hand_interaction + company: Unity + priority: 0 + required: 0 --- !u!114 &2524932235127281808 MonoBehaviour: m_ObjectHideFlags: 0 @@ -388,6 +509,48 @@ MonoBehaviour: features: [] m_renderMode: 1 m_depthSubmissionMode: 0 +--- !u!114 &2756688166428094959 +MonoBehaviour: + m_ObjectHideFlags: 0 + 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: 056125dd64c0ed540b40a4af74f7b495, type: 3} + m_Name: RuntimeDebuggerOpenXRFeature WSA + m_EditorClassIdentifier: + m_enabled: 0 + nameUi: Runtime Debugger + version: 1 + featureIdInternal: com.unity.openxr.features.runtimedebugger + openxrExtensionStrings: + company: Unity + priority: 0 + required: 0 + cacheSize: 1048576 + perThreadCacheSize: 51200 +--- !u!114 &2841332031772748422 +MonoBehaviour: + m_ObjectHideFlags: 0 + 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: 761fdd4502cb7a84e9ec7a2b24f33f37, type: 3} + m_Name: MicrosoftMotionControllerProfile WSA + m_EditorClassIdentifier: + m_enabled: 0 + nameUi: Microsoft Motion Controller Profile + version: 0.0.1 + featureIdInternal: com.unity.openxr.feature.input.microsoftmotioncontroller + openxrExtensionStrings: + company: Unity + priority: 0 + required: 0 --- !u!114 &2939935673868209696 MonoBehaviour: m_ObjectHideFlags: 0 @@ -438,6 +601,46 @@ MonoBehaviour: company: Unity priority: 0 required: 0 +--- !u!114 &4742707261645818487 +MonoBehaviour: + m_ObjectHideFlags: 0 + 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: c4b862ee14fb479fbfe5fffe655d3ed3, type: 3} + m_Name: MetaQuestTouchProControllerProfile Android + m_EditorClassIdentifier: + m_enabled: 0 + nameUi: Meta Quest Touch Pro Controller Profile + version: 0.0.1 + featureIdInternal: com.unity.openxr.feature.input.metaquestpro + openxrExtensionStrings: XR_FB_touch_controller_pro + company: Unity + priority: 0 + required: 0 +--- !u!114 &5280192103745957881 +MonoBehaviour: + m_ObjectHideFlags: 0 + 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: c4b862ee14fb479fbfe5fffe655d3ed3, type: 3} + m_Name: MetaQuestTouchProControllerProfile WSA + m_EditorClassIdentifier: + m_enabled: 0 + nameUi: Meta Quest Touch Pro Controller Profile + version: 0.0.1 + featureIdInternal: com.unity.openxr.feature.input.metaquestpro + openxrExtensionStrings: XR_FB_touch_controller_pro + company: Unity + priority: 0 + required: 0 --- !u!114 &5447856400195337487 MonoBehaviour: m_ObjectHideFlags: 0 @@ -458,6 +661,51 @@ MonoBehaviour: company: Unity priority: 0 required: 0 +--- !u!114 &5810794899838366220 +MonoBehaviour: + m_ObjectHideFlags: 0 + 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: feeef8d85de8db242bdda70cc7ff5acd, type: 3} + m_Name: OculusTouchControllerProfile WSA + m_EditorClassIdentifier: + m_enabled: 0 + nameUi: Oculus Touch Controller Profile + version: 0.0.1 + featureIdInternal: com.unity.openxr.feature.input.oculustouch + openxrExtensionStrings: + company: Unity + priority: 0 + required: 0 +--- !u!114 &5851009806750985558 +MonoBehaviour: + m_ObjectHideFlags: 0 + 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: b5a1f07dc5afe854f9f12a4194aca3fb, type: 3} + m_Name: WSA + m_EditorClassIdentifier: + features: + - {fileID: 519992669817802635} + - {fileID: -1356670507169681210} + - {fileID: 8523921532417688115} + - {fileID: -8171694477977015074} + - {fileID: 5280192103745957881} + - {fileID: 735978318777625342} + - {fileID: 2841332031772748422} + - {fileID: 5810794899838366220} + - {fileID: 2756688166428094959} + - {fileID: -5992888614494758581} + m_renderMode: 1 + m_depthSubmissionMode: 0 --- !u!114 &7880453614738600110 MonoBehaviour: m_ObjectHideFlags: 0 @@ -493,6 +741,77 @@ MonoBehaviour: features: [] m_renderMode: 1 m_depthSubmissionMode: 0 +--- !u!114 &8081326001788411676 +MonoBehaviour: + m_ObjectHideFlags: 0 + 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: 7de993716e042c6499d0c18eed3a773c, type: 3} + m_Name: MockRuntime Android + m_EditorClassIdentifier: + m_enabled: 0 + nameUi: Mock Runtime + version: 0.0.2 + featureIdInternal: com.unity.openxr.feature.mockruntime + openxrExtensionStrings: XR_UNITY_null_gfx XR_UNITY_android_present + company: Unity + priority: 0 + required: 0 + ignoreValidationErrors: 0 +--- !u!114 &8523921532417688115 +MonoBehaviour: + m_ObjectHideFlags: 0 + 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: 274c02963f889a64e90bc2e596e21d13, type: 3} + m_Name: HTCViveControllerProfile WSA + m_EditorClassIdentifier: + m_enabled: 0 + nameUi: HTC Vive Controller Profile + version: 0.0.1 + featureIdInternal: com.unity.openxr.feature.input.htcvive + openxrExtensionStrings: + company: Unity + priority: 0 + required: 0 +--- !u!114 &8809310377778891998 +MonoBehaviour: + m_ObjectHideFlags: 0 + 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: f647cc0545697264a9878224faada6d5, type: 3} + m_Name: MetaQuestFeature Android + m_EditorClassIdentifier: + m_enabled: 0 + nameUi: Meta Quest Support + version: 1.0.0 + featureIdInternal: com.unity.openxr.feature.metaquest + openxrExtensionStrings: XR_OCULUS_android_initialize_loader + company: Unity + priority: 0 + required: 0 + targetDevices: + - visibleName: Quest + manifestName: quest + enabled: 1 + - visibleName: Quest 2 + manifestName: quest2 + enabled: 1 + - visibleName: Quest Pro + manifestName: cambria + enabled: 1 --- !u!114 &8948152186410095289 MonoBehaviour: m_ObjectHideFlags: 0 diff --git a/Assets/XR/Settings/XRSimulationSettings.asset b/Assets/XR/Settings/XRSimulationSettings.asset new file mode 100644 index 0000000..e876841 --- /dev/null +++ b/Assets/XR/Settings/XRSimulationSettings.asset @@ -0,0 +1,14 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + 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: e0688bbae6cedcd4a871944e38c19ec0, type: 3} + m_Name: XRSimulationSettings + m_EditorClassIdentifier: diff --git a/Assets/XR/Settings/XRSimulationSettings.asset.meta b/Assets/XR/Settings/XRSimulationSettings.asset.meta new file mode 100644 index 0000000..08189d2 --- /dev/null +++ b/Assets/XR/Settings/XRSimulationSettings.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 6bf97828f85fd4eef9d774ca20aa63a2 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/XR/UserSimulationSettings.meta b/Assets/XR/UserSimulationSettings.meta new file mode 100644 index 0000000..07980ad --- /dev/null +++ b/Assets/XR/UserSimulationSettings.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 6b39ea05b923f4301ae27c0a9cecbe4e +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/XR/UserSimulationSettings/Resources.meta b/Assets/XR/UserSimulationSettings/Resources.meta new file mode 100644 index 0000000..2ffe000 --- /dev/null +++ b/Assets/XR/UserSimulationSettings/Resources.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 3dce7040895d1464abd595562c6b7fa4 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/XR/UserSimulationSettings/Resources/XRSimulationPreferences.asset b/Assets/XR/UserSimulationSettings/Resources/XRSimulationPreferences.asset new file mode 100644 index 0000000..bffc7c7 --- /dev/null +++ b/Assets/XR/UserSimulationSettings/Resources/XRSimulationPreferences.asset @@ -0,0 +1,17 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + 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: b2f528b98f844ed8b6b2d5fdf90b40e6, type: 3} + m_Name: XRSimulationPreferences + m_EditorClassIdentifier: + m_EnvironmentPrefab: {fileID: 0} + m_FallbackEnvironmentPrefab: {fileID: 7576867131100388943, guid: c7b92c392902f4043a03a64032c02fe1, type: 3} + m_EnableNavigation: 1 diff --git a/Assets/XR/UserSimulationSettings/Resources/XRSimulationPreferences.asset.meta b/Assets/XR/UserSimulationSettings/Resources/XRSimulationPreferences.asset.meta new file mode 100644 index 0000000..05cad78 --- /dev/null +++ b/Assets/XR/UserSimulationSettings/Resources/XRSimulationPreferences.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: d95b63bfd717f4fbbb9d04d31b819dee +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/XR/UserSimulationSettings/SimulationEnvironmentAssetsManager.asset b/Assets/XR/UserSimulationSettings/SimulationEnvironmentAssetsManager.asset new file mode 100644 index 0000000..3a0c20e --- /dev/null +++ b/Assets/XR/UserSimulationSettings/SimulationEnvironmentAssetsManager.asset @@ -0,0 +1,17 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + 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: 378fb4eec0f59ac4c95c0d5b227aa85e, type: 3} + m_Name: SimulationEnvironmentAssetsManager + m_EditorClassIdentifier: + m_EnvironmentPrefabPaths: + - Packages/com.unity.xr.arfoundation/Assets/Prefabs/DefaultSimulationEnvironment.prefab + m_FallbackAtEndOfList: 1 diff --git a/Assets/XR/UserSimulationSettings/SimulationEnvironmentAssetsManager.asset.meta b/Assets/XR/UserSimulationSettings/SimulationEnvironmentAssetsManager.asset.meta new file mode 100644 index 0000000..2620f82 --- /dev/null +++ b/Assets/XR/UserSimulationSettings/SimulationEnvironmentAssetsManager.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 2efd4f39cfbbc4ae1b8fc4e800329346 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/manifest.json b/Packages/manifest.json index a37946b..fd28e46 100644 --- a/Packages/manifest.json +++ b/Packages/manifest.json @@ -1,18 +1,19 @@ { "dependencies": { "com.atteneder.gltfast": "5.0.4", - "com.unity.collab-proxy": "2.0.1", - "com.unity.feature.ar": "1.0.0", - "com.unity.ide.rider": "3.0.18", + "com.unity.ai.navigation": "1.1.3", + "com.unity.collab-proxy": "2.0.4", + "com.unity.feature.ar": "1.0.1", + "com.unity.ide.rider": "3.0.21", "com.unity.ide.visualstudio": "2.0.20", "com.unity.nuget.newtonsoft-json": "3.2.1", - "com.unity.test-framework": "1.1.31", + "com.unity.test-framework": "1.1.33", "com.unity.textmeshpro": "3.0.6", - "com.unity.timeline": "1.6.4", + "com.unity.timeline": "1.7.4", "com.unity.ugui": "1.0.0", "com.unity.visualscripting": "1.8.0", - "com.unity.xr.arcore": "4.2.8", - "com.unity.xr.arkit": "4.2.8", + "com.unity.xr.arcore": "5.0.5", + "com.unity.xr.arkit": "5.0.5", "com.unity.xr.management": "4.4.0", "com.unity.modules.ai": "1.0.0", "com.unity.modules.androidjni": "1.0.0", diff --git a/Packages/packages-lock.json b/Packages/packages-lock.json index d95ab98..27160ae 100644 --- a/Packages/packages-lock.json +++ b/Packages/packages-lock.json @@ -12,8 +12,17 @@ }, "url": "https://package.openupm.com" }, + "com.unity.ai.navigation": { + "version": "1.1.3", + "depth": 0, + "source": "registry", + "dependencies": { + "com.unity.modules.ai": "1.0.0" + }, + "url": "https://packages.unity.com" + }, "com.unity.burst": { - "version": "1.6.6", + "version": "1.8.4", "depth": 1, "source": "registry", "dependencies": { @@ -22,7 +31,7 @@ "url": "https://packages.unity.com" }, "com.unity.collab-proxy": { - "version": "2.0.1", + "version": "2.0.4", "depth": 0, "source": "registry", "dependencies": {}, @@ -43,20 +52,19 @@ "url": "https://packages.unity.com" }, "com.unity.feature.ar": { - "version": "1.0.0", + "version": "1.0.1", "depth": 0, "source": "builtin", "dependencies": { - "com.unity.xr.arfoundation": "4.2.7", - "com.unity.xr.arkit": "4.2.7", - "com.unity.xr.arcore": "4.2.7", - "com.unity.xr.magicleap": "6.4.1", - "com.unity.xr.arkit-face-tracking": "4.2.7", + "com.unity.xr.arfoundation": "5.0.5", + "com.unity.xr.arkit": "5.0.5", + "com.unity.xr.arcore": "5.0.5", + "com.unity.xr.magicleap": "7.0.0", "com.unity.xr.openxr": "1.7.0" } }, "com.unity.ide.rider": { - "version": "3.0.18", + "version": "3.0.21", "depth": 0, "source": "registry", "dependencies": { @@ -74,7 +82,7 @@ "url": "https://packages.unity.com" }, "com.unity.inputsystem": { - "version": "1.5.0", + "version": "1.5.1", "depth": 2, "source": "registry", "dependencies": { @@ -96,17 +104,8 @@ "dependencies": {}, "url": "https://packages.unity.com" }, - "com.unity.subsystemregistration": { - "version": "1.1.0", - "depth": 2, - "source": "registry", - "dependencies": { - "com.unity.modules.subsystems": "1.0.0" - }, - "url": "https://packages.unity.com" - }, "com.unity.test-framework": { - "version": "1.1.31", + "version": "1.1.33", "depth": 0, "source": "registry", "dependencies": { @@ -126,7 +125,7 @@ "url": "https://packages.unity.com" }, "com.unity.timeline": { - "version": "1.6.4", + "version": "1.7.4", "depth": 0, "source": "registry", "dependencies": { @@ -157,11 +156,12 @@ "url": "https://packages.unity.com" }, "com.unity.xr.arcore": { - "version": "4.2.8", + "version": "5.0.5", "depth": 0, "source": "registry", "dependencies": { - "com.unity.xr.arsubsystems": "4.2.8", + "com.unity.xr.arfoundation": "5.0.5", + "com.unity.xr.core-utils": "2.1.0", "com.unity.xr.management": "4.0.1", "com.unity.modules.androidjni": "1.0.0", "com.unity.modules.unitywebrequest": "1.0.0" @@ -169,53 +169,49 @@ "url": "https://packages.unity.com" }, "com.unity.xr.arfoundation": { - "version": "4.2.7", + "version": "5.0.5", "depth": 1, "source": "registry", "dependencies": { - "com.unity.xr.arsubsystems": "4.2.7", + "com.unity.inputsystem": "1.3.0", + "com.unity.xr.core-utils": "2.1.0", "com.unity.xr.management": "4.0.1", - "com.unity.modules.particlesystem": "1.0.0" + "com.unity.ugui": "1.0.0", + "com.unity.mathematics": "1.2.5", + "com.unity.modules.particlesystem": "1.0.0", + "com.unity.modules.ui": "1.0.0", + "com.unity.modules.unityanalytics": "1.0.0", + "com.unity.modules.unitywebrequest": "1.0.0" }, "url": "https://packages.unity.com" }, "com.unity.xr.arkit": { - "version": "4.2.8", + "version": "5.0.5", "depth": 0, "source": "registry", "dependencies": { "com.unity.editorcoroutines": "1.0.0", - "com.unity.xr.arsubsystems": "4.2.8", + "com.unity.xr.arfoundation": "5.0.5", + "com.unity.xr.core-utils": "2.1.0", "com.unity.xr.management": "4.0.1" }, "url": "https://packages.unity.com" }, - "com.unity.xr.arkit-face-tracking": { - "version": "4.2.7", + "com.unity.xr.core-utils": { + "version": "2.2.1", "depth": 1, "source": "registry", "dependencies": { - "com.unity.xr.arkit": "4.2.7", - "com.unity.xr.arsubsystems": "4.2.7" - }, - "url": "https://packages.unity.com" - }, - "com.unity.xr.arsubsystems": { - "version": "4.2.8", - "depth": 1, - "source": "registry", - "dependencies": { - "com.unity.subsystemregistration": "1.1.0", - "com.unity.xr.management": "4.0.1" + "com.unity.modules.xr": "1.0.0" }, "url": "https://packages.unity.com" }, "com.unity.xr.interactionsubsystems": { - "version": "1.0.1", + "version": "2.0.0", "depth": 2, "source": "registry", "dependencies": { - "com.unity.subsystemregistration": "1.0.5" + "com.unity.modules.subsystems": "1.0.0" }, "url": "https://packages.unity.com" }, @@ -230,7 +226,7 @@ "url": "https://packages.unity.com" }, "com.unity.xr.magicleap": { - "version": "6.4.1", + "version": "7.0.0", "depth": 1, "source": "registry", "dependencies": { @@ -238,9 +234,10 @@ "com.unity.modules.vr": "1.0.0", "com.unity.modules.xr": "1.0.0", "com.unity.ugui": "1.0.0", - "com.unity.xr.arsubsystems": "4.0.12", - "com.unity.xr.interactionsubsystems": "1.0.1", - "com.unity.xr.management": "4.0.7" + "com.unity.xr.arfoundation": "5.0.0-pre.12", + "com.unity.xr.interactionsubsystems": "2.0.0", + "com.unity.xr.management": "4.2.0", + "com.unity.modules.androidjni": "1.0.0" }, "url": "https://packages.unity.com" }, @@ -399,17 +396,6 @@ "version": "1.0.0", "depth": 0, "source": "builtin", - "dependencies": { - "com.unity.modules.ui": "1.0.0", - "com.unity.modules.imgui": "1.0.0", - "com.unity.modules.jsonserialize": "1.0.0", - "com.unity.modules.uielementsnative": "1.0.0" - } - }, - "com.unity.modules.uielementsnative": { - "version": "1.0.0", - "depth": 1, - "source": "builtin", "dependencies": { "com.unity.modules.ui": "1.0.0", "com.unity.modules.imgui": "1.0.0", diff --git a/ProjectSettings/EditorBuildSettings.asset b/ProjectSettings/EditorBuildSettings.asset index 08083da..d4cd110 100644 --- a/ProjectSettings/EditorBuildSettings.asset +++ b/ProjectSettings/EditorBuildSettings.asset @@ -5,12 +5,16 @@ EditorBuildSettings: m_ObjectHideFlags: 0 serializedVersion: 2 m_Scenes: - - enabled: 1 + - enabled: 0 path: Assets/ARPG/Example/Scenes/3.example_arnavi.unity guid: a7a6d158eb72f4668b7f626a47eb6c51 + - enabled: 1 + path: Assets/ARPG/Example/Scenes/1.example_navigation.unity + guid: a4dc3764cc3a44467a6a06c4549f3314 m_configObjects: UnityEditor.XR.ARCore.ARCoreSettings: {fileID: 11400000, guid: 147f6a570a4694f729aa3132cbfdb7f8, type: 2} UnityEditor.XR.ARKit.ARKitSettings: {fileID: 11400000, guid: 8e50b5fa7ddd943cda1549b1980f627a, type: 2} + com.unity.xr.arfoundation.simulation_settings: {fileID: 11400000, guid: 6bf97828f85fd4eef9d774ca20aa63a2, type: 2} com.unity.xr.magicleap.magic_leap_settings: {fileID: 11400000, guid: 8bd3fc4d5d1a14c12ba29c8db7c6dd0d, type: 2} com.unity.xr.management.loader_settings: {fileID: 11400000, guid: db337d92b77f14ae992c8758a0bbfd12, type: 2} com.unity.xr.openxr.settings4: {fileID: 11400000, guid: 8dbfbf35b62ac44efbfc90dd68b5b880, type: 2} diff --git a/ProjectSettings/GraphicsSettings.asset b/ProjectSettings/GraphicsSettings.asset index 3a54cc8..f04a049 100644 --- a/ProjectSettings/GraphicsSettings.asset +++ b/ProjectSettings/GraphicsSettings.asset @@ -42,6 +42,7 @@ GraphicsSettings: - {fileID: 4800000, guid: c07e511f5254c4a45b0e91c07ca70904, type: 3} - {fileID: 4800000, guid: 7f7fec17266a4412c8c5e33b5d3b0c9b, type: 3} - {fileID: 4800000, guid: 46beba60d6ba64b2d82918f772dad8a8, type: 3} + - {fileID: 4800000, guid: d64c5f73f362044499307bbc0253fa10, type: 3} m_PreloadedShaders: [] m_PreloadShadersBatchTimeLimit: -1 m_SpritesDefaultMaterial: {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} diff --git a/ProjectSettings/PackageManagerSettings.asset b/ProjectSettings/PackageManagerSettings.asset index 20fec49..d7caea7 100644 --- a/ProjectSettings/PackageManagerSettings.asset +++ b/ProjectSettings/PackageManagerSettings.asset @@ -13,10 +13,10 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: m_EnablePreReleasePackages: 0 - m_EnablePackageDependencies: 0 m_AdvancedSettingsExpanded: 1 m_ScopedRegistriesSettingsExpanded: 1 m_SeeAllPackageVersions: 0 + m_DismissPreviewPackagesInUse: 0 oneTimeWarningShown: 0 m_Registries: - m_Id: main @@ -39,6 +39,6 @@ MonoBehaviour: m_RegistryInfoDraft: m_Modified: 0 m_ErrorMessage: - m_UserModificationsInstanceId: -848 - m_OriginalInstanceId: -852 + m_UserModificationsInstanceId: -838 + m_OriginalInstanceId: -842 m_LoadAssets: 0 diff --git a/ProjectSettings/ProjectSettings.asset b/ProjectSettings/ProjectSettings.asset index b2b81ab..6533aa9 100644 --- a/ProjectSettings/ProjectSettings.asset +++ b/ProjectSettings/ProjectSettings.asset @@ -3,7 +3,7 @@ --- !u!129 &1 PlayerSettings: m_ObjectHideFlags: 0 - serializedVersion: 24 + serializedVersion: 26 productGUID: f4c2cea46c71b44e1bbfcb47d0096452 AndroidProfiler: 0 AndroidFilterTouchesWhenObscured: 0 @@ -48,14 +48,15 @@ PlayerSettings: defaultScreenHeightWeb: 600 m_StereoRenderingPath: 0 m_ActiveColorSpace: 0 + m_SpriteBatchVertexThreshold: 300 m_MTRendering: 1 mipStripping: 0 numberOfMipsStripped: 0 + numberOfMipsStrippedPerMipmapLimitGroup: {} m_StackTraceTypes: 010000000100000001000000010000000100000001000000 iosShowActivityIndicatorOnLoading: -1 androidShowActivityIndicatorOnLoading: -1 iosUseCustomAppBackgroundBehavior: 0 - iosAllowHTTPDownload: 1 allowedAutorotateToPortrait: 1 allowedAutorotateToPortraitUpsideDown: 0 allowedAutorotateToLandscapeRight: 0 @@ -119,8 +120,11 @@ PlayerSettings: switchNVNShaderPoolsGranularity: 33554432 switchNVNDefaultPoolsGranularity: 16777216 switchNVNOtherPoolsGranularity: 16777216 + switchGpuScratchPoolGranularity: 2097152 + switchAllowGpuScratchShrinking: 0 switchNVNMaxPublicTextureIDCount: 0 switchNVNMaxPublicSamplerIDCount: 0 + switchNVNGraphicsFirmwareMemory: 32 stadiaPresentMode: 0 stadiaTargetFramerate: 0 vulkanNumSwapchainBuffers: 3 @@ -128,13 +132,8 @@ PlayerSettings: vulkanEnablePreTransform: 1 vulkanEnableLateAcquireNextImage: 0 vulkanEnableCommandBufferRecycling: 1 - m_SupportedAspectRatios: - 4:3: 1 - 5:4: 1 - 16:10: 1 - 16:9: 1 - Others: 1 - bundleVersion: 0.1.0.0 + loadStoreDebugModeEnabled: 0 + bundleVersion: 1.2.0 preloadedAssets: [] metroInputSource: 0 wsaTransparentSwapchain: 0 @@ -147,7 +146,7 @@ PlayerSettings: enableFrameTimingStats: 0 enableOpenGLProfilerGPURecorders: 1 useHDRDisplay: 0 - D3DHDRBitDepth: 0 + hdrBitDepth: 0 m_ColorGamuts: 00000000 targetPixelDensity: 30 resolutionScalingMode: 0 @@ -176,6 +175,7 @@ PlayerSettings: APKExpansionFiles: 0 keepLoadedShadersAlive: 0 StripUnusedMeshComponents: 1 + strictShaderVariantMatching: 0 VertexChannelCompressionMask: 4054 iPhoneSdkVersion: 988 iOSTargetOSVersionString: 12.0 @@ -245,6 +245,7 @@ PlayerSettings: useCustomLauncherGradleManifest: 0 useCustomBaseGradleTemplate: 0 useCustomGradlePropertiesTemplate: 0 + useCustomGradleSettingsTemplate: 0 useCustomProguardFile: 0 AndroidTargetArchitectures: 2 AndroidTargetDevices: 0 @@ -252,6 +253,7 @@ PlayerSettings: androidSplashScreen: {fileID: 0} AndroidKeystoreName: AndroidKeyaliasName: + AndroidEnableArmv9SecurityFeatures: 0 AndroidBuildApkPerCpuArchitecture: 0 AndroidTVCompatibility: 0 AndroidIsGame: 1 @@ -265,7 +267,6 @@ PlayerSettings: banner: {fileID: 0} androidGamepadSupportLevel: 0 chromeosInputEmulation: 1 - AndroidMinifyWithR8: 0 AndroidMinifyRelease: 0 AndroidMinifyDebug: 0 AndroidValidateAppBundleSize: 1 @@ -546,7 +547,9 @@ PlayerSettings: m_EncodingQuality: 1 - m_BuildTarget: tvOS m_EncodingQuality: 1 + m_BuildTargetGroupHDRCubemapEncodingQuality: [] m_BuildTargetGroupLightmapSettings: [] + m_BuildTargetGroupLoadStoreDebugModeSettings: [] m_BuildTargetNormalMapEncoding: - m_BuildTarget: Android m_Encoding: 1 @@ -567,6 +570,7 @@ PlayerSettings: locationUsageDescription: AR feature microphoneUsageDescription: bluetoothUsageDescription: + macOSTargetOSVersion: 10.13.0 switchNMETAOverride: switchNetLibKey: switchSocketMemoryPoolSize: 6144 @@ -578,6 +582,7 @@ PlayerSettings: switchLTOSetting: 0 switchApplicationID: 0x01004b9000490000 switchNSODependencies: + switchCompilerFlags: switchTitleNames_0: switchTitleNames_1: switchTitleNames_2: @@ -793,6 +798,7 @@ PlayerSettings: webGLMemorySize: 16 webGLExceptionSupport: 1 webGLNameFilesAsHashes: 0 + webGLShowDiagnostics: 0 webGLDataCaching: 1 webGLDebugSymbols: 0 webGLEmscriptenArgs: @@ -805,14 +811,22 @@ PlayerSettings: webGLLinkerTarget: 1 webGLThreadsSupport: 0 webGLDecompressionFallback: 0 + webGLInitialMemorySize: 32 + webGLMaximumMemorySize: 2048 + webGLMemoryGrowthMode: 2 + webGLMemoryLinearGrowthStep: 16 + webGLMemoryGeometricGrowthStep: 0.2 + webGLMemoryGeometricGrowthCap: 96 webGLPowerPreference: 2 scriptingDefineSymbols: + Android: iPhone: UNITY_XR_ARKIT_LOADER_ENABLED additionalCompilerArguments: {} platformArchitecture: {} scriptingBackend: Android: 1 il2cppCompilerConfiguration: {} + il2cppCodeGeneration: {} managedStrippingLevel: EmbeddedLinux: 1 GameCoreScarlett: 1 @@ -831,12 +845,10 @@ PlayerSettings: suppressCommonWarnings: 1 allowUnsafeCode: 0 useDeterministicCompilation: 1 - enableRoslynAnalyzers: 1 - selectedPlatform: 3 + selectedPlatform: 2 additionalIl2CppArgs: scriptingRuntimeVersion: 1 gcIncremental: 1 - assemblyVersionValidation: 1 gcWBarrierValidation: 0 apiCompatibilityLevelPerPlatform: {} m_RenderingPath: 1 @@ -909,6 +921,11 @@ PlayerSettings: luminVersion: m_VersionCode: 1 m_VersionName: + hmiPlayerDataPath: + hmiForceSRGBBlit: 1 + embeddedLinuxEnableGamepadInput: 1 + hmiLogStartupTiming: 0 + hmiCpuConfiguration: apiCompatibilityLevel: 6 activeInputHandler: 2 windowsGamepadBackendHint: 0 @@ -919,6 +936,7 @@ PlayerSettings: organizationId: cloudEnabled: 0 legacyClampBlendShapeWeights: 0 - playerDataPath: - forceSRGBBlit: 1 + hmiLoadingImage: {fileID: 0} + platformRequiresReadableAssets: 0 virtualTexturingSupportEnabled: 0 + insecureHttpOption: 0 diff --git a/ProjectSettings/ProjectVersion.txt b/ProjectSettings/ProjectVersion.txt index f8251a7..56ddb83 100644 --- a/ProjectSettings/ProjectVersion.txt +++ b/ProjectSettings/ProjectVersion.txt @@ -1,2 +1,2 @@ -m_EditorVersion: 2021.3.22f1 -m_EditorVersionWithRevision: 2021.3.22f1 (b6c551784ba3) +m_EditorVersion: 2022.3.0f1 +m_EditorVersionWithRevision: 2022.3.0f1 (fb119bb0b476) diff --git a/ProjectSettings/boot.config b/ProjectSettings/boot.config deleted file mode 100644 index e69de29..0000000 diff --git a/README.md b/README.md index 4b0c0be..fac3640 100644 --- a/README.md +++ b/README.md @@ -3,29 +3,10 @@ ## 개요 ARPG Unity SDK는 AR 컨텐츠 저작툴인 AMapper의 데이터를 이용하여, 공간에 배치 된 오브젝트들을 쉽게 증강시킬 수 있는 Unity 패키지입니다. -## 설치 방법 -1. Unity 프로젝트에 [NewtonSoft.Json](https://github.com/jilleJr/Newtonsoft.Json-for-Unity/wiki/Install-official-via-UPM) 설치 -1. Unity 프로젝트에 [glTFast](https://github.com/atteneder/glTFast)를 설치 -1. VL SDK unitypackage 추가 -2. ARPG SDK unitypackage 추가 -## 샘플 프로젝트 -샘플 프로젝트는 ARPG > Example > Scenes 경로에서 확인하실 수 있습니다. 테스트를 위해 `0.example_simple`, `1.example_navigation`, `2.example_vlsdk`, `3.example_arnavi`라는 이름의 프로젝트들이 준비 되어 있습니다. +## 문서 -### 샘플 프로젝트 실행 준비 사항 -Assets 디렉토리의 하위에 `StreamingAssets`라는 이름의 디렉토리를 생성한 후 AMapper 컨텐츠를 배치해야 합니다. 해당 경로에 배치된 데이터를 바탕으로 화면을 구성합니다. - -### 샘플 프로젝트 설명 -`0.example_simple`는 ARPG SDK의 최소한의 기능을 확인할 수 있는 프로젝트입니다. 프로젝트를 실행시킨 후 'SetStage' 버튼을 누르면 테스트 지역이 로드 됩니다. `Ctrl`키를 누른 상태에서 `W,S,A,D` 키를 누르면 카메라를 조작할 수 있습니다. 마우스를 이동하여 방향을 설정할 수 있습니다. - -`1.example_navigation`은 ARPG SDK의 경로 탐색 기능을 확인할 수 있는 프로젝트입니다. 프로젝트를 실행시킨 후 'SetStage 1F' 버튼을 누르면 테스트 지역이 로드 됩니다. 오른쪽 상단의 'Show Dest Rect' 버튼을 누른 뒤 목적지를 선택하면 해당 경로로 이동하는 내비게이션을 동작시킬 수 있습니다. - -`2.example_vlsdk`는 ARPG SDK와 VL SDK를 연동하는 방법을 확인할 수 있는 프로젝트입니다. Scene에 추가 되어 있는 'Video Player'에 동영상 데이터를 할당한 뒤 실행하면 VL SDK가 동작하는 모습을 확인할 수 있습니다. - -`3.example_arnavi`는 ARPG SDK와 VL SDK를 연동하여 실제로 동작하는 AR 내비게이션 앱을 구현한 프로젝트입니다. ARPG SDK를 어떤 방식으로 활용하면 좋을지 확인할 수 있습니다. - -## 사용 방법 -* Wiki 참고 +[ARSDK documentation](https://ar.naverlabs.com/ARPG/docs/ARSDK_v1.2.0.html) ## Contact @@ -33,4 +14,4 @@ Assets 디렉토리의 하위에 `StreamingAssets`라는 이름의 디렉토리 ## License -전체 오픈소스 라이선스는 [LICENSE](./LICENSE) 에서 확인하세요. \ No newline at end of file +전체 오픈소스 라이선스는 [LICENSE](./LICENSE) 에서 확인하세요. diff --git a/arpg-sdk-unity-1.1.0.unitypackage b/ar-sdk-1.2.0.unitypackage similarity index 56% rename from arpg-sdk-unity-1.1.0.unitypackage rename to ar-sdk-1.2.0.unitypackage index a87e384..2d4d76e 100644 Binary files a/arpg-sdk-unity-1.1.0.unitypackage and b/ar-sdk-1.2.0.unitypackage differ