diff --git a/_Project/Assets/Editor.meta b/_Project/Assets/Editor.meta
new file mode 100644
index 0000000..e3bb95b
--- /dev/null
+++ b/_Project/Assets/Editor.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: b330a5b82f3d74c4794224693534bb74
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/_Project/Assets/Editor/ActiveToggle.cs b/_Project/Assets/Editor/ActiveToggle.cs
new file mode 100644
index 0000000..eb62303
--- /dev/null
+++ b/_Project/Assets/Editor/ActiveToggle.cs
@@ -0,0 +1,36 @@
+using UnityEditor;
+using UnityEngine;
+
+public static class ActiveToggle
+{
+ private const int WIDTH = 16;
+
+ [InitializeOnLoadMethod]
+ private static void Example()
+ {
+ EditorApplication.hierarchyWindowItemOnGUI += OnGUI;
+ }
+
+ private static void OnGUI(int instanceID, Rect selectionRect)
+ {
+ var go = EditorUtility.InstanceIDToObject(instanceID) as GameObject;
+
+ if (go == null)
+ {
+ return;
+ }
+
+ var pos = selectionRect;
+ pos.x = pos.xMax - WIDTH;
+ pos.width = WIDTH;
+
+ var newActive = GUI.Toggle(pos, go.activeSelf, string.Empty);
+
+ if (newActive == go.activeSelf)
+ {
+ return;
+ }
+
+ go.SetActive(newActive);
+ }
+}
\ No newline at end of file
diff --git a/_Project/Assets/Editor/ActiveToggle.cs.meta b/_Project/Assets/Editor/ActiveToggle.cs.meta
new file mode 100644
index 0000000..beae41e
--- /dev/null
+++ b/_Project/Assets/Editor/ActiveToggle.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: d0762bcd6a9d0e24eadc6b91dae6d2dd
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/_Project/Assets/OpenJTalkForUnity.meta b/_Project/Assets/OpenJTalkForUnity.meta
new file mode 100644
index 0000000..6faf0c3
--- /dev/null
+++ b/_Project/Assets/OpenJTalkForUnity.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: de020bf4bf601e046864fde8fb83343a
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/_Project/Assets/OpenJTalkForUnity/SampleScene.meta b/_Project/Assets/OpenJTalkForUnity/SampleScene.meta
new file mode 100644
index 0000000..6fbe112
--- /dev/null
+++ b/_Project/Assets/OpenJTalkForUnity/SampleScene.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: fedf8dc150cfd024cb502bb0c9a27487
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/_Project/Assets/OpenJTalkForUnity/SampleScene/Native.unity b/_Project/Assets/OpenJTalkForUnity/SampleScene/Native.unity
new file mode 100644
index 0000000..fd37fcc
--- /dev/null
+++ b/_Project/Assets/OpenJTalkForUnity/SampleScene/Native.unity
@@ -0,0 +1,343 @@
+%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: 9
+ 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: 705507994}
+ m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1}
+ m_UseRadianceAmbientProbe: 0
+--- !u!157 &3
+LightmapSettings:
+ m_ObjectHideFlags: 0
+ serializedVersion: 12
+ m_GIWorkflowMode: 1
+ 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_FinalGather: 0
+ m_FinalGatherFiltering: 1
+ m_FinalGatherRayCount: 256
+ m_ReflectionCompression: 2
+ m_MixedBakeMode: 2
+ m_BakeBackend: 1
+ m_PVRSampling: 1
+ m_PVRDirectSampleCount: 32
+ m_PVRSampleCount: 500
+ m_PVRBounces: 2
+ m_PVREnvironmentSampleCount: 500
+ m_PVREnvironmentReferencePointCount: 2048
+ m_PVRFilteringMode: 2
+ m_PVRDenoiserTypeDirect: 0
+ m_PVRDenoiserTypeIndirect: 0
+ m_PVRDenoiserTypeAO: 0
+ m_PVRFilterTypeDirect: 0
+ m_PVRFilterTypeIndirect: 0
+ m_PVRFilterTypeAO: 0
+ m_PVREnvironmentMIS: 0
+ 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: 0}
+ m_LightingSettings: {fileID: 4890085278179872738, guid: a58d04512f2eb4142822f7d7bbd6117f, type: 2}
+--- !u!196 &4
+NavMeshSettings:
+ serializedVersion: 2
+ m_ObjectHideFlags: 0
+ m_BuildSettings:
+ serializedVersion: 2
+ 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
+ accuratePlacement: 0
+ maxJobWorkers: 0
+ preserveTilesOutsideBounds: 0
+ debug:
+ m_Flags: 0
+ m_NavMeshData: {fileID: 0}
+--- !u!1 &705507993
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 705507995}
+ - component: {fileID: 705507994}
+ 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 &705507994
+Light:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 705507993}
+ m_Enabled: 1
+ serializedVersion: 10
+ m_Type: 1
+ m_Shape: 0
+ 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_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: 1
+ 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_ShadowRadius: 0
+ m_ShadowAngle: 0
+--- !u!4 &705507995
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 705507993}
+ 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_Children: []
+ m_Father: {fileID: 0}
+ m_RootOrder: 1
+ m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0}
+--- !u!1 &963194225
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 963194228}
+ - component: {fileID: 963194227}
+ - component: {fileID: 963194226}
+ 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 &963194226
+AudioListener:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 963194225}
+ m_Enabled: 1
+--- !u!20 &963194227
+Camera:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 963194225}
+ 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_SensorSize: {x: 36, y: 24}
+ m_LensShift: {x: 0, y: 0}
+ m_FocalLength: 50
+ 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 &963194228
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 963194225}
+ 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_Children: []
+ m_Father: {fileID: 0}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &2135327901
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 2135327902}
+ - component: {fileID: 2135327904}
+ m_Layer: 0
+ m_Name: Script
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &2135327902
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2135327901}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0.076275826, y: -0, z: -0.07581997}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children: []
+ m_Father: {fileID: 0}
+ m_RootOrder: 2
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &2135327904
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2135327901}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 359af0280defce74f88df348736ecbca, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
diff --git a/_Project/Assets/OpenJTalkForUnity/SampleScene/Native.unity.meta b/_Project/Assets/OpenJTalkForUnity/SampleScene/Native.unity.meta
new file mode 100644
index 0000000..952bd1e
--- /dev/null
+++ b/_Project/Assets/OpenJTalkForUnity/SampleScene/Native.unity.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 9fc0d4010bbf28b4594072e72b8655ab
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/_Project/Assets/OpenJTalkForUnity/SampleScene/Speak.cs b/_Project/Assets/OpenJTalkForUnity/SampleScene/Speak.cs
new file mode 100644
index 0000000..7267973
--- /dev/null
+++ b/_Project/Assets/OpenJTalkForUnity/SampleScene/Speak.cs
@@ -0,0 +1,13 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+public class Speak : MonoBehaviour
+{
+ [SerializeField] string text = "おはようございます。今日は良い天気ですね。";
+
+ void Start()
+ {
+ OpenJTalkForUnity.Speak(text);
+ }
+}
diff --git a/_Project/Assets/OpenJTalkForUnity/SampleScene/Speak.cs.meta b/_Project/Assets/OpenJTalkForUnity/SampleScene/Speak.cs.meta
new file mode 100644
index 0000000..2929534
--- /dev/null
+++ b/_Project/Assets/OpenJTalkForUnity/SampleScene/Speak.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: d9fe205b0e97e1e45afe0fd619fc6dd0
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/_Project/Assets/OpenJTalkForUnity/SampleScene/Speak.unity b/_Project/Assets/OpenJTalkForUnity/SampleScene/Speak.unity
new file mode 100644
index 0000000..6bf404b
--- /dev/null
+++ b/_Project/Assets/OpenJTalkForUnity/SampleScene/Speak.unity
@@ -0,0 +1,169 @@
+%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: 9
+ 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, g: 0, b: 0, a: 1}
+ m_UseRadianceAmbientProbe: 0
+--- !u!157 &3
+LightmapSettings:
+ m_ObjectHideFlags: 0
+ serializedVersion: 12
+ m_GIWorkflowMode: 1
+ 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_FinalGather: 0
+ m_FinalGatherFiltering: 1
+ m_FinalGatherRayCount: 256
+ 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: 0}
+ m_LightingSettings: {fileID: 0}
+--- !u!196 &4
+NavMeshSettings:
+ serializedVersion: 2
+ m_ObjectHideFlags: 0
+ m_BuildSettings:
+ serializedVersion: 2
+ 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
+ accuratePlacement: 0
+ maxJobWorkers: 0
+ preserveTilesOutsideBounds: 0
+ debug:
+ m_Flags: 0
+ m_NavMeshData: {fileID: 0}
+--- !u!1 &44975079
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 44975081}
+ - component: {fileID: 44975080}
+ m_Layer: 0
+ m_Name: Script
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!114 &44975080
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 44975079}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: d9fe205b0e97e1e45afe0fd619fc6dd0, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ text: "\u304A\u306F\u3088\u3046\u3054\u3056\u3044\u307E\u3059\u3002\u4ECA\u65E5\u306F\u826F\u3044\u5929\u6C17\u3067\u3059\u306D\u3002"
+--- !u!4 &44975081
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 44975079}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0.076275826, y: -0.0000009536743, z: -0.07581997}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children: []
+ m_Father: {fileID: 0}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
diff --git a/_Project/Assets/OpenJTalkForUnity/SampleScene/Speak.unity.meta b/_Project/Assets/OpenJTalkForUnity/SampleScene/Speak.unity.meta
new file mode 100644
index 0000000..da7ec84
--- /dev/null
+++ b/_Project/Assets/OpenJTalkForUnity/SampleScene/Speak.unity.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: b16e19f8e856f7140a8f32a6383cf251
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/_Project/Assets/OpenJTalkForUnity/SampleScene/SpeakRandomVoice.cs b/_Project/Assets/OpenJTalkForUnity/SampleScene/SpeakRandomVoice.cs
new file mode 100644
index 0000000..97e55e9
--- /dev/null
+++ b/_Project/Assets/OpenJTalkForUnity/SampleScene/SpeakRandomVoice.cs
@@ -0,0 +1,13 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+public class SpeakRandomVoice : MonoBehaviour
+{
+ [SerializeField] string text = "おはようございます。今日は良い天気ですね。";
+
+ void Start()
+ {
+ OpenJTalkForUnity.SpeakRandomVoice(text);
+ }
+}
diff --git a/_Project/Assets/OpenJTalkForUnity/SampleScene/SpeakRandomVoice.cs.meta b/_Project/Assets/OpenJTalkForUnity/SampleScene/SpeakRandomVoice.cs.meta
new file mode 100644
index 0000000..be6c4c3
--- /dev/null
+++ b/_Project/Assets/OpenJTalkForUnity/SampleScene/SpeakRandomVoice.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 87287e5eed6f9234dab2cde5ff100f87
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/_Project/Assets/OpenJTalkForUnity/SampleScene/SpeakRandomVoice.unity b/_Project/Assets/OpenJTalkForUnity/SampleScene/SpeakRandomVoice.unity
new file mode 100644
index 0000000..7f6ad14
--- /dev/null
+++ b/_Project/Assets/OpenJTalkForUnity/SampleScene/SpeakRandomVoice.unity
@@ -0,0 +1,169 @@
+%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: 9
+ 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, g: 0, b: 0, a: 1}
+ m_UseRadianceAmbientProbe: 0
+--- !u!157 &3
+LightmapSettings:
+ m_ObjectHideFlags: 0
+ serializedVersion: 12
+ m_GIWorkflowMode: 1
+ 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_FinalGather: 0
+ m_FinalGatherFiltering: 1
+ m_FinalGatherRayCount: 256
+ 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: 0}
+ m_LightingSettings: {fileID: 0}
+--- !u!196 &4
+NavMeshSettings:
+ serializedVersion: 2
+ m_ObjectHideFlags: 0
+ m_BuildSettings:
+ serializedVersion: 2
+ 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
+ accuratePlacement: 0
+ maxJobWorkers: 0
+ preserveTilesOutsideBounds: 0
+ debug:
+ m_Flags: 0
+ m_NavMeshData: {fileID: 0}
+--- !u!1 &44975079
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 44975081}
+ - component: {fileID: 44975080}
+ m_Layer: 0
+ m_Name: Script
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!114 &44975080
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 44975079}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 87287e5eed6f9234dab2cde5ff100f87, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ text: "\u304A\u306F\u3088\u3046\u3054\u3056\u3044\u307E\u3059\u3002\u4ECA\u65E5\u306F\u826F\u3044\u5929\u6C17\u3067\u3059\u306D\u3002"
+--- !u!4 &44975081
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 44975079}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0.076275826, y: -0.0000009536743, z: -0.07581997}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children: []
+ m_Father: {fileID: 0}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
diff --git a/_Project/Assets/OpenJTalkForUnity/SampleScene/SpeakRandomVoice.unity.meta b/_Project/Assets/OpenJTalkForUnity/SampleScene/SpeakRandomVoice.unity.meta
new file mode 100644
index 0000000..d334764
--- /dev/null
+++ b/_Project/Assets/OpenJTalkForUnity/SampleScene/SpeakRandomVoice.unity.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 88f331fc1ff5ed04293134b9e575dbf9
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/_Project/Assets/OpenJTalkForUnity/SampleScene/SpeakVoiceSelected.cs b/_Project/Assets/OpenJTalkForUnity/SampleScene/SpeakVoiceSelected.cs
new file mode 100644
index 0000000..2b000ad
--- /dev/null
+++ b/_Project/Assets/OpenJTalkForUnity/SampleScene/SpeakVoiceSelected.cs
@@ -0,0 +1,14 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+public class SpeakVoiceSelected : MonoBehaviour
+{
+ [SerializeField] string text = "おはようございます。今日は良い天気ですね。";
+ [SerializeField] string voiceName = "tohoku-f01-sad";
+
+ void Start()
+ {
+ OpenJTalkForUnity.Speak(text, voiceName);
+ }
+}
diff --git a/_Project/Assets/OpenJTalkForUnity/SampleScene/SpeakVoiceSelected.cs.meta b/_Project/Assets/OpenJTalkForUnity/SampleScene/SpeakVoiceSelected.cs.meta
new file mode 100644
index 0000000..9d6f0d4
--- /dev/null
+++ b/_Project/Assets/OpenJTalkForUnity/SampleScene/SpeakVoiceSelected.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 18dc32cc7f5afbe4e8140b343589d994
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/_Project/Assets/OpenJTalkForUnity/SampleScene/SpeakVoiceSelected.unity b/_Project/Assets/OpenJTalkForUnity/SampleScene/SpeakVoiceSelected.unity
new file mode 100644
index 0000000..163cff0
--- /dev/null
+++ b/_Project/Assets/OpenJTalkForUnity/SampleScene/SpeakVoiceSelected.unity
@@ -0,0 +1,841 @@
+%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: 9
+ 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, g: 0, b: 0, a: 1}
+ m_UseRadianceAmbientProbe: 0
+--- !u!157 &3
+LightmapSettings:
+ m_ObjectHideFlags: 0
+ serializedVersion: 12
+ m_GIWorkflowMode: 1
+ 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_FinalGather: 0
+ m_FinalGatherFiltering: 1
+ m_FinalGatherRayCount: 256
+ 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: 0}
+ m_LightingSettings: {fileID: 0}
+--- !u!196 &4
+NavMeshSettings:
+ serializedVersion: 2
+ m_ObjectHideFlags: 0
+ m_BuildSettings:
+ serializedVersion: 2
+ 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
+ accuratePlacement: 0
+ maxJobWorkers: 0
+ preserveTilesOutsideBounds: 0
+ debug:
+ m_Flags: 0
+ m_NavMeshData: {fileID: 0}
+--- !u!1 &44975079
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 44975081}
+ - component: {fileID: 44975080}
+ m_Layer: 0
+ m_Name: Script
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!114 &44975080
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 44975079}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 408b1a956a921b64baf4cb7e0a9c047d, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ text: "\u304A\u306F\u3088\u3046\u3054\u3056\u3044\u307E\u3059\u3002\u4ECA\u65E5\u306F\u826F\u3044\u5929\u6C17\u3067\u3059\u306D\u3002"
+ voiceName: tohoku-f01-happy
+--- !u!4 &44975081
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 44975079}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0.076275826, y: -0.0000009536743, z: -0.07581997}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children: []
+ m_Father: {fileID: 0}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &324342829
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 324342830}
+ - component: {fileID: 324342832}
+ - component: {fileID: 324342831}
+ m_Layer: 5
+ m_Name: Text
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &324342830
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 324342829}
+ 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_Children: []
+ m_Father: {fileID: 1791455807}
+ m_RootOrder: 0
+ 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 &324342831
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 324342829}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, 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_FontData:
+ m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+ m_FontSize: 14
+ m_FontStyle: 0
+ m_BestFit: 0
+ m_MinSize: 10
+ m_MaxSize: 40
+ m_Alignment: 4
+ m_AlignByGeometry: 0
+ m_RichText: 1
+ m_HorizontalOverflow: 0
+ m_VerticalOverflow: 0
+ m_LineSpacing: 1
+ m_Text: Stop
+--- !u!222 &324342832
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 324342829}
+ m_CullTransparentMesh: 0
+--- !u!1 &914698533
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 914698534}
+ - component: {fileID: 914698537}
+ - component: {fileID: 914698536}
+ - component: {fileID: 914698535}
+ m_Layer: 5
+ m_Name: Button - Start
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &914698534
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 914698533}
+ 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_Children:
+ - {fileID: 1296180373}
+ m_Father: {fileID: 1944500584}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0.5}
+ m_AnchorMax: {x: 0.5, y: 0.5}
+ m_AnchoredPosition: {x: 0, y: 15}
+ m_SizeDelta: {x: 160, y: 30}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &914698535
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 914698533}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Navigation:
+ m_Mode: 3
+ 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: 914698536}
+ m_OnClick:
+ m_PersistentCalls:
+ m_Calls:
+ - m_Target: {fileID: 44975080}
+ m_TargetAssemblyTypeName: Stoppable, Assembly-CSharp
+ m_MethodName: StartSpeaking
+ 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!114 &914698536
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 914698533}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ 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: 10905, guid: 0000000000000000f000000000000000, type: 0}
+ m_Type: 1
+ 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!222 &914698537
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 914698533}
+ m_CullTransparentMesh: 0
+--- !u!1 &1296180372
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1296180373}
+ - component: {fileID: 1296180375}
+ - component: {fileID: 1296180374}
+ m_Layer: 5
+ m_Name: Text
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1296180373
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1296180372}
+ 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_Children: []
+ m_Father: {fileID: 914698534}
+ m_RootOrder: 0
+ 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 &1296180374
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1296180372}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, 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_FontData:
+ m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+ m_FontSize: 14
+ m_FontStyle: 0
+ m_BestFit: 0
+ m_MinSize: 10
+ m_MaxSize: 40
+ m_Alignment: 4
+ m_AlignByGeometry: 0
+ m_RichText: 1
+ m_HorizontalOverflow: 0
+ m_VerticalOverflow: 0
+ m_LineSpacing: 1
+ m_Text: Start
+--- !u!222 &1296180375
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1296180372}
+ m_CullTransparentMesh: 0
+--- !u!1 &1538023851
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1538023854}
+ - component: {fileID: 1538023853}
+ - component: {fileID: 1538023852}
+ m_Layer: 0
+ m_Name: Camera
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!81 &1538023852
+AudioListener:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1538023851}
+ m_Enabled: 1
+--- !u!20 &1538023853
+Camera:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1538023851}
+ 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_SensorSize: {x: 36, y: 24}
+ m_LensShift: {x: 0, y: 0}
+ m_FocalLength: 50
+ 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: 0
+ 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 &1538023854
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1538023851}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: -0.33063793, y: 1.1460905, z: -0.4089098}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children: []
+ m_Father: {fileID: 0}
+ m_RootOrder: 3
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &1791455806
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1791455807}
+ - component: {fileID: 1791455810}
+ - component: {fileID: 1791455809}
+ - component: {fileID: 1791455808}
+ m_Layer: 5
+ m_Name: Button - Stop
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1791455807
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1791455806}
+ 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_Children:
+ - {fileID: 324342830}
+ m_Father: {fileID: 1944500584}
+ m_RootOrder: 1
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0.5}
+ m_AnchorMax: {x: 0.5, y: 0.5}
+ m_AnchoredPosition: {x: 0, y: -15}
+ m_SizeDelta: {x: 160, y: 30}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1791455808
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1791455806}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Navigation:
+ m_Mode: 3
+ 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: 1791455809}
+ m_OnClick:
+ m_PersistentCalls:
+ m_Calls:
+ - m_Target: {fileID: 44975080}
+ m_TargetAssemblyTypeName: Stoppable, Assembly-CSharp
+ m_MethodName: Stop
+ 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!114 &1791455809
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1791455806}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ 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: 10905, guid: 0000000000000000f000000000000000, type: 0}
+ m_Type: 1
+ 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!222 &1791455810
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1791455806}
+ m_CullTransparentMesh: 0
+--- !u!1 &1944500580
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1944500584}
+ - component: {fileID: 1944500583}
+ - component: {fileID: 1944500582}
+ - component: {fileID: 1944500581}
+ m_Layer: 5
+ m_Name: Canvas
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!114 &1944500581
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1944500580}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_IgnoreReversedGraphics: 1
+ m_BlockingObjects: 0
+ m_BlockingMask:
+ serializedVersion: 2
+ m_Bits: 4294967295
+--- !u!114 &1944500582
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1944500580}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_UiScaleMode: 0
+ m_ReferencePixelsPerUnit: 100
+ m_ScaleFactor: 1
+ m_ReferenceResolution: {x: 800, y: 600}
+ m_ScreenMatchMode: 0
+ m_MatchWidthOrHeight: 0
+ m_PhysicalUnit: 3
+ m_FallbackScreenDPI: 96
+ m_DefaultSpriteDPI: 96
+ m_DynamicPixelsPerUnit: 1
+--- !u!223 &1944500583
+Canvas:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1944500580}
+ 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_AdditionalShaderChannelsFlag: 0
+ m_SortingLayerID: 0
+ m_SortingOrder: 0
+ m_TargetDisplay: 0
+--- !u!224 &1944500584
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1944500580}
+ 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_Children:
+ - {fileID: 914698534}
+ - {fileID: 1791455807}
+ m_Father: {fileID: 0}
+ m_RootOrder: 1
+ 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!1 &2057769282
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 2057769285}
+ - component: {fileID: 2057769284}
+ - component: {fileID: 2057769283}
+ m_Layer: 0
+ m_Name: EventSystem
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!114 &2057769283
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2057769282}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 4f231c4fb786f3946a6b90b886c48677, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_HorizontalAxis: Horizontal
+ m_VerticalAxis: Vertical
+ m_SubmitButton: Submit
+ m_CancelButton: Cancel
+ m_InputActionsPerSecond: 10
+ m_RepeatDelay: 0.5
+ m_ForceModuleActive: 0
+--- !u!114 &2057769284
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2057769282}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 76c392e42b5098c458856cdf6ecaaaa1, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_FirstSelected: {fileID: 0}
+ m_sendNavigationEvents: 1
+ m_DragThreshold: 10
+--- !u!4 &2057769285
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2057769282}
+ 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_Children: []
+ m_Father: {fileID: 0}
+ m_RootOrder: 2
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
diff --git a/_Project/Assets/OpenJTalkForUnity/SampleScene/SpeakVoiceSelected.unity.meta b/_Project/Assets/OpenJTalkForUnity/SampleScene/SpeakVoiceSelected.unity.meta
new file mode 100644
index 0000000..aa6c9d5
--- /dev/null
+++ b/_Project/Assets/OpenJTalkForUnity/SampleScene/SpeakVoiceSelected.unity.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 10c7ea83e3c8fc24ea209de11d7356f4
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/_Project/Assets/OpenJTalkForUnity/SampleScene/Stoppable.cs b/_Project/Assets/OpenJTalkForUnity/SampleScene/Stoppable.cs
new file mode 100644
index 0000000..fe8e8de
--- /dev/null
+++ b/_Project/Assets/OpenJTalkForUnity/SampleScene/Stoppable.cs
@@ -0,0 +1,23 @@
+using System.Collections;
+using System.Collections.Generic;
+using System.Threading.Tasks;
+using UnityEngine;
+
+public class Stoppable : MonoBehaviour
+{
+ [SerializeField] string text = "おはようございます。今日は良い天気ですね。";
+ [SerializeField] string voiceName = "tohoku-f01-happy";
+
+ public void StartSpeaking()
+ {
+ Task task = Task.Run(() =>
+ {
+ return OpenJTalkForUnity.SpeakStoppable(text, voiceName);
+ });
+ }
+
+ public void Stop()
+ {
+ OpenJTalkForUnity.StopSpeaking();
+ }
+}
diff --git a/_Project/Assets/OpenJTalkForUnity/SampleScene/Stoppable.cs.meta b/_Project/Assets/OpenJTalkForUnity/SampleScene/Stoppable.cs.meta
new file mode 100644
index 0000000..080627d
--- /dev/null
+++ b/_Project/Assets/OpenJTalkForUnity/SampleScene/Stoppable.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 408b1a956a921b64baf4cb7e0a9c047d
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/_Project/Assets/OpenJTalkForUnity/SampleScene/Stoppable.unity b/_Project/Assets/OpenJTalkForUnity/SampleScene/Stoppable.unity
new file mode 100644
index 0000000..9f8e237
--- /dev/null
+++ b/_Project/Assets/OpenJTalkForUnity/SampleScene/Stoppable.unity
@@ -0,0 +1,170 @@
+%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: 9
+ 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, g: 0, b: 0, a: 1}
+ m_UseRadianceAmbientProbe: 0
+--- !u!157 &3
+LightmapSettings:
+ m_ObjectHideFlags: 0
+ serializedVersion: 12
+ m_GIWorkflowMode: 1
+ 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_FinalGather: 0
+ m_FinalGatherFiltering: 1
+ m_FinalGatherRayCount: 256
+ 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: 0}
+ m_LightingSettings: {fileID: 0}
+--- !u!196 &4
+NavMeshSettings:
+ serializedVersion: 2
+ m_ObjectHideFlags: 0
+ m_BuildSettings:
+ serializedVersion: 2
+ 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
+ accuratePlacement: 0
+ maxJobWorkers: 0
+ preserveTilesOutsideBounds: 0
+ debug:
+ m_Flags: 0
+ m_NavMeshData: {fileID: 0}
+--- !u!1 &44975079
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 44975081}
+ - component: {fileID: 44975080}
+ m_Layer: 0
+ m_Name: Script
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!114 &44975080
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 44975079}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 18dc32cc7f5afbe4e8140b343589d994, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ text: "\u3058\u3085\u3052\u3080\u3058\u3085\u3052\u3080\u3054\u3053\u3046\u306E\u3059\u308A\u304D\u308C\u304B\u3044\u3058\u3083\u308A\u3059\u3044\u304E\u3087\u306E\u3059\u3044\u304E\u3087\u3046\u307E\u3064\u3046\u3093\u3089\u3044\u307E\u3064\u3075\u3046\u3089\u3044\u307E\u3064\u304F\u3046\u306D\u308B\u3068\u3053\u308D\u306B\u3059\u3080\u3068\u3053\u308D\u3084\u3076\u3089\u3053\u3046\u3058\u306E\u3076\u3089\u3053\u3046\u3058\u30D1\u30A4\u30DD\u30D1\u30A4\u30DD\u30D1\u30A4\u30DD\u306E\u30B7\u30E5\u30FC\u30EA\u30F3\u30AC\u30F3\u30B7\u30E5\u30FC\u30EA\u30F3\u30AC\u30F3\u306E\u30B0\u30FC\u30EA\u30F3\u30C0\u30A4\u30B0\u30FC\u30EA\u30F3\u30C0\u30A4\u306E\u30DD\u30F3\u30DD\u30B3\u30D4\u30FC\u306E\u30DD\u30F3\u30DD\u30B3\u30CA\u306E\u3061\u3087\u3046\u304D\u3085\u3046\u3081\u3044\u306E\u3061\u3087\u3046\u3059\u3051"
+ voiceName: tohoku-f01-sad
+--- !u!4 &44975081
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 44975079}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0.076275826, y: -0.0000009536743, z: -0.07581997}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children: []
+ m_Father: {fileID: 0}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
diff --git a/_Project/Assets/OpenJTalkForUnity/SampleScene/Stoppable.unity.meta b/_Project/Assets/OpenJTalkForUnity/SampleScene/Stoppable.unity.meta
new file mode 100644
index 0000000..c23c8b8
--- /dev/null
+++ b/_Project/Assets/OpenJTalkForUnity/SampleScene/Stoppable.unity.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 550ddcc51ab577144aeddffcc2d6d808
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/_Project/Assets/OpenJTalkForUnity/Scripts.meta b/_Project/Assets/OpenJTalkForUnity/Scripts.meta
new file mode 100644
index 0000000..cc99a61
--- /dev/null
+++ b/_Project/Assets/OpenJTalkForUnity/Scripts.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 95b1179787b669e4c9037cc94b788578
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/_Project/Assets/OpenJTalkForUnity/Scripts/OpenJTalkForUnity.cs b/_Project/Assets/OpenJTalkForUnity/Scripts/OpenJTalkForUnity.cs
new file mode 100644
index 0000000..61852dc
--- /dev/null
+++ b/_Project/Assets/OpenJTalkForUnity/Scripts/OpenJTalkForUnity.cs
@@ -0,0 +1,76 @@
+using JTalkDll;
+using System;
+using System.IO;
+using System.Drawing;
+using System.Linq;
+using System.Windows.Forms;
+using System.Threading.Tasks;
+using System.Threading;
+using System.Text.RegularExpressions;
+using System.Text;
+using System.Windows.Forms.Design;
+using UnityEngine;
+
+
+public class OpenJTalkForUnity
+{
+ ///
+ /// ランダムな声で喋ります。引数にstringで喋らせたい文字列を与えてください。
+ ///
+ /// 喋らせたい文字列
+ public static void SpeakRandomVoice(string text)
+ {
+ using (JTalkTTS tts = new JTalkTTS { })
+ {
+ tts.Voice = tts.Voices[new System.Random().Next(tts.Voices.Count)];
+ tts.SpeakAsync(text);
+ tts.WaitUntilDone();
+ }
+ }
+
+ ///
+ /// "tohoku-f01-neutral"で喋ります。引数にstringで喋らせたい文字列を与えてください。
+ ///
+ /// 喋らせたい文字列
+ public static void Speak(string text)
+ {
+ using (JTalkTTS tts = new JTalkTTS { VoiceName = "tohoku-f01-neutral" })
+ {
+ tts.SpeakAsync(text);
+ tts.WaitUntilDone();
+ }
+ }
+
+ ///
+ /// 任意のボイスで喋ります。引数に喋らせたい文字列とボイスの名前(tohoku-f01-neutral)を与えてください。
+ /// ボイスは"C:\open_jtalk\voice"に格納されていることが前提です
+ ///
+ /// 喋らせたい文字列
+ /// ボイスの名前
+ public static void Speak(string text, string VoiceName)
+ {
+ using (JTalkTTS tts = new JTalkTTS { VoiceName = VoiceName })
+ {
+ tts.SpeakAsync(text);
+ tts.WaitUntilDone();
+ }
+ }
+
+
+ private static JTalkTTS tts;
+ private static CancellationTokenSource cancelToken;
+ public static Task SpeakStoppable(string text, string VoiceName)
+ {
+ tts = new JTalkTTS { VoiceName = VoiceName };
+ tts.SpeakAsync(text);
+
+ cancelToken = new CancellationTokenSource();
+ while (tts.IsSpeaking) cancelToken.Token.ThrowIfCancellationRequested();
+ return null;
+ }
+ public static void StopSpeaking()
+ {
+ if (cancelToken != null) cancelToken.Cancel();
+ if (tts.IsSpeaking) tts.Stop();
+ }
+}
diff --git a/_Project/Assets/OpenJTalkForUnity/Scripts/OpenJTalkForUnity.cs.meta b/_Project/Assets/OpenJTalkForUnity/Scripts/OpenJTalkForUnity.cs.meta
new file mode 100644
index 0000000..26eef89
--- /dev/null
+++ b/_Project/Assets/OpenJTalkForUnity/Scripts/OpenJTalkForUnity.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: d74b721dc815bb54997a4f22a92d566f
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/_Project/Assets/OpenJTalkForUnity/Scripts/jtalk.cs b/_Project/Assets/OpenJTalkForUnity/Scripts/jtalk.cs
new file mode 100644
index 0000000..6d22038
--- /dev/null
+++ b/_Project/Assets/OpenJTalkForUnity/Scripts/jtalk.cs
@@ -0,0 +1,1176 @@
+using System;
+using System.IO;
+using System.Text;
+using System.Collections.Generic;
+using System.Runtime.InteropServices;
+#if (PLATFORMx86)
+using SizeT = System.UInt32;
+#else
+using SizeT = System.UInt64;
+#endif
+
+namespace JTalkDll
+{
+ public class VoiceFileInfo
+ {
+ private String path;
+ private String name;
+
+ internal VoiceFileInfo(String pathStr = "", String nameStr = "")
+ {
+ if (pathStr == "")
+ {
+ this.path = "";
+ this.name = "";
+ }
+ else if (nameStr == "")
+ {
+ this.path = pathStr;
+ this.name = System.IO.Path.GetFileNameWithoutExtension(pathStr);
+ }
+ else
+ {
+ this.path = pathStr;
+ this.name = nameStr;
+ }
+ }
+
+ internal String Path
+ {
+ get
+ {
+ return path;
+ }
+ }
+
+ internal String Name
+ {
+ get
+ {
+ return name;
+ }
+ }
+ };
+
+
+ public class JTalkTTS : IDisposable
+ {
+ private const String dll = "jtalk";
+
+ private const int MAX_PATH = 260;
+ private bool disposed = false;
+
+ public event EventHandler VoiceListChanged;
+
+ protected void OnVoiceListChanged(EventArgs e)
+ {
+ VoiceListChanged?.Invoke(this, e);
+ }
+
+ ///
+ /// コンストラクタ
+ ///
+ public JTalkTTS(String voicePath = "", String dicPath = "", String voiceDirPath = "")
+ {
+ handle = openjtalk_initialize(voicePath, dicPath, voiceDirPath);
+ check_openjtalk_object();
+ generate_voice_list();
+ }
+
+ ///
+ /// JTalkTTSクラスのデストラクタ
+ ///
+ ~JTalkTTS()
+ {
+ delete_voice_list();
+ this.Dispose();
+ }
+
+
+ public void Dispose()
+ {
+ Dispose(true);
+ GC.SuppressFinalize(this);
+ }
+
+ protected virtual void Dispose(bool disposing)
+ {
+ if (!disposed)
+ {
+ if (disposing)
+ {
+ check_openjtalk_object();
+ openjtalk_clear(handle);
+ }
+ disposed = true;
+ }
+ }
+
+ [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
+ private class HtsVoiceFilelist
+ {
+ public IntPtr succ;
+ [MarshalAs(UnmanagedType.LPWStr)]
+ public string path;
+ [MarshalAs(UnmanagedType.LPWStr)]
+ public string name;
+ };
+
+ [DllImport(dll, CallingConvention = CallingConvention.StdCall, CharSet = CharSet.Unicode)]
+ private extern static void openjtalk_clearHTSVoiceList(IntPtr handle, IntPtr list);
+
+ [DllImport(dll, CallingConvention = CallingConvention.StdCall, CharSet = CharSet.Unicode, EntryPoint = "openjtalk_getHTSVoiceListU16")]
+ private extern static IntPtr openjtalk_getHTSVoiceList(IntPtr handle);
+
+ [DllImport(dll, CallingConvention = CallingConvention.StdCall, CharSet = CharSet.Unicode, EntryPoint = "openjtalk_initializeU16")]
+ private extern static IntPtr openjtalk_initialize(String voice, String dic, String voiceDir);
+
+ [DllImport(dll, CallingConvention = CallingConvention.StdCall, CharSet = CharSet.Unicode)]
+ private extern static void openjtalk_clear(IntPtr handle);
+
+ [DllImport(dll, CallingConvention = CallingConvention.StdCall, CharSet = CharSet.Unicode)]
+ private extern static void openjtalk_refresh(IntPtr handle);
+
+ [DllImport(dll, CallingConvention = CallingConvention.StdCall, CharSet = CharSet.Unicode)]
+ private extern static void openjtalk_setSamplingFrequency(IntPtr handle, SizeT i);
+
+ [DllImport(dll, CallingConvention = CallingConvention.StdCall, CharSet = CharSet.Unicode)]
+ private extern static SizeT openjtalk_getSamplingFrequency(IntPtr handle);
+
+ [DllImport(dll, CallingConvention = CallingConvention.StdCall, CharSet = CharSet.Unicode)]
+ private extern static void openjtalk_setFperiod(IntPtr handle, SizeT i);
+
+ [DllImport(dll, CallingConvention = CallingConvention.StdCall, CharSet = CharSet.Unicode)]
+ private extern static SizeT openjtalk_getFperiod(IntPtr handle);
+
+ [DllImport(dll, CallingConvention = CallingConvention.StdCall, CharSet = CharSet.Unicode)]
+ private extern static void openjtalk_setAlpha(IntPtr handle, double f);
+
+ [DllImport(dll, CallingConvention = CallingConvention.StdCall, CharSet = CharSet.Unicode)]
+ private extern static double openjtalk_getAlpha(IntPtr handle);
+
+ [DllImport(dll, CallingConvention = CallingConvention.StdCall, CharSet = CharSet.Unicode)]
+ private extern static void openjtalk_setBeta(IntPtr handle, double f);
+
+ [DllImport(dll, CallingConvention = CallingConvention.StdCall, CharSet = CharSet.Unicode)]
+ private extern static double openjtalk_getBeta(IntPtr handle);
+
+ [DllImport(dll, CallingConvention = CallingConvention.StdCall, CharSet = CharSet.Unicode)]
+ private extern static void openjtalk_setSpeed(IntPtr handle, double f);
+
+ [DllImport(dll, CallingConvention = CallingConvention.StdCall, CharSet = CharSet.Unicode)]
+ private extern static double openjtalk_getSpeed(IntPtr handle);
+
+ [DllImport(dll, CallingConvention = CallingConvention.StdCall, CharSet = CharSet.Unicode)]
+ private extern static void openjtalk_setAdditionalHalfTone(IntPtr handle, double f);
+
+ [DllImport(dll, CallingConvention = CallingConvention.StdCall, CharSet = CharSet.Unicode)]
+ private extern static double openjtalk_getAdditionalHalfTone(IntPtr handle);
+
+ [DllImport(dll, CallingConvention = CallingConvention.StdCall, CharSet = CharSet.Unicode)]
+ private extern static void openjtalk_setMsdThreshold(IntPtr handle, double f);
+
+ [DllImport(dll, CallingConvention = CallingConvention.StdCall, CharSet = CharSet.Unicode)]
+ private extern static double openjtalk_getMsdThreshold(IntPtr handle);
+
+ [DllImport(dll, CallingConvention = CallingConvention.StdCall, CharSet = CharSet.Unicode)]
+ private extern static void openjtalk_setGvWeightForSpectrum(IntPtr handle, double f);
+
+ [DllImport(dll, CallingConvention = CallingConvention.StdCall, CharSet = CharSet.Unicode)]
+ private extern static double openjtalk_getGvWeightForSpectrum(IntPtr handle);
+
+ [DllImport(dll, CallingConvention = CallingConvention.StdCall, CharSet = CharSet.Unicode)]
+ private extern static void openjtalk_setGvWeightForLogF0(IntPtr handle, double f);
+
+ [DllImport(dll, CallingConvention = CallingConvention.StdCall, CharSet = CharSet.Unicode)]
+ private extern static double openjtalk_getGvWeightForLogF0(IntPtr handle);
+
+ [DllImport(dll, CallingConvention = CallingConvention.StdCall, CharSet = CharSet.Unicode)]
+ private extern static void openjtalk_setVolume(IntPtr handle, double f);
+
+ [DllImport(dll, CallingConvention = CallingConvention.StdCall, CharSet = CharSet.Unicode)]
+ private extern static double openjtalk_getVolume(IntPtr handle);
+
+ [DllImport(dll, CallingConvention = CallingConvention.StdCall, CharSet = CharSet.Unicode, EntryPoint = "openjtalk_setDicU16")]
+ private extern static bool openjtalk_setDic(IntPtr handle, String path);
+
+ [DllImport(dll, CallingConvention = CallingConvention.StdCall, CharSet = CharSet.Unicode, EntryPoint = "openjtalk_getDicU16")]
+ private extern static IntPtr openjtalk_getDic(IntPtr handle, [MarshalAsAttribute(UnmanagedType.LPWStr)] StringBuilder path);
+
+ [DllImport(dll, CallingConvention = CallingConvention.StdCall, CharSet = CharSet.Unicode, EntryPoint = "openjtalk_setVoiceDirU16")]
+ private extern static bool openjtalk_setVoiceDir(IntPtr handle, String path);
+
+ [DllImport(dll, CallingConvention = CallingConvention.StdCall, CharSet = CharSet.Unicode, EntryPoint = "openjtalk_getVoiceDirU16")]
+ private extern static IntPtr openjtalk_getVoiceDir(IntPtr handle, [MarshalAsAttribute(UnmanagedType.LPWStr)] StringBuilder path);
+
+ [DllImport(dll, CallingConvention = CallingConvention.StdCall, CharSet = CharSet.Unicode, EntryPoint = "openjtalk_setVoiceU16")]
+ private extern static bool openjtalk_setVoice(IntPtr handle, String path);
+
+ //[DllImport(dll, CallingConvention = CallingConvention.StdCall, CharSet = CharSet.Unicode, EntryPoint = "openjtalk_getVoiceU16")]
+ //private extern static IntPtr openjtalk_getVoice(IntPtr handle, [MarshalAsAttribute(UnmanagedType.LPWStr)] StringBuilder path);
+
+ [DllImport(dll, CallingConvention = CallingConvention.StdCall, CharSet = CharSet.Unicode, EntryPoint = "openjtalk_setVoiceNameU16")]
+ private extern static bool openjtalk_setVoiceName(IntPtr handle, String path);
+
+ [DllImport(dll, CallingConvention = CallingConvention.StdCall, CharSet = CharSet.Unicode, EntryPoint = "openjtalk_getVoiceNameU16")]
+ private extern static IntPtr openjtalk_getVoiceName(IntPtr handle, [MarshalAsAttribute(UnmanagedType.LPWStr)] StringBuilder path);
+
+ [DllImport(dll, CallingConvention = CallingConvention.StdCall, CharSet = CharSet.Unicode, EntryPoint = "openjtalk_setVoicePathU16")]
+ private extern static bool openjtalk_setVoicePath(IntPtr handle, String path);
+
+ [DllImport(dll, CallingConvention = CallingConvention.StdCall, CharSet = CharSet.Unicode, EntryPoint = "openjtalk_getVoicePathU16")]
+ private extern static IntPtr openjtalk_getVoicePath(IntPtr handle, [MarshalAsAttribute(UnmanagedType.LPWStr)] StringBuilder path);
+
+ [DllImport(dll, CallingConvention = CallingConvention.StdCall, CharSet = CharSet.Unicode, EntryPoint = "openjtalk_speakSyncU16")]
+ private extern static void openjtalk_speakSync(IntPtr handle, String text);
+
+ [DllImport(dll, CallingConvention = CallingConvention.StdCall, CharSet = CharSet.Unicode, EntryPoint = "openjtalk_speakAsyncU16")]
+ private extern static void openjtalk_speakAsync(IntPtr handle, String text);
+
+ [DllImport(dll, CallingConvention = CallingConvention.StdCall, CharSet = CharSet.Unicode)]
+ private extern static void openjtalk_pause(IntPtr handle);
+
+ [DllImport(dll, CallingConvention = CallingConvention.StdCall, CharSet = CharSet.Unicode)]
+ private extern static void openjtalk_resume(IntPtr handle);
+
+ [DllImport(dll, CallingConvention = CallingConvention.StdCall, CharSet = CharSet.Unicode)]
+ private extern static void openjtalk_stop(IntPtr handle);
+
+ [DllImport(dll, CallingConvention = CallingConvention.StdCall, CharSet = CharSet.Unicode)]
+ private extern static bool openjtalk_isSpeaking(IntPtr handle);
+
+ [DllImport(dll, CallingConvention = CallingConvention.StdCall, CharSet = CharSet.Unicode)]
+ private extern static bool openjtalk_isPaused(IntPtr handle);
+
+ [DllImport(dll, CallingConvention = CallingConvention.StdCall, CharSet = CharSet.Unicode)]
+ private extern static bool openjtalk_isFinished(IntPtr handle);
+
+ [DllImport(dll, CallingConvention = CallingConvention.StdCall, CharSet = CharSet.Unicode)]
+ private extern static void openjtalk_waitUntilDone(IntPtr handle);
+
+ [DllImport(dll, CallingConvention = CallingConvention.StdCall, CharSet = CharSet.Unicode)]
+ private extern static void openjtalk_wait(IntPtr handle, int duration);
+
+ [DllImport(dll, CallingConvention = CallingConvention.StdCall, CharSet = CharSet.Unicode, EntryPoint = "openjtalk_speakToFileU16")]
+ private extern static bool openjtalk_speakToFile(IntPtr handle, String text, String file);
+
+ //[DllImport(dll, CallingConvention = CallingConvention.StdCall, CharSet = CharSet.Unicode)]
+ //private extern static void openjtalk_test(IntPtr handle, IntPtr text);
+
+ ///
+ /// 下位関数で用いるデータ構造体へのポインタ
+ ///
+ private IntPtr handle = IntPtr.Zero;
+
+ ///
+ /// 音響モデルファイルデータのコレクション
+ /// VBScriptで For Each のグループに指定可能
+ /// JScriptで Enumerator() の引数に指定可能
+ ///
+ private List voices = new List();
+
+ ///
+ /// openjtalk 構造体へのポインタがnullかどうか調べる。
+ /// nullならば例外を投げる。
+ ///
+ private void check_openjtalk_object()
+ {
+ if (handle == IntPtr.Zero)
+ {
+ throw new Exception("内部エラー:構造体へのポインタがnullです。");
+ }
+ }
+
+ ///
+ /// 音響モデルファイルデータのリストを生成する。
+ /// 使用後はdelete_voice_listを使って解放する。
+ ///
+ private void generate_voice_list()
+ {
+ check_openjtalk_object();
+ if (voices != null)
+ {
+ voices.Clear();
+ }
+ else
+ {
+ voices = new List();
+ }
+ var list = new HtsVoiceFilelist();
+ var ptr = openjtalk_getHTSVoiceList(handle);
+ var top = ptr;
+ if (top != IntPtr.Zero)
+ {
+ do
+ {
+ list = (HtsVoiceFilelist)Marshal.PtrToStructure(ptr, list.GetType());
+ var path = list.path.ToString();
+ var name = list.name.ToString();
+ voices.Add(new VoiceFileInfo(path, name));
+ ptr = list.succ;
+ }
+ while (ptr != IntPtr.Zero);
+ openjtalk_clearHTSVoiceList(handle, top);
+ }
+ }
+
+ ///
+ /// 音響モデルファイルデータのリストを解放する。
+ ///
+ private void delete_voice_list()
+ {
+ check_openjtalk_object();
+ voices.Clear();
+ }
+
+ ///
+ /// クラスのリフレッシュを行う。
+ /// ・設定のクリア
+ /// ・設定ファイルがあれば再読み込み
+ ///
+ public void Refresh()
+ {
+ check_openjtalk_object();
+ openjtalk_refresh(handle);
+ }
+
+ ///
+ /// 利用可能な音響モデルファイルのコレクション
+ ///
+ public List Voices
+ {
+ ///
+ /// 利用可能な音響モデルファイルコレクションを取得する
+ ///
+ /// 利用可能な音響モデルファイルコレクション
+ get
+ {
+ return voices;
+ }
+ }
+
+ ///
+ /// プロパティ:サンプリング周波数
+ ///
+ public uint SamplingFrequency
+ {
+ ///
+ /// サンプリング周波数の設定
+ ///
+ /// 値(1≦i)
+ set
+ {
+ check_openjtalk_object();
+ if (value < 1)
+ {
+ throw new Exception("sampling frequency の範囲は1以上の整数です。");
+ }
+ openjtalk_setSamplingFrequency(handle, value);
+ }
+
+ get
+ {
+ check_openjtalk_object();
+ return (uint)openjtalk_getSamplingFrequency(handle);
+ }
+ }
+
+ ///
+ /// プロパティ:サンプリング周波数
+ ///
+ public uint S
+ {
+ ///
+ /// サンプリング周波数の設定
+ ///
+ /// 値(1≦i)
+ set
+ {
+ SamplingFrequency = value;
+ }
+
+ get
+ {
+ return SamplingFrequency;
+ }
+ }
+
+ ///
+ /// プロパティ:フレームピリオド
+ ///
+ public uint Fperiod
+ {
+ ///
+ /// フレームピリオドの設定
+ ///
+ /// 値(1≦i)
+ set
+ {
+ check_openjtalk_object();
+ if (value < 1)
+ {
+ throw new Exception("frame period の範囲は1以上の整数です。");
+ }
+ openjtalk_setFperiod(handle, value);
+ }
+
+ get
+ {
+ check_openjtalk_object();
+ return (uint)openjtalk_getFperiod(handle);
+ }
+ }
+
+ ///
+ /// プロパティ:フレームピリオド
+ ///
+ public uint P
+ {
+ ///
+ /// フレームピリオドの設定
+ ///
+ /// 値(1≦i)
+ set
+ {
+ Fperiod = value;
+ }
+
+ get
+ {
+ return Fperiod;
+ }
+ }
+
+ ///
+ /// プロパティ:オールパス値
+ ///
+ public double Alpha
+ {
+ ///
+ /// オールパス値の設定
+ ///
+ /// 値(0≦d≦1)
+ set
+ {
+ check_openjtalk_object();
+ if (value < 0.0 || value > 1.0)
+ {
+ throw new Exception("all-pass constant の範囲は0と1の間の浮動小数点数です。");
+ }
+ openjtalk_setAlpha(handle, value);
+ }
+
+ get
+ {
+ check_openjtalk_object();
+ return openjtalk_getAlpha(handle);
+ }
+ }
+
+ ///
+ /// プロパティ:オールパス値
+ ///
+ public double A
+ {
+ ///
+ /// オールパス値の設定
+ ///
+ /// 値(0≦d≦1)
+ set
+ {
+ Alpha = value;
+ }
+
+ get
+ {
+ return Alpha;
+ }
+ }
+
+ ///
+ /// プロパティ:ポストフィルター係数
+ ///
+ public double Beta
+ {
+ ///
+ /// ポストフィルター係数の設定
+ ///
+ /// 値(0≦d≦1)
+ set
+ {
+ check_openjtalk_object();
+ if (value < 0.0 || value > 1.0)
+ {
+ throw new Exception("postfiltering coefficient の範囲は0と1の間の浮動小数点数です。");
+ }
+ openjtalk_setBeta(handle, value);
+ }
+
+ get
+ {
+ check_openjtalk_object();
+ return openjtalk_getBeta(handle);
+ }
+ }
+
+ ///
+ /// プロパティ:ポストフィルター係数
+ ///
+ public double B
+ {
+ ///
+ /// ポストフィルター係数の設定
+ ///
+ /// 値(0≦d≦1)
+ set
+ {
+ Beta = value;
+ }
+
+ get
+ {
+ return Beta;
+ }
+ }
+
+ ///
+ /// プロパティ:スピーチ速度
+ ///
+ public double Speed
+ {
+ ///
+ /// スピーチ速度の設定
+ ///
+ /// 値(0≦d)
+ set
+ {
+ check_openjtalk_object();
+
+ if (value < 0.0)
+ {
+ throw new Exception("speech speed rate の範囲は0以上の浮動小数点数です。");
+ }
+ openjtalk_setSpeed(handle, value);
+ }
+
+ get
+ {
+ check_openjtalk_object();
+ return openjtalk_getSpeed(handle);
+ }
+ }
+
+ ///
+ /// プロパティ:スピーチ速度
+ ///
+ public double R
+ {
+ ///
+ /// スピーチ速度の設定
+ ///
+ /// 値(0≦d)
+ set
+ {
+ Speed = value;
+ }
+
+ get
+ {
+ return Speed;
+ }
+ }
+
+ ///
+ /// プロパティ:追加ハーフトーン
+ ///
+ public double AdditionalHalfTone
+ {
+ ///
+ /// 追加ハーフトーンの設定
+ ///
+ /// 値(d)
+ set
+ {
+ check_openjtalk_object();
+ openjtalk_setAdditionalHalfTone(handle, value);
+ }
+
+ get
+ {
+ check_openjtalk_object();
+ return openjtalk_getAdditionalHalfTone(handle);
+ }
+ }
+
+ ///
+ /// プロパティ:追加ハーフトーン
+ ///
+ public double FM
+ {
+ ///
+ /// 追加ハーフトーンの設定
+ ///
+ /// 値(d)
+ set
+ {
+ AdditionalHalfTone = value;
+ }
+
+ get
+ {
+ return AdditionalHalfTone;
+ }
+
+ }
+
+ ///
+ /// プロパティ:有声 / 無声境界値
+ ///
+ public double MSDThreshold
+ {
+ ///
+ /// 有声 / 無声境界値数の設定
+ ///
+ /// 値(0≦d≦1)
+ set
+ {
+ check_openjtalk_object();
+ if (value < 0.0 || value > 1.0)
+ {
+ throw new Exception("voiced/unvoiced threshold の範囲は0と1の間の浮動小数点数です。");
+ }
+ openjtalk_setMsdThreshold(handle, value);
+ }
+
+ get
+ {
+ check_openjtalk_object();
+ return openjtalk_getMsdThreshold(handle);
+ }
+ }
+
+ ///
+ /// プロパティ:有声 / 無声境界値
+ ///
+ public double U
+ {
+ ///
+ /// 有声 / 無声境界値数の設定
+ ///
+ /// 値(0≦d≦1)
+ set
+ {
+ MSDThreshold = value;
+ }
+
+ get
+ {
+ return MSDThreshold;
+ }
+ }
+
+ ///
+ /// プロパティ:スペクトラム系列内変動の重み
+ ///
+ public double GVWeightForSpectrum
+ {
+ ///
+ /// スペクトラム系列内変動の重みの設定
+ ///
+ /// 値(0≦d)
+ set
+ {
+ check_openjtalk_object();
+ if (value < 0.0)
+ {
+ throw new Exception("weight of GV for spectrum の範囲は0以上の浮動小数点数です。");
+ }
+ openjtalk_setGvWeightForSpectrum(handle, value);
+ }
+
+ get
+ {
+ check_openjtalk_object();
+ return openjtalk_getGvWeightForSpectrum(handle);
+ }
+ }
+
+ ///
+ /// プロパティ:スペクトラム系列内変動の重み
+ ///
+ public double JM
+ {
+ ///
+ /// スペクトラム系列内変動の重みの設定
+ ///
+ /// 値(0≦d)
+ set
+ {
+ GVWeightForSpectrum = value;
+ }
+
+ get
+ {
+ return GVWeightForSpectrum;
+ }
+ }
+
+ ///
+ /// プロパティ:F0系列内変動重み
+ ///
+ public double GVWeightForLogF0
+ {
+ ///
+ /// F0系列内変動重みの設定
+ ///
+ /// 値(0≦d)
+ set
+ {
+ check_openjtalk_object();
+ if (value < 0.0)
+ {
+ throw new Exception("weight of GV for log F0 の範囲は0以上の浮動小数点数です。");
+ }
+ openjtalk_setGvWeightForLogF0(handle, value);
+ }
+
+ get
+ {
+ check_openjtalk_object();
+ return openjtalk_getGvWeightForLogF0(handle);
+ }
+ }
+
+ ///
+ /// プロパティ:F0系列内変動重み
+ ///
+ public double JF
+ {
+ ///
+ /// F0系列内変動重みの設定
+ ///
+ /// 値(0≦d)
+ set
+ {
+ GVWeightForLogF0 = value;
+ }
+
+ get
+ {
+ return GVWeightForLogF0;
+ }
+ }
+
+ ///
+ /// プロパティ:ボリューム
+ ///
+ public double Volume
+ {
+ ///
+ /// ボリュームの設定
+ ///
+ /// 値(d)
+ set
+ {
+ check_openjtalk_object();
+ openjtalk_setVolume(handle, value);
+ }
+
+ get
+ {
+ check_openjtalk_object();
+ return openjtalk_getVolume(handle);
+ }
+ }
+
+ ///
+ /// プロパティ:ボリューム
+ ///
+ public double G
+ {
+ ///
+ /// ボリュームの設定
+ ///
+ /// 値(d)
+ set
+ {
+ Volume = value;
+ }
+
+ get
+ {
+ return Volume;
+ }
+ }
+
+ ///
+ /// プロパティ:辞書フォルダ
+ ///
+ public String Dic
+ {
+ ///
+ /// 辞書フォルダの設定
+ ///
+ /// パス文字列
+ set
+ {
+ check_openjtalk_object();
+ if (value == null)
+ {
+ throw new Exception("辞書フォルダを示す文字列へのポインタがnullです。");
+ }
+ if (!Directory.Exists(value))
+ {
+ throw new Exception("辞書フォルダが見つかりません。");
+ }
+ if (!openjtalk_setDic(handle, value))
+ {
+ throw new Exception("辞書フォルダを設定できません。UTF-8向けの辞書ではないかもしれません。");
+ }
+ }
+
+ get
+ {
+ check_openjtalk_object();
+ var buff = new StringBuilder(MAX_PATH);
+ if (openjtalk_getDic(handle, buff) == IntPtr.Zero)
+ {
+ return null;
+ }
+ return buff.ToString();
+ }
+ }
+
+ ///
+ /// プロパティ:音響モデルファイルフォルダ
+ ///
+ public String VoiceDir
+ {
+ ///
+ /// 音響モデルファイルフォルダの設定
+ ///
+ /// パス文字列
+ set
+ {
+ check_openjtalk_object();
+ if (value == null)
+ {
+ throw new Exception("音響モデルファイルフォルダを示す文字列へのポインタがnullです。");
+ }
+ if (!Directory.Exists(value))
+ {
+ throw new Exception("音響モデルファイルフォルダが見つかりません。");
+ }
+ if (!openjtalk_setVoiceDir(handle, value))
+ {
+ throw new Exception("音響モデルファイルフォルダを設定できません。");
+ }
+ generate_voice_list();
+ OnVoiceListChanged(EventArgs.Empty);
+ }
+
+ get
+ {
+ check_openjtalk_object();
+ var buff = new StringBuilder(MAX_PATH);
+ if (openjtalk_getVoiceDir(handle, buff) == IntPtr.Zero)
+ {
+ return null;
+ }
+ return buff.ToString();
+ }
+ }
+
+ ///
+ /// プロパティ(設定のみ)
+ /// 以降の発声で使用する音響モデルファイルの設定
+ /// 三通りの指定方法
+ /// ・絶対パス...ファイルの直接指定
+ /// ・相対パス(拡張子有り)...実行ファイルの位置基準での相対指定
+ /// ・名前のみ(拡張子無し)...音響モデルファイルフォルダ内を探索
+ /// 探索について:
+ /// 探索範囲に複数適合するものがあっても、最初に見つけたものとする。
+ /// このときの探索順序はreaddirの処理に依存している。
+ /// 探索名にはワイルドカード(*?)を使用できる。
+ /// 探索対象が多いときは1000ファイル探索しても見つからなければ探索を中止する。
+ ///
+ public VoiceFileInfo Voice
+ {
+ ///
+ /// 以降の発声で使用する音響モデルファイルの設定
+ ///
+ /// 音響モデルファイルを示す文字列
+ set
+ {
+ check_openjtalk_object();
+ if (value == null)
+ {
+ throw new Exception("音響モデルファイル情報へのポインタがnullです。");
+ }
+ var path = value.Path;
+ if (path.Length == 0)
+ {
+ throw new Exception("音響モデルファイルを示す文字列が空です。");
+ }
+ if (!openjtalk_setVoice(handle, path))
+ {
+ throw new Exception("音響モデルファイルを設定できません: " + path);
+ }
+ }
+
+ get
+ {
+ check_openjtalk_object();
+ var buffPath = new StringBuilder(MAX_PATH);
+ if (openjtalk_getVoicePath(handle, buffPath) == IntPtr.Zero)
+ {
+ return null;
+ }
+ var buffName = new StringBuilder(MAX_PATH);
+ if (openjtalk_getVoiceName(handle, buffName) == IntPtr.Zero)
+ {
+ return null;
+ }
+ //Console.WriteLine($"path: {buffPath.ToString()}");
+ //Console.WriteLine($"name: {buffName.ToString()}");
+ return new VoiceFileInfo(buffPath.ToString(), buffName.ToString());
+ }
+ }
+
+ public String VoiceName
+ {
+ ///
+ /// 以降の発声で使用する音響モデルファイルの設定
+ ///
+ /// 音響モデルファイルを示す文字列
+ set
+ {
+ check_openjtalk_object();
+ if (value == null)
+ {
+ throw new Exception("音響モデルファイルを示す文字列へのポインタがnullです。");
+ }
+ if (value.Length == 0)
+ {
+ throw new Exception("音響モデルファイルを示す文字列が空です。");
+ }
+ if (!openjtalk_setVoiceName(handle, value))
+ {
+ throw new Exception("音響モデルファイルを設定できません: " + value);
+ }
+ }
+
+ get
+ {
+ check_openjtalk_object();
+ var buff = new StringBuilder(MAX_PATH);
+ if (openjtalk_getVoiceName(handle, buff) == IntPtr.Zero)
+ {
+ return null;
+ }
+ return buff.ToString();
+ }
+ }
+
+ public String VoicePath
+ {
+ ///
+ /// 以降の発声で使用する音響モデルファイルの設定
+ ///
+ /// 音響モデルファイルを示す文字列
+ set
+ {
+ check_openjtalk_object();
+ if (value == null)
+ {
+ throw new Exception("音響モデルファイルを示す文字列へのポインタがnullです。");
+ }
+ if (value.Length == 0)
+ {
+ throw new Exception("音響モデルファイルを示す文字列が空です。");
+ }
+ if (!openjtalk_setVoicePath(handle, value))
+ {
+ throw new Exception("音響モデルファイルを設定できません: " + value);
+ }
+ }
+
+ get
+ {
+ check_openjtalk_object();
+ var buff = new StringBuilder(MAX_PATH);
+ if (openjtalk_getVoicePath(handle, buff) == IntPtr.Zero)
+ {
+ return null;
+ }
+ return buff.ToString();
+ }
+ }
+
+ ///
+ /// 同期発声する。
+ /// 読み上げが終わるまで処理は戻らない。
+ /// 発声中ならば、それを終了させて発声する。
+ ///
+ /// 読み上げ文字列
+ public void SpeakSync(String text)
+ {
+ check_openjtalk_object();
+ if (text == null)
+ {
+ throw new Exception("読み上げ文字列へのポインタがnullです。");
+ }
+ openjtalk_speakSync(handle, text);
+ }
+
+ ///
+ /// 非同期発声する。
+ /// 読み上げ開始後、処理が戻ってくる。
+ /// 発声中ならば、それを終了させて発声する。
+ ///
+ /// 読み上げ文字列
+ public void SpeakAsync(String text)
+ {
+ check_openjtalk_object();
+ if (text == null)
+ {
+ throw new Exception("読み上げ文字列へのポインタがnullです。");
+ }
+ openjtalk_speakAsync(handle, text);
+ }
+
+ ///
+ /// 発声を一時停止する。
+ ///
+ public void Pause()
+ {
+ check_openjtalk_object();
+ openjtalk_pause(handle);
+ }
+
+ ///
+ /// 発声を再開する。
+ ///
+ public void Resume()
+ {
+ check_openjtalk_object();
+ openjtalk_resume(handle);
+ }
+
+ ///
+ /// 発声中ならば、発声を強制停止する。
+ ///
+ public void Stop()
+ {
+ check_openjtalk_object();
+ openjtalk_stop(handle);
+ }
+
+ ///
+ /// プロパティ:非同期発声中かどうか
+ ///
+ public bool IsSpeaking
+ {
+ ///
+ /// 発声中かどうか調べる
+ ///
+ /// 発声中かどうかの真偽値
+ get
+ {
+ check_openjtalk_object();
+ return openjtalk_isSpeaking(handle);
+ }
+ }
+ ///
+ /// プロパティ:非同期発声が一時停止中かどうか
+ ///
+ public bool IsPaused
+ {
+ ///
+ /// 一時停止中かどうか調べる
+ ///
+ /// 一時停止中かどうかの真偽値
+ get
+ {
+ check_openjtalk_object();
+ return openjtalk_isPaused(handle);
+ }
+ }
+
+ ///
+ /// プロパティ:非同期発声が完了したかどうか
+ ///
+ public bool IsFinished
+ {
+ ///
+ /// 発声が完了したかどうか調べる
+ ///
+ /// 発声が完了したかかどうかの真偽値
+ get
+ {
+ check_openjtalk_object();
+ return openjtalk_isFinished(handle);
+ }
+ }
+
+ ///
+ /// 非同期発声中ならば、停止するまで待機する。
+ /// Wait(void)の別名
+ ///
+ public void WaitUntilDone()
+ {
+ check_openjtalk_object();
+ openjtalk_waitUntilDone(handle);
+ }
+
+ ///
+ /// 指定ミリ秒の間待機する。
+ /// 非同期発声は続く。
+ /// durationが0のときは、WaitUntilDoneと同じ処理
+ ///
+ /// 待機時間(ミリ秒)
+ public void Wait(int duration = 0)
+ {
+ check_openjtalk_object();
+ if (duration == 0)
+ {
+ openjtalk_waitUntilDone(handle);
+ }
+ else
+ {
+ openjtalk_wait(handle, duration);
+ }
+ }
+
+ ///
+ /// 指定ファイルに文字列の音声を保存する
+ ///
+ /// 文字列
+ /// ファイル名
+ public void SpeakToFile(String text, String file)
+ {
+ check_openjtalk_object();
+ if (text == null)
+ {
+ throw new Exception("読み上げ文字列へのポインタがnullです。");
+ }
+ if (file == null)
+ {
+ throw new Exception("ファイル名文字列へのポインタがnullです。");
+ }
+ if (text.Length == 0)
+ {
+ throw new Exception("読み上げ文字列が空です。");
+ }
+ if (file.Length == 0)
+ {
+ throw new Exception("ファイル名文字列が空です。");
+ }
+ if (!openjtalk_speakToFile(handle, text, file))
+ {
+ throw new Exception("音声ファイルの作成中にエラーが発生しました。");
+ }
+ }
+
+ }
+}
diff --git a/_Project/Assets/OpenJTalkForUnity/Scripts/jtalk.cs.meta b/_Project/Assets/OpenJTalkForUnity/Scripts/jtalk.cs.meta
new file mode 100644
index 0000000..754b069
--- /dev/null
+++ b/_Project/Assets/OpenJTalkForUnity/Scripts/jtalk.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: f278ddaebeff59b47b4e1c95e7cfd5f4
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/_Project/Assets/OpenJTalkForUnity/Scripts/jtd_cs.cs b/_Project/Assets/OpenJTalkForUnity/Scripts/jtd_cs.cs
new file mode 100644
index 0000000..10350e1
--- /dev/null
+++ b/_Project/Assets/OpenJTalkForUnity/Scripts/jtd_cs.cs
@@ -0,0 +1,318 @@
+using JTalkDll;
+using System;
+using System.IO;
+using System.Drawing;
+using System.Linq;
+using System.Windows.Forms;
+using System.Threading.Tasks;
+using System.Threading;
+using System.Text.RegularExpressions;
+using System.Text;
+using System.Windows.Forms.Design;
+using UnityEngine;
+
+class jtd_cs : MonoBehaviour
+{
+ private void Start()
+ {
+ FormWithButton.Form1.Main();
+ }
+}
+
+namespace FormWithButton
+{
+ public class Form1 : Form
+ {
+ private JTalkTTS tts = new JTalkTTS { VoiceName = "tohoku-f01-neutral" };
+ private ComboBox comboBox1;
+ private RichTextBox richTextBox1;
+ private Button button1;
+ private Button button2;
+ private Button button3;
+ private CancellationTokenSource cancelToken;
+ private TableLayoutPanel tableLayoutPanel1;
+ private TableLayoutPanel tableLayoutPanel2;
+
+ private async void buttonSay_Click(object sender, EventArgs ea)
+ {
+ this.button1.Enabled = false;
+ this.richTextBox1.ReadOnly = true;
+ this.richTextBox1.Focus();
+
+ this.cancelToken = new CancellationTokenSource();
+
+ var start = this.richTextBox1.SelectionStart;
+ var len = 0;
+
+ if (this.richTextBox1.SelectedText != "")
+ {
+ len = start + this.richTextBox1.SelectionLength;
+ }
+ else
+ {
+ len = this.richTextBox1.Text.Length;
+ while (true)
+ {
+ if (start == len)
+ {
+ start = 0;
+ break;
+ }
+ if (this.richTextBox1.Text[start] == '\n')
+ {
+ start += 1;
+ }
+ else
+ {
+ break;
+ }
+ }
+ }
+ var textStr = this.richTextBox1.Text.Substring(0, len);
+
+ await Task.Run(() =>
+ {
+ var pos = start;
+ var data = "";
+ var length = 0;
+ var lastLine = false;
+ try
+ {
+ while (true)
+ {
+ var substr = textStr.Substring(pos);
+ var m = Regex.Match(substr, @"^([^。\n]*?)(。\n|。|\n)");
+ if (m.Success)
+ {
+ length = m.Length;
+ data = m.Value;
+ }
+ else
+ {
+ lastLine = true;
+ length = substr.Length;
+ data = substr;
+ }
+
+ data = data.Trim(' ', '\t', ' ', '\r', '\n');
+ if (data != "")
+ {
+ Invoke(new Action(() =>
+ {
+ this.richTextBox1.Select(pos, length);
+ this.tts.SpeakAsync(data);
+ }));
+ while (this.tts.IsSpeaking)
+ {
+ cancelToken.Token.ThrowIfCancellationRequested();
+ }
+ }
+
+ if (lastLine)
+ {
+ break;
+ }
+
+ if (textStr.Length < pos + length)
+ {
+ break;
+ }
+ pos += length;
+ }
+ return data;
+ }
+ catch (System.OperationCanceledException)
+ {
+ return data;
+ }
+ finally
+ {
+ Invoke(new Action(() => { this.richTextBox1.Select(pos + length, 0); }));
+ }
+ });
+
+ this.richTextBox1.ReadOnly = false;
+ this.button1.Enabled = true;
+ this.richTextBox1.Focus();
+ }
+
+ private string ReadJapaneseText(string path)
+ {
+ var encode = "Shift_JIS";
+ var sr = new StreamReader(path, Encoding.GetEncoding(encode));
+ var text = sr.ReadToEnd();
+ sr.Close();
+ if (text.Length > 10000)
+ {
+ throw new Exception("ファイルが大きすぎます。");
+ }
+
+ return text;
+ }
+
+ public Form1()
+ {
+ // 音響モデルフォルダが変更されたときの処理の登録
+ this.tts.VoiceListChanged += (sender, e) =>
+ {
+ this.comboBox1.Items.Clear();
+ this.comboBox1.Items.AddRange(this.tts.Voices.Select(v => v.Name).ToArray());
+ this.comboBox1.SelectedItem = this.tts.Voice.Name;
+ };
+
+ this.Size = new Size(300, 200);
+ this.MinimumSize = this.Size;
+ this.Text = "発声テスト";
+
+ this.comboBox1 = new ComboBox();
+ this.comboBox1.Dock = DockStyle.Fill;
+ this.comboBox1.TabIndex = 0;
+ this.comboBox1.SelectedIndexChanged +=
+ (sender, e) => { this.tts.Voice = this.tts.Voices[this.comboBox1.SelectedIndex]; };
+ this.comboBox1.DropDownStyle = ComboBoxStyle.DropDownList;
+ this.comboBox1.Items.AddRange(this.tts.Voices.Select(v => v.Name).ToArray());
+ this.comboBox1.SelectedItem = this.tts.Voice.Name;
+
+ this.richTextBox1 = new RichTextBox();
+ this.richTextBox1.Dock = DockStyle.Fill;
+ this.richTextBox1.Text = "何か入力してください";
+ this.richTextBox1.TabIndex = 1;
+ this.richTextBox1.AllowDrop = true;
+ this.richTextBox1.DragEnter += (sender, e) =>
+ {
+ if (e.Data.GetDataPresent(DataFormats.FileDrop))
+ {
+ var files = (string[])e.Data.GetData(DataFormats.FileDrop);
+ foreach (var file in files)
+ {
+ if (!System.IO.File.Exists(file))
+ {
+ return;
+ }
+ }
+ e.Effect = DragDropEffects.Copy;
+ }
+ else
+ {
+ e.Effect = DragDropEffects.None;
+ }
+ };
+ this.richTextBox1.DragDrop += (sender, e) =>
+ {
+ if (e.Data.GetDataPresent(DataFormats.FileDrop))
+ {
+ var keep = this.richTextBox1.Text;
+ var files = (string[])e.Data.GetData(DataFormats.FileDrop);
+ this.richTextBox1.Text = "";
+ foreach (var file in files)
+ {
+ var text = this.ReadJapaneseText(file);
+ if (text != "")
+ {
+ this.richTextBox1.Text += text;
+ }
+ else
+ {
+ this.richTextBox1.Text = keep;
+ return;
+ }
+ }
+ }
+ else
+ {
+ e.Effect = DragDropEffects.None;
+ }
+ };
+
+ this.button1 = new Button();
+ this.button1.Dock = DockStyle.Fill;
+ this.button1.Text = "発声";
+ this.button1.TabIndex = 2;
+ this.button1.Click += this.buttonSay_Click;
+
+ this.button2 = new Button();
+ this.button2.Dock = DockStyle.Fill;
+ this.button2.Text = "停止";
+ this.button2.TabIndex = 3;
+ this.button2.Click += (sender, e) =>
+ {
+ if (this.cancelToken != null)
+ {
+ this.cancelToken.Cancel();
+ }
+
+ if (this.tts.IsSpeaking)
+ {
+ this.tts.Stop();
+ }
+ };
+
+ this.button3 = new Button();
+ this.button3.Dock = DockStyle.Fill;
+ this.button3.Text = "音声フォルダ変更";
+ this.button3.TabIndex = 4;
+ this.button3.Click += (sender, e) =>
+ {
+ var dialog = new FolderBrowserDialog();
+ dialog.Description = "音響モデルフォルダ選択";
+ dialog.SelectedPath = this.tts.VoiceDir;
+ dialog.ShowNewFolderButton = false;
+ if (dialog.ShowDialog() == DialogResult.OK)
+ {
+ try
+ {
+ this.tts.VoiceDir = dialog.SelectedPath;
+ }
+ catch (Exception ex)
+ {
+ MessageBox.Show(ex.Message);
+ }
+ }
+ };
+
+
+ this.tableLayoutPanel1 = new TableLayoutPanel();
+ this.tableLayoutPanel2 = new TableLayoutPanel();
+
+ this.tableLayoutPanel2.ColumnCount = 3;
+ this.tableLayoutPanel2.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 30F));
+ this.tableLayoutPanel2.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 30F));
+ this.tableLayoutPanel2.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 40F));
+ this.tableLayoutPanel2.Controls.Add(this.button1, 0, 0);
+ this.tableLayoutPanel2.Controls.Add(this.button2, 1, 0);
+ this.tableLayoutPanel2.Controls.Add(this.button3, 2, 0);
+ this.tableLayoutPanel2.Dock = DockStyle.Fill;
+ this.tableLayoutPanel2.Location = new Point(0, 121);
+ this.tableLayoutPanel2.Margin = new Padding(0);
+ this.tableLayoutPanel2.RowCount = 1;
+ this.tableLayoutPanel2.RowStyles.Add(new RowStyle(SizeType.Percent, 100F));
+ this.tableLayoutPanel2.Size = new Size(276, 40);
+ this.tableLayoutPanel2.TabIndex = 1;
+
+ this.tableLayoutPanel1.ColumnCount = 1;
+ this.tableLayoutPanel1.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 100F));
+ this.tableLayoutPanel1.Controls.Add(this.comboBox1, 0, 0);
+ this.tableLayoutPanel1.Controls.Add(this.richTextBox1, 0, 1);
+ this.tableLayoutPanel1.Controls.Add(this.tableLayoutPanel2, 0, 2);
+ this.tableLayoutPanel1.Dock = DockStyle.Fill;
+ this.tableLayoutPanel1.Location = new Point(0, 0);
+ this.tableLayoutPanel1.RowCount = 3;
+ this.tableLayoutPanel1.RowStyles.Add(new RowStyle(SizeType.Absolute, 30F));
+ this.tableLayoutPanel1.RowStyles.Add(new RowStyle(SizeType.Percent, 100F));
+ this.tableLayoutPanel1.RowStyles.Add(new RowStyle(SizeType.Absolute, 30F));
+ this.tableLayoutPanel1.Size = new Size(276, 161);
+ this.tableLayoutPanel1.TabIndex = 0;
+
+ this.Controls.Add(this.tableLayoutPanel1);
+ this.ActiveControl = this.richTextBox1;
+
+ }
+
+ [STAThread]
+ public static void Main()
+ {
+ System.Windows.Forms.Application.EnableVisualStyles();
+ System.Windows.Forms.Application.Run(new Form1());
+ }
+ }
+}
diff --git a/_Project/Assets/OpenJTalkForUnity/Scripts/jtd_cs.cs.meta b/_Project/Assets/OpenJTalkForUnity/Scripts/jtd_cs.cs.meta
new file mode 100644
index 0000000..2b8c51f
--- /dev/null
+++ b/_Project/Assets/OpenJTalkForUnity/Scripts/jtd_cs.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 359af0280defce74f88df348736ecbca
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/_Project/Assets/OpenJTalkForUnity/Scripts/jtd_csc.cs b/_Project/Assets/OpenJTalkForUnity/Scripts/jtd_csc.cs
new file mode 100644
index 0000000..3cf598f
--- /dev/null
+++ b/_Project/Assets/OpenJTalkForUnity/Scripts/jtd_csc.cs
@@ -0,0 +1,39 @@
+using JTalkDll;
+using System;
+using System.Linq;
+using System.Runtime.InteropServices;
+using UnityEngine;
+
+class jtd_csc : MonoBehaviour
+{
+ private void Start() { MainClass.Main(); }
+}
+
+public class MainClass
+{
+ [STAThread]
+ public static void Main()
+ {
+ using (var tts = new JTalkTTS { })
+ {
+ Console.WriteLine("available HTS Voices:");
+ tts.Voices.ForEach(v => Console.WriteLine(v.Path));
+ tts.Voice = tts.Voices[new System.Random().Next(tts.Voices.Count)];
+ Console.WriteLine($"current voice: {tts.Voice.Name}");
+ Console.WriteLine($"dic: {tts.Dic}");
+ Console.WriteLine($"s = {tts.S}");
+ Console.WriteLine($"p = {tts.P}");
+ Console.WriteLine($"a = {tts.A}");
+ Console.WriteLine($"b = {tts.B}");
+ Console.WriteLine($"r = {tts.R}");
+ Console.WriteLine($"fm = {tts.FM}");
+ Console.WriteLine($"u = {tts.U}");
+ Console.WriteLine($"jm = {tts.JM}");
+ Console.WriteLine($"jf = {tts.JF}");
+ Console.WriteLine($"g = {tts.G}");
+ tts.SpeakAsync("聞こえてますか?");
+ tts.WaitUntilDone();
+ }
+ }
+}
+
diff --git a/_Project/Assets/OpenJTalkForUnity/Scripts/jtd_csc.cs.meta b/_Project/Assets/OpenJTalkForUnity/Scripts/jtd_csc.cs.meta
new file mode 100644
index 0000000..db0495a
--- /dev/null
+++ b/_Project/Assets/OpenJTalkForUnity/Scripts/jtd_csc.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: f482bbd52f8d6b345a821722da59a2c4
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/_Project/Assets/OpenJTalkForUnity/dll.meta b/_Project/Assets/OpenJTalkForUnity/dll.meta
new file mode 100644
index 0000000..787884c
--- /dev/null
+++ b/_Project/Assets/OpenJTalkForUnity/dll.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 0e578bde406eba44b93239827ebfe4be
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/_Project/Assets/OpenJTalkForUnity/dll/System.Data.dll b/_Project/Assets/OpenJTalkForUnity/dll/System.Data.dll
new file mode 100644
index 0000000..33b714b
Binary files /dev/null and b/_Project/Assets/OpenJTalkForUnity/dll/System.Data.dll differ
diff --git a/_Project/Assets/OpenJTalkForUnity/dll/System.Data.dll.meta b/_Project/Assets/OpenJTalkForUnity/dll/System.Data.dll.meta
new file mode 100644
index 0000000..0463dd6
--- /dev/null
+++ b/_Project/Assets/OpenJTalkForUnity/dll/System.Data.dll.meta
@@ -0,0 +1,33 @@
+fileFormatVersion: 2
+guid: a7921474f72c1ab4eb9661578714977f
+PluginImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ iconMap: {}
+ executionOrder: {}
+ defineConstraints: []
+ isPreloaded: 0
+ isOverridable: 0
+ isExplicitlyReferenced: 0
+ validateReferences: 1
+ platformData:
+ - first:
+ Any:
+ second:
+ enabled: 1
+ settings: {}
+ - first:
+ Editor: Editor
+ second:
+ enabled: 0
+ settings:
+ DefaultValueInitialized: true
+ - first:
+ Windows Store Apps: WindowsStoreApps
+ second:
+ enabled: 0
+ settings:
+ CPU: AnyCPU
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/_Project/Assets/OpenJTalkForUnity/dll/System.Drawing.dll b/_Project/Assets/OpenJTalkForUnity/dll/System.Drawing.dll
new file mode 100644
index 0000000..201d85b
Binary files /dev/null and b/_Project/Assets/OpenJTalkForUnity/dll/System.Drawing.dll differ
diff --git a/_Project/Assets/OpenJTalkForUnity/dll/System.Drawing.dll.meta b/_Project/Assets/OpenJTalkForUnity/dll/System.Drawing.dll.meta
new file mode 100644
index 0000000..70eb737
--- /dev/null
+++ b/_Project/Assets/OpenJTalkForUnity/dll/System.Drawing.dll.meta
@@ -0,0 +1,33 @@
+fileFormatVersion: 2
+guid: 4b7d4e9649f105f4096e6dd9173a6e57
+PluginImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ iconMap: {}
+ executionOrder: {}
+ defineConstraints: []
+ isPreloaded: 0
+ isOverridable: 0
+ isExplicitlyReferenced: 0
+ validateReferences: 1
+ platformData:
+ - first:
+ Any:
+ second:
+ enabled: 1
+ settings: {}
+ - first:
+ Editor: Editor
+ second:
+ enabled: 0
+ settings:
+ DefaultValueInitialized: true
+ - first:
+ Windows Store Apps: WindowsStoreApps
+ second:
+ enabled: 0
+ settings:
+ CPU: AnyCPU
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/_Project/Assets/OpenJTalkForUnity/dll/System.Windows.Forms.dll b/_Project/Assets/OpenJTalkForUnity/dll/System.Windows.Forms.dll
new file mode 100644
index 0000000..43dada0
Binary files /dev/null and b/_Project/Assets/OpenJTalkForUnity/dll/System.Windows.Forms.dll differ
diff --git a/_Project/Assets/OpenJTalkForUnity/dll/System.Windows.Forms.dll.meta b/_Project/Assets/OpenJTalkForUnity/dll/System.Windows.Forms.dll.meta
new file mode 100644
index 0000000..dba0725
--- /dev/null
+++ b/_Project/Assets/OpenJTalkForUnity/dll/System.Windows.Forms.dll.meta
@@ -0,0 +1,33 @@
+fileFormatVersion: 2
+guid: 0e48e9ad6f760684d8d3ad98537486a4
+PluginImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ iconMap: {}
+ executionOrder: {}
+ defineConstraints: []
+ isPreloaded: 0
+ isOverridable: 0
+ isExplicitlyReferenced: 0
+ validateReferences: 1
+ platformData:
+ - first:
+ Any:
+ second:
+ enabled: 1
+ settings: {}
+ - first:
+ Editor: Editor
+ second:
+ enabled: 0
+ settings:
+ DefaultValueInitialized: true
+ - first:
+ Windows Store Apps: WindowsStoreApps
+ second:
+ enabled: 0
+ settings:
+ CPU: AnyCPU
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/_Project/Assets/OpenJTalkForUnity/dll/jtalk.dll b/_Project/Assets/OpenJTalkForUnity/dll/jtalk.dll
new file mode 100644
index 0000000..b145889
Binary files /dev/null and b/_Project/Assets/OpenJTalkForUnity/dll/jtalk.dll differ
diff --git a/_Project/Assets/OpenJTalkForUnity/dll/jtalk.dll.meta b/_Project/Assets/OpenJTalkForUnity/dll/jtalk.dll.meta
new file mode 100644
index 0000000..833a0ff
--- /dev/null
+++ b/_Project/Assets/OpenJTalkForUnity/dll/jtalk.dll.meta
@@ -0,0 +1,27 @@
+fileFormatVersion: 2
+guid: a9c0fb58a88250543acb5d87af1f44a0
+PluginImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ iconMap: {}
+ executionOrder: {}
+ defineConstraints: []
+ isPreloaded: 0
+ isOverridable: 0
+ isExplicitlyReferenced: 0
+ validateReferences: 1
+ platformData:
+ - first:
+ Any:
+ second:
+ enabled: 1
+ settings: {}
+ - first:
+ Editor: Editor
+ second:
+ enabled: 0
+ settings:
+ DefaultValueInitialized: true
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/_Project/Assets/Reference.cs b/_Project/Assets/Reference.cs
new file mode 100644
index 0000000..128dcbd
--- /dev/null
+++ b/_Project/Assets/Reference.cs
@@ -0,0 +1,22 @@
+/*
+ *
+ * ・rosmarinus/jtalkdll|GitHub
+ * https://github.com/rosmarinus/jtalkdll
+ *
+ * ・【Unity】using System.Windows.Formsを利用する(Windowsモジュール限定)|Alpaca Tech Blog
+ * https://alpacatech.hateblo.jp/entry/2018/07/25/012656
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ */
\ No newline at end of file
diff --git a/_Project/Assets/Reference.cs.meta b/_Project/Assets/Reference.cs.meta
new file mode 100644
index 0000000..5906d04
--- /dev/null
+++ b/_Project/Assets/Reference.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: d2713d9e9a8586a429a28995877bf517
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/_Project/Packages/manifest.json b/_Project/Packages/manifest.json
new file mode 100644
index 0000000..beef566
--- /dev/null
+++ b/_Project/Packages/manifest.json
@@ -0,0 +1,43 @@
+{
+ "dependencies": {
+ "com.unity.collab-proxy": "1.5.7",
+ "com.unity.ide.rider": "2.0.7",
+ "com.unity.ide.visualstudio": "2.0.8",
+ "com.unity.ide.vscode": "1.2.3",
+ "com.unity.test-framework": "1.1.24",
+ "com.unity.textmeshpro": "3.0.6",
+ "com.unity.timeline": "1.4.8",
+ "com.unity.ugui": "1.0.0",
+ "com.unity.modules.ai": "1.0.0",
+ "com.unity.modules.androidjni": "1.0.0",
+ "com.unity.modules.animation": "1.0.0",
+ "com.unity.modules.assetbundle": "1.0.0",
+ "com.unity.modules.audio": "1.0.0",
+ "com.unity.modules.cloth": "1.0.0",
+ "com.unity.modules.director": "1.0.0",
+ "com.unity.modules.imageconversion": "1.0.0",
+ "com.unity.modules.imgui": "1.0.0",
+ "com.unity.modules.jsonserialize": "1.0.0",
+ "com.unity.modules.particlesystem": "1.0.0",
+ "com.unity.modules.physics": "1.0.0",
+ "com.unity.modules.physics2d": "1.0.0",
+ "com.unity.modules.screencapture": "1.0.0",
+ "com.unity.modules.terrain": "1.0.0",
+ "com.unity.modules.terrainphysics": "1.0.0",
+ "com.unity.modules.tilemap": "1.0.0",
+ "com.unity.modules.ui": "1.0.0",
+ "com.unity.modules.uielements": "1.0.0",
+ "com.unity.modules.umbra": "1.0.0",
+ "com.unity.modules.unityanalytics": "1.0.0",
+ "com.unity.modules.unitywebrequest": "1.0.0",
+ "com.unity.modules.unitywebrequestassetbundle": "1.0.0",
+ "com.unity.modules.unitywebrequestaudio": "1.0.0",
+ "com.unity.modules.unitywebrequesttexture": "1.0.0",
+ "com.unity.modules.unitywebrequestwww": "1.0.0",
+ "com.unity.modules.vehicles": "1.0.0",
+ "com.unity.modules.video": "1.0.0",
+ "com.unity.modules.vr": "1.0.0",
+ "com.unity.modules.wind": "1.0.0",
+ "com.unity.modules.xr": "1.0.0"
+ }
+}
diff --git a/_Project/Packages/packages-lock.json b/_Project/Packages/packages-lock.json
new file mode 100644
index 0000000..ced5225
--- /dev/null
+++ b/_Project/Packages/packages-lock.json
@@ -0,0 +1,347 @@
+{
+ "dependencies": {
+ "com.unity.collab-proxy": {
+ "version": "1.5.7",
+ "depth": 0,
+ "source": "registry",
+ "dependencies": {
+ "com.unity.nuget.newtonsoft-json": "2.0.0"
+ },
+ "url": "https://packages.unity.com"
+ },
+ "com.unity.ext.nunit": {
+ "version": "1.0.6",
+ "depth": 1,
+ "source": "registry",
+ "dependencies": {},
+ "url": "https://packages.unity.com"
+ },
+ "com.unity.ide.rider": {
+ "version": "2.0.7",
+ "depth": 0,
+ "source": "registry",
+ "dependencies": {
+ "com.unity.test-framework": "1.1.1"
+ },
+ "url": "https://packages.unity.com"
+ },
+ "com.unity.ide.visualstudio": {
+ "version": "2.0.8",
+ "depth": 0,
+ "source": "registry",
+ "dependencies": {
+ "com.unity.test-framework": "1.1.9"
+ },
+ "url": "https://packages.unity.com"
+ },
+ "com.unity.ide.vscode": {
+ "version": "1.2.3",
+ "depth": 0,
+ "source": "registry",
+ "dependencies": {},
+ "url": "https://packages.unity.com"
+ },
+ "com.unity.nuget.newtonsoft-json": {
+ "version": "2.0.0",
+ "depth": 1,
+ "source": "registry",
+ "dependencies": {},
+ "url": "https://packages.unity.com"
+ },
+ "com.unity.test-framework": {
+ "version": "1.1.24",
+ "depth": 0,
+ "source": "registry",
+ "dependencies": {
+ "com.unity.ext.nunit": "1.0.6",
+ "com.unity.modules.imgui": "1.0.0",
+ "com.unity.modules.jsonserialize": "1.0.0"
+ },
+ "url": "https://packages.unity.com"
+ },
+ "com.unity.textmeshpro": {
+ "version": "3.0.6",
+ "depth": 0,
+ "source": "registry",
+ "dependencies": {
+ "com.unity.ugui": "1.0.0"
+ },
+ "url": "https://packages.unity.com"
+ },
+ "com.unity.timeline": {
+ "version": "1.4.8",
+ "depth": 0,
+ "source": "registry",
+ "dependencies": {
+ "com.unity.modules.director": "1.0.0",
+ "com.unity.modules.animation": "1.0.0",
+ "com.unity.modules.audio": "1.0.0",
+ "com.unity.modules.particlesystem": "1.0.0"
+ },
+ "url": "https://packages.unity.com"
+ },
+ "com.unity.ugui": {
+ "version": "1.0.0",
+ "depth": 0,
+ "source": "builtin",
+ "dependencies": {
+ "com.unity.modules.ui": "1.0.0",
+ "com.unity.modules.imgui": "1.0.0"
+ }
+ },
+ "com.unity.modules.ai": {
+ "version": "1.0.0",
+ "depth": 0,
+ "source": "builtin",
+ "dependencies": {}
+ },
+ "com.unity.modules.androidjni": {
+ "version": "1.0.0",
+ "depth": 0,
+ "source": "builtin",
+ "dependencies": {}
+ },
+ "com.unity.modules.animation": {
+ "version": "1.0.0",
+ "depth": 0,
+ "source": "builtin",
+ "dependencies": {}
+ },
+ "com.unity.modules.assetbundle": {
+ "version": "1.0.0",
+ "depth": 0,
+ "source": "builtin",
+ "dependencies": {}
+ },
+ "com.unity.modules.audio": {
+ "version": "1.0.0",
+ "depth": 0,
+ "source": "builtin",
+ "dependencies": {}
+ },
+ "com.unity.modules.cloth": {
+ "version": "1.0.0",
+ "depth": 0,
+ "source": "builtin",
+ "dependencies": {
+ "com.unity.modules.physics": "1.0.0"
+ }
+ },
+ "com.unity.modules.director": {
+ "version": "1.0.0",
+ "depth": 0,
+ "source": "builtin",
+ "dependencies": {
+ "com.unity.modules.audio": "1.0.0",
+ "com.unity.modules.animation": "1.0.0"
+ }
+ },
+ "com.unity.modules.imageconversion": {
+ "version": "1.0.0",
+ "depth": 0,
+ "source": "builtin",
+ "dependencies": {}
+ },
+ "com.unity.modules.imgui": {
+ "version": "1.0.0",
+ "depth": 0,
+ "source": "builtin",
+ "dependencies": {}
+ },
+ "com.unity.modules.jsonserialize": {
+ "version": "1.0.0",
+ "depth": 0,
+ "source": "builtin",
+ "dependencies": {}
+ },
+ "com.unity.modules.particlesystem": {
+ "version": "1.0.0",
+ "depth": 0,
+ "source": "builtin",
+ "dependencies": {}
+ },
+ "com.unity.modules.physics": {
+ "version": "1.0.0",
+ "depth": 0,
+ "source": "builtin",
+ "dependencies": {}
+ },
+ "com.unity.modules.physics2d": {
+ "version": "1.0.0",
+ "depth": 0,
+ "source": "builtin",
+ "dependencies": {}
+ },
+ "com.unity.modules.screencapture": {
+ "version": "1.0.0",
+ "depth": 0,
+ "source": "builtin",
+ "dependencies": {
+ "com.unity.modules.imageconversion": "1.0.0"
+ }
+ },
+ "com.unity.modules.subsystems": {
+ "version": "1.0.0",
+ "depth": 1,
+ "source": "builtin",
+ "dependencies": {
+ "com.unity.modules.jsonserialize": "1.0.0"
+ }
+ },
+ "com.unity.modules.terrain": {
+ "version": "1.0.0",
+ "depth": 0,
+ "source": "builtin",
+ "dependencies": {}
+ },
+ "com.unity.modules.terrainphysics": {
+ "version": "1.0.0",
+ "depth": 0,
+ "source": "builtin",
+ "dependencies": {
+ "com.unity.modules.physics": "1.0.0",
+ "com.unity.modules.terrain": "1.0.0"
+ }
+ },
+ "com.unity.modules.tilemap": {
+ "version": "1.0.0",
+ "depth": 0,
+ "source": "builtin",
+ "dependencies": {
+ "com.unity.modules.physics2d": "1.0.0"
+ }
+ },
+ "com.unity.modules.ui": {
+ "version": "1.0.0",
+ "depth": 0,
+ "source": "builtin",
+ "dependencies": {}
+ },
+ "com.unity.modules.uielements": {
+ "version": "1.0.0",
+ "depth": 0,
+ "source": "builtin",
+ "dependencies": {
+ "com.unity.modules.ui": "1.0.0",
+ "com.unity.modules.imgui": "1.0.0",
+ "com.unity.modules.jsonserialize": "1.0.0",
+ "com.unity.modules.uielementsnative": "1.0.0"
+ }
+ },
+ "com.unity.modules.uielementsnative": {
+ "version": "1.0.0",
+ "depth": 1,
+ "source": "builtin",
+ "dependencies": {
+ "com.unity.modules.ui": "1.0.0",
+ "com.unity.modules.imgui": "1.0.0",
+ "com.unity.modules.jsonserialize": "1.0.0"
+ }
+ },
+ "com.unity.modules.umbra": {
+ "version": "1.0.0",
+ "depth": 0,
+ "source": "builtin",
+ "dependencies": {}
+ },
+ "com.unity.modules.unityanalytics": {
+ "version": "1.0.0",
+ "depth": 0,
+ "source": "builtin",
+ "dependencies": {
+ "com.unity.modules.unitywebrequest": "1.0.0",
+ "com.unity.modules.jsonserialize": "1.0.0"
+ }
+ },
+ "com.unity.modules.unitywebrequest": {
+ "version": "1.0.0",
+ "depth": 0,
+ "source": "builtin",
+ "dependencies": {}
+ },
+ "com.unity.modules.unitywebrequestassetbundle": {
+ "version": "1.0.0",
+ "depth": 0,
+ "source": "builtin",
+ "dependencies": {
+ "com.unity.modules.assetbundle": "1.0.0",
+ "com.unity.modules.unitywebrequest": "1.0.0"
+ }
+ },
+ "com.unity.modules.unitywebrequestaudio": {
+ "version": "1.0.0",
+ "depth": 0,
+ "source": "builtin",
+ "dependencies": {
+ "com.unity.modules.unitywebrequest": "1.0.0",
+ "com.unity.modules.audio": "1.0.0"
+ }
+ },
+ "com.unity.modules.unitywebrequesttexture": {
+ "version": "1.0.0",
+ "depth": 0,
+ "source": "builtin",
+ "dependencies": {
+ "com.unity.modules.unitywebrequest": "1.0.0",
+ "com.unity.modules.imageconversion": "1.0.0"
+ }
+ },
+ "com.unity.modules.unitywebrequestwww": {
+ "version": "1.0.0",
+ "depth": 0,
+ "source": "builtin",
+ "dependencies": {
+ "com.unity.modules.unitywebrequest": "1.0.0",
+ "com.unity.modules.unitywebrequestassetbundle": "1.0.0",
+ "com.unity.modules.unitywebrequestaudio": "1.0.0",
+ "com.unity.modules.audio": "1.0.0",
+ "com.unity.modules.assetbundle": "1.0.0",
+ "com.unity.modules.imageconversion": "1.0.0"
+ }
+ },
+ "com.unity.modules.vehicles": {
+ "version": "1.0.0",
+ "depth": 0,
+ "source": "builtin",
+ "dependencies": {
+ "com.unity.modules.physics": "1.0.0"
+ }
+ },
+ "com.unity.modules.video": {
+ "version": "1.0.0",
+ "depth": 0,
+ "source": "builtin",
+ "dependencies": {
+ "com.unity.modules.audio": "1.0.0",
+ "com.unity.modules.ui": "1.0.0",
+ "com.unity.modules.unitywebrequest": "1.0.0"
+ }
+ },
+ "com.unity.modules.vr": {
+ "version": "1.0.0",
+ "depth": 0,
+ "source": "builtin",
+ "dependencies": {
+ "com.unity.modules.jsonserialize": "1.0.0",
+ "com.unity.modules.physics": "1.0.0",
+ "com.unity.modules.xr": "1.0.0"
+ }
+ },
+ "com.unity.modules.wind": {
+ "version": "1.0.0",
+ "depth": 0,
+ "source": "builtin",
+ "dependencies": {}
+ },
+ "com.unity.modules.xr": {
+ "version": "1.0.0",
+ "depth": 0,
+ "source": "builtin",
+ "dependencies": {
+ "com.unity.modules.physics": "1.0.0",
+ "com.unity.modules.jsonserialize": "1.0.0",
+ "com.unity.modules.subsystems": "1.0.0"
+ }
+ }
+ }
+}
diff --git a/_Project/ProjectSettings/AudioManager.asset b/_Project/ProjectSettings/AudioManager.asset
new file mode 100644
index 0000000..07ebfb0
--- /dev/null
+++ b/_Project/ProjectSettings/AudioManager.asset
@@ -0,0 +1,19 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!11 &1
+AudioManager:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Volume: 1
+ Rolloff Scale: 1
+ Doppler Factor: 1
+ Default Speaker Mode: 2
+ m_SampleRate: 0
+ m_DSPBufferSize: 1024
+ m_VirtualVoiceCount: 512
+ m_RealVoiceCount: 32
+ m_SpatializerPlugin:
+ m_AmbisonicDecoderPlugin:
+ m_DisableAudio: 0
+ m_VirtualizeEffects: 1
+ m_RequestedDSPBufferSize: 1024
diff --git a/_Project/ProjectSettings/ClusterInputManager.asset b/_Project/ProjectSettings/ClusterInputManager.asset
new file mode 100644
index 0000000..e7886b2
--- /dev/null
+++ b/_Project/ProjectSettings/ClusterInputManager.asset
@@ -0,0 +1,6 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!236 &1
+ClusterInputManager:
+ m_ObjectHideFlags: 0
+ m_Inputs: []
diff --git a/_Project/ProjectSettings/DynamicsManager.asset b/_Project/ProjectSettings/DynamicsManager.asset
new file mode 100644
index 0000000..cdc1f3e
--- /dev/null
+++ b/_Project/ProjectSettings/DynamicsManager.asset
@@ -0,0 +1,34 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!55 &1
+PhysicsManager:
+ m_ObjectHideFlags: 0
+ serializedVersion: 11
+ m_Gravity: {x: 0, y: -9.81, z: 0}
+ m_DefaultMaterial: {fileID: 0}
+ m_BounceThreshold: 2
+ m_SleepThreshold: 0.005
+ m_DefaultContactOffset: 0.01
+ m_DefaultSolverIterations: 6
+ m_DefaultSolverVelocityIterations: 1
+ m_QueriesHitBackfaces: 0
+ m_QueriesHitTriggers: 1
+ m_EnableAdaptiveForce: 0
+ m_ClothInterCollisionDistance: 0
+ m_ClothInterCollisionStiffness: 0
+ m_ContactsGeneration: 1
+ m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ m_AutoSimulation: 1
+ m_AutoSyncTransforms: 0
+ m_ReuseCollisionCallbacks: 1
+ m_ClothInterCollisionSettingsToggle: 0
+ m_ContactPairsMode: 0
+ m_BroadphaseType: 0
+ m_WorldBounds:
+ m_Center: {x: 0, y: 0, z: 0}
+ m_Extent: {x: 250, y: 250, z: 250}
+ m_WorldSubdivisions: 8
+ m_FrictionType: 0
+ m_EnableEnhancedDeterminism: 0
+ m_EnableUnifiedHeightmaps: 1
+ m_DefaultMaxAngluarSpeed: 7
diff --git a/_Project/ProjectSettings/EditorBuildSettings.asset b/_Project/ProjectSettings/EditorBuildSettings.asset
new file mode 100644
index 0000000..0147887
--- /dev/null
+++ b/_Project/ProjectSettings/EditorBuildSettings.asset
@@ -0,0 +1,8 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1045 &1
+EditorBuildSettings:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Scenes: []
+ m_configObjects: {}
diff --git a/_Project/ProjectSettings/EditorSettings.asset b/_Project/ProjectSettings/EditorSettings.asset
new file mode 100644
index 0000000..de5d0b2
--- /dev/null
+++ b/_Project/ProjectSettings/EditorSettings.asset
@@ -0,0 +1,30 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!159 &1
+EditorSettings:
+ m_ObjectHideFlags: 0
+ serializedVersion: 11
+ m_ExternalVersionControlSupport: Visible Meta Files
+ m_SerializationMode: 2
+ m_LineEndingsForNewScripts: 0
+ m_DefaultBehaviorMode: 0
+ m_PrefabRegularEnvironment: {fileID: 0}
+ m_PrefabUIEnvironment: {fileID: 0}
+ m_SpritePackerMode: 0
+ m_SpritePackerPaddingPower: 1
+ m_EtcTextureCompressorBehavior: 1
+ m_EtcTextureFastCompressor: 1
+ m_EtcTextureNormalCompressor: 2
+ m_EtcTextureBestCompressor: 4
+ m_ProjectGenerationIncludedExtensions: txt;xml;fnt;cd;asmdef;rsp;asmref
+ m_ProjectGenerationRootNamespace:
+ m_CollabEditorSettings:
+ inProgressEnabled: 1
+ m_EnableTextureStreamingInEditMode: 1
+ m_EnableTextureStreamingInPlayMode: 1
+ m_AsyncShaderCompilation: 1
+ m_EnterPlayModeOptionsEnabled: 0
+ m_EnterPlayModeOptions: 3
+ m_ShowLightmapResolutionOverlay: 1
+ m_UseLegacyProbeSampleCount: 0
+ m_SerializeInlineMappingsOnOneLine: 1
\ No newline at end of file
diff --git a/_Project/ProjectSettings/GraphicsSettings.asset b/_Project/ProjectSettings/GraphicsSettings.asset
new file mode 100644
index 0000000..43369e3
--- /dev/null
+++ b/_Project/ProjectSettings/GraphicsSettings.asset
@@ -0,0 +1,63 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!30 &1
+GraphicsSettings:
+ m_ObjectHideFlags: 0
+ serializedVersion: 13
+ m_Deferred:
+ m_Mode: 1
+ m_Shader: {fileID: 69, guid: 0000000000000000f000000000000000, type: 0}
+ m_DeferredReflections:
+ m_Mode: 1
+ m_Shader: {fileID: 74, guid: 0000000000000000f000000000000000, type: 0}
+ m_ScreenSpaceShadows:
+ m_Mode: 1
+ m_Shader: {fileID: 64, guid: 0000000000000000f000000000000000, type: 0}
+ m_LegacyDeferred:
+ m_Mode: 1
+ m_Shader: {fileID: 63, guid: 0000000000000000f000000000000000, type: 0}
+ m_DepthNormals:
+ m_Mode: 1
+ m_Shader: {fileID: 62, guid: 0000000000000000f000000000000000, type: 0}
+ m_MotionVectors:
+ m_Mode: 1
+ m_Shader: {fileID: 75, guid: 0000000000000000f000000000000000, type: 0}
+ m_LightHalo:
+ m_Mode: 1
+ m_Shader: {fileID: 105, guid: 0000000000000000f000000000000000, type: 0}
+ m_LensFlare:
+ m_Mode: 1
+ m_Shader: {fileID: 102, guid: 0000000000000000f000000000000000, type: 0}
+ m_AlwaysIncludedShaders:
+ - {fileID: 7, guid: 0000000000000000f000000000000000, type: 0}
+ - {fileID: 15104, guid: 0000000000000000f000000000000000, type: 0}
+ - {fileID: 15105, guid: 0000000000000000f000000000000000, type: 0}
+ - {fileID: 15106, guid: 0000000000000000f000000000000000, type: 0}
+ - {fileID: 10753, guid: 0000000000000000f000000000000000, type: 0}
+ - {fileID: 10770, guid: 0000000000000000f000000000000000, type: 0}
+ m_PreloadedShaders: []
+ m_SpritesDefaultMaterial: {fileID: 10754, guid: 0000000000000000f000000000000000,
+ type: 0}
+ m_CustomRenderPipeline: {fileID: 0}
+ m_TransparencySortMode: 0
+ m_TransparencySortAxis: {x: 0, y: 0, z: 1}
+ m_DefaultRenderingPath: 1
+ m_DefaultMobileRenderingPath: 1
+ m_TierSettings: []
+ m_LightmapStripping: 0
+ m_FogStripping: 0
+ m_InstancingStripping: 0
+ m_LightmapKeepPlain: 1
+ m_LightmapKeepDirCombined: 1
+ m_LightmapKeepDynamicPlain: 1
+ m_LightmapKeepDynamicDirCombined: 1
+ m_LightmapKeepShadowMask: 1
+ m_LightmapKeepSubtractive: 1
+ m_FogKeepLinear: 1
+ m_FogKeepExp: 1
+ m_FogKeepExp2: 1
+ m_AlbedoSwatchInfos: []
+ m_LightsUseLinearIntensity: 0
+ m_LightsUseColorTemperature: 0
+ m_LogWhenShaderIsCompiled: 0
+ m_AllowEnlightenSupportForUpgradedProject: 0
diff --git a/_Project/ProjectSettings/InputManager.asset b/_Project/ProjectSettings/InputManager.asset
new file mode 100644
index 0000000..17c8f53
--- /dev/null
+++ b/_Project/ProjectSettings/InputManager.asset
@@ -0,0 +1,295 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!13 &1
+InputManager:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Axes:
+ - serializedVersion: 3
+ m_Name: Horizontal
+ descriptiveName:
+ descriptiveNegativeName:
+ negativeButton: left
+ positiveButton: right
+ altNegativeButton: a
+ altPositiveButton: d
+ gravity: 3
+ dead: 0.001
+ sensitivity: 3
+ snap: 1
+ invert: 0
+ type: 0
+ axis: 0
+ joyNum: 0
+ - serializedVersion: 3
+ m_Name: Vertical
+ descriptiveName:
+ descriptiveNegativeName:
+ negativeButton: down
+ positiveButton: up
+ altNegativeButton: s
+ altPositiveButton: w
+ gravity: 3
+ dead: 0.001
+ sensitivity: 3
+ snap: 1
+ invert: 0
+ type: 0
+ axis: 0
+ joyNum: 0
+ - serializedVersion: 3
+ m_Name: Fire1
+ descriptiveName:
+ descriptiveNegativeName:
+ negativeButton:
+ positiveButton: left ctrl
+ altNegativeButton:
+ altPositiveButton: mouse 0
+ gravity: 1000
+ dead: 0.001
+ sensitivity: 1000
+ snap: 0
+ invert: 0
+ type: 0
+ axis: 0
+ joyNum: 0
+ - serializedVersion: 3
+ m_Name: Fire2
+ descriptiveName:
+ descriptiveNegativeName:
+ negativeButton:
+ positiveButton: left alt
+ altNegativeButton:
+ altPositiveButton: mouse 1
+ gravity: 1000
+ dead: 0.001
+ sensitivity: 1000
+ snap: 0
+ invert: 0
+ type: 0
+ axis: 0
+ joyNum: 0
+ - serializedVersion: 3
+ m_Name: Fire3
+ descriptiveName:
+ descriptiveNegativeName:
+ negativeButton:
+ positiveButton: left shift
+ altNegativeButton:
+ altPositiveButton: mouse 2
+ gravity: 1000
+ dead: 0.001
+ sensitivity: 1000
+ snap: 0
+ invert: 0
+ type: 0
+ axis: 0
+ joyNum: 0
+ - serializedVersion: 3
+ m_Name: Jump
+ descriptiveName:
+ descriptiveNegativeName:
+ negativeButton:
+ positiveButton: space
+ altNegativeButton:
+ altPositiveButton:
+ gravity: 1000
+ dead: 0.001
+ sensitivity: 1000
+ snap: 0
+ invert: 0
+ type: 0
+ axis: 0
+ joyNum: 0
+ - serializedVersion: 3
+ m_Name: Mouse X
+ descriptiveName:
+ descriptiveNegativeName:
+ negativeButton:
+ positiveButton:
+ altNegativeButton:
+ altPositiveButton:
+ gravity: 0
+ dead: 0
+ sensitivity: 0.1
+ snap: 0
+ invert: 0
+ type: 1
+ axis: 0
+ joyNum: 0
+ - serializedVersion: 3
+ m_Name: Mouse Y
+ descriptiveName:
+ descriptiveNegativeName:
+ negativeButton:
+ positiveButton:
+ altNegativeButton:
+ altPositiveButton:
+ gravity: 0
+ dead: 0
+ sensitivity: 0.1
+ snap: 0
+ invert: 0
+ type: 1
+ axis: 1
+ joyNum: 0
+ - serializedVersion: 3
+ m_Name: Mouse ScrollWheel
+ descriptiveName:
+ descriptiveNegativeName:
+ negativeButton:
+ positiveButton:
+ altNegativeButton:
+ altPositiveButton:
+ gravity: 0
+ dead: 0
+ sensitivity: 0.1
+ snap: 0
+ invert: 0
+ type: 1
+ axis: 2
+ joyNum: 0
+ - serializedVersion: 3
+ m_Name: Horizontal
+ descriptiveName:
+ descriptiveNegativeName:
+ negativeButton:
+ positiveButton:
+ altNegativeButton:
+ altPositiveButton:
+ gravity: 0
+ dead: 0.19
+ sensitivity: 1
+ snap: 0
+ invert: 0
+ type: 2
+ axis: 0
+ joyNum: 0
+ - serializedVersion: 3
+ m_Name: Vertical
+ descriptiveName:
+ descriptiveNegativeName:
+ negativeButton:
+ positiveButton:
+ altNegativeButton:
+ altPositiveButton:
+ gravity: 0
+ dead: 0.19
+ sensitivity: 1
+ snap: 0
+ invert: 1
+ type: 2
+ axis: 1
+ joyNum: 0
+ - serializedVersion: 3
+ m_Name: Fire1
+ descriptiveName:
+ descriptiveNegativeName:
+ negativeButton:
+ positiveButton: joystick button 0
+ altNegativeButton:
+ altPositiveButton:
+ gravity: 1000
+ dead: 0.001
+ sensitivity: 1000
+ snap: 0
+ invert: 0
+ type: 0
+ axis: 0
+ joyNum: 0
+ - serializedVersion: 3
+ m_Name: Fire2
+ descriptiveName:
+ descriptiveNegativeName:
+ negativeButton:
+ positiveButton: joystick button 1
+ altNegativeButton:
+ altPositiveButton:
+ gravity: 1000
+ dead: 0.001
+ sensitivity: 1000
+ snap: 0
+ invert: 0
+ type: 0
+ axis: 0
+ joyNum: 0
+ - serializedVersion: 3
+ m_Name: Fire3
+ descriptiveName:
+ descriptiveNegativeName:
+ negativeButton:
+ positiveButton: joystick button 2
+ altNegativeButton:
+ altPositiveButton:
+ gravity: 1000
+ dead: 0.001
+ sensitivity: 1000
+ snap: 0
+ invert: 0
+ type: 0
+ axis: 0
+ joyNum: 0
+ - serializedVersion: 3
+ m_Name: Jump
+ descriptiveName:
+ descriptiveNegativeName:
+ negativeButton:
+ positiveButton: joystick button 3
+ altNegativeButton:
+ altPositiveButton:
+ gravity: 1000
+ dead: 0.001
+ sensitivity: 1000
+ snap: 0
+ invert: 0
+ type: 0
+ axis: 0
+ joyNum: 0
+ - serializedVersion: 3
+ m_Name: Submit
+ descriptiveName:
+ descriptiveNegativeName:
+ negativeButton:
+ positiveButton: return
+ altNegativeButton:
+ altPositiveButton: joystick button 0
+ gravity: 1000
+ dead: 0.001
+ sensitivity: 1000
+ snap: 0
+ invert: 0
+ type: 0
+ axis: 0
+ joyNum: 0
+ - serializedVersion: 3
+ m_Name: Submit
+ descriptiveName:
+ descriptiveNegativeName:
+ negativeButton:
+ positiveButton: enter
+ altNegativeButton:
+ altPositiveButton: space
+ gravity: 1000
+ dead: 0.001
+ sensitivity: 1000
+ snap: 0
+ invert: 0
+ type: 0
+ axis: 0
+ joyNum: 0
+ - serializedVersion: 3
+ m_Name: Cancel
+ descriptiveName:
+ descriptiveNegativeName:
+ negativeButton:
+ positiveButton: escape
+ altNegativeButton:
+ altPositiveButton: joystick button 1
+ gravity: 1000
+ dead: 0.001
+ sensitivity: 1000
+ snap: 0
+ invert: 0
+ type: 0
+ axis: 0
+ joyNum: 0
diff --git a/_Project/ProjectSettings/NavMeshAreas.asset b/_Project/ProjectSettings/NavMeshAreas.asset
new file mode 100644
index 0000000..3b0b7c3
--- /dev/null
+++ b/_Project/ProjectSettings/NavMeshAreas.asset
@@ -0,0 +1,91 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!126 &1
+NavMeshProjectSettings:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ areas:
+ - name: Walkable
+ cost: 1
+ - name: Not Walkable
+ cost: 1
+ - name: Jump
+ cost: 2
+ - name:
+ cost: 1
+ - name:
+ cost: 1
+ - name:
+ cost: 1
+ - name:
+ cost: 1
+ - name:
+ cost: 1
+ - name:
+ cost: 1
+ - name:
+ cost: 1
+ - name:
+ cost: 1
+ - name:
+ cost: 1
+ - name:
+ cost: 1
+ - name:
+ cost: 1
+ - name:
+ cost: 1
+ - name:
+ cost: 1
+ - name:
+ cost: 1
+ - name:
+ cost: 1
+ - name:
+ cost: 1
+ - name:
+ cost: 1
+ - name:
+ cost: 1
+ - name:
+ cost: 1
+ - name:
+ cost: 1
+ - name:
+ cost: 1
+ - name:
+ cost: 1
+ - name:
+ cost: 1
+ - name:
+ cost: 1
+ - name:
+ cost: 1
+ - name:
+ cost: 1
+ - name:
+ cost: 1
+ - name:
+ cost: 1
+ - name:
+ cost: 1
+ m_LastAgentTypeID: -887442657
+ m_Settings:
+ - serializedVersion: 2
+ agentTypeID: 0
+ agentRadius: 0.5
+ agentHeight: 2
+ agentSlope: 45
+ agentClimb: 0.75
+ ledgeDropHeight: 0
+ maxJumpAcrossDistance: 0
+ minRegionArea: 2
+ manualCellSize: 0
+ cellSize: 0.16666667
+ manualTileSize: 0
+ tileSize: 256
+ accuratePlacement: 0
+ debug:
+ m_Flags: 0
+ m_SettingNames:
+ - Humanoid
diff --git a/_Project/ProjectSettings/PackageManagerSettings.asset b/_Project/ProjectSettings/PackageManagerSettings.asset
new file mode 100644
index 0000000..be4a797
--- /dev/null
+++ b/_Project/ProjectSettings/PackageManagerSettings.asset
@@ -0,0 +1,43 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &1
+MonoBehaviour:
+ m_ObjectHideFlags: 61
+ 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: 13964, guid: 0000000000000000e000000000000000, type: 0}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_EnablePreviewPackages: 0
+ m_EnablePackageDependencies: 0
+ m_AdvancedSettingsExpanded: 1
+ m_ScopedRegistriesSettingsExpanded: 1
+ oneTimeWarningShown: 0
+ m_Registries:
+ - m_Id: main
+ m_Name:
+ m_Url: https://packages.unity.com
+ m_Scopes: []
+ m_IsDefault: 1
+ m_Capabilities: 7
+ m_UserSelectedRegistryName:
+ m_UserAddingNewScopedRegistry: 0
+ m_RegistryInfoDraft:
+ m_ErrorMessage:
+ m_Original:
+ m_Id:
+ m_Name:
+ m_Url:
+ m_Scopes: []
+ m_IsDefault: 0
+ m_Capabilities: 0
+ m_Modified: 0
+ m_Name:
+ m_Url:
+ m_Scopes:
+ -
+ m_SelectedScopeIndex: 0
diff --git a/_Project/ProjectSettings/Physics2DSettings.asset b/_Project/ProjectSettings/Physics2DSettings.asset
new file mode 100644
index 0000000..47880b1
--- /dev/null
+++ b/_Project/ProjectSettings/Physics2DSettings.asset
@@ -0,0 +1,56 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!19 &1
+Physics2DSettings:
+ m_ObjectHideFlags: 0
+ serializedVersion: 4
+ m_Gravity: {x: 0, y: -9.81}
+ m_DefaultMaterial: {fileID: 0}
+ m_VelocityIterations: 8
+ m_PositionIterations: 3
+ m_VelocityThreshold: 1
+ m_MaxLinearCorrection: 0.2
+ m_MaxAngularCorrection: 8
+ m_MaxTranslationSpeed: 100
+ m_MaxRotationSpeed: 360
+ m_BaumgarteScale: 0.2
+ m_BaumgarteTimeOfImpactScale: 0.75
+ m_TimeToSleep: 0.5
+ m_LinearSleepTolerance: 0.01
+ m_AngularSleepTolerance: 2
+ m_DefaultContactOffset: 0.01
+ m_JobOptions:
+ serializedVersion: 2
+ useMultithreading: 0
+ useConsistencySorting: 0
+ m_InterpolationPosesPerJob: 100
+ m_NewContactsPerJob: 30
+ m_CollideContactsPerJob: 100
+ m_ClearFlagsPerJob: 200
+ m_ClearBodyForcesPerJob: 200
+ m_SyncDiscreteFixturesPerJob: 50
+ m_SyncContinuousFixturesPerJob: 50
+ m_FindNearestContactsPerJob: 100
+ m_UpdateTriggerContactsPerJob: 100
+ m_IslandSolverCostThreshold: 100
+ m_IslandSolverBodyCostScale: 1
+ m_IslandSolverContactCostScale: 10
+ m_IslandSolverJointCostScale: 10
+ m_IslandSolverBodiesPerJob: 50
+ m_IslandSolverContactsPerJob: 50
+ m_AutoSimulation: 1
+ m_QueriesHitTriggers: 1
+ m_QueriesStartInColliders: 1
+ m_CallbacksOnDisable: 1
+ m_ReuseCollisionCallbacks: 1
+ m_AutoSyncTransforms: 0
+ m_AlwaysShowColliders: 0
+ m_ShowColliderSleep: 1
+ m_ShowColliderContacts: 0
+ m_ShowColliderAABB: 0
+ m_ContactArrowScale: 0.2
+ m_ColliderAwakeColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.7529412}
+ m_ColliderAsleepColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.36078432}
+ m_ColliderContactColor: {r: 1, g: 0, b: 1, a: 0.6862745}
+ m_ColliderAABBColor: {r: 1, g: 1, b: 0, a: 0.2509804}
+ m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
diff --git a/_Project/ProjectSettings/PresetManager.asset b/_Project/ProjectSettings/PresetManager.asset
new file mode 100644
index 0000000..67a94da
--- /dev/null
+++ b/_Project/ProjectSettings/PresetManager.asset
@@ -0,0 +1,7 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1386491679 &1
+PresetManager:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_DefaultPresets: {}
diff --git a/_Project/ProjectSettings/ProjectSettings.asset b/_Project/ProjectSettings/ProjectSettings.asset
new file mode 100644
index 0000000..618553d
--- /dev/null
+++ b/_Project/ProjectSettings/ProjectSettings.asset
@@ -0,0 +1,680 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!129 &1
+PlayerSettings:
+ m_ObjectHideFlags: 0
+ serializedVersion: 20
+ productGUID: bbbf098bea83d43448644f436e8817c4
+ AndroidProfiler: 0
+ AndroidFilterTouchesWhenObscured: 0
+ AndroidEnableSustainedPerformanceMode: 0
+ defaultScreenOrientation: 4
+ targetDevice: 2
+ useOnDemandResources: 0
+ accelerometerFrequency: 60
+ companyName: DefaultCompany
+ productName: New Unity Project
+ defaultCursor: {fileID: 0}
+ cursorHotspot: {x: 0, y: 0}
+ m_SplashScreenBackgroundColor: {r: 0.13725491, g: 0.12156863, b: 0.1254902, a: 1}
+ m_ShowUnitySplashScreen: 1
+ m_ShowUnitySplashLogo: 1
+ m_SplashScreenOverlayOpacity: 1
+ m_SplashScreenAnimation: 1
+ m_SplashScreenLogoStyle: 1
+ m_SplashScreenDrawMode: 0
+ m_SplashScreenBackgroundAnimationZoom: 1
+ m_SplashScreenLogoAnimationZoom: 1
+ m_SplashScreenBackgroundLandscapeAspect: 1
+ m_SplashScreenBackgroundPortraitAspect: 1
+ m_SplashScreenBackgroundLandscapeUvs:
+ serializedVersion: 2
+ x: 0
+ y: 0
+ width: 1
+ height: 1
+ m_SplashScreenBackgroundPortraitUvs:
+ serializedVersion: 2
+ x: 0
+ y: 0
+ width: 1
+ height: 1
+ m_SplashScreenLogos: []
+ m_VirtualRealitySplashScreen: {fileID: 0}
+ m_HolographicTrackingLossScreen: {fileID: 0}
+ defaultScreenWidth: 1024
+ defaultScreenHeight: 768
+ defaultScreenWidthWeb: 960
+ defaultScreenHeightWeb: 600
+ m_StereoRenderingPath: 0
+ m_ActiveColorSpace: 0
+ m_MTRendering: 1
+ mipStripping: 0
+ numberOfMipsStripped: 0
+ m_StackTraceTypes: 010000000100000001000000010000000100000001000000
+ iosShowActivityIndicatorOnLoading: -1
+ androidShowActivityIndicatorOnLoading: -1
+ iosUseCustomAppBackgroundBehavior: 0
+ iosAllowHTTPDownload: 1
+ allowedAutorotateToPortrait: 1
+ allowedAutorotateToPortraitUpsideDown: 1
+ allowedAutorotateToLandscapeRight: 1
+ allowedAutorotateToLandscapeLeft: 1
+ useOSAutorotation: 1
+ use32BitDisplayBuffer: 1
+ preserveFramebufferAlpha: 0
+ disableDepthAndStencilBuffers: 0
+ androidStartInFullscreen: 1
+ androidRenderOutsideSafeArea: 1
+ androidUseSwappy: 1
+ androidBlitType: 0
+ defaultIsNativeResolution: 1
+ macRetinaSupport: 1
+ runInBackground: 1
+ captureSingleScreen: 0
+ muteOtherAudioSources: 0
+ Prepare IOS For Recording: 0
+ Force IOS Speakers When Recording: 0
+ deferSystemGesturesMode: 0
+ hideHomeButton: 0
+ submitAnalytics: 1
+ usePlayerLog: 1
+ bakeCollisionMeshes: 0
+ forceSingleInstance: 0
+ useFlipModelSwapchain: 1
+ resizableWindow: 0
+ useMacAppStoreValidation: 0
+ macAppStoreCategory: public.app-category.games
+ gpuSkinning: 1
+ xboxPIXTextureCapture: 0
+ xboxEnableAvatar: 0
+ xboxEnableKinect: 0
+ xboxEnableKinectAutoTracking: 0
+ xboxEnableFitness: 0
+ visibleInBackground: 1
+ allowFullscreenSwitch: 1
+ fullscreenMode: 1
+ xboxSpeechDB: 0
+ xboxEnableHeadOrientation: 0
+ xboxEnableGuest: 0
+ xboxEnablePIXSampling: 0
+ metalFramebufferOnly: 0
+ xboxOneResolution: 0
+ xboxOneSResolution: 0
+ xboxOneXResolution: 3
+ xboxOneMonoLoggingLevel: 0
+ xboxOneLoggingLevel: 1
+ xboxOneDisableEsram: 0
+ xboxOneEnableTypeOptimization: 0
+ xboxOnePresentImmediateThreshold: 0
+ switchQueueCommandMemory: 0
+ switchQueueControlMemory: 16384
+ switchQueueComputeMemory: 262144
+ switchNVNShaderPoolsGranularity: 33554432
+ switchNVNDefaultPoolsGranularity: 16777216
+ switchNVNOtherPoolsGranularity: 16777216
+ switchNVNMaxPublicTextureIDCount: 0
+ switchNVNMaxPublicSamplerIDCount: 0
+ stadiaPresentMode: 0
+ stadiaTargetFramerate: 0
+ vulkanNumSwapchainBuffers: 3
+ vulkanEnableSetSRGBWrite: 0
+ vulkanEnableLateAcquireNextImage: 0
+ m_SupportedAspectRatios:
+ 4:3: 1
+ 5:4: 1
+ 16:10: 1
+ 16:9: 1
+ Others: 1
+ bundleVersion: 0.1
+ preloadedAssets: []
+ metroInputSource: 0
+ wsaTransparentSwapchain: 0
+ m_HolographicPauseOnTrackingLoss: 1
+ xboxOneDisableKinectGpuReservation: 1
+ xboxOneEnable7thCore: 1
+ vrSettings:
+ cardboard:
+ depthFormat: 0
+ enableTransitionView: 0
+ daydream:
+ depthFormat: 0
+ useSustainedPerformanceMode: 0
+ enableVideoLayer: 0
+ useProtectedVideoMemory: 0
+ minimumSupportedHeadTracking: 0
+ maximumSupportedHeadTracking: 1
+ hololens:
+ depthFormat: 1
+ depthBufferSharingEnabled: 1
+ lumin:
+ depthFormat: 0
+ frameTiming: 2
+ enableGLCache: 0
+ glCacheMaxBlobSize: 524288
+ glCacheMaxFileSize: 8388608
+ oculus:
+ sharedDepthBuffer: 1
+ dashSupport: 1
+ lowOverheadMode: 0
+ protectedContext: 0
+ v2Signing: 1
+ enable360StereoCapture: 0
+ isWsaHolographicRemotingEnabled: 0
+ enableFrameTimingStats: 0
+ useHDRDisplay: 0
+ D3DHDRBitDepth: 0
+ m_ColorGamuts: 00000000
+ targetPixelDensity: 30
+ resolutionScalingMode: 0
+ androidSupportedAspectRatio: 1
+ androidMaxAspectRatio: 2.1
+ applicationIdentifier: {}
+ buildNumber: {}
+ AndroidBundleVersionCode: 1
+ AndroidMinSdkVersion: 19
+ AndroidTargetSdkVersion: 0
+ AndroidPreferredInstallLocation: 1
+ aotOptions:
+ stripEngineCode: 1
+ iPhoneStrippingLevel: 0
+ iPhoneScriptCallOptimization: 0
+ ForceInternetPermission: 0
+ ForceSDCardPermission: 0
+ CreateWallpaper: 0
+ APKExpansionFiles: 0
+ keepLoadedShadersAlive: 0
+ StripUnusedMeshComponents: 1
+ VertexChannelCompressionMask: 4054
+ iPhoneSdkVersion: 988
+ iOSTargetOSVersionString: 11.0
+ tvOSSdkVersion: 0
+ tvOSRequireExtendedGameController: 0
+ tvOSTargetOSVersionString: 11.0
+ uIPrerenderedIcon: 0
+ uIRequiresPersistentWiFi: 0
+ uIRequiresFullScreen: 1
+ uIStatusBarHidden: 1
+ uIExitOnSuspend: 0
+ uIStatusBarStyle: 0
+ appleTVSplashScreen: {fileID: 0}
+ appleTVSplashScreen2x: {fileID: 0}
+ tvOSSmallIconLayers: []
+ tvOSSmallIconLayers2x: []
+ tvOSLargeIconLayers: []
+ tvOSLargeIconLayers2x: []
+ tvOSTopShelfImageLayers: []
+ tvOSTopShelfImageLayers2x: []
+ tvOSTopShelfImageWideLayers: []
+ tvOSTopShelfImageWideLayers2x: []
+ iOSLaunchScreenType: 0
+ iOSLaunchScreenPortrait: {fileID: 0}
+ iOSLaunchScreenLandscape: {fileID: 0}
+ iOSLaunchScreenBackgroundColor:
+ serializedVersion: 2
+ rgba: 0
+ iOSLaunchScreenFillPct: 100
+ iOSLaunchScreenSize: 100
+ iOSLaunchScreenCustomXibPath:
+ iOSLaunchScreeniPadType: 0
+ iOSLaunchScreeniPadImage: {fileID: 0}
+ iOSLaunchScreeniPadBackgroundColor:
+ serializedVersion: 2
+ rgba: 0
+ iOSLaunchScreeniPadFillPct: 100
+ iOSLaunchScreeniPadSize: 100
+ iOSLaunchScreeniPadCustomXibPath:
+ iOSUseLaunchScreenStoryboard: 0
+ iOSLaunchScreenCustomStoryboardPath:
+ iOSDeviceRequirements: []
+ iOSURLSchemes: []
+ iOSBackgroundModes: 0
+ iOSMetalForceHardShadows: 0
+ metalEditorSupport: 1
+ metalAPIValidation: 1
+ iOSRenderExtraFrameOnPause: 0
+ iosCopyPluginsCodeInsteadOfSymlink: 0
+ appleDeveloperTeamID:
+ iOSManualSigningProvisioningProfileID:
+ tvOSManualSigningProvisioningProfileID:
+ iOSManualSigningProvisioningProfileType: 0
+ tvOSManualSigningProvisioningProfileType: 0
+ appleEnableAutomaticSigning: 0
+ iOSRequireARKit: 0
+ iOSAutomaticallyDetectAndAddCapabilities: 1
+ appleEnableProMotion: 0
+ clonedFromGUID: c0afd0d1d80e3634a9dac47e8a0426ea
+ templatePackageId: com.unity.template.3d@5.0.3
+ templateDefaultScene: Assets/Scenes/SampleScene.unity
+ AndroidTargetArchitectures: 1
+ AndroidSplashScreenScale: 0
+ androidSplashScreen: {fileID: 0}
+ AndroidKeystoreName:
+ AndroidKeyaliasName:
+ AndroidBuildApkPerCpuArchitecture: 0
+ AndroidTVCompatibility: 0
+ AndroidIsGame: 1
+ AndroidEnableTango: 0
+ androidEnableBanner: 1
+ androidUseLowAccuracyLocation: 0
+ androidUseCustomKeystore: 0
+ m_AndroidBanners:
+ - width: 320
+ height: 180
+ banner: {fileID: 0}
+ androidGamepadSupportLevel: 0
+ AndroidMinifyWithR8: 0
+ AndroidMinifyRelease: 0
+ AndroidMinifyDebug: 0
+ AndroidValidateAppBundleSize: 1
+ AndroidAppBundleSizeToValidate: 150
+ m_BuildTargetIcons: []
+ m_BuildTargetPlatformIcons: []
+ m_BuildTargetBatching:
+ - m_BuildTarget: Standalone
+ m_StaticBatching: 1
+ m_DynamicBatching: 0
+ - m_BuildTarget: tvOS
+ m_StaticBatching: 1
+ m_DynamicBatching: 0
+ - m_BuildTarget: Android
+ m_StaticBatching: 1
+ m_DynamicBatching: 0
+ - m_BuildTarget: iPhone
+ m_StaticBatching: 1
+ m_DynamicBatching: 0
+ - m_BuildTarget: WebGL
+ m_StaticBatching: 0
+ m_DynamicBatching: 0
+ m_BuildTargetGraphicsJobs:
+ - m_BuildTarget: MacStandaloneSupport
+ m_GraphicsJobs: 0
+ - m_BuildTarget: Switch
+ m_GraphicsJobs: 1
+ - m_BuildTarget: MetroSupport
+ m_GraphicsJobs: 1
+ - m_BuildTarget: AppleTVSupport
+ m_GraphicsJobs: 0
+ - m_BuildTarget: BJMSupport
+ m_GraphicsJobs: 1
+ - m_BuildTarget: LinuxStandaloneSupport
+ m_GraphicsJobs: 1
+ - m_BuildTarget: PS4Player
+ m_GraphicsJobs: 1
+ - m_BuildTarget: iOSSupport
+ m_GraphicsJobs: 0
+ - m_BuildTarget: WindowsStandaloneSupport
+ m_GraphicsJobs: 1
+ - m_BuildTarget: XboxOnePlayer
+ m_GraphicsJobs: 1
+ - m_BuildTarget: LuminSupport
+ m_GraphicsJobs: 0
+ - m_BuildTarget: AndroidPlayer
+ m_GraphicsJobs: 0
+ - m_BuildTarget: WebGLSupport
+ m_GraphicsJobs: 0
+ m_BuildTargetGraphicsJobMode:
+ - m_BuildTarget: PS4Player
+ m_GraphicsJobMode: 0
+ - m_BuildTarget: XboxOnePlayer
+ m_GraphicsJobMode: 0
+ m_BuildTargetGraphicsAPIs:
+ - m_BuildTarget: AndroidPlayer
+ m_APIs: 150000000b000000
+ m_Automatic: 0
+ - m_BuildTarget: iOSSupport
+ m_APIs: 10000000
+ m_Automatic: 1
+ - m_BuildTarget: AppleTVSupport
+ m_APIs: 10000000
+ m_Automatic: 0
+ - m_BuildTarget: WebGLSupport
+ m_APIs: 0b000000
+ m_Automatic: 1
+ m_BuildTargetVRSettings:
+ - m_BuildTarget: Standalone
+ m_Enabled: 0
+ m_Devices:
+ - Oculus
+ - OpenVR
+ openGLRequireES31: 0
+ openGLRequireES31AEP: 0
+ openGLRequireES32: 0
+ m_TemplateCustomTags: {}
+ mobileMTRendering:
+ Android: 1
+ iPhone: 1
+ tvOS: 1
+ m_BuildTargetGroupLightmapEncodingQuality: []
+ m_BuildTargetGroupLightmapSettings: []
+ playModeTestRunnerEnabled: 0
+ runPlayModeTestAsEditModeTest: 0
+ actionOnDotNetUnhandledException: 1
+ enableInternalProfiler: 0
+ logObjCUncaughtExceptions: 1
+ enableCrashReportAPI: 0
+ cameraUsageDescription:
+ locationUsageDescription:
+ microphoneUsageDescription:
+ switchNMETAOverride:
+ switchNetLibKey:
+ switchSocketMemoryPoolSize: 6144
+ switchSocketAllocatorPoolSize: 128
+ switchSocketConcurrencyLimit: 14
+ switchScreenResolutionBehavior: 2
+ switchUseCPUProfiler: 0
+ switchUseGOLDLinker: 0
+ switchApplicationID: 0x01004b9000490000
+ switchNSODependencies:
+ switchTitleNames_0:
+ switchTitleNames_1:
+ switchTitleNames_2:
+ switchTitleNames_3:
+ switchTitleNames_4:
+ switchTitleNames_5:
+ switchTitleNames_6:
+ switchTitleNames_7:
+ switchTitleNames_8:
+ switchTitleNames_9:
+ switchTitleNames_10:
+ switchTitleNames_11:
+ switchTitleNames_12:
+ switchTitleNames_13:
+ switchTitleNames_14:
+ switchPublisherNames_0:
+ switchPublisherNames_1:
+ switchPublisherNames_2:
+ switchPublisherNames_3:
+ switchPublisherNames_4:
+ switchPublisherNames_5:
+ switchPublisherNames_6:
+ switchPublisherNames_7:
+ switchPublisherNames_8:
+ switchPublisherNames_9:
+ switchPublisherNames_10:
+ switchPublisherNames_11:
+ switchPublisherNames_12:
+ switchPublisherNames_13:
+ switchPublisherNames_14:
+ switchIcons_0: {fileID: 0}
+ switchIcons_1: {fileID: 0}
+ switchIcons_2: {fileID: 0}
+ switchIcons_3: {fileID: 0}
+ switchIcons_4: {fileID: 0}
+ switchIcons_5: {fileID: 0}
+ switchIcons_6: {fileID: 0}
+ switchIcons_7: {fileID: 0}
+ switchIcons_8: {fileID: 0}
+ switchIcons_9: {fileID: 0}
+ switchIcons_10: {fileID: 0}
+ switchIcons_11: {fileID: 0}
+ switchIcons_12: {fileID: 0}
+ switchIcons_13: {fileID: 0}
+ switchIcons_14: {fileID: 0}
+ switchSmallIcons_0: {fileID: 0}
+ switchSmallIcons_1: {fileID: 0}
+ switchSmallIcons_2: {fileID: 0}
+ switchSmallIcons_3: {fileID: 0}
+ switchSmallIcons_4: {fileID: 0}
+ switchSmallIcons_5: {fileID: 0}
+ switchSmallIcons_6: {fileID: 0}
+ switchSmallIcons_7: {fileID: 0}
+ switchSmallIcons_8: {fileID: 0}
+ switchSmallIcons_9: {fileID: 0}
+ switchSmallIcons_10: {fileID: 0}
+ switchSmallIcons_11: {fileID: 0}
+ switchSmallIcons_12: {fileID: 0}
+ switchSmallIcons_13: {fileID: 0}
+ switchSmallIcons_14: {fileID: 0}
+ switchManualHTML:
+ switchAccessibleURLs:
+ switchLegalInformation:
+ switchMainThreadStackSize: 1048576
+ switchPresenceGroupId:
+ switchLogoHandling: 0
+ switchReleaseVersion: 0
+ switchDisplayVersion: 1.0.0
+ switchStartupUserAccount: 0
+ switchTouchScreenUsage: 0
+ switchSupportedLanguagesMask: 0
+ switchLogoType: 0
+ switchApplicationErrorCodeCategory:
+ switchUserAccountSaveDataSize: 0
+ switchUserAccountSaveDataJournalSize: 0
+ switchApplicationAttribute: 0
+ switchCardSpecSize: -1
+ switchCardSpecClock: -1
+ switchRatingsMask: 0
+ switchRatingsInt_0: 0
+ switchRatingsInt_1: 0
+ switchRatingsInt_2: 0
+ switchRatingsInt_3: 0
+ switchRatingsInt_4: 0
+ switchRatingsInt_5: 0
+ switchRatingsInt_6: 0
+ switchRatingsInt_7: 0
+ switchRatingsInt_8: 0
+ switchRatingsInt_9: 0
+ switchRatingsInt_10: 0
+ switchRatingsInt_11: 0
+ switchRatingsInt_12: 0
+ switchLocalCommunicationIds_0:
+ switchLocalCommunicationIds_1:
+ switchLocalCommunicationIds_2:
+ switchLocalCommunicationIds_3:
+ switchLocalCommunicationIds_4:
+ switchLocalCommunicationIds_5:
+ switchLocalCommunicationIds_6:
+ switchLocalCommunicationIds_7:
+ switchParentalControl: 0
+ switchAllowsScreenshot: 1
+ switchAllowsVideoCapturing: 1
+ switchAllowsRuntimeAddOnContentInstall: 0
+ switchDataLossConfirmation: 0
+ switchUserAccountLockEnabled: 0
+ switchSystemResourceMemory: 16777216
+ switchSupportedNpadStyles: 22
+ switchNativeFsCacheSize: 32
+ switchIsHoldTypeHorizontal: 0
+ switchSupportedNpadCount: 8
+ switchSocketConfigEnabled: 0
+ switchTcpInitialSendBufferSize: 32
+ switchTcpInitialReceiveBufferSize: 64
+ switchTcpAutoSendBufferSizeMax: 256
+ switchTcpAutoReceiveBufferSizeMax: 256
+ switchUdpSendBufferSize: 9
+ switchUdpReceiveBufferSize: 42
+ switchSocketBufferEfficiency: 4
+ switchSocketInitializeEnabled: 1
+ switchNetworkInterfaceManagerInitializeEnabled: 1
+ switchPlayerConnectionEnabled: 1
+ ps4NPAgeRating: 12
+ ps4NPTitleSecret:
+ ps4NPTrophyPackPath:
+ ps4ParentalLevel: 11
+ ps4ContentID: ED1633-NPXX51362_00-0000000000000000
+ ps4Category: 0
+ ps4MasterVersion: 01.00
+ ps4AppVersion: 01.00
+ ps4AppType: 0
+ ps4ParamSfxPath:
+ ps4VideoOutPixelFormat: 0
+ ps4VideoOutInitialWidth: 1920
+ ps4VideoOutBaseModeInitialWidth: 1920
+ ps4VideoOutReprojectionRate: 60
+ ps4PronunciationXMLPath:
+ ps4PronunciationSIGPath:
+ ps4BackgroundImagePath:
+ ps4StartupImagePath:
+ ps4StartupImagesFolder:
+ ps4IconImagesFolder:
+ ps4SaveDataImagePath:
+ ps4SdkOverride:
+ ps4BGMPath:
+ ps4ShareFilePath:
+ ps4ShareOverlayImagePath:
+ ps4PrivacyGuardImagePath:
+ ps4ExtraSceSysFile:
+ ps4NPtitleDatPath:
+ ps4RemotePlayKeyAssignment: -1
+ ps4RemotePlayKeyMappingDir:
+ ps4PlayTogetherPlayerCount: 0
+ ps4EnterButtonAssignment: 1
+ ps4ApplicationParam1: 0
+ ps4ApplicationParam2: 0
+ ps4ApplicationParam3: 0
+ ps4ApplicationParam4: 0
+ ps4DownloadDataSize: 0
+ ps4GarlicHeapSize: 2048
+ ps4ProGarlicHeapSize: 2560
+ playerPrefsMaxSize: 32768
+ ps4Passcode: frAQBc8Wsa1xVPfvJcrgRYwTiizs2trQ
+ ps4pnSessions: 1
+ ps4pnPresence: 1
+ ps4pnFriends: 1
+ ps4pnGameCustomData: 1
+ playerPrefsSupport: 0
+ enableApplicationExit: 0
+ resetTempFolder: 1
+ restrictedAudioUsageRights: 0
+ ps4UseResolutionFallback: 0
+ ps4ReprojectionSupport: 0
+ ps4UseAudio3dBackend: 0
+ ps4UseLowGarlicFragmentationMode: 1
+ ps4SocialScreenEnabled: 0
+ ps4ScriptOptimizationLevel: 0
+ ps4Audio3dVirtualSpeakerCount: 14
+ ps4attribCpuUsage: 0
+ ps4PatchPkgPath:
+ ps4PatchLatestPkgPath:
+ ps4PatchChangeinfoPath:
+ ps4PatchDayOne: 0
+ ps4attribUserManagement: 0
+ ps4attribMoveSupport: 0
+ ps4attrib3DSupport: 0
+ ps4attribShareSupport: 0
+ ps4attribExclusiveVR: 0
+ ps4disableAutoHideSplash: 0
+ ps4videoRecordingFeaturesUsed: 0
+ ps4contentSearchFeaturesUsed: 0
+ ps4CompatibilityPS5: 0
+ ps4GPU800MHz: 1
+ ps4attribEyeToEyeDistanceSettingVR: 0
+ ps4IncludedModules: []
+ ps4attribVROutputEnabled: 0
+ monoEnv:
+ splashScreenBackgroundSourceLandscape: {fileID: 0}
+ splashScreenBackgroundSourcePortrait: {fileID: 0}
+ blurSplashScreenBackground: 1
+ spritePackerPolicy:
+ webGLMemorySize: 16
+ webGLExceptionSupport: 1
+ webGLNameFilesAsHashes: 0
+ webGLDataCaching: 1
+ webGLDebugSymbols: 0
+ webGLEmscriptenArgs:
+ webGLModulesDirectory:
+ webGLTemplate: APPLICATION:Default
+ webGLAnalyzeBuildSize: 0
+ webGLUseEmbeddedResources: 0
+ webGLCompressionFormat: 1
+ webGLWasmArithmeticExceptions: 0
+ webGLLinkerTarget: 1
+ webGLThreadsSupport: 0
+ webGLDecompressionFallback: 0
+ scriptingDefineSymbols: {}
+ platformArchitecture: {}
+ scriptingBackend: {}
+ il2cppCompilerConfiguration: {}
+ managedStrippingLevel: {}
+ incrementalIl2cppBuild: {}
+ suppressCommonWarnings: 1
+ allowUnsafeCode: 0
+ useDeterministicCompilation: 1
+ additionalIl2CppArgs:
+ scriptingRuntimeVersion: 1
+ gcIncremental: 1
+ gcWBarrierValidation: 0
+ apiCompatibilityLevelPerPlatform:
+ Standalone: 3
+ m_RenderingPath: 1
+ m_MobileRenderingPath: 1
+ metroPackageName: Template_3D
+ metroPackageVersion:
+ metroCertificatePath:
+ metroCertificatePassword:
+ metroCertificateSubject:
+ metroCertificateIssuer:
+ metroCertificateNotAfter: 0000000000000000
+ metroApplicationDescription: Template_3D
+ wsaImages: {}
+ metroTileShortName:
+ metroTileShowName: 0
+ metroMediumTileShowName: 0
+ metroLargeTileShowName: 0
+ metroWideTileShowName: 0
+ metroSupportStreamingInstall: 0
+ metroLastRequiredScene: 0
+ metroDefaultTileSize: 1
+ metroTileForegroundText: 2
+ metroTileBackgroundColor: {r: 0.13333334, g: 0.17254902, b: 0.21568628, a: 0}
+ metroSplashScreenBackgroundColor: {r: 0.12941177, g: 0.17254902, b: 0.21568628, a: 1}
+ metroSplashScreenUseBackgroundColor: 0
+ platformCapabilities: {}
+ metroTargetDeviceFamilies: {}
+ metroFTAName:
+ metroFTAFileTypes: []
+ metroProtocolName:
+ XboxOneProductId:
+ XboxOneUpdateKey:
+ XboxOneSandboxId:
+ XboxOneContentId:
+ XboxOneTitleId:
+ XboxOneSCId:
+ XboxOneGameOsOverridePath:
+ XboxOnePackagingOverridePath:
+ XboxOneAppManifestOverridePath:
+ XboxOneVersion: 1.0.0.0
+ XboxOnePackageEncryption: 0
+ XboxOnePackageUpdateGranularity: 2
+ XboxOneDescription:
+ XboxOneLanguage:
+ - enus
+ XboxOneCapability: []
+ XboxOneGameRating: {}
+ XboxOneIsContentPackage: 0
+ XboxOneEnableGPUVariability: 1
+ XboxOneSockets: {}
+ XboxOneSplashScreen: {fileID: 0}
+ XboxOneAllowedProductIds: []
+ XboxOnePersistentLocalStorageSize: 0
+ XboxOneXTitleMemory: 8
+ XboxOneOverrideIdentityName:
+ XboxOneOverrideIdentityPublisher:
+ vrEditorSettings:
+ daydream:
+ daydreamIconForeground: {fileID: 0}
+ daydreamIconBackground: {fileID: 0}
+ cloudServicesEnabled:
+ UNet: 1
+ luminIcon:
+ m_Name:
+ m_ModelFolderPath:
+ m_PortalFolderPath:
+ luminCert:
+ m_CertPath:
+ m_SignPackage: 1
+ luminIsChannelApp: 0
+ luminVersion:
+ m_VersionCode: 1
+ m_VersionName:
+ apiCompatibilityLevel: 6
+ cloudProjectId:
+ framebufferDepthMemorylessMode: 0
+ projectName:
+ organizationId:
+ cloudEnabled: 0
+ enableNativePlatformBackendsForNewInputSystem: 0
+ disableOldInputManagerSupport: 0
+ legacyClampBlendShapeWeights: 0
+ virtualTexturingSupportEnabled: 0
diff --git a/_Project/ProjectSettings/ProjectVersion.txt b/_Project/ProjectSettings/ProjectVersion.txt
new file mode 100644
index 0000000..79c71bc
--- /dev/null
+++ b/_Project/ProjectSettings/ProjectVersion.txt
@@ -0,0 +1,2 @@
+m_EditorVersion: 2020.3.12f1
+m_EditorVersionWithRevision: 2020.3.12f1 (b3b2c6512326)
diff --git a/_Project/ProjectSettings/QualitySettings.asset b/_Project/ProjectSettings/QualitySettings.asset
new file mode 100644
index 0000000..7b7658d
--- /dev/null
+++ b/_Project/ProjectSettings/QualitySettings.asset
@@ -0,0 +1,232 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!47 &1
+QualitySettings:
+ m_ObjectHideFlags: 0
+ serializedVersion: 5
+ m_CurrentQuality: 5
+ m_QualitySettings:
+ - serializedVersion: 2
+ name: Very Low
+ pixelLightCount: 0
+ shadows: 0
+ shadowResolution: 0
+ shadowProjection: 1
+ shadowCascades: 1
+ shadowDistance: 15
+ shadowNearPlaneOffset: 3
+ shadowCascade2Split: 0.33333334
+ shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
+ shadowmaskMode: 0
+ blendWeights: 1
+ textureQuality: 1
+ anisotropicTextures: 0
+ antiAliasing: 0
+ softParticles: 0
+ softVegetation: 0
+ realtimeReflectionProbes: 0
+ billboardsFaceCameraPosition: 0
+ vSyncCount: 0
+ lodBias: 0.3
+ maximumLODLevel: 0
+ streamingMipmapsActive: 0
+ streamingMipmapsAddAllCameras: 1
+ streamingMipmapsMemoryBudget: 512
+ streamingMipmapsRenderersPerFrame: 512
+ streamingMipmapsMaxLevelReduction: 2
+ streamingMipmapsMaxFileIORequests: 1024
+ particleRaycastBudget: 4
+ asyncUploadTimeSlice: 2
+ asyncUploadBufferSize: 16
+ asyncUploadPersistentBuffer: 1
+ resolutionScalingFixedDPIFactor: 1
+ excludedTargetPlatforms: []
+ - serializedVersion: 2
+ name: Low
+ pixelLightCount: 0
+ shadows: 0
+ shadowResolution: 0
+ shadowProjection: 1
+ shadowCascades: 1
+ shadowDistance: 20
+ shadowNearPlaneOffset: 3
+ shadowCascade2Split: 0.33333334
+ shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
+ shadowmaskMode: 0
+ blendWeights: 2
+ textureQuality: 0
+ anisotropicTextures: 0
+ antiAliasing: 0
+ softParticles: 0
+ softVegetation: 0
+ realtimeReflectionProbes: 0
+ billboardsFaceCameraPosition: 0
+ vSyncCount: 0
+ lodBias: 0.4
+ maximumLODLevel: 0
+ streamingMipmapsActive: 0
+ streamingMipmapsAddAllCameras: 1
+ streamingMipmapsMemoryBudget: 512
+ streamingMipmapsRenderersPerFrame: 512
+ streamingMipmapsMaxLevelReduction: 2
+ streamingMipmapsMaxFileIORequests: 1024
+ particleRaycastBudget: 16
+ asyncUploadTimeSlice: 2
+ asyncUploadBufferSize: 16
+ asyncUploadPersistentBuffer: 1
+ resolutionScalingFixedDPIFactor: 1
+ excludedTargetPlatforms: []
+ - serializedVersion: 2
+ name: Medium
+ pixelLightCount: 1
+ shadows: 1
+ shadowResolution: 0
+ shadowProjection: 1
+ shadowCascades: 1
+ shadowDistance: 20
+ shadowNearPlaneOffset: 3
+ shadowCascade2Split: 0.33333334
+ shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
+ shadowmaskMode: 0
+ blendWeights: 2
+ textureQuality: 0
+ anisotropicTextures: 1
+ antiAliasing: 0
+ softParticles: 0
+ softVegetation: 0
+ realtimeReflectionProbes: 0
+ billboardsFaceCameraPosition: 0
+ vSyncCount: 1
+ lodBias: 0.7
+ maximumLODLevel: 0
+ streamingMipmapsActive: 0
+ streamingMipmapsAddAllCameras: 1
+ streamingMipmapsMemoryBudget: 512
+ streamingMipmapsRenderersPerFrame: 512
+ streamingMipmapsMaxLevelReduction: 2
+ streamingMipmapsMaxFileIORequests: 1024
+ particleRaycastBudget: 64
+ asyncUploadTimeSlice: 2
+ asyncUploadBufferSize: 16
+ asyncUploadPersistentBuffer: 1
+ resolutionScalingFixedDPIFactor: 1
+ excludedTargetPlatforms: []
+ - serializedVersion: 2
+ name: High
+ pixelLightCount: 2
+ shadows: 2
+ shadowResolution: 1
+ shadowProjection: 1
+ shadowCascades: 2
+ shadowDistance: 40
+ shadowNearPlaneOffset: 3
+ shadowCascade2Split: 0.33333334
+ shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
+ shadowmaskMode: 1
+ blendWeights: 2
+ textureQuality: 0
+ anisotropicTextures: 1
+ antiAliasing: 0
+ softParticles: 0
+ softVegetation: 1
+ realtimeReflectionProbes: 1
+ billboardsFaceCameraPosition: 1
+ vSyncCount: 1
+ lodBias: 1
+ maximumLODLevel: 0
+ streamingMipmapsActive: 0
+ streamingMipmapsAddAllCameras: 1
+ streamingMipmapsMemoryBudget: 512
+ streamingMipmapsRenderersPerFrame: 512
+ streamingMipmapsMaxLevelReduction: 2
+ streamingMipmapsMaxFileIORequests: 1024
+ particleRaycastBudget: 256
+ asyncUploadTimeSlice: 2
+ asyncUploadBufferSize: 16
+ asyncUploadPersistentBuffer: 1
+ resolutionScalingFixedDPIFactor: 1
+ excludedTargetPlatforms: []
+ - serializedVersion: 2
+ name: Very High
+ pixelLightCount: 3
+ shadows: 2
+ shadowResolution: 2
+ shadowProjection: 1
+ shadowCascades: 2
+ shadowDistance: 70
+ shadowNearPlaneOffset: 3
+ shadowCascade2Split: 0.33333334
+ shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
+ shadowmaskMode: 1
+ blendWeights: 4
+ textureQuality: 0
+ anisotropicTextures: 2
+ antiAliasing: 2
+ softParticles: 1
+ softVegetation: 1
+ realtimeReflectionProbes: 1
+ billboardsFaceCameraPosition: 1
+ vSyncCount: 1
+ lodBias: 1.5
+ maximumLODLevel: 0
+ streamingMipmapsActive: 0
+ streamingMipmapsAddAllCameras: 1
+ streamingMipmapsMemoryBudget: 512
+ streamingMipmapsRenderersPerFrame: 512
+ streamingMipmapsMaxLevelReduction: 2
+ streamingMipmapsMaxFileIORequests: 1024
+ particleRaycastBudget: 1024
+ asyncUploadTimeSlice: 2
+ asyncUploadBufferSize: 16
+ asyncUploadPersistentBuffer: 1
+ resolutionScalingFixedDPIFactor: 1
+ excludedTargetPlatforms: []
+ - serializedVersion: 2
+ name: Ultra
+ pixelLightCount: 4
+ shadows: 2
+ shadowResolution: 2
+ shadowProjection: 1
+ shadowCascades: 4
+ shadowDistance: 150
+ shadowNearPlaneOffset: 3
+ shadowCascade2Split: 0.33333334
+ shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
+ shadowmaskMode: 1
+ blendWeights: 4
+ textureQuality: 0
+ anisotropicTextures: 2
+ antiAliasing: 2
+ softParticles: 1
+ softVegetation: 1
+ realtimeReflectionProbes: 1
+ billboardsFaceCameraPosition: 1
+ vSyncCount: 1
+ lodBias: 2
+ maximumLODLevel: 0
+ streamingMipmapsActive: 0
+ streamingMipmapsAddAllCameras: 1
+ streamingMipmapsMemoryBudget: 512
+ streamingMipmapsRenderersPerFrame: 512
+ streamingMipmapsMaxLevelReduction: 2
+ streamingMipmapsMaxFileIORequests: 1024
+ particleRaycastBudget: 4096
+ asyncUploadTimeSlice: 2
+ asyncUploadBufferSize: 16
+ asyncUploadPersistentBuffer: 1
+ resolutionScalingFixedDPIFactor: 1
+ excludedTargetPlatforms: []
+ m_PerPlatformDefaultQuality:
+ Android: 2
+ Lumin: 5
+ Nintendo 3DS: 5
+ Nintendo Switch: 5
+ PS4: 5
+ PSP2: 2
+ Stadia: 5
+ Standalone: 5
+ WebGL: 3
+ Windows Store Apps: 5
+ XboxOne: 5
+ iPhone: 2
+ tvOS: 2
diff --git a/_Project/ProjectSettings/TagManager.asset b/_Project/ProjectSettings/TagManager.asset
new file mode 100644
index 0000000..1c92a78
--- /dev/null
+++ b/_Project/ProjectSettings/TagManager.asset
@@ -0,0 +1,43 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!78 &1
+TagManager:
+ serializedVersion: 2
+ tags: []
+ layers:
+ - Default
+ - TransparentFX
+ - Ignore Raycast
+ -
+ - Water
+ - UI
+ -
+ -
+ -
+ -
+ -
+ -
+ -
+ -
+ -
+ -
+ -
+ -
+ -
+ -
+ -
+ -
+ -
+ -
+ -
+ -
+ -
+ -
+ -
+ -
+ -
+ -
+ m_SortingLayers:
+ - name: Default
+ uniqueID: 0
+ locked: 0
diff --git a/_Project/ProjectSettings/TimeManager.asset b/_Project/ProjectSettings/TimeManager.asset
new file mode 100644
index 0000000..558a017
--- /dev/null
+++ b/_Project/ProjectSettings/TimeManager.asset
@@ -0,0 +1,9 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!5 &1
+TimeManager:
+ m_ObjectHideFlags: 0
+ Fixed Timestep: 0.02
+ Maximum Allowed Timestep: 0.33333334
+ m_TimeScale: 1
+ Maximum Particle Timestep: 0.03
diff --git a/_Project/ProjectSettings/TimelineSettings.asset b/_Project/ProjectSettings/TimelineSettings.asset
new file mode 100644
index 0000000..b4fbdb0
--- /dev/null
+++ b/_Project/ProjectSettings/TimelineSettings.asset
@@ -0,0 +1,15 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &1
+MonoBehaviour:
+ m_ObjectHideFlags: 61
+ 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: a287be6c49135cd4f9b2b8666c39d999, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ assetDefaultFramerate: 60
diff --git a/_Project/ProjectSettings/UnityConnectSettings.asset b/_Project/ProjectSettings/UnityConnectSettings.asset
new file mode 100644
index 0000000..fa0b146
--- /dev/null
+++ b/_Project/ProjectSettings/UnityConnectSettings.asset
@@ -0,0 +1,34 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!310 &1
+UnityConnectSettings:
+ m_ObjectHideFlags: 0
+ serializedVersion: 1
+ m_Enabled: 0
+ m_TestMode: 0
+ m_EventOldUrl: https://api.uca.cloud.unity3d.com/v1/events
+ m_EventUrl: https://cdp.cloud.unity3d.com/v1/events
+ m_ConfigUrl: https://config.uca.cloud.unity3d.com
+ m_TestInitMode: 0
+ CrashReportingSettings:
+ m_EventUrl: https://perf-events.cloud.unity3d.com
+ m_Enabled: 0
+ m_LogBufferSize: 10
+ m_CaptureEditorExceptions: 1
+ UnityPurchasingSettings:
+ m_Enabled: 0
+ m_TestMode: 0
+ UnityAnalyticsSettings:
+ m_Enabled: 0
+ m_TestMode: 0
+ m_InitializeOnStartup: 1
+ UnityAdsSettings:
+ m_Enabled: 0
+ m_InitializeOnStartup: 1
+ m_TestMode: 0
+ m_IosGameId:
+ m_AndroidGameId:
+ m_GameIds: {}
+ m_GameId:
+ PerformanceReportingSettings:
+ m_Enabled: 0
diff --git a/_Project/ProjectSettings/VFXManager.asset b/_Project/ProjectSettings/VFXManager.asset
new file mode 100644
index 0000000..3a95c98
--- /dev/null
+++ b/_Project/ProjectSettings/VFXManager.asset
@@ -0,0 +1,12 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!937362698 &1
+VFXManager:
+ m_ObjectHideFlags: 0
+ m_IndirectShader: {fileID: 0}
+ m_CopyBufferShader: {fileID: 0}
+ m_SortShader: {fileID: 0}
+ m_StripUpdateShader: {fileID: 0}
+ m_RenderPipeSettingsPath:
+ m_FixedTimeStep: 0.016666668
+ m_MaxDeltaTime: 0.05
diff --git a/_Project/ProjectSettings/VersionControlSettings.asset b/_Project/ProjectSettings/VersionControlSettings.asset
new file mode 100644
index 0000000..dca2881
--- /dev/null
+++ b/_Project/ProjectSettings/VersionControlSettings.asset
@@ -0,0 +1,8 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!890905787 &1
+VersionControlSettings:
+ m_ObjectHideFlags: 0
+ m_Mode: Visible Meta Files
+ m_CollabEditorSettings:
+ inProgressEnabled: 1
diff --git a/_Project/ProjectSettings/XRSettings.asset b/_Project/ProjectSettings/XRSettings.asset
new file mode 100644
index 0000000..482590c
--- /dev/null
+++ b/_Project/ProjectSettings/XRSettings.asset
@@ -0,0 +1,10 @@
+{
+ "m_SettingKeys": [
+ "VR Device Disabled",
+ "VR Device User Alert"
+ ],
+ "m_SettingValues": [
+ "False",
+ "False"
+ ]
+}
\ No newline at end of file
diff --git a/_Project/UserSettings/EditorUserSettings.asset b/_Project/UserSettings/EditorUserSettings.asset
new file mode 100644
index 0000000..932dc97
--- /dev/null
+++ b/_Project/UserSettings/EditorUserSettings.asset
@@ -0,0 +1,33 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!162 &1
+EditorUserSettings:
+ m_ObjectHideFlags: 0
+ serializedVersion: 4
+ m_ConfigSettings:
+ RecentlyUsedScenePath-0:
+ value: 22424703114646741d0b02082422531b30180a1f22213229621a1c3ef2ec310be1e238eca8092f393809a1290a371526
+ flags: 0
+ RecentlyUsedScenePath-1:
+ value: 22424703114646741d0b02082422531b30180a1f22213229621a1c3ef2ec310be1e238eca8092b332912ee3e083b4f2afc031d12
+ flags: 0
+ RecentlyUsedScenePath-2:
+ value: 22424703114646741d0b02082422531b30180a1f22213229621a1c3ef2ec310be1e238eca8092f393809d9330d3d040cf7060c08e20e0e450400f41a08
+ flags: 0
+ RecentlyUsedScenePath-3:
+ value: 22424703114646741d0b02082422531b30180a1f22213229621a1c3ef2ec310be1e238eca8092f393809dd3d0a3a0e32c4050008f3451f05181ae4
+ flags: 0
+ vcSharedLogLevel:
+ value: 0d5e400f0650
+ flags: 0
+ m_VCAutomaticAdd: 1
+ m_VCDebugCom: 0
+ m_VCDebugCmd: 0
+ m_VCDebugOut: 0
+ m_SemanticMergeMode: 2
+ m_VCShowFailedCheckout: 1
+ m_VCOverwriteFailedCheckoutAssets: 1
+ m_VCProjectOverlayIcons: 1
+ m_VCHierarchyOverlayIcons: 1
+ m_VCOtherOverlayIcons: 1
+ m_VCAllowAsyncUpdate: 0