diff --git a/.gitignore b/.gitignore
index 22e7db6..05fd208 100644
--- a/.gitignore
+++ b/.gitignore
@@ -27,6 +27,12 @@
# Visual Studio cache directory
.vs/
+# VS Code (Unity auto-generated)
+.vscode/
+
+# Editor / CLI temporary
+.utmp/
+
# Gradle cache directory
.gradle/
@@ -36,6 +42,7 @@ ExportedObj/
*.csproj
*.unityproj
*.sln
+*.slnx
*.suo
*.tmp
*.user
diff --git a/Assets/Editor.meta b/Assets/Editor.meta
new file mode 100644
index 0000000..3aa5b84
--- /dev/null
+++ b/Assets/Editor.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 7c5970f9aa2ed40b5be0aeec629d5a54
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Editor/NativeSharePackageNameGuard.cs b/Assets/Editor/NativeSharePackageNameGuard.cs
new file mode 100644
index 0000000..09f269b
--- /dev/null
+++ b/Assets/Editor/NativeSharePackageNameGuard.cs
@@ -0,0 +1,106 @@
+using System.IO;
+using UnityEditor;
+using UnityEditor.Build;
+using UnityEditor.Build.Reporting;
+using UnityEngine;
+
+public class NativeSharePackageNameGuard : IPreprocessBuildWithReport
+{
+ public int callbackOrder => 0;
+
+ private const string DefaultNativeSharePackageName = "jp.yourname.unity.nativeshare";
+
+ public void OnPreprocessBuild(BuildReport report)
+ {
+ if (report.summary.platform != BuildTarget.Android)
+ {
+ return;
+ }
+
+ CheckUnityAndroidPackageName();
+ CheckNativeSharePackageName();
+ }
+
+ private void CheckUnityAndroidPackageName()
+ {
+ string applicationId =
+ PlayerSettings.GetApplicationIdentifier(BuildTargetGroup.Android);
+
+ if (string.IsNullOrEmpty(applicationId))
+ {
+ throw new BuildFailedException(
+ "Android の Package Name が空です。\n\n" +
+ "Project Settings > Player > Android > Other Settings > Identification > Package Name に、" +
+ "自分のアプリ用の Package Name を設定してください。\n\n" +
+ "例:\n" +
+ "jp.piccolo.cameraapp"
+ );
+ }
+
+ if (
+ applicationId.StartsWith("com.DefaultCompany") ||
+ applicationId.Contains("DefaultCompany") ||
+ applicationId.Contains("ProductName")
+ )
+ {
+ throw new BuildFailedException(
+ "Android の Package Name が初期値のままです。\n\n" +
+ "Project Settings > Player > Android > Other Settings > Identification > Package Name を、" +
+ "自分のアプリ用のものへ変更してください。\n\n" +
+ "現在の値:\n" +
+ applicationId + "\n\n" +
+ "例:\n" +
+ "jp.piccolo.cameraapp"
+ );
+ }
+ }
+
+ private void CheckNativeSharePackageName()
+ {
+ string assetsPath = Application.dataPath;
+
+ string[] targetFiles =
+ {
+ Path.Combine(assetsPath, "Scripts/NativeShareBridge.cs"),
+ Path.Combine(assetsPath, "Plugins/Android/AndroidManifest.xml"),
+ Path.Combine(assetsPath, "Plugins/Android/jp/yourname/unity/nativeshare/NativeShareBridge.java"),
+ Path.Combine(assetsPath, "Plugins/Android/jp/yourname/unity/nativeshare/NativeShareFileProvider.java")
+ };
+
+ foreach (string filePath in targetFiles)
+ {
+ if (!File.Exists(filePath))
+ {
+ continue;
+ }
+
+ string text = File.ReadAllText(filePath);
+
+ if (text.Contains(DefaultNativeSharePackageName))
+ {
+ throw new BuildFailedException(
+ "NativeShare の Android Java package 名が初期値のままです。\n\n" +
+ "Android向けにビルドする前に、次の2種類の Package Name を確認してください。\n\n" +
+ "1. Unity Player Settings の Package Name\n" +
+ " Project Settings > Player > Android > Other Settings > Identification > Package Name\n" +
+ " 例: jp.piccolo.cameraapp\n\n" +
+ "2. NativeShare 側の Java package 名\n" +
+ " 次の仮パッケージ名を、自分のものへ変更してください。\n\n" +
+ " " + DefaultNativeSharePackageName + "\n\n" +
+ " 例:\n" +
+ " jp.piccolo.unity.nativeshare\n" +
+ " jp.piccolo.cameraapp.nativeshare\n\n" +
+ "変更が必要な主な箇所:\n" +
+ "・NativeShareBridge.cs の AndroidJavaClass の文字列\n" +
+ "・NativeShareBridge.java の package 行\n" +
+ "・NativeShareFileProvider.java の package 行\n" +
+ "・AndroidManifest.xml の provider android:name\n" +
+ "・Android 側のフォルダ名\n\n" +
+ "補足:\n" +
+ "Unity Player Settings の Package Name と、NativeShare の Java package 名は、" +
+ "同じである必要はありません。"
+ );
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/Assets/Editor/NativeSharePackageNameGuard.cs.meta b/Assets/Editor/NativeSharePackageNameGuard.cs.meta
new file mode 100644
index 0000000..6ca8605
--- /dev/null
+++ b/Assets/Editor/NativeSharePackageNameGuard.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: eec2ec8e1aacf4a24a36d085eea4ae1f
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Editor/NativeSharePostProcessBuild.cs b/Assets/Editor/NativeSharePostProcessBuild.cs
new file mode 100644
index 0000000..c073cd6
--- /dev/null
+++ b/Assets/Editor/NativeSharePostProcessBuild.cs
@@ -0,0 +1,43 @@
+using UnityEditor;
+using UnityEditor.Callbacks;
+
+#if UNITY_IOS
+using UnityEditor.iOS.Xcode;
+#endif
+
+///
+/// iOS ビルド後に Info.plist へ写真ライブラリ関連の用途説明を自動で追加する。
+/// これが無いと UIImageWriteToSavedPhotosAlbum 実行時にクラッシュする。
+///
+public static class NativeSharePostProcessBuild
+{
+ // 必要に応じて文言を変更してください(App Store 審査でも参照されます)
+ private const string PhotoAddUsageDescription =
+ "撮影した画像を写真ライブラリに保存するために使用します。";
+
+ [PostProcessBuild(100)]
+ public static void OnPostProcessBuild(BuildTarget buildTarget, string pathToBuiltProject)
+ {
+#if UNITY_IOS
+ if (buildTarget != BuildTarget.iOS)
+ {
+ return;
+ }
+
+ string plistPath = pathToBuiltProject + "/Info.plist";
+
+ PlistDocument plist = new PlistDocument();
+ plist.ReadFromFile(plistPath);
+
+ PlistElementDict root = plist.root;
+
+ // 写真への「追加のみ」用途。保存だけならこちらで十分。
+ if (root["NSPhotoLibraryAddUsageDescription"] == null)
+ {
+ root.SetString("NSPhotoLibraryAddUsageDescription", PhotoAddUsageDescription);
+ }
+
+ plist.WriteToFile(plistPath);
+#endif
+ }
+}
diff --git a/Assets/Editor/NativeSharePostProcessBuild.cs.meta b/Assets/Editor/NativeSharePostProcessBuild.cs.meta
new file mode 100644
index 0000000..58ebd35
--- /dev/null
+++ b/Assets/Editor/NativeSharePostProcessBuild.cs.meta
@@ -0,0 +1,2 @@
+fileFormatVersion: 2
+guid: cd4622b4fc896418bbf909c16d3dd6b1
\ No newline at end of file
diff --git a/Assets/InputSystem_Actions.inputactions b/Assets/InputSystem_Actions.inputactions
new file mode 100644
index 0000000..1a12cb9
--- /dev/null
+++ b/Assets/InputSystem_Actions.inputactions
@@ -0,0 +1,1057 @@
+{
+ "name": "InputSystem_Actions",
+ "maps": [
+ {
+ "name": "Player",
+ "id": "df70fa95-8a34-4494-b137-73ab6b9c7d37",
+ "actions": [
+ {
+ "name": "Move",
+ "type": "Value",
+ "id": "351f2ccd-1f9f-44bf-9bec-d62ac5c5f408",
+ "expectedControlType": "Vector2",
+ "processors": "",
+ "interactions": "",
+ "initialStateCheck": true
+ },
+ {
+ "name": "Look",
+ "type": "Value",
+ "id": "6b444451-8a00-4d00-a97e-f47457f736a8",
+ "expectedControlType": "Vector2",
+ "processors": "",
+ "interactions": "",
+ "initialStateCheck": true
+ },
+ {
+ "name": "Attack",
+ "type": "Button",
+ "id": "6c2ab1b8-8984-453a-af3d-a3c78ae1679a",
+ "expectedControlType": "Button",
+ "processors": "",
+ "interactions": "",
+ "initialStateCheck": false
+ },
+ {
+ "name": "Interact",
+ "type": "Button",
+ "id": "852140f2-7766-474d-8707-702459ba45f3",
+ "expectedControlType": "Button",
+ "processors": "",
+ "interactions": "Hold",
+ "initialStateCheck": false
+ },
+ {
+ "name": "Crouch",
+ "type": "Button",
+ "id": "27c5f898-bc57-4ee1-8800-db469aca5fe3",
+ "expectedControlType": "Button",
+ "processors": "",
+ "interactions": "",
+ "initialStateCheck": false
+ },
+ {
+ "name": "Jump",
+ "type": "Button",
+ "id": "f1ba0d36-48eb-4cd5-b651-1c94a6531f70",
+ "expectedControlType": "Button",
+ "processors": "",
+ "interactions": "",
+ "initialStateCheck": false
+ },
+ {
+ "name": "Previous",
+ "type": "Button",
+ "id": "2776c80d-3c14-4091-8c56-d04ced07a2b0",
+ "expectedControlType": "Button",
+ "processors": "",
+ "interactions": "",
+ "initialStateCheck": false
+ },
+ {
+ "name": "Next",
+ "type": "Button",
+ "id": "b7230bb6-fc9b-4f52-8b25-f5e19cb2c2ba",
+ "expectedControlType": "Button",
+ "processors": "",
+ "interactions": "",
+ "initialStateCheck": false
+ },
+ {
+ "name": "Sprint",
+ "type": "Button",
+ "id": "641cd816-40e6-41b4-8c3d-04687c349290",
+ "expectedControlType": "Button",
+ "processors": "",
+ "interactions": "",
+ "initialStateCheck": false
+ }
+ ],
+ "bindings": [
+ {
+ "name": "",
+ "id": "978bfe49-cc26-4a3d-ab7b-7d7a29327403",
+ "path": "/leftStick",
+ "interactions": "",
+ "processors": "",
+ "groups": ";Gamepad",
+ "action": "Move",
+ "isComposite": false,
+ "isPartOfComposite": false
+ },
+ {
+ "name": "WASD",
+ "id": "00ca640b-d935-4593-8157-c05846ea39b3",
+ "path": "Dpad",
+ "interactions": "",
+ "processors": "",
+ "groups": "",
+ "action": "Move",
+ "isComposite": true,
+ "isPartOfComposite": false
+ },
+ {
+ "name": "up",
+ "id": "e2062cb9-1b15-46a2-838c-2f8d72a0bdd9",
+ "path": "/w",
+ "interactions": "",
+ "processors": "",
+ "groups": ";Keyboard&Mouse",
+ "action": "Move",
+ "isComposite": false,
+ "isPartOfComposite": true
+ },
+ {
+ "name": "up",
+ "id": "8180e8bd-4097-4f4e-ab88-4523101a6ce9",
+ "path": "/upArrow",
+ "interactions": "",
+ "processors": "",
+ "groups": ";Keyboard&Mouse",
+ "action": "Move",
+ "isComposite": false,
+ "isPartOfComposite": true
+ },
+ {
+ "name": "down",
+ "id": "320bffee-a40b-4347-ac70-c210eb8bc73a",
+ "path": "/s",
+ "interactions": "",
+ "processors": "",
+ "groups": ";Keyboard&Mouse",
+ "action": "Move",
+ "isComposite": false,
+ "isPartOfComposite": true
+ },
+ {
+ "name": "down",
+ "id": "1c5327b5-f71c-4f60-99c7-4e737386f1d1",
+ "path": "/downArrow",
+ "interactions": "",
+ "processors": "",
+ "groups": ";Keyboard&Mouse",
+ "action": "Move",
+ "isComposite": false,
+ "isPartOfComposite": true
+ },
+ {
+ "name": "left",
+ "id": "d2581a9b-1d11-4566-b27d-b92aff5fabbc",
+ "path": "/a",
+ "interactions": "",
+ "processors": "",
+ "groups": ";Keyboard&Mouse",
+ "action": "Move",
+ "isComposite": false,
+ "isPartOfComposite": true
+ },
+ {
+ "name": "left",
+ "id": "2e46982e-44cc-431b-9f0b-c11910bf467a",
+ "path": "/leftArrow",
+ "interactions": "",
+ "processors": "",
+ "groups": ";Keyboard&Mouse",
+ "action": "Move",
+ "isComposite": false,
+ "isPartOfComposite": true
+ },
+ {
+ "name": "right",
+ "id": "fcfe95b8-67b9-4526-84b5-5d0bc98d6400",
+ "path": "/d",
+ "interactions": "",
+ "processors": "",
+ "groups": ";Keyboard&Mouse",
+ "action": "Move",
+ "isComposite": false,
+ "isPartOfComposite": true
+ },
+ {
+ "name": "right",
+ "id": "77bff152-3580-4b21-b6de-dcd0c7e41164",
+ "path": "/rightArrow",
+ "interactions": "",
+ "processors": "",
+ "groups": ";Keyboard&Mouse",
+ "action": "Move",
+ "isComposite": false,
+ "isPartOfComposite": true
+ },
+ {
+ "name": "",
+ "id": "1635d3fe-58b6-4ba9-a4e2-f4b964f6b5c8",
+ "path": "/{Primary2DAxis}",
+ "interactions": "",
+ "processors": "",
+ "groups": "XR",
+ "action": "Move",
+ "isComposite": false,
+ "isPartOfComposite": false
+ },
+ {
+ "name": "",
+ "id": "3ea4d645-4504-4529-b061-ab81934c3752",
+ "path": "/stick",
+ "interactions": "",
+ "processors": "",
+ "groups": "Joystick",
+ "action": "Move",
+ "isComposite": false,
+ "isPartOfComposite": false
+ },
+ {
+ "name": "",
+ "id": "c1f7a91b-d0fd-4a62-997e-7fb9b69bf235",
+ "path": "/rightStick",
+ "interactions": "",
+ "processors": "",
+ "groups": ";Gamepad",
+ "action": "Look",
+ "isComposite": false,
+ "isPartOfComposite": false
+ },
+ {
+ "name": "",
+ "id": "8c8e490b-c610-4785-884f-f04217b23ca4",
+ "path": "/delta",
+ "interactions": "",
+ "processors": "",
+ "groups": ";Keyboard&Mouse;Touch",
+ "action": "Look",
+ "isComposite": false,
+ "isPartOfComposite": false
+ },
+ {
+ "name": "",
+ "id": "3e5f5442-8668-4b27-a940-df99bad7e831",
+ "path": "/{Hatswitch}",
+ "interactions": "",
+ "processors": "",
+ "groups": "Joystick",
+ "action": "Look",
+ "isComposite": false,
+ "isPartOfComposite": false
+ },
+ {
+ "name": "",
+ "id": "143bb1cd-cc10-4eca-a2f0-a3664166fe91",
+ "path": "/buttonWest",
+ "interactions": "",
+ "processors": "",
+ "groups": ";Gamepad",
+ "action": "Attack",
+ "isComposite": false,
+ "isPartOfComposite": false
+ },
+ {
+ "name": "",
+ "id": "05f6913d-c316-48b2-a6bb-e225f14c7960",
+ "path": "/leftButton",
+ "interactions": "",
+ "processors": "",
+ "groups": ";Keyboard&Mouse",
+ "action": "Attack",
+ "isComposite": false,
+ "isPartOfComposite": false
+ },
+ {
+ "name": "",
+ "id": "886e731e-7071-4ae4-95c0-e61739dad6fd",
+ "path": "/primaryTouch/tap",
+ "interactions": "",
+ "processors": "",
+ "groups": ";Touch",
+ "action": "Attack",
+ "isComposite": false,
+ "isPartOfComposite": false
+ },
+ {
+ "name": "",
+ "id": "ee3d0cd2-254e-47a7-a8cb-bc94d9658c54",
+ "path": "/trigger",
+ "interactions": "",
+ "processors": "",
+ "groups": "Joystick",
+ "action": "Attack",
+ "isComposite": false,
+ "isPartOfComposite": false
+ },
+ {
+ "name": "",
+ "id": "8255d333-5683-4943-a58a-ccb207ff1dce",
+ "path": "/{PrimaryAction}",
+ "interactions": "",
+ "processors": "",
+ "groups": "XR",
+ "action": "Attack",
+ "isComposite": false,
+ "isPartOfComposite": false
+ },
+ {
+ "name": "",
+ "id": "b3c1c7f0-bd20-4ee7-a0f1-899b24bca6d7",
+ "path": "/enter",
+ "interactions": "",
+ "processors": "",
+ "groups": "Keyboard&Mouse",
+ "action": "Attack",
+ "isComposite": false,
+ "isPartOfComposite": false
+ },
+ {
+ "name": "",
+ "id": "cbac6039-9c09-46a1-b5f2-4e5124ccb5ed",
+ "path": "/2",
+ "interactions": "",
+ "processors": "",
+ "groups": "Keyboard&Mouse",
+ "action": "Next",
+ "isComposite": false,
+ "isPartOfComposite": false
+ },
+ {
+ "name": "",
+ "id": "e15ca19d-e649-4852-97d5-7fe8ccc44e94",
+ "path": "/dpad/right",
+ "interactions": "",
+ "processors": "",
+ "groups": "Gamepad",
+ "action": "Next",
+ "isComposite": false,
+ "isPartOfComposite": false
+ },
+ {
+ "name": "",
+ "id": "f2e9ba44-c423-42a7-ad56-f20975884794",
+ "path": "/leftShift",
+ "interactions": "",
+ "processors": "",
+ "groups": "Keyboard&Mouse",
+ "action": "Sprint",
+ "isComposite": false,
+ "isPartOfComposite": false
+ },
+ {
+ "name": "",
+ "id": "8cbb2f4b-a784-49cc-8d5e-c010b8c7f4e6",
+ "path": "/leftStickPress",
+ "interactions": "",
+ "processors": "",
+ "groups": "Gamepad",
+ "action": "Sprint",
+ "isComposite": false,
+ "isPartOfComposite": false
+ },
+ {
+ "name": "",
+ "id": "d8bf24bf-3f2f-4160-a97c-38ec1eb520ba",
+ "path": "/trigger",
+ "interactions": "",
+ "processors": "",
+ "groups": "XR",
+ "action": "Sprint",
+ "isComposite": false,
+ "isPartOfComposite": false
+ },
+ {
+ "name": "",
+ "id": "eb40bb66-4559-4dfa-9a2f-820438abb426",
+ "path": "/space",
+ "interactions": "",
+ "processors": "",
+ "groups": "Keyboard&Mouse",
+ "action": "Jump",
+ "isComposite": false,
+ "isPartOfComposite": false
+ },
+ {
+ "name": "",
+ "id": "daba33a1-ad0c-4742-a909-43ad1cdfbeb6",
+ "path": "/buttonSouth",
+ "interactions": "",
+ "processors": "",
+ "groups": "Gamepad",
+ "action": "Jump",
+ "isComposite": false,
+ "isPartOfComposite": false
+ },
+ {
+ "name": "",
+ "id": "603f3daf-40bd-4854-8724-93e8017f59e3",
+ "path": "/secondaryButton",
+ "interactions": "",
+ "processors": "",
+ "groups": "XR",
+ "action": "Jump",
+ "isComposite": false,
+ "isPartOfComposite": false
+ },
+ {
+ "name": "",
+ "id": "1534dc16-a6aa-499d-9c3a-22b47347b52a",
+ "path": "/1",
+ "interactions": "",
+ "processors": "",
+ "groups": "Keyboard&Mouse",
+ "action": "Previous",
+ "isComposite": false,
+ "isPartOfComposite": false
+ },
+ {
+ "name": "",
+ "id": "25060bbd-a3a6-476e-8fba-45ae484aad05",
+ "path": "/dpad/left",
+ "interactions": "",
+ "processors": "",
+ "groups": "Gamepad",
+ "action": "Previous",
+ "isComposite": false,
+ "isPartOfComposite": false
+ },
+ {
+ "name": "",
+ "id": "1c04ea5f-b012-41d1-a6f7-02e963b52893",
+ "path": "/e",
+ "interactions": "",
+ "processors": "",
+ "groups": "Keyboard&Mouse",
+ "action": "Interact",
+ "isComposite": false,
+ "isPartOfComposite": false
+ },
+ {
+ "name": "",
+ "id": "b3f66d0b-7751-423f-908b-a11c5bd95930",
+ "path": "/buttonNorth",
+ "interactions": "",
+ "processors": "",
+ "groups": "Gamepad",
+ "action": "Interact",
+ "isComposite": false,
+ "isPartOfComposite": false
+ },
+ {
+ "name": "",
+ "id": "4f4649ac-64a8-4a73-af11-b3faef356a4d",
+ "path": "/buttonEast",
+ "interactions": "",
+ "processors": "",
+ "groups": "Gamepad",
+ "action": "Crouch",
+ "isComposite": false,
+ "isPartOfComposite": false
+ },
+ {
+ "name": "",
+ "id": "36e52cba-0905-478e-a818-f4bfcb9f3b9a",
+ "path": "/c",
+ "interactions": "",
+ "processors": "",
+ "groups": "Keyboard&Mouse",
+ "action": "Crouch",
+ "isComposite": false,
+ "isPartOfComposite": false
+ }
+ ]
+ },
+ {
+ "name": "UI",
+ "id": "272f6d14-89ba-496f-b7ff-215263d3219f",
+ "actions": [
+ {
+ "name": "Navigate",
+ "type": "PassThrough",
+ "id": "c95b2375-e6d9-4b88-9c4c-c5e76515df4b",
+ "expectedControlType": "Vector2",
+ "processors": "",
+ "interactions": "",
+ "initialStateCheck": false
+ },
+ {
+ "name": "Submit",
+ "type": "Button",
+ "id": "7607c7b6-cd76-4816-beef-bd0341cfe950",
+ "expectedControlType": "Button",
+ "processors": "",
+ "interactions": "",
+ "initialStateCheck": false
+ },
+ {
+ "name": "Cancel",
+ "type": "Button",
+ "id": "15cef263-9014-4fd5-94d9-4e4a6234a6ef",
+ "expectedControlType": "Button",
+ "processors": "",
+ "interactions": "",
+ "initialStateCheck": false
+ },
+ {
+ "name": "Point",
+ "type": "PassThrough",
+ "id": "32b35790-4ed0-4e9a-aa41-69ac6d629449",
+ "expectedControlType": "Vector2",
+ "processors": "",
+ "interactions": "",
+ "initialStateCheck": true
+ },
+ {
+ "name": "Click",
+ "type": "PassThrough",
+ "id": "3c7022bf-7922-4f7c-a998-c437916075ad",
+ "expectedControlType": "Button",
+ "processors": "",
+ "interactions": "",
+ "initialStateCheck": true
+ },
+ {
+ "name": "RightClick",
+ "type": "PassThrough",
+ "id": "44b200b1-1557-4083-816c-b22cbdf77ddf",
+ "expectedControlType": "Button",
+ "processors": "",
+ "interactions": "",
+ "initialStateCheck": false
+ },
+ {
+ "name": "MiddleClick",
+ "type": "PassThrough",
+ "id": "dad70c86-b58c-4b17-88ad-f5e53adf419e",
+ "expectedControlType": "Button",
+ "processors": "",
+ "interactions": "",
+ "initialStateCheck": false
+ },
+ {
+ "name": "ScrollWheel",
+ "type": "PassThrough",
+ "id": "0489e84a-4833-4c40-bfae-cea84b696689",
+ "expectedControlType": "Vector2",
+ "processors": "",
+ "interactions": "",
+ "initialStateCheck": false
+ },
+ {
+ "name": "TrackedDevicePosition",
+ "type": "PassThrough",
+ "id": "24908448-c609-4bc3-a128-ea258674378a",
+ "expectedControlType": "Vector3",
+ "processors": "",
+ "interactions": "",
+ "initialStateCheck": false
+ },
+ {
+ "name": "TrackedDeviceOrientation",
+ "type": "PassThrough",
+ "id": "9caa3d8a-6b2f-4e8e-8bad-6ede561bd9be",
+ "expectedControlType": "Quaternion",
+ "processors": "",
+ "interactions": "",
+ "initialStateCheck": false
+ }
+ ],
+ "bindings": [
+ {
+ "name": "Gamepad",
+ "id": "809f371f-c5e2-4e7a-83a1-d867598f40dd",
+ "path": "2DVector",
+ "interactions": "",
+ "processors": "",
+ "groups": "",
+ "action": "Navigate",
+ "isComposite": true,
+ "isPartOfComposite": false
+ },
+ {
+ "name": "up",
+ "id": "14a5d6e8-4aaf-4119-a9ef-34b8c2c548bf",
+ "path": "/leftStick/up",
+ "interactions": "",
+ "processors": "",
+ "groups": ";Gamepad",
+ "action": "Navigate",
+ "isComposite": false,
+ "isPartOfComposite": true
+ },
+ {
+ "name": "up",
+ "id": "9144cbe6-05e1-4687-a6d7-24f99d23dd81",
+ "path": "/rightStick/up",
+ "interactions": "",
+ "processors": "",
+ "groups": ";Gamepad",
+ "action": "Navigate",
+ "isComposite": false,
+ "isPartOfComposite": true
+ },
+ {
+ "name": "down",
+ "id": "2db08d65-c5fb-421b-983f-c71163608d67",
+ "path": "/leftStick/down",
+ "interactions": "",
+ "processors": "",
+ "groups": ";Gamepad",
+ "action": "Navigate",
+ "isComposite": false,
+ "isPartOfComposite": true
+ },
+ {
+ "name": "down",
+ "id": "58748904-2ea9-4a80-8579-b500e6a76df8",
+ "path": "/rightStick/down",
+ "interactions": "",
+ "processors": "",
+ "groups": ";Gamepad",
+ "action": "Navigate",
+ "isComposite": false,
+ "isPartOfComposite": true
+ },
+ {
+ "name": "left",
+ "id": "8ba04515-75aa-45de-966d-393d9bbd1c14",
+ "path": "/leftStick/left",
+ "interactions": "",
+ "processors": "",
+ "groups": ";Gamepad",
+ "action": "Navigate",
+ "isComposite": false,
+ "isPartOfComposite": true
+ },
+ {
+ "name": "left",
+ "id": "712e721c-bdfb-4b23-a86c-a0d9fcfea921",
+ "path": "/rightStick/left",
+ "interactions": "",
+ "processors": "",
+ "groups": ";Gamepad",
+ "action": "Navigate",
+ "isComposite": false,
+ "isPartOfComposite": true
+ },
+ {
+ "name": "right",
+ "id": "fcd248ae-a788-4676-a12e-f4d81205600b",
+ "path": "/leftStick/right",
+ "interactions": "",
+ "processors": "",
+ "groups": ";Gamepad",
+ "action": "Navigate",
+ "isComposite": false,
+ "isPartOfComposite": true
+ },
+ {
+ "name": "right",
+ "id": "1f04d9bc-c50b-41a1-bfcc-afb75475ec20",
+ "path": "/rightStick/right",
+ "interactions": "",
+ "processors": "",
+ "groups": ";Gamepad",
+ "action": "Navigate",
+ "isComposite": false,
+ "isPartOfComposite": true
+ },
+ {
+ "name": "",
+ "id": "fb8277d4-c5cd-4663-9dc7-ee3f0b506d90",
+ "path": "/dpad",
+ "interactions": "",
+ "processors": "",
+ "groups": ";Gamepad",
+ "action": "Navigate",
+ "isComposite": false,
+ "isPartOfComposite": false
+ },
+ {
+ "name": "Joystick",
+ "id": "e25d9774-381c-4a61-b47c-7b6b299ad9f9",
+ "path": "2DVector",
+ "interactions": "",
+ "processors": "",
+ "groups": "",
+ "action": "Navigate",
+ "isComposite": true,
+ "isPartOfComposite": false
+ },
+ {
+ "name": "up",
+ "id": "3db53b26-6601-41be-9887-63ac74e79d19",
+ "path": "/stick/up",
+ "interactions": "",
+ "processors": "",
+ "groups": "Joystick",
+ "action": "Navigate",
+ "isComposite": false,
+ "isPartOfComposite": true
+ },
+ {
+ "name": "down",
+ "id": "0cb3e13e-3d90-4178-8ae6-d9c5501d653f",
+ "path": "/stick/down",
+ "interactions": "",
+ "processors": "",
+ "groups": "Joystick",
+ "action": "Navigate",
+ "isComposite": false,
+ "isPartOfComposite": true
+ },
+ {
+ "name": "left",
+ "id": "0392d399-f6dd-4c82-8062-c1e9c0d34835",
+ "path": "/stick/left",
+ "interactions": "",
+ "processors": "",
+ "groups": "Joystick",
+ "action": "Navigate",
+ "isComposite": false,
+ "isPartOfComposite": true
+ },
+ {
+ "name": "right",
+ "id": "942a66d9-d42f-43d6-8d70-ecb4ba5363bc",
+ "path": "/stick/right",
+ "interactions": "",
+ "processors": "",
+ "groups": "Joystick",
+ "action": "Navigate",
+ "isComposite": false,
+ "isPartOfComposite": true
+ },
+ {
+ "name": "Keyboard",
+ "id": "ff527021-f211-4c02-933e-5976594c46ed",
+ "path": "2DVector",
+ "interactions": "",
+ "processors": "",
+ "groups": "",
+ "action": "Navigate",
+ "isComposite": true,
+ "isPartOfComposite": false
+ },
+ {
+ "name": "up",
+ "id": "563fbfdd-0f09-408d-aa75-8642c4f08ef0",
+ "path": "/w",
+ "interactions": "",
+ "processors": "",
+ "groups": "Keyboard&Mouse",
+ "action": "Navigate",
+ "isComposite": false,
+ "isPartOfComposite": true
+ },
+ {
+ "name": "up",
+ "id": "eb480147-c587-4a33-85ed-eb0ab9942c43",
+ "path": "/upArrow",
+ "interactions": "",
+ "processors": "",
+ "groups": "Keyboard&Mouse",
+ "action": "Navigate",
+ "isComposite": false,
+ "isPartOfComposite": true
+ },
+ {
+ "name": "down",
+ "id": "2bf42165-60bc-42ca-8072-8c13ab40239b",
+ "path": "/s",
+ "interactions": "",
+ "processors": "",
+ "groups": "Keyboard&Mouse",
+ "action": "Navigate",
+ "isComposite": false,
+ "isPartOfComposite": true
+ },
+ {
+ "name": "down",
+ "id": "85d264ad-e0a0-4565-b7ff-1a37edde51ac",
+ "path": "/downArrow",
+ "interactions": "",
+ "processors": "",
+ "groups": "Keyboard&Mouse",
+ "action": "Navigate",
+ "isComposite": false,
+ "isPartOfComposite": true
+ },
+ {
+ "name": "left",
+ "id": "74214943-c580-44e4-98eb-ad7eebe17902",
+ "path": "/a",
+ "interactions": "",
+ "processors": "",
+ "groups": "Keyboard&Mouse",
+ "action": "Navigate",
+ "isComposite": false,
+ "isPartOfComposite": true
+ },
+ {
+ "name": "left",
+ "id": "cea9b045-a000-445b-95b8-0c171af70a3b",
+ "path": "/leftArrow",
+ "interactions": "",
+ "processors": "",
+ "groups": "Keyboard&Mouse",
+ "action": "Navigate",
+ "isComposite": false,
+ "isPartOfComposite": true
+ },
+ {
+ "name": "right",
+ "id": "8607c725-d935-4808-84b1-8354e29bab63",
+ "path": "/d",
+ "interactions": "",
+ "processors": "",
+ "groups": "Keyboard&Mouse",
+ "action": "Navigate",
+ "isComposite": false,
+ "isPartOfComposite": true
+ },
+ {
+ "name": "right",
+ "id": "4cda81dc-9edd-4e03-9d7c-a71a14345d0b",
+ "path": "/rightArrow",
+ "interactions": "",
+ "processors": "",
+ "groups": "Keyboard&Mouse",
+ "action": "Navigate",
+ "isComposite": false,
+ "isPartOfComposite": true
+ },
+ {
+ "name": "",
+ "id": "9e92bb26-7e3b-4ec4-b06b-3c8f8e498ddc",
+ "path": "*/{Submit}",
+ "interactions": "",
+ "processors": "",
+ "groups": "Keyboard&Mouse;Gamepad;Touch;Joystick;XR",
+ "action": "Submit",
+ "isComposite": false,
+ "isPartOfComposite": false
+ },
+ {
+ "name": "",
+ "id": "82627dcc-3b13-4ba9-841d-e4b746d6553e",
+ "path": "*/{Cancel}",
+ "interactions": "",
+ "processors": "",
+ "groups": "Keyboard&Mouse;Gamepad;Touch;Joystick;XR",
+ "action": "Cancel",
+ "isComposite": false,
+ "isPartOfComposite": false
+ },
+ {
+ "name": "",
+ "id": "c52c8e0b-8179-41d3-b8a1-d149033bbe86",
+ "path": "/position",
+ "interactions": "",
+ "processors": "",
+ "groups": "Keyboard&Mouse",
+ "action": "Point",
+ "isComposite": false,
+ "isPartOfComposite": false
+ },
+ {
+ "name": "",
+ "id": "e1394cbc-336e-44ce-9ea8-6007ed6193f7",
+ "path": "/position",
+ "interactions": "",
+ "processors": "",
+ "groups": "Keyboard&Mouse",
+ "action": "Point",
+ "isComposite": false,
+ "isPartOfComposite": false
+ },
+ {
+ "name": "",
+ "id": "5693e57a-238a-46ed-b5ae-e64e6e574302",
+ "path": "/touch*/position",
+ "interactions": "",
+ "processors": "",
+ "groups": "Touch",
+ "action": "Point",
+ "isComposite": false,
+ "isPartOfComposite": false
+ },
+ {
+ "name": "",
+ "id": "4faf7dc9-b979-4210-aa8c-e808e1ef89f5",
+ "path": "/leftButton",
+ "interactions": "",
+ "processors": "",
+ "groups": ";Keyboard&Mouse",
+ "action": "Click",
+ "isComposite": false,
+ "isPartOfComposite": false
+ },
+ {
+ "name": "",
+ "id": "8d66d5ba-88d7-48e6-b1cd-198bbfef7ace",
+ "path": "/tip",
+ "interactions": "",
+ "processors": "",
+ "groups": ";Keyboard&Mouse",
+ "action": "Click",
+ "isComposite": false,
+ "isPartOfComposite": false
+ },
+ {
+ "name": "",
+ "id": "47c2a644-3ebc-4dae-a106-589b7ca75b59",
+ "path": "/touch*/press",
+ "interactions": "",
+ "processors": "",
+ "groups": "Touch",
+ "action": "Click",
+ "isComposite": false,
+ "isPartOfComposite": false
+ },
+ {
+ "name": "",
+ "id": "bb9e6b34-44bf-4381-ac63-5aa15d19f677",
+ "path": "/trigger",
+ "interactions": "",
+ "processors": "",
+ "groups": "XR",
+ "action": "Click",
+ "isComposite": false,
+ "isPartOfComposite": false
+ },
+ {
+ "name": "",
+ "id": "38c99815-14ea-4617-8627-164d27641299",
+ "path": "/scroll",
+ "interactions": "",
+ "processors": "",
+ "groups": ";Keyboard&Mouse",
+ "action": "ScrollWheel",
+ "isComposite": false,
+ "isPartOfComposite": false
+ },
+ {
+ "name": "",
+ "id": "4c191405-5738-4d4b-a523-c6a301dbf754",
+ "path": "/rightButton",
+ "interactions": "",
+ "processors": "",
+ "groups": "Keyboard&Mouse",
+ "action": "RightClick",
+ "isComposite": false,
+ "isPartOfComposite": false
+ },
+ {
+ "name": "",
+ "id": "24066f69-da47-44f3-a07e-0015fb02eb2e",
+ "path": "/middleButton",
+ "interactions": "",
+ "processors": "",
+ "groups": "Keyboard&Mouse",
+ "action": "MiddleClick",
+ "isComposite": false,
+ "isPartOfComposite": false
+ },
+ {
+ "name": "",
+ "id": "7236c0d9-6ca3-47cf-a6ee-a97f5b59ea77",
+ "path": "/devicePosition",
+ "interactions": "",
+ "processors": "",
+ "groups": "XR",
+ "action": "TrackedDevicePosition",
+ "isComposite": false,
+ "isPartOfComposite": false
+ },
+ {
+ "name": "",
+ "id": "23e01e3a-f935-4948-8d8b-9bcac77714fb",
+ "path": "/deviceRotation",
+ "interactions": "",
+ "processors": "",
+ "groups": "XR",
+ "action": "TrackedDeviceOrientation",
+ "isComposite": false,
+ "isPartOfComposite": false
+ }
+ ]
+ }
+ ],
+ "controlSchemes": [
+ {
+ "name": "Keyboard&Mouse",
+ "bindingGroup": "Keyboard&Mouse",
+ "devices": [
+ {
+ "devicePath": "",
+ "isOptional": false,
+ "isOR": false
+ },
+ {
+ "devicePath": "",
+ "isOptional": false,
+ "isOR": false
+ }
+ ]
+ },
+ {
+ "name": "Gamepad",
+ "bindingGroup": "Gamepad",
+ "devices": [
+ {
+ "devicePath": "",
+ "isOptional": false,
+ "isOR": false
+ }
+ ]
+ },
+ {
+ "name": "Touch",
+ "bindingGroup": "Touch",
+ "devices": [
+ {
+ "devicePath": "",
+ "isOptional": false,
+ "isOR": false
+ }
+ ]
+ },
+ {
+ "name": "Joystick",
+ "bindingGroup": "Joystick",
+ "devices": [
+ {
+ "devicePath": "",
+ "isOptional": false,
+ "isOR": false
+ }
+ ]
+ },
+ {
+ "name": "XR",
+ "bindingGroup": "XR",
+ "devices": [
+ {
+ "devicePath": "",
+ "isOptional": false,
+ "isOR": false
+ }
+ ]
+ }
+ ]
+}
\ No newline at end of file
diff --git a/Assets/InputSystem_Actions.inputactions.meta b/Assets/InputSystem_Actions.inputactions.meta
new file mode 100644
index 0000000..6b38b04
--- /dev/null
+++ b/Assets/InputSystem_Actions.inputactions.meta
@@ -0,0 +1,14 @@
+fileFormatVersion: 2
+guid: 052faaac586de48259a63d0c4782560b
+ScriptedImporter:
+ internalIDToNameTable: []
+ externalObjects: {}
+ serializedVersion: 2
+ userData:
+ assetBundleName:
+ assetBundleVariant:
+ script: {fileID: 11500000, guid: 8404be70184654265930450def6a9037, type: 3}
+ generateWrapperCode: 0
+ wrapperCodePath:
+ wrapperClassName:
+ wrapperCodeNamespace:
diff --git a/Assets/Plugins.meta b/Assets/Plugins.meta
new file mode 100644
index 0000000..b569e21
--- /dev/null
+++ b/Assets/Plugins.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: da2e702935dac4bde998bcc916e7ab32
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Plugins/Android.meta b/Assets/Plugins/Android.meta
new file mode 100644
index 0000000..b441760
--- /dev/null
+++ b/Assets/Plugins/Android.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 71f8d78e874874462a38bd7ea390a32f
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Plugins/Android/AndroidManifest.xml b/Assets/Plugins/Android/AndroidManifest.xml
new file mode 100644
index 0000000..9ba78bf
--- /dev/null
+++ b/Assets/Plugins/Android/AndroidManifest.xml
@@ -0,0 +1,38 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Assets/Plugins/Android/AndroidManifest.xml.meta b/Assets/Plugins/Android/AndroidManifest.xml.meta
new file mode 100644
index 0000000..0bf6bd3
--- /dev/null
+++ b/Assets/Plugins/Android/AndroidManifest.xml.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: b5c2590577fcf4b6790f202615e4305c
+TextScriptImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Plugins/Android/jp.meta b/Assets/Plugins/Android/jp.meta
new file mode 100644
index 0000000..4bd561b
--- /dev/null
+++ b/Assets/Plugins/Android/jp.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 610f1a4affe7b4a639411e987dac0f12
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Plugins/Android/jp/yourname.meta b/Assets/Plugins/Android/jp/yourname.meta
new file mode 100644
index 0000000..4d8fd71
--- /dev/null
+++ b/Assets/Plugins/Android/jp/yourname.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: f88074413f6fc4496b0137c7932a6b44
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Plugins/Android/jp/yourname/unity.meta b/Assets/Plugins/Android/jp/yourname/unity.meta
new file mode 100644
index 0000000..b3d5804
--- /dev/null
+++ b/Assets/Plugins/Android/jp/yourname/unity.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 6c59ea3aca4f44d53905873ed3b0b2d9
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Plugins/Android/jp/yourname/unity/nativeshare.meta b/Assets/Plugins/Android/jp/yourname/unity/nativeshare.meta
new file mode 100644
index 0000000..8d88d3e
--- /dev/null
+++ b/Assets/Plugins/Android/jp/yourname/unity/nativeshare.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 061b9862a51924ae483211b22a86e662
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Plugins/Android/jp/yourname/unity/nativeshare/NativeShareBridge.java b/Assets/Plugins/Android/jp/yourname/unity/nativeshare/NativeShareBridge.java
new file mode 100644
index 0000000..4a836df
--- /dev/null
+++ b/Assets/Plugins/Android/jp/yourname/unity/nativeshare/NativeShareBridge.java
@@ -0,0 +1,199 @@
+package jp.yourname.unity.nativeshare;
+
+import android.app.Activity;
+import android.content.ClipData;
+import android.content.ContentResolver;
+import android.content.ContentValues;
+import android.content.Intent;
+import android.net.Uri;
+import android.os.Build;
+import android.os.Environment;
+import android.provider.MediaStore;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.InputStream;
+import java.io.OutputStream;
+
+public class NativeShareBridge
+{
+ public static void shareImage(
+ final Activity activity,
+ final String filePath,
+ final String text,
+ final String subject
+ )
+ {
+ if (activity == null)
+ {
+ return;
+ }
+
+ activity.runOnUiThread(new Runnable()
+ {
+ @Override
+ public void run()
+ {
+ try
+ {
+ if (filePath == null || filePath.length() == 0)
+ {
+ return;
+ }
+
+ File file = new File(filePath);
+
+ if (!file.exists())
+ {
+ return;
+ }
+
+ Uri uri = NativeShareFileProvider.getUriForFile(activity, file);
+
+ Intent shareIntent = new Intent(Intent.ACTION_SEND);
+ shareIntent.setType("image/png");
+ shareIntent.putExtra(Intent.EXTRA_STREAM, uri);
+
+ if (text != null && text.length() > 0)
+ {
+ shareIntent.putExtra(Intent.EXTRA_TEXT, text);
+ }
+
+ if (subject != null && subject.length() > 0)
+ {
+ shareIntent.putExtra(Intent.EXTRA_SUBJECT, subject);
+ }
+
+ shareIntent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
+
+ shareIntent.setClipData(
+ ClipData.newUri(
+ activity.getContentResolver(),
+ file.getName(),
+ uri
+ )
+ );
+
+ String chooserTitle =
+ subject != null && subject.length() > 0
+ ? subject
+ : "Share";
+
+ Intent chooser = Intent.createChooser(shareIntent, chooserTitle);
+
+ activity.startActivity(chooser);
+ }
+ catch (Exception e)
+ {
+ e.printStackTrace();
+ }
+ }
+ });
+ }
+
+ public static void saveImageToGallery(
+ final Activity activity,
+ final String filePath,
+ final String displayName
+ )
+ {
+ if (activity == null)
+ {
+ return;
+ }
+
+ activity.runOnUiThread(new Runnable()
+ {
+ @Override
+ public void run()
+ {
+ try
+ {
+ if (filePath == null || filePath.length() == 0)
+ {
+ return;
+ }
+
+ File file = new File(filePath);
+
+ if (!file.exists())
+ {
+ return;
+ }
+
+ String name =
+ displayName != null && displayName.length() > 0
+ ? displayName
+ : file.getName();
+
+ ContentResolver resolver = activity.getContentResolver();
+
+ ContentValues values = new ContentValues();
+ values.put(MediaStore.Images.Media.DISPLAY_NAME, name);
+ values.put(MediaStore.Images.Media.MIME_TYPE, "image/png");
+
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q)
+ {
+ values.put(
+ MediaStore.Images.Media.RELATIVE_PATH,
+ Environment.DIRECTORY_PICTURES
+ );
+ values.put(MediaStore.Images.Media.IS_PENDING, 1);
+ }
+
+ Uri uri = resolver.insert(
+ MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
+ values
+ );
+
+ if (uri == null)
+ {
+ return;
+ }
+
+ OutputStream out = null;
+ InputStream in = null;
+
+ try
+ {
+ out = resolver.openOutputStream(uri);
+ in = new FileInputStream(file);
+
+ byte[] buffer = new byte[8192];
+ int length;
+
+ while ((length = in.read(buffer)) > 0)
+ {
+ out.write(buffer, 0, length);
+ }
+
+ out.flush();
+ }
+ finally
+ {
+ if (in != null)
+ {
+ in.close();
+ }
+
+ if (out != null)
+ {
+ out.close();
+ }
+ }
+
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q)
+ {
+ values.clear();
+ values.put(MediaStore.Images.Media.IS_PENDING, 0);
+ resolver.update(uri, values, null, null);
+ }
+ }
+ catch (Exception e)
+ {
+ e.printStackTrace();
+ }
+ }
+ });
+ }
+}
\ No newline at end of file
diff --git a/Assets/Plugins/Android/jp/yourname/unity/nativeshare/NativeShareBridge.java.meta b/Assets/Plugins/Android/jp/yourname/unity/nativeshare/NativeShareBridge.java.meta
new file mode 100644
index 0000000..52d265e
--- /dev/null
+++ b/Assets/Plugins/Android/jp/yourname/unity/nativeshare/NativeShareBridge.java.meta
@@ -0,0 +1,2 @@
+fileFormatVersion: 2
+guid: 91f684ffb946d402fa17a9827e6b4c5e
\ No newline at end of file
diff --git a/Assets/Plugins/Android/jp/yourname/unity/nativeshare/NativeShareFileProvider.java b/Assets/Plugins/Android/jp/yourname/unity/nativeshare/NativeShareFileProvider.java
new file mode 100644
index 0000000..2387eef
--- /dev/null
+++ b/Assets/Plugins/Android/jp/yourname/unity/nativeshare/NativeShareFileProvider.java
@@ -0,0 +1,231 @@
+package jp.yourname.unity.nativeshare;
+
+import android.content.ContentProvider;
+import android.content.ContentValues;
+import android.content.Context;
+import android.database.Cursor;
+import android.database.MatrixCursor;
+import android.net.Uri;
+import android.os.ParcelFileDescriptor;
+import android.provider.OpenableColumns;
+import android.text.TextUtils;
+import android.webkit.MimeTypeMap;
+
+import java.io.File;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+
+public class NativeShareFileProvider extends ContentProvider
+{
+ public static Uri getUriForFile(Context context, File file) throws IOException
+ {
+ File canonicalFile = file.getCanonicalFile();
+
+ if (!isFileInAllowedDir(context, canonicalFile))
+ {
+ throw new SecurityException("許可されていない場所のファイルです: " + canonicalFile);
+ }
+
+ String authority = context.getPackageName() + ".native_share_fileprovider";
+
+ return new Uri.Builder()
+ .scheme("content")
+ .authority(authority)
+ .appendPath("share")
+ .appendQueryParameter("path", canonicalFile.getAbsolutePath())
+ .build();
+ }
+
+ private static boolean isFileInAllowedDir(Context context, File file) throws IOException
+ {
+ String filePath = file.getCanonicalPath();
+
+ File[] allowedRoots = new File[]
+ {
+ context.getCacheDir(),
+ context.getFilesDir(),
+ context.getExternalCacheDir()
+ };
+
+ for (File root : allowedRoots)
+ {
+ if (root == null)
+ {
+ continue;
+ }
+
+ String rootPath = root.getCanonicalPath();
+
+ if (filePath.equals(rootPath) || filePath.startsWith(rootPath + File.separator))
+ {
+ return true;
+ }
+ }
+
+ return false;
+ }
+
+ private File getFileForUri(Uri uri) throws IOException
+ {
+ Context context = getContext();
+
+ if (context == null)
+ {
+ throw new IOException("Context が取得できません。");
+ }
+
+ String path = uri.getQueryParameter("path");
+
+ if (TextUtils.isEmpty(path))
+ {
+ throw new FileNotFoundException("path が空です。");
+ }
+
+ File file = new File(path).getCanonicalFile();
+
+ if (!isFileInAllowedDir(context, file))
+ {
+ throw new SecurityException("許可されていないファイルパスです: " + file);
+ }
+
+ if (!file.exists())
+ {
+ throw new FileNotFoundException("ファイルが存在しません: " + file);
+ }
+
+ return file;
+ }
+
+ @Override
+ public boolean onCreate()
+ {
+ return true;
+ }
+
+ @Override
+ public String getType(Uri uri)
+ {
+ try
+ {
+ File file = getFileForUri(uri);
+ String name = file.getName();
+
+ int dotIndex = name.lastIndexOf('.');
+
+ if (dotIndex >= 0 && dotIndex < name.length() - 1)
+ {
+ String extension = name.substring(dotIndex + 1).toLowerCase();
+ String mimeType =
+ MimeTypeMap.getSingleton().getMimeTypeFromExtension(extension);
+
+ if (mimeType != null)
+ {
+ return mimeType;
+ }
+ }
+ }
+ catch (Exception ignored)
+ {
+ }
+
+ return "application/octet-stream";
+ }
+
+ @Override
+ public ParcelFileDescriptor openFile(Uri uri, String mode) throws FileNotFoundException
+ {
+ if (mode != null && !mode.equals("r") && !mode.equals("rt"))
+ {
+ throw new FileNotFoundException("読み取り専用です。");
+ }
+
+ try
+ {
+ File file = getFileForUri(uri);
+
+ return ParcelFileDescriptor.open(
+ file,
+ ParcelFileDescriptor.MODE_READ_ONLY
+ );
+ }
+ catch (IOException e)
+ {
+ throw new FileNotFoundException(e.getMessage());
+ }
+ }
+
+ @Override
+ public Cursor query(
+ Uri uri,
+ String[] projection,
+ String selection,
+ String[] selectionArgs,
+ String sortOrder
+ )
+ {
+ try
+ {
+ File file = getFileForUri(uri);
+
+ String[] columns = projection;
+
+ if (columns == null)
+ {
+ columns = new String[]
+ {
+ OpenableColumns.DISPLAY_NAME,
+ OpenableColumns.SIZE
+ };
+ }
+
+ Object[] values = new Object[columns.length];
+
+ for (int i = 0; i < columns.length; i++)
+ {
+ if (OpenableColumns.DISPLAY_NAME.equals(columns[i]))
+ {
+ values[i] = file.getName();
+ }
+ else if (OpenableColumns.SIZE.equals(columns[i]))
+ {
+ values[i] = file.length();
+ }
+ else
+ {
+ values[i] = null;
+ }
+ }
+
+ MatrixCursor cursor = new MatrixCursor(columns, 1);
+ cursor.addRow(values);
+ return cursor;
+ }
+ catch (Exception e)
+ {
+ return null;
+ }
+ }
+
+ @Override
+ public Uri insert(Uri uri, ContentValues values)
+ {
+ return null;
+ }
+
+ @Override
+ public int delete(Uri uri, String selection, String[] selectionArgs)
+ {
+ return 0;
+ }
+
+ @Override
+ public int update(
+ Uri uri,
+ ContentValues values,
+ String selection,
+ String[] selectionArgs
+ )
+ {
+ return 0;
+ }
+}
\ No newline at end of file
diff --git a/Assets/Plugins/Android/jp/yourname/unity/nativeshare/NativeShareFileProvider.java.meta b/Assets/Plugins/Android/jp/yourname/unity/nativeshare/NativeShareFileProvider.java.meta
new file mode 100644
index 0000000..1a4d414
--- /dev/null
+++ b/Assets/Plugins/Android/jp/yourname/unity/nativeshare/NativeShareFileProvider.java.meta
@@ -0,0 +1,2 @@
+fileFormatVersion: 2
+guid: 45b951edcbe0f4d3fb0d3c657daad36f
\ No newline at end of file
diff --git a/Assets/Plugins/Android/jp/yourname/unity/nativeshare/Please change this directory path to match your package name..txt b/Assets/Plugins/Android/jp/yourname/unity/nativeshare/Please change this directory path to match your package name..txt
new file mode 100644
index 0000000..021b65d
--- /dev/null
+++ b/Assets/Plugins/Android/jp/yourname/unity/nativeshare/Please change this directory path to match your package name..txt
@@ -0,0 +1 @@
+パッケージ名に合わせてこのディレクトリのパスは変更してください
\ No newline at end of file
diff --git a/Assets/Plugins/Android/jp/yourname/unity/nativeshare/Please change this directory path to match your package name..txt.meta b/Assets/Plugins/Android/jp/yourname/unity/nativeshare/Please change this directory path to match your package name..txt.meta
new file mode 100644
index 0000000..578ebcb
--- /dev/null
+++ b/Assets/Plugins/Android/jp/yourname/unity/nativeshare/Please change this directory path to match your package name..txt.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 1764d38227db645198bed9bdf9e11bcd
+TextScriptImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Plugins/iOS.meta b/Assets/Plugins/iOS.meta
new file mode 100644
index 0000000..dc095c5
--- /dev/null
+++ b/Assets/Plugins/iOS.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: c2e32792928774d249c5ae843cb49692
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Plugins/iOS/NativeShareBridge.mm b/Assets/Plugins/iOS/NativeShareBridge.mm
new file mode 100644
index 0000000..afaf1ca
--- /dev/null
+++ b/Assets/Plugins/iOS/NativeShareBridge.mm
@@ -0,0 +1,235 @@
+#import
+
+static NSString* NativeShareMakeString(const char* cString)
+{
+ if (cString == NULL)
+ {
+ return @"";
+ }
+
+ return [NSString stringWithUTF8String:cString];
+}
+
+static UIViewController* NativeShareGetTopViewController()
+{
+ UIWindow* keyWindow = nil;
+
+ if (@available(iOS 13.0, *))
+ {
+ NSSet* scenes = [UIApplication sharedApplication].connectedScenes;
+
+ for (UIScene* scene in scenes)
+ {
+ if (scene.activationState == UISceneActivationStateForegroundActive &&
+ [scene isKindOfClass:[UIWindowScene class]])
+ {
+ UIWindowScene* windowScene = (UIWindowScene*)scene;
+
+ for (UIWindow* window in windowScene.windows)
+ {
+ if (window.isKeyWindow)
+ {
+ keyWindow = window;
+ break;
+ }
+ }
+ }
+
+ if (keyWindow != nil)
+ {
+ break;
+ }
+ }
+ }
+
+ if (keyWindow == nil)
+ {
+ keyWindow = [UIApplication sharedApplication].keyWindow;
+ }
+
+ if (keyWindow == nil)
+ {
+ return nil;
+ }
+
+ UIViewController* controller = keyWindow.rootViewController;
+
+ while (controller.presentedViewController != nil)
+ {
+ controller = controller.presentedViewController;
+ }
+
+ return controller;
+}
+
+// プレビューを開いた時点で先に作っておく共有シート(初回の遅延対策)
+static UIActivityViewController* gPrewarmedActivityVC = nil;
+static NSString* gPrewarmedPath = nil;
+
+static UIActivityViewController* NativeShareBuildActivityVC(
+ NSString* pathString,
+ NSString* textString,
+ NSString* subjectString
+)
+{
+ NSMutableArray* items = [NSMutableArray array];
+
+ UIImage* image = nil;
+
+ if (pathString.length > 0 &&
+ [[NSFileManager defaultManager] fileExistsAtPath:pathString])
+ {
+ image = [UIImage imageWithContentsOfFile:pathString];
+ }
+
+ if (image != nil)
+ {
+ // iOSで「画像を保存」を出すため、テキストを混ぜず UIImage だけを渡す。
+ [items addObject:image];
+ }
+ else
+ {
+ // 画像化できなかった場合だけテキストを共有する
+ if (textString.length > 0)
+ {
+ [items addObject:textString];
+ }
+
+ if (pathString.length > 0 &&
+ [[NSFileManager defaultManager] fileExistsAtPath:pathString])
+ {
+ [items addObject:[NSURL fileURLWithPath:pathString]];
+ }
+ }
+
+ if (items.count == 0)
+ {
+ return nil;
+ }
+
+ UIActivityViewController* vc =
+ [[UIActivityViewController alloc]
+ initWithActivityItems:items
+ applicationActivities:nil];
+
+ if (subjectString.length > 0)
+ {
+ [vc setValue:subjectString forKey:@"subject"];
+ }
+
+ return vc;
+}
+
+static void NativeSharePresent(UIActivityViewController* vc)
+{
+ if (vc == nil)
+ {
+ return;
+ }
+
+ UIViewController* controller = NativeShareGetTopViewController();
+
+ if (controller == nil)
+ {
+ return;
+ }
+
+ UIPopoverPresentationController* popover = vc.popoverPresentationController;
+
+ if (popover != nil)
+ {
+ popover.sourceView = controller.view;
+ popover.sourceRect = CGRectMake(
+ controller.view.bounds.size.width * 0.5,
+ controller.view.bounds.size.height * 0.5,
+ 1,
+ 1
+ );
+ popover.permittedArrowDirections = 0;
+ }
+
+ [controller presentViewController:vc animated:YES completion:nil];
+}
+
+extern "C"
+{
+ // 共有シートを先に生成しておく(プレビュー表示時に呼ぶ想定)。
+ void _NativeShareBridge_PrewarmShare(
+ const char* filePath,
+ const char* text,
+ const char* subject
+ )
+ {
+ NSString* pathString = NativeShareMakeString(filePath);
+ NSString* textString = NativeShareMakeString(text);
+ NSString* subjectString = NativeShareMakeString(subject);
+
+ dispatch_async(dispatch_get_main_queue(), ^
+ {
+ gPrewarmedActivityVC =
+ NativeShareBuildActivityVC(pathString, textString, subjectString);
+ gPrewarmedPath = pathString;
+ });
+ }
+
+ void _NativeShareBridge_ShareImage(
+ const char* filePath,
+ const char* text,
+ const char* subject
+ )
+ {
+ NSString* pathString = NativeShareMakeString(filePath);
+ NSString* textString = NativeShareMakeString(text);
+ NSString* subjectString = NativeShareMakeString(subject);
+
+ dispatch_async(dispatch_get_main_queue(), ^
+ {
+ UIActivityViewController* vc = nil;
+
+ // プレビューで先に作っておいたものがあれば再利用する
+ if (gPrewarmedActivityVC != nil &&
+ gPrewarmedPath != nil &&
+ [gPrewarmedPath isEqualToString:pathString])
+ {
+ vc = gPrewarmedActivityVC;
+ }
+
+ gPrewarmedActivityVC = nil;
+ gPrewarmedPath = nil;
+
+ if (vc == nil)
+ {
+ vc = NativeShareBuildActivityVC(pathString, textString, subjectString);
+ }
+
+ NativeSharePresent(vc);
+ });
+ }
+
+ void _NativeShareBridge_SaveImageToGallery(const char* filePath)
+ {
+ NSString* pathString = NativeShareMakeString(filePath);
+
+ dispatch_async(dispatch_get_main_queue(), ^
+ {
+ if (pathString.length == 0 ||
+ ![[NSFileManager defaultManager] fileExistsAtPath:pathString])
+ {
+ NSLog(@"NativeShareBridge: 保存対象のファイルがありません: %@", pathString);
+ return;
+ }
+
+ UIImage* image = [UIImage imageWithContentsOfFile:pathString];
+
+ if (image == nil)
+ {
+ NSLog(@"NativeShareBridge: 画像を読み込めませんでした: %@", pathString);
+ return;
+ }
+
+ // カメラロールへ保存する。
+ // Info.plist に NSPhotoLibraryAddUsageDescription が必要。
+ UIImageWriteToSavedPhotosAlbum(image, nil, nil, nil);
+ });
+ }
+}
diff --git a/Assets/Plugins/iOS/NativeShareBridge.mm.meta b/Assets/Plugins/iOS/NativeShareBridge.mm.meta
new file mode 100644
index 0000000..6915c8c
--- /dev/null
+++ b/Assets/Plugins/iOS/NativeShareBridge.mm.meta
@@ -0,0 +1,2 @@
+fileFormatVersion: 2
+guid: aaf777e0f5c934389997ef7c90654413
\ No newline at end of file
diff --git a/Assets/Readme.asset b/Assets/Readme.asset
new file mode 100644
index 0000000..77c2f83
--- /dev/null
+++ b/Assets/Readme.asset
@@ -0,0 +1,34 @@
+%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: fcf7219bab7fe46a1ad266029b2fee19, type: 3}
+ m_Name: Readme
+ m_EditorClassIdentifier:
+ icon: {fileID: 2800000, guid: 727a75301c3d24613a3ebcec4a24c2c8, type: 3}
+ title: URP Empty Template
+ sections:
+ - heading: Welcome to the Universal Render Pipeline
+ text: This template includes the settings and assets you need to start creating with the Universal Render Pipeline.
+ linkText:
+ url:
+ - heading: URP Documentation
+ text:
+ linkText: Read more about URP
+ url: https://docs.unity3d.com/Packages/com.unity.render-pipelines.universal@latest
+ - heading: Forums
+ text:
+ linkText: Get answers and support
+ url: https://forum.unity.com/forums/universal-render-pipeline.383/
+ - heading: Report bugs
+ text:
+ linkText: Submit a report
+ url: https://unity3d.com/unity/qa/bug-reporting
+ loadedLayout: 1
diff --git a/Assets/Readme.asset.meta b/Assets/Readme.asset.meta
new file mode 100644
index 0000000..ab3ad45
--- /dev/null
+++ b/Assets/Readme.asset.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 8105016687592461f977c054a80ce2f2
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 0
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Resources.meta b/Assets/Resources.meta
new file mode 100644
index 0000000..8016650
--- /dev/null
+++ b/Assets/Resources.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 4c8f79dbc48694f0ead373a1822fbdec
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Resources/Canvas_preview.prefab b/Assets/Resources/Canvas_preview.prefab
new file mode 100644
index 0000000..b61d197
--- /dev/null
+++ b/Assets/Resources/Canvas_preview.prefab
@@ -0,0 +1,618 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1 &173959856217615685
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 8773233363160564081}
+ - component: {fileID: 922749426862357039}
+ - component: {fileID: 262957201758223906}
+ - component: {fileID: 8629124871775175055}
+ - component: {fileID: 2486148569979577455}
+ m_Layer: 5
+ m_Name: Canvas_preview
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &8773233363160564081
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 173959856217615685}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 0, y: 0, z: 0}
+ m_ConstrainProportionsScale: 0
+ m_Children:
+ - {fileID: 3249298446524973929}
+ - {fileID: 8350788237180271334}
+ m_Father: {fileID: 0}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 0, y: 0}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0, y: 0}
+--- !u!223 &922749426862357039
+Canvas:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 173959856217615685}
+ m_Enabled: 1
+ serializedVersion: 3
+ m_RenderMode: 0
+ m_Camera: {fileID: 0}
+ m_PlaneDistance: 100
+ m_PixelPerfect: 0
+ m_ReceivesEvents: 1
+ m_OverrideSorting: 0
+ m_OverridePixelPerfect: 0
+ m_SortingBucketNormalizedSize: 0
+ m_VertexColorAlwaysGammaSpace: 0
+ m_AdditionalShaderChannelsFlag: 0
+ m_UpdateRectTransformForStandalone: 0
+ m_SortingLayerID: 0
+ m_SortingOrder: 1
+ m_TargetDisplay: 0
+--- !u!114 &262957201758223906
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 173959856217615685}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3}
+ m_Name:
+ m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.CanvasScaler
+ m_UiScaleMode: 1
+ m_ReferencePixelsPerUnit: 100
+ m_ScaleFactor: 1
+ m_ReferenceResolution: {x: 1170, y: 2532}
+ m_ScreenMatchMode: 0
+ m_MatchWidthOrHeight: 0
+ m_PhysicalUnit: 3
+ m_FallbackScreenDPI: 96
+ m_DefaultSpriteDPI: 96
+ m_DynamicPixelsPerUnit: 1
+ m_PresetInfoIsWorld: 0
+--- !u!114 &8629124871775175055
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 173959856217615685}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3}
+ m_Name:
+ m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.GraphicRaycaster
+ m_IgnoreReversedGraphics: 1
+ m_BlockingObjects: 0
+ m_BlockingMask:
+ serializedVersion: 2
+ m_Bits: 4294967295
+--- !u!114 &2486148569979577455
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 173959856217615685}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 558efcbf63fcc46c6ac404d57c8ead9b, type: 3}
+ m_Name:
+ m_EditorClassIdentifier: '::'
+ previewImage: {fileID: 5623753515540041031}
+ saveButton: {fileID: 6748653881351865504}
+ shareButton: {fileID: 6566498740672178964}
+ frameSprite: {fileID: 21300000, guid: 858b16a99221a4f74af056c1a298e6b7, type: 3}
+ cropPhotoToFrame: 1
+ cardMarginX: 0.04
+ cardTopAnchor: 0.97
+ cardBottomAnchor: 0.2
+--- !u!1 &2314482956184012852
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 503152893901287389}
+ - component: {fileID: 8175981547704043284}
+ - component: {fileID: 2007036979105195294}
+ - component: {fileID: 6748653881351865504}
+ m_Layer: 5
+ m_Name: btn_save
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &503152893901287389
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2314482956184012852}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 8350788237180271334}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 0, y: 0}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &8175981547704043284
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2314482956184012852}
+ m_CullTransparentMesh: 1
+--- !u!114 &2007036979105195294
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2314482956184012852}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 21300000, guid: 8b9c75bc2f9fc4d22832b0c82e67da6e, type: 3}
+ m_Type: 0
+ m_PreserveAspect: 1
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!114 &6748653881351865504
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2314482956184012852}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
+ m_Name:
+ m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Button
+ m_Navigation:
+ m_Mode: 3
+ m_WrapAround: 0
+ m_SelectOnUp: {fileID: 0}
+ m_SelectOnDown: {fileID: 0}
+ m_SelectOnLeft: {fileID: 0}
+ m_SelectOnRight: {fileID: 0}
+ m_Transition: 1
+ m_Colors:
+ m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+ m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+ m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+ m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+ m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
+ m_ColorMultiplier: 1
+ m_FadeDuration: 0.1
+ m_SpriteState:
+ m_HighlightedSprite: {fileID: 0}
+ m_PressedSprite: {fileID: 0}
+ m_SelectedSprite: {fileID: 0}
+ m_DisabledSprite: {fileID: 0}
+ m_AnimationTriggers:
+ m_NormalTrigger: Normal
+ m_HighlightedTrigger: Highlighted
+ m_PressedTrigger: Pressed
+ m_SelectedTrigger: Selected
+ m_DisabledTrigger: Disabled
+ m_Interactable: 1
+ m_TargetGraphic: {fileID: 2007036979105195294}
+ m_OnClick:
+ m_PersistentCalls:
+ m_Calls: []
+--- !u!1 &3869112859915378469
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 3249298446524973929}
+ - component: {fileID: 80529838950850951}
+ - component: {fileID: 3451375397756810237}
+ m_Layer: 5
+ m_Name: Bg
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &3249298446524973929
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 3869112859915378469}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children:
+ - {fileID: 2705493077205923791}
+ m_Father: {fileID: 8773233363160564081}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &80529838950850951
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 3869112859915378469}
+ m_CullTransparentMesh: 1
+--- !u!114 &3451375397756810237
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 3869112859915378469}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image
+ m_Material: {fileID: 0}
+ m_Color: {r: 0, g: 0, b: 0, a: 0.80784315}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 0}
+ m_Type: 0
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!1 &7515525876807326733
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 225867778339143523}
+ - component: {fileID: 4200477936758919197}
+ - component: {fileID: 4278202960312122755}
+ - component: {fileID: 6566498740672178964}
+ m_Layer: 5
+ m_Name: btn_share
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &225867778339143523
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7515525876807326733}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 8350788237180271334}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 0, y: 0}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &4200477936758919197
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7515525876807326733}
+ m_CullTransparentMesh: 1
+--- !u!114 &4278202960312122755
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7515525876807326733}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 21300000, guid: 4e28e1a5c57df4871aada0e1983ab048, type: 3}
+ m_Type: 0
+ m_PreserveAspect: 1
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!114 &6566498740672178964
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7515525876807326733}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
+ m_Name:
+ m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Button
+ m_Navigation:
+ m_Mode: 3
+ m_WrapAround: 0
+ m_SelectOnUp: {fileID: 0}
+ m_SelectOnDown: {fileID: 0}
+ m_SelectOnLeft: {fileID: 0}
+ m_SelectOnRight: {fileID: 0}
+ m_Transition: 1
+ m_Colors:
+ m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+ m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+ m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+ m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+ m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
+ m_ColorMultiplier: 1
+ m_FadeDuration: 0.1
+ m_SpriteState:
+ m_HighlightedSprite: {fileID: 0}
+ m_PressedSprite: {fileID: 0}
+ m_SelectedSprite: {fileID: 0}
+ m_DisabledSprite: {fileID: 0}
+ m_AnimationTriggers:
+ m_NormalTrigger: Normal
+ m_HighlightedTrigger: Highlighted
+ m_PressedTrigger: Pressed
+ m_SelectedTrigger: Selected
+ m_DisabledTrigger: Disabled
+ m_Interactable: 1
+ m_TargetGraphic: {fileID: 4278202960312122755}
+ m_OnClick:
+ m_PersistentCalls:
+ m_Calls: []
+--- !u!1 &7531169346363253793
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 8350788237180271334}
+ - component: {fileID: 1106518174238945868}
+ - component: {fileID: 6135132434175949561}
+ - component: {fileID: 6568191395863902908}
+ m_Layer: 5
+ m_Name: Btns
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &8350788237180271334
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7531169346363253793}
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children:
+ - {fileID: 503152893901287389}
+ - {fileID: 225867778339143523}
+ m_Father: {fileID: 8773233363160564081}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 1, y: 0}
+ m_AnchoredPosition: {x: 0, y: 90}
+ m_SizeDelta: {x: 0, y: 360}
+ m_Pivot: {x: 0.5, y: 0}
+--- !u!222 &1106518174238945868
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7531169346363253793}
+ m_CullTransparentMesh: 1
+--- !u!114 &6135132434175949561
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7531169346363253793}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 0}
+ m_RaycastTarget: 0
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 0}
+ m_Type: 0
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!114 &6568191395863902908
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7531169346363253793}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3}
+ m_Name:
+ m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.HorizontalLayoutGroup
+ m_Padding:
+ m_Left: 120
+ m_Right: 120
+ m_Top: 30
+ m_Bottom: 30
+ m_ChildAlignment: 4
+ m_Spacing: 120
+ m_ChildForceExpandWidth: 1
+ m_ChildForceExpandHeight: 1
+ m_ChildControlWidth: 1
+ m_ChildControlHeight: 1
+ m_ChildScaleWidth: 0
+ m_ChildScaleHeight: 0
+ m_ReverseArrangement: 0
+--- !u!1 &8629610705971839721
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 2705493077205923791}
+ - component: {fileID: 8235852186882904071}
+ - component: {fileID: 5623753515540041031}
+ m_Layer: 5
+ m_Name: RawImage
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &2705493077205923791
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8629610705971839721}
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 0.74371, y: 0.74371, z: 0.74371}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 3249298446524973929}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 0, y: 66.71317}
+ m_SizeDelta: {x: 131.9357, y: -463.6274}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &8235852186882904071
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8629610705971839721}
+ m_CullTransparentMesh: 1
+--- !u!114 &5623753515540041031
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8629610705971839721}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 1344c3c82d62a2a41a3576d8abb8e3ea, type: 3}
+ m_Name:
+ m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.RawImage
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Texture: {fileID: 0}
+ m_UVRect:
+ serializedVersion: 2
+ x: 0
+ y: 0
+ width: 1
+ height: 1
diff --git a/Assets/Resources/Canvas_preview.prefab.meta b/Assets/Resources/Canvas_preview.prefab.meta
new file mode 100644
index 0000000..7ab3f47
--- /dev/null
+++ b/Assets/Resources/Canvas_preview.prefab.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: fa348ee73d8b44697a38d2415e80db5c
+PrefabImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Scenes.meta b/Assets/Scenes.meta
new file mode 100644
index 0000000..c6bb2bb
--- /dev/null
+++ b/Assets/Scenes.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: fab2c5c960783400aaaf6e4e166a7282
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Scenes/CameraTest.unity b/Assets/Scenes/CameraTest.unity
new file mode 100644
index 0000000..038a7cb
--- /dev/null
+++ b/Assets/Scenes/CameraTest.unity
@@ -0,0 +1,1144 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!29 &1
+OcclusionCullingSettings:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_OcclusionBakeSettings:
+ smallestOccluder: 5
+ smallestHole: 0.25
+ backfaceThreshold: 100
+ m_SceneGUID: 00000000000000000000000000000000
+ m_OcclusionCullingData: {fileID: 0}
+--- !u!104 &2
+RenderSettings:
+ m_ObjectHideFlags: 0
+ serializedVersion: 10
+ m_Fog: 0
+ m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
+ m_FogMode: 3
+ m_FogDensity: 0.01
+ m_LinearFogStart: 0
+ m_LinearFogEnd: 300
+ m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1}
+ m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1}
+ m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1}
+ m_AmbientIntensity: 1
+ m_AmbientMode: 0
+ m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
+ m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0}
+ m_HaloStrength: 0.5
+ m_FlareStrength: 1
+ m_FlareFadeSpeed: 3
+ m_HaloTexture: {fileID: 0}
+ m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0}
+ m_DefaultReflectionMode: 0
+ m_DefaultReflectionResolution: 128
+ m_ReflectionBounces: 1
+ m_ReflectionIntensity: 1
+ m_CustomReflection: {fileID: 0}
+ m_Sun: {fileID: 0}
+ m_UseRadianceAmbientProbe: 0
+--- !u!157 &3
+LightmapSettings:
+ m_ObjectHideFlags: 0
+ serializedVersion: 13
+ m_BakeOnSceneLoad: 0
+ m_GISettings:
+ serializedVersion: 2
+ m_BounceScale: 1
+ m_IndirectOutputScale: 1
+ m_AlbedoBoost: 1
+ m_EnvironmentLightingMode: 0
+ m_EnableBakedLightmaps: 1
+ m_EnableRealtimeLightmaps: 0
+ m_LightmapEditorSettings:
+ serializedVersion: 12
+ m_Resolution: 2
+ m_BakeResolution: 40
+ m_AtlasSize: 1024
+ m_AO: 0
+ m_AOMaxDistance: 1
+ m_CompAOExponent: 1
+ m_CompAOExponentDirect: 0
+ m_ExtractAmbientOcclusion: 0
+ m_Padding: 2
+ m_LightmapParameters: {fileID: 0}
+ m_LightmapsBakeMode: 1
+ m_TextureCompression: 1
+ m_ReflectionCompression: 2
+ m_MixedBakeMode: 2
+ m_BakeBackend: 1
+ m_PVRSampling: 1
+ m_PVRDirectSampleCount: 32
+ m_PVRSampleCount: 512
+ m_PVRBounces: 2
+ m_PVREnvironmentSampleCount: 256
+ m_PVREnvironmentReferencePointCount: 2048
+ m_PVRFilteringMode: 1
+ m_PVRDenoiserTypeDirect: 1
+ m_PVRDenoiserTypeIndirect: 1
+ m_PVRDenoiserTypeAO: 1
+ m_PVRFilterTypeDirect: 0
+ m_PVRFilterTypeIndirect: 0
+ m_PVRFilterTypeAO: 0
+ m_PVREnvironmentMIS: 1
+ m_PVRCulling: 1
+ m_PVRFilteringGaussRadiusDirect: 1
+ m_PVRFilteringGaussRadiusIndirect: 5
+ m_PVRFilteringGaussRadiusAO: 2
+ m_PVRFilteringAtrousPositionSigmaDirect: 0.5
+ m_PVRFilteringAtrousPositionSigmaIndirect: 2
+ m_PVRFilteringAtrousPositionSigmaAO: 1
+ m_ExportTrainingData: 0
+ m_TrainingDataDestination: TrainingData
+ m_LightProbeSampleCountMultiplier: 4
+ m_LightingDataAsset: {fileID: 20201, guid: 0000000000000000f000000000000000, type: 0}
+ m_LightingSettings: {fileID: 0}
+--- !u!196 &4
+NavMeshSettings:
+ serializedVersion: 2
+ m_ObjectHideFlags: 0
+ m_BuildSettings:
+ serializedVersion: 3
+ agentTypeID: 0
+ agentRadius: 0.5
+ agentHeight: 2
+ agentSlope: 45
+ agentClimb: 0.4
+ ledgeDropHeight: 0
+ maxJumpAcrossDistance: 0
+ minRegionArea: 2
+ manualCellSize: 0
+ cellSize: 0.16666667
+ manualTileSize: 0
+ tileSize: 256
+ buildHeightMesh: 0
+ maxJobWorkers: 0
+ preserveTilesOutsideBounds: 0
+ debug:
+ m_Flags: 0
+ m_NavMeshData: {fileID: 0}
+--- !u!1 &203844586
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 203844589}
+ - component: {fileID: 203844588}
+ - component: {fileID: 203844587}
+ m_Layer: 0
+ m_Name: Directional Light
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!114 &203844587
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 203844586}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 474bcb49853aa07438625e644c072ee6, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_UsePipelineSettings: 1
+ m_AdditionalLightsShadowResolutionTier: 2
+ m_CustomShadowLayers: 0
+ m_LightCookieSize: {x: 1, y: 1}
+ m_LightCookieOffset: {x: 0, y: 0}
+ m_SoftShadowQuality: 0
+ m_RenderingLayersMask:
+ serializedVersion: 0
+ m_Bits: 1
+ m_ShadowRenderingLayersMask:
+ serializedVersion: 0
+ m_Bits: 1
+ m_Version: 4
+ m_LightLayerMask: 1
+ m_ShadowLayerMask: 1
+ m_RenderingLayers: 1
+ m_ShadowRenderingLayers: 1
+--- !u!108 &203844588
+Light:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 203844586}
+ m_Enabled: 1
+ serializedVersion: 12
+ m_Type: 1
+ m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1}
+ m_Intensity: 1
+ m_Range: 10
+ m_SpotAngle: 30
+ m_InnerSpotAngle: 21.80208
+ m_CookieSize2D: {x: 10, y: 10}
+ m_Shadows:
+ m_Type: 2
+ m_Resolution: -1
+ m_CustomResolution: -1
+ m_Strength: 1
+ m_Bias: 0.05
+ m_NormalBias: 0.4
+ m_NearPlane: 0.2
+ m_CullingMatrixOverride:
+ e00: 1
+ e01: 0
+ e02: 0
+ e03: 0
+ e10: 0
+ e11: 1
+ e12: 0
+ e13: 0
+ e20: 0
+ e21: 0
+ e22: 1
+ e23: 0
+ e30: 0
+ e31: 0
+ e32: 0
+ e33: 1
+ m_UseCullingMatrixOverride: 0
+ m_Cookie: {fileID: 0}
+ m_DrawHalo: 0
+ m_Flare: {fileID: 0}
+ m_RenderMode: 0
+ m_CullingMask:
+ serializedVersion: 2
+ m_Bits: 4294967295
+ m_RenderingLayerMask: 1
+ m_Lightmapping: 4
+ m_LightShadowCasterMode: 0
+ m_AreaSize: {x: 1, y: 1}
+ m_BounceIntensity: 1
+ m_ColorTemperature: 6570
+ m_UseColorTemperature: 0
+ m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0}
+ m_UseBoundingSphereOverride: 0
+ m_UseViewFrustumForShadowCasterCull: 1
+ m_ForceVisible: 0
+ m_ShadowRadius: 0
+ m_ShadowAngle: 0
+ m_LightUnit: 1
+ m_LuxAtDistance: 1
+ m_EnableSpotReflector: 1
+--- !u!4 &203844589
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 203844586}
+ serializedVersion: 2
+ m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261}
+ 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_LocalEulerAnglesHint: {x: 50, y: -30, z: 0}
+--- !u!1 &355185322
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 355185323}
+ - component: {fileID: 355185325}
+ - component: {fileID: 355185324}
+ - component: {fileID: 355185327}
+ - component: {fileID: 355185326}
+ - component: {fileID: 355185328}
+ m_Layer: 5
+ m_Name: btn
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &355185323
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 355185322}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1.3385257, y: 1.3385257, z: 1.3385257}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 525329389}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0}
+ m_AnchorMax: {x: 0.5, y: 0}
+ m_AnchoredPosition: {x: 0, y: 1260}
+ m_SizeDelta: {x: 512, y: 512}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &355185324
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 355185322}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 21300000, guid: 6fc2ab1209b2747d9b5c25a3eedc3093, type: 3}
+ m_Type: 0
+ m_PreserveAspect: 1
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!222 &355185325
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 355185322}
+ m_CullTransparentMesh: 1
+--- !u!114 &355185326
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 355185322}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 4ec9fcf5795b1419ead64d2185ac1127, type: 3}
+ m_Name:
+ m_EditorClassIdentifier: '::'
+--- !u!82 &355185327
+AudioSource:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 355185322}
+ m_Enabled: 1
+ serializedVersion: 4
+ OutputAudioMixerGroup: {fileID: 0}
+ m_audioClip: {fileID: 0}
+ m_Resource: {fileID: 8300000, guid: fa18da40051d44b1cb0421e5ed107dac, type: 3}
+ m_PlayOnAwake: 0
+ m_Volume: 1
+ m_Pitch: 1
+ Loop: 0
+ Mute: 0
+ Spatialize: 0
+ SpatializePostEffects: 0
+ Priority: 128
+ DopplerLevel: 1
+ MinDistance: 1
+ MaxDistance: 500
+ Pan2D: 0
+ rolloffMode: 0
+ BypassEffects: 0
+ BypassListenerEffects: 0
+ BypassReverbZones: 0
+ rolloffCustomCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ panLevelCustomCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ spreadCustomCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ reverbZoneMixCustomCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+--- !u!114 &355185328
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 355185322}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
+ m_Name:
+ m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Button
+ m_Navigation:
+ m_Mode: 3
+ m_WrapAround: 0
+ m_SelectOnUp: {fileID: 0}
+ m_SelectOnDown: {fileID: 0}
+ m_SelectOnLeft: {fileID: 0}
+ m_SelectOnRight: {fileID: 0}
+ m_Transition: 1
+ m_Colors:
+ m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+ m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+ m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+ m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+ m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
+ m_ColorMultiplier: 1
+ m_FadeDuration: 0.1
+ m_SpriteState:
+ m_HighlightedSprite: {fileID: 0}
+ m_PressedSprite: {fileID: 0}
+ m_SelectedSprite: {fileID: 0}
+ m_DisabledSprite: {fileID: 0}
+ m_AnimationTriggers:
+ m_NormalTrigger: Normal
+ m_HighlightedTrigger: Highlighted
+ m_PressedTrigger: Pressed
+ m_SelectedTrigger: Selected
+ m_DisabledTrigger: Disabled
+ m_Interactable: 1
+ m_TargetGraphic: {fileID: 355185324}
+ m_OnClick:
+ m_PersistentCalls:
+ m_Calls:
+ - m_Target: {fileID: 525329390}
+ m_TargetAssemblyTypeName: MobileCameraStarter, Assembly-CSharp
+ m_MethodName: CaptureAndShare
+ m_Mode: 1
+ 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
+--- !u!1 &525329385
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 525329389}
+ - component: {fileID: 525329388}
+ - component: {fileID: 525329387}
+ - component: {fileID: 525329386}
+ - component: {fileID: 525329390}
+ m_Layer: 5
+ m_Name: Canvas
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!114 &525329386
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 525329385}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3}
+ m_Name:
+ m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.GraphicRaycaster
+ m_IgnoreReversedGraphics: 1
+ m_BlockingObjects: 0
+ m_BlockingMask:
+ serializedVersion: 2
+ m_Bits: 4294967295
+--- !u!114 &525329387
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 525329385}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3}
+ m_Name:
+ m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.CanvasScaler
+ m_UiScaleMode: 1
+ m_ReferencePixelsPerUnit: 100
+ m_ScaleFactor: 1
+ m_ReferenceResolution: {x: 2532, y: 1170}
+ m_ScreenMatchMode: 0
+ m_MatchWidthOrHeight: 0
+ m_PhysicalUnit: 3
+ m_FallbackScreenDPI: 96
+ m_DefaultSpriteDPI: 96
+ m_DynamicPixelsPerUnit: 1
+ m_PresetInfoIsWorld: 0
+--- !u!223 &525329388
+Canvas:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 525329385}
+ m_Enabled: 1
+ serializedVersion: 3
+ m_RenderMode: 0
+ m_Camera: {fileID: 0}
+ m_PlaneDistance: 100
+ m_PixelPerfect: 0
+ m_ReceivesEvents: 1
+ 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
+--- !u!224 &525329389
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 525329385}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 0, y: 0, z: 0}
+ m_ConstrainProportionsScale: 0
+ m_Children:
+ - {fileID: 958408572}
+ - {fileID: 933225446}
+ - {fileID: 355185323}
+ m_Father: {fileID: 0}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 0, y: 0}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0, y: 0}
+--- !u!114 &525329390
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 525329385}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 735216b038fac472297bbfd536adaf32, type: 3}
+ m_Name:
+ m_EditorClassIdentifier: Assembly-CSharp::MobileCameraStarter
+ cameraView: {fileID: 958408573}
+ shareButtonObject: {fileID: 0}
+ autoAddShareButtonOnClick: 1
+ hideShareButtonWhileCapturing: 1
+ useFrontCamera: 0
+ useRequestedResolution: 1
+ requestedWidth: 1280
+ requestedHeight: 720
+ requestedFPS: 30
+ shareText: "\u30AB\u30E1\u30E9\u753B\u50CF\u3092\u30B7\u30A7\u30A2\u3057\u307E\u3059"
+ shareSubject: Camera Screenshot
+ shareFilePrefix: camera_share
+ canvasPreviewPrefab: {fileID: 173959856217615685, guid: fa348ee73d8b44697a38d2415e80db5c, type: 3}
+ hideWhileCapturing:
+ - {fileID: 355185322}
+--- !u!1 &933225445
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 933225446}
+ - component: {fileID: 933225448}
+ - component: {fileID: 933225447}
+ m_Layer: 5
+ m_Name: Logo
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &933225446
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 933225445}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 525329389}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 1}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 0, y: -1064.9248}
+ m_SizeDelta: {x: 0, y: 2129.85}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &933225447
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 933225445}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 21300000, guid: d00c345f548dd4a34960ef52d64f9601, type: 3}
+ m_Type: 0
+ m_PreserveAspect: 1
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!222 &933225448
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 933225445}
+ m_CullTransparentMesh: 1
+--- !u!1 &958408571
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 958408572}
+ - component: {fileID: 958408574}
+ - component: {fileID: 958408573}
+ m_Layer: 5
+ m_Name: RawImage
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &958408572
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 958408571}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 525329389}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &958408573
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 958408571}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 1344c3c82d62a2a41a3576d8abb8e3ea, type: 3}
+ m_Name:
+ m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.RawImage
+ m_Material: {fileID: 0}
+ m_Color: {r: 0.7924528, g: 0.7924528, b: 0.7924528, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Texture: {fileID: 0}
+ m_UVRect:
+ serializedVersion: 2
+ x: 0
+ y: 0
+ width: 1
+ height: 1
+--- !u!222 &958408574
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 958408571}
+ m_CullTransparentMesh: 1
+--- !u!1 &961739749
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 961739753}
+ - component: {fileID: 961739752}
+ - component: {fileID: 961739751}
+ - component: {fileID: 961739750}
+ m_Layer: 0
+ m_Name: Main Camera
+ m_TagString: MainCamera
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!114 &961739750
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 961739749}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: a79441f348de89743a2939f4d699eac1, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_RenderShadows: 1
+ m_RequiresDepthTextureOption: 2
+ m_RequiresOpaqueTextureOption: 2
+ m_CameraType: 0
+ m_Cameras: []
+ m_RendererIndex: -1
+ m_VolumeLayerMask:
+ serializedVersion: 2
+ m_Bits: 1
+ m_VolumeTrigger: {fileID: 0}
+ m_VolumeFrameworkUpdateModeOption: 2
+ m_RenderPostProcessing: 0
+ m_Antialiasing: 0
+ m_AntialiasingQuality: 2
+ m_StopNaN: 0
+ m_Dithering: 0
+ m_ClearDepth: 1
+ m_AllowXRRendering: 1
+ m_AllowHDROutput: 1
+ m_UseScreenCoordOverride: 0
+ m_ScreenSizeOverride: {x: 0, y: 0, z: 0, w: 0}
+ m_ScreenCoordScaleBias: {x: 0, y: 0, z: 0, w: 0}
+ m_RequiresDepthTexture: 0
+ m_RequiresColorTexture: 0
+ m_TaaSettings:
+ m_Quality: 3
+ m_FrameInfluence: 0.1
+ m_JitterScale: 1
+ m_MipBias: 0
+ m_VarianceClampScale: 0.9
+ m_ContrastAdaptiveSharpening: 0
+ m_Version: 2
+--- !u!81 &961739751
+AudioListener:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 961739749}
+ m_Enabled: 1
+--- !u!20 &961739752
+Camera:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 961739749}
+ m_Enabled: 1
+ serializedVersion: 2
+ m_ClearFlags: 1
+ m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0}
+ 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_NormalizedViewPortRect:
+ serializedVersion: 2
+ x: 0
+ y: 0
+ width: 1
+ height: 1
+ near clip plane: 0.3
+ far clip plane: 1000
+ field of view: 60
+ orthographic: 0
+ orthographic size: 5
+ m_Depth: -1
+ m_CullingMask:
+ serializedVersion: 2
+ m_Bits: 4294967295
+ m_RenderingPath: -1
+ m_TargetTexture: {fileID: 0}
+ m_TargetDisplay: 0
+ m_TargetEye: 3
+ m_HDR: 1
+ m_AllowMSAA: 1
+ m_AllowDynamicResolution: 0
+ m_ForceIntoRT: 0
+ m_OcclusionCulling: 1
+ m_StereoConvergence: 10
+ m_StereoSeparation: 0.022
+--- !u!4 &961739753
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 961739749}
+ serializedVersion: 2
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 1, z: -10}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 0}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &1118405406
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1118405409}
+ - component: {fileID: 1118405408}
+ - component: {fileID: 1118405407}
+ m_Layer: 0
+ m_Name: EventSystem
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!114 &1118405407
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1118405406}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 01614664b831546d2ae94a42149d80ac, type: 3}
+ m_Name:
+ m_EditorClassIdentifier: Unity.InputSystem::UnityEngine.InputSystem.UI.InputSystemUIInputModule
+ m_SendPointerHoverToParent: 1
+ m_MoveRepeatDelay: 0.5
+ m_MoveRepeatRate: 0.1
+ m_XRTrackingOrigin: {fileID: 0}
+ m_ActionsAsset: {fileID: -944628639613478452, guid: ca9f5fa95ffab41fb9a615ab714db018, type: 3}
+ m_PointAction: {fileID: -1654692200621890270, guid: ca9f5fa95ffab41fb9a615ab714db018, type: 3}
+ m_MoveAction: {fileID: -8784545083839296357, guid: ca9f5fa95ffab41fb9a615ab714db018, type: 3}
+ m_SubmitAction: {fileID: 392368643174621059, guid: ca9f5fa95ffab41fb9a615ab714db018, type: 3}
+ m_CancelAction: {fileID: 7727032971491509709, guid: ca9f5fa95ffab41fb9a615ab714db018, type: 3}
+ m_LeftClickAction: {fileID: 3001919216989983466, guid: ca9f5fa95ffab41fb9a615ab714db018, type: 3}
+ m_MiddleClickAction: {fileID: -2185481485913320682, guid: ca9f5fa95ffab41fb9a615ab714db018, type: 3}
+ m_RightClickAction: {fileID: -4090225696740746782, guid: ca9f5fa95ffab41fb9a615ab714db018, type: 3}
+ m_ScrollWheelAction: {fileID: 6240969308177333660, guid: ca9f5fa95ffab41fb9a615ab714db018, type: 3}
+ m_TrackedDevicePositionAction: {fileID: 6564999863303420839, guid: ca9f5fa95ffab41fb9a615ab714db018, type: 3}
+ m_TrackedDeviceOrientationAction: {fileID: 7970375526676320489, guid: ca9f5fa95ffab41fb9a615ab714db018, type: 3}
+ m_DeselectOnBackgroundClick: 1
+ m_PointerBehavior: 0
+ m_CursorLockBehavior: 0
+ m_ScrollDeltaPerTick: 6
+--- !u!114 &1118405408
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1118405406}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 76c392e42b5098c458856cdf6ecaaaa1, type: 3}
+ m_Name:
+ m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.EventSystems.EventSystem
+ m_FirstSelected: {fileID: 0}
+ m_sendNavigationEvents: 1
+ m_DragThreshold: 10
+--- !u!4 &1118405409
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1118405406}
+ serializedVersion: 2
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 0}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1001 &3706498501538935409
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ serializedVersion: 3
+ m_TransformParent: {fileID: 0}
+ m_Modifications:
+ - target: {fileID: 173959856217615685, guid: fa348ee73d8b44697a38d2415e80db5c, type: 3}
+ propertyPath: m_Name
+ value: Canvas_preview
+ objectReference: {fileID: 0}
+ - target: {fileID: 173959856217615685, guid: fa348ee73d8b44697a38d2415e80db5c, type: 3}
+ propertyPath: m_IsActive
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 225867778339143523, guid: fa348ee73d8b44697a38d2415e80db5c, type: 3}
+ propertyPath: m_AnchorMax.y
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 225867778339143523, guid: fa348ee73d8b44697a38d2415e80db5c, type: 3}
+ propertyPath: m_AnchorMin.y
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 225867778339143523, guid: fa348ee73d8b44697a38d2415e80db5c, type: 3}
+ propertyPath: m_SizeDelta.x
+ value: 389.39148
+ objectReference: {fileID: 0}
+ - target: {fileID: 225867778339143523, guid: fa348ee73d8b44697a38d2415e80db5c, type: 3}
+ propertyPath: m_SizeDelta.y
+ value: 300
+ objectReference: {fileID: 0}
+ - target: {fileID: 225867778339143523, guid: fa348ee73d8b44697a38d2415e80db5c, type: 3}
+ propertyPath: m_AnchoredPosition.x
+ value: 855.30426
+ objectReference: {fileID: 0}
+ - target: {fileID: 225867778339143523, guid: fa348ee73d8b44697a38d2415e80db5c, type: 3}
+ propertyPath: m_AnchoredPosition.y
+ value: -180
+ objectReference: {fileID: 0}
+ - target: {fileID: 503152893901287389, guid: fa348ee73d8b44697a38d2415e80db5c, type: 3}
+ propertyPath: m_AnchorMax.y
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 503152893901287389, guid: fa348ee73d8b44697a38d2415e80db5c, type: 3}
+ propertyPath: m_AnchorMin.y
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 503152893901287389, guid: fa348ee73d8b44697a38d2415e80db5c, type: 3}
+ propertyPath: m_SizeDelta.x
+ value: 420.60852
+ objectReference: {fileID: 0}
+ - target: {fileID: 503152893901287389, guid: fa348ee73d8b44697a38d2415e80db5c, type: 3}
+ propertyPath: m_SizeDelta.y
+ value: 300
+ objectReference: {fileID: 0}
+ - target: {fileID: 503152893901287389, guid: fa348ee73d8b44697a38d2415e80db5c, type: 3}
+ propertyPath: m_AnchoredPosition.x
+ value: 330.30426
+ objectReference: {fileID: 0}
+ - target: {fileID: 503152893901287389, guid: fa348ee73d8b44697a38d2415e80db5c, type: 3}
+ propertyPath: m_AnchoredPosition.y
+ value: -180
+ objectReference: {fileID: 0}
+ - target: {fileID: 8773233363160564081, guid: fa348ee73d8b44697a38d2415e80db5c, type: 3}
+ propertyPath: m_Pivot.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 8773233363160564081, guid: fa348ee73d8b44697a38d2415e80db5c, type: 3}
+ propertyPath: m_Pivot.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 8773233363160564081, guid: fa348ee73d8b44697a38d2415e80db5c, type: 3}
+ propertyPath: m_AnchorMax.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 8773233363160564081, guid: fa348ee73d8b44697a38d2415e80db5c, type: 3}
+ propertyPath: m_AnchorMax.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 8773233363160564081, guid: fa348ee73d8b44697a38d2415e80db5c, type: 3}
+ propertyPath: m_AnchorMin.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 8773233363160564081, guid: fa348ee73d8b44697a38d2415e80db5c, type: 3}
+ propertyPath: m_AnchorMin.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 8773233363160564081, guid: fa348ee73d8b44697a38d2415e80db5c, type: 3}
+ propertyPath: m_SizeDelta.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 8773233363160564081, guid: fa348ee73d8b44697a38d2415e80db5c, type: 3}
+ propertyPath: m_SizeDelta.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 8773233363160564081, guid: fa348ee73d8b44697a38d2415e80db5c, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 8773233363160564081, guid: fa348ee73d8b44697a38d2415e80db5c, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 8773233363160564081, guid: fa348ee73d8b44697a38d2415e80db5c, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 8773233363160564081, guid: fa348ee73d8b44697a38d2415e80db5c, type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 8773233363160564081, guid: fa348ee73d8b44697a38d2415e80db5c, type: 3}
+ propertyPath: m_LocalRotation.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 8773233363160564081, guid: fa348ee73d8b44697a38d2415e80db5c, type: 3}
+ propertyPath: m_LocalRotation.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 8773233363160564081, guid: fa348ee73d8b44697a38d2415e80db5c, type: 3}
+ propertyPath: m_LocalRotation.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 8773233363160564081, guid: fa348ee73d8b44697a38d2415e80db5c, type: 3}
+ propertyPath: m_AnchoredPosition.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 8773233363160564081, guid: fa348ee73d8b44697a38d2415e80db5c, type: 3}
+ propertyPath: m_AnchoredPosition.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 8773233363160564081, guid: fa348ee73d8b44697a38d2415e80db5c, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 8773233363160564081, guid: fa348ee73d8b44697a38d2415e80db5c, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 8773233363160564081, guid: fa348ee73d8b44697a38d2415e80db5c, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.z
+ value: 0
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: fa348ee73d8b44697a38d2415e80db5c, type: 3}
+--- !u!1660057539 &9223372036854775807
+SceneRoots:
+ m_ObjectHideFlags: 0
+ m_Roots:
+ - {fileID: 961739753}
+ - {fileID: 203844589}
+ - {fileID: 525329389}
+ - {fileID: 1118405409}
+ - {fileID: 3706498501538935409}
diff --git a/Assets/Scenes/CameraTest.unity.meta b/Assets/Scenes/CameraTest.unity.meta
new file mode 100644
index 0000000..8c5bf5e
--- /dev/null
+++ b/Assets/Scenes/CameraTest.unity.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 80b9997f17bc943ccb309cc583c04762
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Scenes/SampleScene.unity b/Assets/Scenes/SampleScene.unity
new file mode 100644
index 0000000..1c63aa8
--- /dev/null
+++ b/Assets/Scenes/SampleScene.unity
@@ -0,0 +1,432 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!29 &1
+OcclusionCullingSettings:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_OcclusionBakeSettings:
+ smallestOccluder: 5
+ smallestHole: 0.25
+ backfaceThreshold: 100
+ m_SceneGUID: 00000000000000000000000000000000
+ m_OcclusionCullingData: {fileID: 0}
+--- !u!104 &2
+RenderSettings:
+ m_ObjectHideFlags: 0
+ serializedVersion: 10
+ m_Fog: 0
+ m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
+ m_FogMode: 3
+ m_FogDensity: 0.01
+ m_LinearFogStart: 0
+ m_LinearFogEnd: 300
+ m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1}
+ m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1}
+ m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1}
+ m_AmbientIntensity: 1
+ m_AmbientMode: 0
+ m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
+ m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0}
+ m_HaloStrength: 0.5
+ m_FlareStrength: 1
+ m_FlareFadeSpeed: 3
+ m_HaloTexture: {fileID: 0}
+ m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0}
+ m_DefaultReflectionMode: 0
+ m_DefaultReflectionResolution: 128
+ m_ReflectionBounces: 1
+ m_ReflectionIntensity: 1
+ m_CustomReflection: {fileID: 0}
+ m_Sun: {fileID: 0}
+ m_IndirectSpecularColor: {r: 0.18028378, g: 0.22571412, b: 0.30692285, a: 1}
+ m_UseRadianceAmbientProbe: 0
+--- !u!157 &3
+LightmapSettings:
+ m_ObjectHideFlags: 0
+ serializedVersion: 12
+ m_GISettings:
+ serializedVersion: 2
+ m_BounceScale: 1
+ m_IndirectOutputScale: 1
+ m_AlbedoBoost: 1
+ m_EnvironmentLightingMode: 0
+ m_EnableBakedLightmaps: 1
+ m_EnableRealtimeLightmaps: 0
+ m_LightmapEditorSettings:
+ serializedVersion: 12
+ m_Resolution: 2
+ m_BakeResolution: 40
+ m_AtlasSize: 1024
+ m_AO: 0
+ m_AOMaxDistance: 1
+ m_CompAOExponent: 1
+ m_CompAOExponentDirect: 0
+ m_ExtractAmbientOcclusion: 0
+ m_Padding: 2
+ m_LightmapParameters: {fileID: 0}
+ m_LightmapsBakeMode: 1
+ m_TextureCompression: 1
+ m_ReflectionCompression: 2
+ m_MixedBakeMode: 2
+ m_BakeBackend: 1
+ m_PVRSampling: 1
+ m_PVRDirectSampleCount: 32
+ m_PVRSampleCount: 512
+ m_PVRBounces: 2
+ m_PVREnvironmentSampleCount: 256
+ m_PVREnvironmentReferencePointCount: 2048
+ m_PVRFilteringMode: 1
+ m_PVRDenoiserTypeDirect: 1
+ m_PVRDenoiserTypeIndirect: 1
+ m_PVRDenoiserTypeAO: 1
+ m_PVRFilterTypeDirect: 0
+ m_PVRFilterTypeIndirect: 0
+ m_PVRFilterTypeAO: 0
+ m_PVREnvironmentMIS: 1
+ m_PVRCulling: 1
+ m_PVRFilteringGaussRadiusDirect: 1
+ m_PVRFilteringGaussRadiusIndirect: 5
+ m_PVRFilteringGaussRadiusAO: 2
+ m_PVRFilteringAtrousPositionSigmaDirect: 0.5
+ m_PVRFilteringAtrousPositionSigmaIndirect: 2
+ m_PVRFilteringAtrousPositionSigmaAO: 1
+ m_ExportTrainingData: 0
+ m_TrainingDataDestination: TrainingData
+ m_LightProbeSampleCountMultiplier: 4
+ m_LightingDataAsset: {fileID: 20201, guid: 0000000000000000f000000000000000, type: 0}
+ m_LightingSettings: {fileID: 0}
+--- !u!196 &4
+NavMeshSettings:
+ serializedVersion: 2
+ m_ObjectHideFlags: 0
+ m_BuildSettings:
+ serializedVersion: 3
+ agentTypeID: 0
+ agentRadius: 0.5
+ agentHeight: 2
+ agentSlope: 45
+ agentClimb: 0.4
+ ledgeDropHeight: 0
+ maxJumpAcrossDistance: 0
+ minRegionArea: 2
+ manualCellSize: 0
+ cellSize: 0.16666667
+ manualTileSize: 0
+ tileSize: 256
+ buildHeightMesh: 0
+ maxJobWorkers: 0
+ preserveTilesOutsideBounds: 0
+ debug:
+ m_Flags: 0
+ m_NavMeshData: {fileID: 0}
+--- !u!1 &330585543
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 330585546}
+ - component: {fileID: 330585545}
+ - component: {fileID: 330585544}
+ - component: {fileID: 330585547}
+ m_Layer: 0
+ m_Name: Main Camera
+ m_TagString: MainCamera
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!81 &330585544
+AudioListener:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 330585543}
+ m_Enabled: 1
+--- !u!20 &330585545
+Camera:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 330585543}
+ m_Enabled: 1
+ serializedVersion: 2
+ m_ClearFlags: 1
+ m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0}
+ 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_NormalizedViewPortRect:
+ serializedVersion: 2
+ x: 0
+ y: 0
+ width: 1
+ height: 1
+ near clip plane: 0.3
+ far clip plane: 1000
+ field of view: 60
+ orthographic: 0
+ orthographic size: 5
+ m_Depth: -1
+ m_CullingMask:
+ serializedVersion: 2
+ m_Bits: 4294967295
+ m_RenderingPath: -1
+ m_TargetTexture: {fileID: 0}
+ m_TargetDisplay: 0
+ m_TargetEye: 3
+ m_HDR: 1
+ m_AllowMSAA: 1
+ m_AllowDynamicResolution: 0
+ m_ForceIntoRT: 0
+ m_OcclusionCulling: 1
+ m_StereoConvergence: 10
+ m_StereoSeparation: 0.022
+--- !u!4 &330585546
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 330585543}
+ serializedVersion: 2
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 1, z: -10}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 0}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &330585547
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 330585543}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: a79441f348de89743a2939f4d699eac1, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_RenderShadows: 1
+ m_RequiresDepthTextureOption: 2
+ m_RequiresOpaqueTextureOption: 2
+ m_CameraType: 0
+ m_Cameras: []
+ m_RendererIndex: -1
+ m_VolumeLayerMask:
+ serializedVersion: 2
+ m_Bits: 1
+ m_VolumeTrigger: {fileID: 0}
+ m_VolumeFrameworkUpdateModeOption: 2
+ m_RenderPostProcessing: 1
+ m_Antialiasing: 0
+ m_AntialiasingQuality: 2
+ m_StopNaN: 0
+ m_Dithering: 0
+ m_ClearDepth: 1
+ m_AllowXRRendering: 1
+ m_AllowHDROutput: 1
+ m_UseScreenCoordOverride: 0
+ m_ScreenSizeOverride: {x: 0, y: 0, z: 0, w: 0}
+ m_ScreenCoordScaleBias: {x: 0, y: 0, z: 0, w: 0}
+ m_RequiresDepthTexture: 0
+ m_RequiresColorTexture: 0
+ m_Version: 2
+ m_TaaSettings:
+ quality: 3
+ frameInfluence: 0.1
+ jitterScale: 1
+ mipBias: 0
+ varianceClampScale: 0.9
+ contrastAdaptiveSharpening: 0
+--- !u!1 &410087039
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 410087041}
+ - component: {fileID: 410087040}
+ - component: {fileID: 410087042}
+ m_Layer: 0
+ m_Name: Directional Light
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!108 &410087040
+Light:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 410087039}
+ m_Enabled: 1
+ serializedVersion: 11
+ m_Type: 1
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_Intensity: 2
+ m_Range: 10
+ m_SpotAngle: 30
+ m_InnerSpotAngle: 21.80208
+ m_CookieSize: 10
+ m_Shadows:
+ m_Type: 2
+ m_Resolution: -1
+ m_CustomResolution: -1
+ m_Strength: 1
+ m_Bias: 0.05
+ m_NormalBias: 0.4
+ m_NearPlane: 0.2
+ m_CullingMatrixOverride:
+ e00: 1
+ e01: 0
+ e02: 0
+ e03: 0
+ e10: 0
+ e11: 1
+ e12: 0
+ e13: 0
+ e20: 0
+ e21: 0
+ e22: 1
+ e23: 0
+ e30: 0
+ e31: 0
+ e32: 0
+ e33: 1
+ m_UseCullingMatrixOverride: 0
+ m_Cookie: {fileID: 0}
+ m_DrawHalo: 0
+ m_Flare: {fileID: 0}
+ m_RenderMode: 0
+ m_CullingMask:
+ serializedVersion: 2
+ m_Bits: 4294967295
+ m_RenderingLayerMask: 1
+ m_Lightmapping: 4
+ m_LightShadowCasterMode: 0
+ m_AreaSize: {x: 1, y: 1}
+ m_BounceIntensity: 1
+ m_ColorTemperature: 5000
+ m_UseColorTemperature: 1
+ m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0}
+ m_UseBoundingSphereOverride: 0
+ m_UseViewFrustumForShadowCasterCull: 1
+ m_ForceVisible: 0
+ m_ShadowRadius: 0
+ m_ShadowAngle: 0
+--- !u!4 &410087041
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 410087039}
+ serializedVersion: 2
+ m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261}
+ 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_LocalEulerAnglesHint: {x: 50, y: -30, z: 0}
+--- !u!114 &410087042
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 410087039}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 474bcb49853aa07438625e644c072ee6, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Version: 3
+ m_UsePipelineSettings: 1
+ m_AdditionalLightsShadowResolutionTier: 2
+ m_LightLayerMask: 1
+ m_RenderingLayers: 1
+ m_CustomShadowLayers: 0
+ m_ShadowLayerMask: 1
+ m_ShadowRenderingLayers: 1
+ m_LightCookieSize: {x: 1, y: 1}
+ m_LightCookieOffset: {x: 0, y: 0}
+ m_SoftShadowQuality: 1
+--- !u!1 &832575517
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 832575519}
+ - component: {fileID: 832575518}
+ m_Layer: 0
+ m_Name: Global Volume
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!114 &832575518
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 832575517}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 172515602e62fb746b5d573b38a5fe58, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_IsGlobal: 1
+ priority: 0
+ blendDistance: 0
+ weight: 1
+ sharedProfile: {fileID: 11400000, guid: 10fc4df2da32a41aaa32d77bc913491c, type: 2}
+--- !u!4 &832575519
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 832575517}
+ serializedVersion: 2
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 0}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1660057539 &9223372036854775807
+SceneRoots:
+ m_ObjectHideFlags: 0
+ m_Roots:
+ - {fileID: 330585546}
+ - {fileID: 410087041}
+ - {fileID: 832575519}
diff --git a/Assets/Scenes/SampleScene.unity.meta b/Assets/Scenes/SampleScene.unity.meta
new file mode 100644
index 0000000..9531828
--- /dev/null
+++ b/Assets/Scenes/SampleScene.unity.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 99c9720ab356a0642a771bea13969a05
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Scripts.meta b/Assets/Scripts.meta
new file mode 100644
index 0000000..c3aa17f
--- /dev/null
+++ b/Assets/Scripts.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 9f7f589bf47fd428787706b9b0608976
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Scripts/CanvasPreview.cs b/Assets/Scripts/CanvasPreview.cs
new file mode 100644
index 0000000..4b1293a
--- /dev/null
+++ b/Assets/Scripts/CanvasPreview.cs
@@ -0,0 +1,387 @@
+using System;
+using UnityEngine;
+using UnityEngine.UI;
+
+///
+/// 撮影画像のプレビュー用ダイアログ。
+/// 「保存」か「シェア」を選んで実行する。
+/// Resources/Canvas_preview.prefab のルートに付与して使う。
+///
+public class CanvasPreview : MonoBehaviour
+{
+ [Header("プレビュー画像 (未設定なら子の RawImage を自動取得)")]
+ [SerializeField] private RawImage previewImage;
+
+ [Header("保存ボタン (未設定なら btn_save を自動取得)")]
+ [SerializeField] private Button saveButton;
+
+ [Header("シェアボタン (未設定なら btn_share を自動取得)")]
+ [SerializeField] private Button shareButton;
+
+ [Header("ポラロイド枠 (Frame.png を割り当て。未設定なら枠なし全画面表示)")]
+ [SerializeField] private Sprite frameSprite;
+
+ [Header("写真を枠内いっぱいに切り抜く (OFF=写真全体を枠内に収める)")]
+ [SerializeField] private bool cropPhotoToFrame = true;
+
+ [Header("カード(枠)の表示領域。画面に対する余白の割合")]
+ [SerializeField] private float cardMarginX = 0.04f;
+ [SerializeField] private float cardTopAnchor = 0.97f;
+ [SerializeField] private float cardBottomAnchor = 0.20f;
+
+ private string filePath;
+ private Texture2D previewTexture;
+ private bool ownsTexture;
+ private string shareText;
+ private string shareSubject;
+
+ private bool actionRunning;
+ private Action onClosed;
+
+ ///
+ /// プレハブを生成してプレビューを表示する。
+ ///
+ /// 保存・共有する PNG ファイルのパス
+ /// プレビュー表示用テクスチャ
+ /// true ならダイアログを閉じる時に texture を破棄する
+ /// ダイアログが閉じた時に呼ばれるコールバック
+ /// 使用するプレハブ。null なら Resources/Canvas_preview を読み込む
+ public static CanvasPreview Show(
+ string filePath,
+ Texture2D texture,
+ string shareText,
+ string shareSubject,
+ bool ownsTexture = true,
+ Action onClosed = null,
+ GameObject prefab = null)
+ {
+ GameObject source = prefab;
+
+ if (source == null)
+ {
+ source = Resources.Load("Canvas_preview");
+ }
+
+ if (source == null)
+ {
+ Debug.LogError("CanvasPreview: Canvas_preview プレハブが見つかりません。");
+ return null;
+ }
+
+ GameObject instance = Instantiate(source);
+
+ CanvasPreview preview = instance.GetComponent();
+
+ if (preview == null)
+ {
+ Debug.LogError("CanvasPreview: プレハブに CanvasPreview コンポーネントがありません。");
+ Destroy(instance);
+ return null;
+ }
+
+ preview.Setup(filePath, texture, shareText, shareSubject, ownsTexture, onClosed);
+
+ return preview;
+ }
+
+ private void Awake()
+ {
+ ResolveReferences();
+ }
+
+ private void ResolveReferences()
+ {
+ if (previewImage == null)
+ {
+ previewImage = GetComponentInChildren(true);
+ }
+
+ if (saveButton == null)
+ {
+ saveButton = FindOrAddButton("btn_save");
+ }
+
+ if (shareButton == null)
+ {
+ shareButton = FindOrAddButton("btn_share");
+ }
+ }
+
+ private Button FindOrAddButton(string targetName)
+ {
+ Transform target = FindDeep(transform, targetName);
+
+ if (target == null)
+ {
+ Debug.LogWarning("CanvasPreview: " + targetName + " が見つかりません。");
+ return null;
+ }
+
+ // プレハブの btn_save / btn_share は Image だけで Button が無いので補う
+ Button button = target.GetComponent