diff --git a/Assets/Models/silver-dragonkin-mir4.meta b/Assets/Models/silver-dragonkin-mir4.meta new file mode 100644 index 00000000..1a4a6268 --- /dev/null +++ b/Assets/Models/silver-dragonkin-mir4.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 8536e5bd3d690424da749bd78a77ade8 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Models/silver-dragonkin-mir4/source.meta b/Assets/Models/silver-dragonkin-mir4/source.meta new file mode 100644 index 00000000..70af9e06 --- /dev/null +++ b/Assets/Models/silver-dragonkin-mir4/source.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 2b6a3180fa6a0a647a9bdfb7d6f811ea +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Models/silver-dragonkin-mir4/source/Silver Dragonkin (Mir4).rar b/Assets/Models/silver-dragonkin-mir4/source/Silver Dragonkin (Mir4).rar new file mode 100644 index 00000000..2710729d Binary files /dev/null and b/Assets/Models/silver-dragonkin-mir4/source/Silver Dragonkin (Mir4).rar differ diff --git a/Assets/Models/silver-dragonkin-mir4/source/Silver Dragonkin (Mir4).rar.meta b/Assets/Models/silver-dragonkin-mir4/source/Silver Dragonkin (Mir4).rar.meta new file mode 100644 index 00000000..a95d2634 --- /dev/null +++ b/Assets/Models/silver-dragonkin-mir4/source/Silver Dragonkin (Mir4).rar.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: d3b4a96fabbbbd84cbba7a42935049b1 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Models/silver-dragonkin-mir4/textures.meta b/Assets/Models/silver-dragonkin-mir4/textures.meta new file mode 100644 index 00000000..70b100f7 --- /dev/null +++ b/Assets/Models/silver-dragonkin-mir4/textures.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 3740d987f664089489306ea2a7db82a9 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Models/silver-dragonkin-mir4/textures/T_Mon_BlackDragon31a_D.png b/Assets/Models/silver-dragonkin-mir4/textures/T_Mon_BlackDragon31a_D.png new file mode 100644 index 00000000..dd822438 Binary files /dev/null and b/Assets/Models/silver-dragonkin-mir4/textures/T_Mon_BlackDragon31a_D.png differ diff --git a/Assets/Models/silver-dragonkin-mir4/textures/T_Mon_BlackDragon31a_D.png.meta b/Assets/Models/silver-dragonkin-mir4/textures/T_Mon_BlackDragon31a_D.png.meta new file mode 100644 index 00000000..5275020f --- /dev/null +++ b/Assets/Models/silver-dragonkin-mir4/textures/T_Mon_BlackDragon31a_D.png.meta @@ -0,0 +1,130 @@ +fileFormatVersion: 2 +guid: b964b39b58f0326409a9783ec8aa2b0c +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 13 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 4 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Android + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + customData: + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Models/silver-dragonkin-mir4/textures/T_Mon_BlackDragon31a_M.png b/Assets/Models/silver-dragonkin-mir4/textures/T_Mon_BlackDragon31a_M.png new file mode 100644 index 00000000..218db8e6 Binary files /dev/null and b/Assets/Models/silver-dragonkin-mir4/textures/T_Mon_BlackDragon31a_M.png differ diff --git a/Assets/Models/silver-dragonkin-mir4/textures/T_Mon_BlackDragon31a_M.png.meta b/Assets/Models/silver-dragonkin-mir4/textures/T_Mon_BlackDragon31a_M.png.meta new file mode 100644 index 00000000..4d48cb0b --- /dev/null +++ b/Assets/Models/silver-dragonkin-mir4/textures/T_Mon_BlackDragon31a_M.png.meta @@ -0,0 +1,130 @@ +fileFormatVersion: 2 +guid: 3a2f53a2e21ebf24cb5072a976a20bde +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 13 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 4 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Android + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + customData: + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Models/silver-dragonkin-mir4/textures/T_Mon_BlackDragon31a_N.png b/Assets/Models/silver-dragonkin-mir4/textures/T_Mon_BlackDragon31a_N.png new file mode 100644 index 00000000..374ef83d Binary files /dev/null and b/Assets/Models/silver-dragonkin-mir4/textures/T_Mon_BlackDragon31a_N.png differ diff --git a/Assets/Models/silver-dragonkin-mir4/textures/T_Mon_BlackDragon31a_N.png.meta b/Assets/Models/silver-dragonkin-mir4/textures/T_Mon_BlackDragon31a_N.png.meta new file mode 100644 index 00000000..1c22847f --- /dev/null +++ b/Assets/Models/silver-dragonkin-mir4/textures/T_Mon_BlackDragon31a_N.png.meta @@ -0,0 +1,130 @@ +fileFormatVersion: 2 +guid: 557f5780ab3e27a4c8fc1e53634527fa +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 13 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 4 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Android + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + customData: + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Models/silver-dragonkin-mir4/textures/T_Mon_BlackDragon31b_D.png b/Assets/Models/silver-dragonkin-mir4/textures/T_Mon_BlackDragon31b_D.png new file mode 100644 index 00000000..ce70fdca Binary files /dev/null and b/Assets/Models/silver-dragonkin-mir4/textures/T_Mon_BlackDragon31b_D.png differ diff --git a/Assets/Models/silver-dragonkin-mir4/textures/T_Mon_BlackDragon31b_D.png.meta b/Assets/Models/silver-dragonkin-mir4/textures/T_Mon_BlackDragon31b_D.png.meta new file mode 100644 index 00000000..74251d98 --- /dev/null +++ b/Assets/Models/silver-dragonkin-mir4/textures/T_Mon_BlackDragon31b_D.png.meta @@ -0,0 +1,130 @@ +fileFormatVersion: 2 +guid: 7a4e63bca63cec44cb0dd5802d29a8f6 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 13 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 4 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Android + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + customData: + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Models/silver-dragonkin-mir4/textures/T_Mon_BlackDragon31b_M.png b/Assets/Models/silver-dragonkin-mir4/textures/T_Mon_BlackDragon31b_M.png new file mode 100644 index 00000000..c0e67e10 Binary files /dev/null and b/Assets/Models/silver-dragonkin-mir4/textures/T_Mon_BlackDragon31b_M.png differ diff --git a/Assets/Models/silver-dragonkin-mir4/textures/T_Mon_BlackDragon31b_M.png.meta b/Assets/Models/silver-dragonkin-mir4/textures/T_Mon_BlackDragon31b_M.png.meta new file mode 100644 index 00000000..6ecbf3ba --- /dev/null +++ b/Assets/Models/silver-dragonkin-mir4/textures/T_Mon_BlackDragon31b_M.png.meta @@ -0,0 +1,130 @@ +fileFormatVersion: 2 +guid: 37fe42e7d811cff489bb4b30c829778f +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 13 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 4 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Android + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + customData: + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Models/silver-dragonkin-mir4/textures/T_Mon_BlackDragon31b_N.png b/Assets/Models/silver-dragonkin-mir4/textures/T_Mon_BlackDragon31b_N.png new file mode 100644 index 00000000..8e3b9e03 Binary files /dev/null and b/Assets/Models/silver-dragonkin-mir4/textures/T_Mon_BlackDragon31b_N.png differ diff --git a/Assets/Models/silver-dragonkin-mir4/textures/T_Mon_BlackDragon31b_N.png.meta b/Assets/Models/silver-dragonkin-mir4/textures/T_Mon_BlackDragon31b_N.png.meta new file mode 100644 index 00000000..c13c08b4 --- /dev/null +++ b/Assets/Models/silver-dragonkin-mir4/textures/T_Mon_BlackDragon31b_N.png.meta @@ -0,0 +1,130 @@ +fileFormatVersion: 2 +guid: d263c85f0f8bd234c9958e415c763a7d +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 13 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 4 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Android + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + customData: + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scenes/Only AI.unity b/Assets/Scenes/Only AI.unity index 55f2e355..58ea56b3 100644 --- a/Assets/Scenes/Only AI.unity +++ b/Assets/Scenes/Only AI.unity @@ -81194,6 +81194,168 @@ Mesh: - serializedVersion: 1 m_IndexStart: 0 m_IndexCount: 0 +--- !u!1 &460076044 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 460076050} + - component: {fileID: 460076049} + - component: {fileID: 460076048} + - component: {fileID: 460076047} + - component: {fileID: 460076046} + - component: {fileID: 460076045} + m_Layer: 0 + m_Name: Capsule + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &460076045 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 460076044} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4efda4e7a7dcac84ca938e2264ed0276, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::GerminiNPC + apiKey: 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 + germiniURL: https://api.openai.com/v1/responses + npcPersona: "Ngu\u01A1i l\xE0 \u1ED9t th\u1EE3 l\xE3o th\u1EE3 r\xE8n c\u1ECDc + c\u1EB1n t\xEAn l\xE0 TOm,ng\u01B0\u01A1i r\u1EA5t gh\xE9t nh\u1EEFng k\u1EBB + mang ph\u1EBF li\u1EC7u \u0111\u1EBFn ti\u1EC7m c\u1EE7a m\xECnh.Ch tr\u1EA3 + l\u1EDDi ng\u1EAFn g\u1ECDn trong 2 c\xE2u,theo phong c\xE1ch trung c\u1ED5" + playerHeldItem: "Thanh ki\u1EBFm r\u1EC9 s\xE9t" +--- !u!54 &460076046 +Rigidbody: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 460076044} + serializedVersion: 5 + m_Mass: 1 + m_LinearDamping: 0 + m_AngularDamping: 0.05 + m_CenterOfMass: {x: 0, y: 0, z: 0} + m_InertiaTensor: {x: 1, y: 1, z: 1} + m_InertiaRotation: {x: 0, y: 0, z: 0, w: 1} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ImplicitCom: 1 + m_ImplicitTensor: 1 + m_UseGravity: 1 + m_IsKinematic: 1 + m_Interpolate: 0 + m_Constraints: 0 + m_CollisionDetection: 0 +--- !u!136 &460076047 +CapsuleCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 460076044} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Radius: 0.5 + m_Height: 2 + m_Direction: 1 + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &460076048 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 460076044} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_ForceMeshLod: -1 + m_MeshLodSelectionBias: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 31321ba15b8f8eb4c954353edc038b1d, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_GlobalIlluminationMeshLod: 0 + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_MaskInteraction: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &460076049 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 460076044} + m_Mesh: {fileID: 10208, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &460076050 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 460076044} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -1.76395, y: 6.37482, z: 11.90222} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &503048970 GameObject: m_ObjectHideFlags: 0 @@ -86830,8 +86992,8 @@ Light: m_Enabled: 1 serializedVersion: 12 m_Type: 1 - m_Color: {r: 0, g: 0, b: 0, a: 1} - m_Intensity: 1 + m_Color: {r: 0.6528301, g: 0.6528301, b: 0.6528301, a: 1} + m_Intensity: 0.93 m_Range: 10 m_SpotAngle: 30 m_InnerSpotAngle: 21.80208 @@ -86893,13 +87055,13 @@ Transform: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 678938548} serializedVersion: 2 - m_LocalRotation: {x: -0.5, y: -0.5, z: -0.5, w: 0.5} + m_LocalRotation: {x: 0.5, y: -0.5, z: 0.5, w: 0.5} m_LocalPosition: {x: 0, y: 3, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 0} - m_LocalEulerAnglesHint: {x: -90, y: -90, z: 0} + m_LocalEulerAnglesHint: {x: 90, y: -90, z: 0} --- !u!114 &678938551 MonoBehaviour: m_ObjectHideFlags: 0 @@ -141940,3 +142102,4 @@ SceneRoots: - {fileID: 788944362} - {fileID: 779176738} - {fileID: 333057066} + - {fileID: 460076050} diff --git a/Assets/Scripts/AI NPC.meta b/Assets/Scripts/AI NPC.meta new file mode 100644 index 00000000..306b0d5d --- /dev/null +++ b/Assets/Scripts/AI NPC.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 92ace9da10dc8bd49a47cbdb18f8d052 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/AI NPC/BehavourTreeCore.cs b/Assets/Scripts/AI NPC/BehavourTreeCore.cs new file mode 100644 index 00000000..616b1fa6 --- /dev/null +++ b/Assets/Scripts/AI NPC/BehavourTreeCore.cs @@ -0,0 +1,44 @@ +using System.Collections.Generic; +using UnityEngine; + +public enum NodeState +{ + Success, Failure, Running +} + +public abstract class Node +{ + protected NodeState state; + public NodeState State => state; + public abstract NodeState Evaluate(); +} + +public class Selector : Node +{ + protected List nodes = new List(); // children nodes + + public Selector(List nodes) + { + this.nodes = nodes; + } + + public override NodeState Evaluate() + { + foreach (var node in nodes) + { + switch (node.Evaluate()) + { + case NodeState.Failure: + continue; + case NodeState.Success: + state = NodeState.Success; + return state; + case NodeState.Running: + state = NodeState.Running; + return state; + } + } + state = NodeState.Failure; + return state; + } +} diff --git a/Assets/Scripts/AI NPC/BehavourTreeCore.cs.meta b/Assets/Scripts/AI NPC/BehavourTreeCore.cs.meta new file mode 100644 index 00000000..9d747f53 --- /dev/null +++ b/Assets/Scripts/AI NPC/BehavourTreeCore.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 05bb68bbe2862134ab45f5267ec4b6bb \ No newline at end of file diff --git a/Assets/Scripts/AI NPC/EnemyAI.cs b/Assets/Scripts/AI NPC/EnemyAI.cs new file mode 100644 index 00000000..38fa44ca --- /dev/null +++ b/Assets/Scripts/AI NPC/EnemyAI.cs @@ -0,0 +1,73 @@ +using System.Collections.Generic; +using UnityEngine; + +public class EnemyAI : MonoBehaviour +{ + public Transform player; + public float detectRange = 10f; + public float moveSpeed = 3f; + public float rotateSpeed = 50f; + public bool isAttackReady; + + public Node behaviorTreeRoot; + + // Start is called once before the first execution of Update after the MonoBehaviour is created + void Start() + { + InitBehaviorTree(); + } + + // Update is called once per frame + void Update() + { + if (behaviorTreeRoot != null) + { + behaviorTreeRoot.Evaluate(); + } + } + + void InitBehaviorTree() + { + var chaseSequence = new Sequence(new List + { + new TaskNode(CheckCanSeePlayer), + new TaskNode(ActionMoveToPlayer) + }); + var rotationScanNode = new TaskNode(ActionRotationScan); + behaviorTreeRoot = new Selector(new List + { + chaseSequence, + rotationScanNode + }); + } + + private NodeState ActionRotationScan() + { + Debug.Log("ActionRotationScan"); + transform.Rotate(Vector3.up, rotateSpeed * Time.deltaTime); + return NodeState.Running; + } + + private NodeState ActionMoveToPlayer() + { + Debug.Log($"Moving to Player"); + Vector3 dir = (player.position - transform.position).normalized; + transform.position += dir * moveSpeed * Time.deltaTime; + return NodeState.Running; + } + + private NodeState CheckCanSeePlayer() + { + if (player == null) + { + return NodeState.Failure; + } + float distance = Vector3.Distance(transform.position,player.position); + if (distance < detectRange) + { + Debug.Log($"Player detected!"); + return NodeState.Success; + } + return NodeState.Failure; + } +} \ No newline at end of file diff --git a/Assets/Scripts/AI NPC/EnemyAI.cs.meta b/Assets/Scripts/AI NPC/EnemyAI.cs.meta new file mode 100644 index 00000000..d90c9807 --- /dev/null +++ b/Assets/Scripts/AI NPC/EnemyAI.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 2224c27a7e8678e4a85f6604ba5e669a \ No newline at end of file diff --git a/Assets/Scripts/AI NPC/GerminiNPC.cs b/Assets/Scripts/AI NPC/GerminiNPC.cs new file mode 100644 index 00000000..b9215061 --- /dev/null +++ b/Assets/Scripts/AI NPC/GerminiNPC.cs @@ -0,0 +1,82 @@ +using System; +using System.Collections; +using System.Text; +using UnityEngine; +using UnityEngine.InputSystem; +using UnityEngine.Networking; + +[Serializable] +public class Part +{ + public string text; +} + +[Serializable] +public class Content +{ + public Part[] parts; +} + +[Serializable] +public class Candidate +{ + public Content content; +} + +[Serializable] +public class GeminiResponse +{ + public Candidate[] candidates; +} +public class GerminiNPC :MonoBehaviour +{ + [SerializeField] + private string apiKey = "AQ.Ab8RN6I2hU_p8yHiPNNHtWzYBiLugbPP22gC6lzTWaYEWj4v0g"; + [SerializeField] + private string germiniURL = + "https://generativelanguage.googleapis.com/v1beta/models/gemini-flash-latest:generateContent"; + + public string npcPersona = + $"Nguơi là ột thợ lão thợ rèn cọc cằn tên là TOm,ngươi rất ghét những kẻ mang phế liệu đến tiệm của mình.Ch trả lời ngắn gọn trong 2 câu,theo phong cách trung cổ"; + + public string playerHeldItem = "Thanh kiếm rỉ sét"; + + private void Update() + { + if (Keyboard.current.spaceKey.wasPressedThisFrame) + { + StartCoroutine(GetGerminiReponse()); + } + } + + private IEnumerator GetGerminiReponse() + { + var jsonBody = $@"{{""systemInstruction"": {{""parts"": [{{ ""text"": ""{npcPersona}"" }}]}}, + ""contents"": [{{""parts"": [{{ ""text"": ""Ta muốn bán cho ông món đồ này cho ông {playerHeldItem}""}}]}}] }} "; + var requestURL = $"{germiniURL}?ket={apiKey}"; + using (var request = new UnityWebRequest(germiniURL, "POST")) + { + var bodyRaw = Encoding.UTF8.GetBytes(jsonBody); + request.uploadHandler = new UploadHandlerRaw(bodyRaw); + request.downloadHandler = new DownloadHandlerBuffer(); + request.SetRequestHeader("Content-Type", "application/json"); + yield return request.SendWebRequest(); + if (request.result == UnityWebRequest.Result.ProtocolError) + { + Debug.LogError(request.error); + } + else + { + var responseTEXT = request.downloadHandler.text; + var germiniResponse=JsonUtility.FromJson(responseTEXT); + if (germiniResponse.candidates.Length > 0) + { + var npcResponse = germiniResponse.candidates[0].content.parts[0].text; + Debug.Log(npcResponse); + } + } + } + } +} + + diff --git a/Assets/Scripts/AI NPC/GerminiNPC.cs.meta b/Assets/Scripts/AI NPC/GerminiNPC.cs.meta new file mode 100644 index 00000000..54f3e955 --- /dev/null +++ b/Assets/Scripts/AI NPC/GerminiNPC.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 4efda4e7a7dcac84ca938e2264ed0276 \ No newline at end of file diff --git a/Assets/Scripts/AI NPC/Sequence.cs b/Assets/Scripts/AI NPC/Sequence.cs new file mode 100644 index 00000000..0af85dc3 --- /dev/null +++ b/Assets/Scripts/AI NPC/Sequence.cs @@ -0,0 +1,47 @@ +using System.Collections.Generic; + +public class Sequence : Node +{ + private List nodes = new List(); + + public Sequence(List nodes) + { + this.nodes = nodes; + } + + public override NodeState Evaluate() + { + var isAnyChildRunning = false; + foreach (var node in nodes) + { + switch (node.Evaluate()) + { + case NodeState.Failure: + state = NodeState.Failure; + return state; + case NodeState.Success: + continue; + case NodeState.Running: + isAnyChildRunning = true; + continue; + } + } + state = isAnyChildRunning ? NodeState.Running : NodeState.Success; + return state; + } +} +public class TaskNode : Node +{ + public delegate NodeState TaskDelegate(); + private TaskDelegate action; + + public TaskNode(TaskDelegate action) + { + this.action = action; + } + + public override NodeState Evaluate() + { + return action(); + } +} \ No newline at end of file diff --git a/Assets/Scripts/AI NPC/Sequence.cs.meta b/Assets/Scripts/AI NPC/Sequence.cs.meta new file mode 100644 index 00000000..61a666ee --- /dev/null +++ b/Assets/Scripts/AI NPC/Sequence.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: bfbdb66c26ddee84199051308b223b09 \ No newline at end of file diff --git a/Assets/Scripts/UI/UIManager.cs b/Assets/Scripts/UI/UIManager.cs index 25f197a8..55db0cd9 100644 --- a/Assets/Scripts/UI/UIManager.cs +++ b/Assets/Scripts/UI/UIManager.cs @@ -347,13 +347,7 @@ namespace Hallucinate.UI particle.style.opacity = 0f; particle.style.scale = Vector3.one; - Sequence.Create() - .Group(Tween.Custom(0f, 0.6f, duration: 0.05f, onValueChange: val => particle.style.opacity = val)) - .Chain(Tween.Custom(0.6f, 0f, duration: 0.35f, onValueChange: val => particle.style.opacity = val)) - .Group(Tween.Custom(1f, 0.2f, duration: 0.4f, onValueChange: val => { - particle.style.scale = new StyleScale(new Scale(new Vector3(val, val, 1f))); - })) - .OnComplete(() => particle.style.display = DisplayStyle.None); + } private float GetCurrentScale() => (_uiDocument != null && _uiDocument.panelSettings != null) ? _uiDocument.panelSettings.scale : 1.0f;