Merge remote-tracking branch 'origin/develop' into feature/HostAttack_Hoang
# Conflicts: # Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Fallback.asset
This commit is contained in:
@@ -99,3 +99,4 @@ InitTestScene*.unity*
|
||||
/[Aa]ssets/[Ii]nit[Tt]est[Ss]cene*.unity*
|
||||
ProjectSettings/EditorBuildSettings.asset
|
||||
ProjectSettings/ProjectSettings.asset
|
||||
.idea
|
||||
|
||||
@@ -1,8 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="UserContentModel">
|
||||
<attachedFolders />
|
||||
<explicitIncludes />
|
||||
<explicitExcludes />
|
||||
</component>
|
||||
</project>
|
||||
@@ -1,8 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="RiderProjectSettingsUpdater">
|
||||
<option name="singleClickDiffPreview" value="1" />
|
||||
<option name="unhandledExceptionsIgnoreList" value="1" />
|
||||
<option name="vcsConfiguration" value="3" />
|
||||
</component>
|
||||
</project>
|
||||
-142
@@ -1,142 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="AutoImportSettings">
|
||||
<option name="autoReloadType" value="SELECTIVE" />
|
||||
</component>
|
||||
<component name="ChangeListManager">
|
||||
<list default="true" id="49831fc9-7cbb-46fb-90e9-7754de73bafb" name="Changes" comment="">
|
||||
<change beforePath="$PROJECT_DIR$/ProjectSettings/EditorBuildSettings.asset" beforeDir="false" afterPath="$PROJECT_DIR$/ProjectSettings/EditorBuildSettings.asset" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ProjectSettings/ShaderGraphSettings.asset" beforeDir="false" afterPath="$PROJECT_DIR$/ProjectSettings/ShaderGraphSettings.asset" afterDir="false" />
|
||||
</list>
|
||||
<option name="SHOW_DIALOG" value="false" />
|
||||
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
||||
<option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
|
||||
<option name="LAST_RESOLUTION" value="IGNORE" />
|
||||
</component>
|
||||
<component name="Git.Settings">
|
||||
<option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
|
||||
</component>
|
||||
<component name="HighlightingSettingsPerFile">
|
||||
<setting file="file://$APPLICATION_CONFIG_DIR$/resharper-host/DecompilerCache/decompiler/47e9cf78f2614f72ae7df046d55ebcf24a400/d6/1d32d257/RoleInfo.cs" root0="FORCE_HIGHLIGHTING" />
|
||||
</component>
|
||||
<component name="ProjectColorInfo"><![CDATA[{
|
||||
"associatedIndex": 4
|
||||
}]]></component>
|
||||
<component name="ProjectId" id="32GqMZwPghqrbXiQw3BfBEQJAAE" />
|
||||
<component name="ProjectViewState">
|
||||
<option name="hideEmptyMiddlePackages" value="true" />
|
||||
<option name="showLibraryContents" value="true" />
|
||||
</component>
|
||||
<component name="PropertiesComponent"><![CDATA[{
|
||||
"keyToString": {
|
||||
"ModuleVcsDetector.initialDetectionPerformed": "true",
|
||||
"RunOnceActivity.ShowReadmeOnStart": "true",
|
||||
"RunOnceActivity.git.unshallow": "true",
|
||||
"git-widget-placeholder": "main",
|
||||
"node.js.detected.package.eslint": "true",
|
||||
"node.js.detected.package.tslint": "true",
|
||||
"node.js.selected.package.eslint": "(autodetect)",
|
||||
"node.js.selected.package.tslint": "(autodetect)",
|
||||
"nodejs_package_manager_path": "npm",
|
||||
"vue.rearranger.settings.migration": "true"
|
||||
}
|
||||
}]]></component>
|
||||
<component name="RunManager" selected="Attach to Unity Editor.Attach to Unity Editor">
|
||||
<configuration name="Start Unity" type="RunUnityExe" factoryName="Unity Executable">
|
||||
<option name="EXE_PATH" value="C:\Program Files\Unity\Hub\Editor\6000.0.56f1\Editor\Unity.exe" />
|
||||
<option name="PROGRAM_PARAMETERS" value="-projectPath E:\PerfectWorld\perfect-world-unity -debugCodeOptimization" />
|
||||
<option name="WORKING_DIRECTORY" value="E:\PerfectWorld\perfect-world-unity" />
|
||||
<option name="PASS_PARENT_ENVS" value="1" />
|
||||
<option name="USE_EXTERNAL_CONSOLE" value="0" />
|
||||
<option name="ENV_FILE_PATHS" value="" />
|
||||
<option name="REDIRECT_INPUT_PATH" value="" />
|
||||
<option name="PTY_MODE" value="Auto" />
|
||||
<option name="MIXED_MODE_DEBUG" value="0" />
|
||||
<method v="2" />
|
||||
</configuration>
|
||||
<configuration name="Unit Tests (batch mode)" type="RunUnityExe" factoryName="Unity Executable">
|
||||
<option name="EXE_PATH" value="C:\Program Files\Unity\Hub\Editor\6000.0.56f1\Editor\Unity.exe" />
|
||||
<option name="PROGRAM_PARAMETERS" value="-runTests -batchmode -projectPath E:\PerfectWorld\perfect-world-unity -testResults Logs/results.xml -logFile Logs/Editor.log -testPlatform EditMode -debugCodeOptimization" />
|
||||
<option name="WORKING_DIRECTORY" value="E:\PerfectWorld\perfect-world-unity" />
|
||||
<option name="PASS_PARENT_ENVS" value="1" />
|
||||
<option name="USE_EXTERNAL_CONSOLE" value="0" />
|
||||
<option name="ENV_FILE_PATHS" value="" />
|
||||
<option name="REDIRECT_INPUT_PATH" value="" />
|
||||
<option name="PTY_MODE" value="Auto" />
|
||||
<option name="MIXED_MODE_DEBUG" value="0" />
|
||||
<method v="2" />
|
||||
</configuration>
|
||||
<configuration name="Attach to Unity Editor & Play" type="UNITY_DEBUG_RUN_CONFIGURATION" factoryName="UNITY_ATTACH_AND_PLAY" show_console_on_std_err="false" show_console_on_std_out="false" port="50000" address="localhost">
|
||||
<option name="allowRunningInParallel" value="false" />
|
||||
<option name="listenPortForConnections" value="false" />
|
||||
<option name="pid" />
|
||||
<option name="projectPathOnTarget" />
|
||||
<option name="runtimes">
|
||||
<list />
|
||||
</option>
|
||||
<option name="selectedOptions">
|
||||
<list />
|
||||
</option>
|
||||
<option name="useMixedMode" value="false" />
|
||||
<method v="2" />
|
||||
</configuration>
|
||||
<configuration name="Attach to Unity Editor" type="UNITY_DEBUG_RUN_CONFIGURATION" factoryName="Unity Debug" show_console_on_std_err="false" show_console_on_std_out="false" port="50000" address="localhost">
|
||||
<option name="allowRunningInParallel" value="false" />
|
||||
<option name="listenPortForConnections" value="false" />
|
||||
<option name="pid" />
|
||||
<option name="projectPathOnTarget" />
|
||||
<option name="runtimes">
|
||||
<list />
|
||||
</option>
|
||||
<option name="selectedOptions">
|
||||
<list />
|
||||
</option>
|
||||
<option name="useMixedMode" value="false" />
|
||||
<method v="2" />
|
||||
</configuration>
|
||||
<configuration name="Attach to Device" type="UnityDevicePlayer" factoryName="UnityAttachToDevicePlayer">
|
||||
<method v="2" />
|
||||
</configuration>
|
||||
</component>
|
||||
<component name="TaskManager">
|
||||
<task active="true" id="Default" summary="Default task">
|
||||
<changelist id="49831fc9-7cbb-46fb-90e9-7754de73bafb" name="Changes" comment="" />
|
||||
<created>1757057210233</created>
|
||||
<option name="number" value="Default" />
|
||||
<option name="presentableId" value="Default" />
|
||||
<updated>1757057210233</updated>
|
||||
<workItem from="1757057212282" duration="5649000" />
|
||||
</task>
|
||||
<servers />
|
||||
</component>
|
||||
<component name="TypeScriptGeneratedFilesManager">
|
||||
<option name="version" value="3" />
|
||||
</component>
|
||||
<component name="UnityProjectConfiguration" hasMinimizedUI="true" />
|
||||
<component name="UnityProjectDiscoverer">
|
||||
<option name="hasUnityReference" value="true" />
|
||||
<option name="unityProject" value="true" />
|
||||
<option name="unityProjectFolder" value="true" />
|
||||
</component>
|
||||
<component name="VcsManagerConfiguration">
|
||||
<option name="CLEAR_INITIAL_COMMIT_MESSAGE" value="true" />
|
||||
</component>
|
||||
<component name="XDebuggerManager">
|
||||
<breakpoint-manager>
|
||||
<breakpoints>
|
||||
<breakpoint enabled="true" type="DotNet_Exception_Breakpoints">
|
||||
<properties exception="System.OperationCanceledException" breakIfHandledByOtherCode="false" displayValue="System.OperationCanceledException" />
|
||||
<option name="timeStamp" value="1" />
|
||||
</breakpoint>
|
||||
<breakpoint enabled="true" type="DotNet_Exception_Breakpoints">
|
||||
<properties exception="System.Threading.Tasks.TaskCanceledException" breakIfHandledByOtherCode="false" displayValue="System.Threading.Tasks.TaskCanceledException" />
|
||||
<option name="timeStamp" value="2" />
|
||||
</breakpoint>
|
||||
<breakpoint enabled="true" type="DotNet_Exception_Breakpoints">
|
||||
<properties exception="System.Threading.ThreadAbortException" breakIfHandledByOtherCode="false" displayValue="System.Threading.ThreadAbortException" />
|
||||
<option name="timeStamp" value="3" />
|
||||
</breakpoint>
|
||||
</breakpoints>
|
||||
</breakpoint-manager>
|
||||
</component>
|
||||
</project>
|
||||
@@ -0,0 +1,630 @@
|
||||
#if UNITY_EDITOR
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using UnityEditor;
|
||||
using UnityEngine;
|
||||
|
||||
public class DDSMultiSpriteConverter : EditorWindow
|
||||
{
|
||||
[SerializeField] private List<Texture2D> _ddsTextures = new List<Texture2D>();
|
||||
[SerializeField] private bool _autoArrange = true;
|
||||
[SerializeField] private int _paddingPixels = 2;
|
||||
[SerializeField] private float _pixelsPerUnit = 100f;
|
||||
[SerializeField] private string _outputFolder = "Assets/GeneratedSprites";
|
||||
[SerializeField] private string _atlasName = "DDSAtlas";
|
||||
[SerializeField] private bool _keepOriginalNames = true;
|
||||
[SerializeField] private bool _createSpriteAtlas = true;
|
||||
|
||||
private Vector2 _scrollPosition;
|
||||
private string _status = "";
|
||||
private bool _isProcessing = false;
|
||||
|
||||
[MenuItem("Tools/Sprites/Convert DDS Files to Multi-Sprite")]
|
||||
private static void Open()
|
||||
{
|
||||
var window = GetWindow<DDSMultiSpriteConverter>("DDS Multi-Sprite Converter");
|
||||
window.minSize = new Vector2(500, 400);
|
||||
window.Show();
|
||||
}
|
||||
|
||||
private void OnGUI()
|
||||
{
|
||||
EditorGUILayout.LabelField("DDS Multi-Sprite Converter", EditorStyles.boldLabel);
|
||||
EditorGUILayout.Space();
|
||||
|
||||
// Input Section
|
||||
EditorGUILayout.LabelField("Input DDS Files", EditorStyles.boldLabel);
|
||||
EditorGUILayout.HelpBox("Use 'Add DDS Files' for individual files or 'Add Folder' to process all .dds files in a folder (including subfolders).", MessageType.Info);
|
||||
|
||||
EditorGUILayout.BeginHorizontal();
|
||||
if (GUILayout.Button("Add DDS Files", GUILayout.Height(25)))
|
||||
{
|
||||
AddDDSFiles();
|
||||
}
|
||||
if (GUILayout.Button("Add Folder", GUILayout.Height(25)))
|
||||
{
|
||||
AddDDSFolder();
|
||||
}
|
||||
if (GUILayout.Button("Clear All", GUILayout.Height(25)))
|
||||
{
|
||||
_ddsTextures.Clear();
|
||||
_status = "";
|
||||
}
|
||||
EditorGUILayout.EndHorizontal();
|
||||
|
||||
// Display selected textures
|
||||
if (_ddsTextures.Count > 0)
|
||||
{
|
||||
EditorGUILayout.Space();
|
||||
EditorGUILayout.LabelField($"Selected Files ({_ddsTextures.Count}):", EditorStyles.miniLabel);
|
||||
|
||||
_scrollPosition = EditorGUILayout.BeginScrollView(_scrollPosition, GUILayout.Height(150));
|
||||
for (int i = 0; i < _ddsTextures.Count; i++)
|
||||
{
|
||||
EditorGUILayout.BeginHorizontal();
|
||||
|
||||
var texture = _ddsTextures[i];
|
||||
if (texture != null)
|
||||
{
|
||||
EditorGUILayout.LabelField($"{i + 1}. {texture.name}", GUILayout.Width(200));
|
||||
EditorGUILayout.LabelField($"{texture.width}x{texture.height}", GUILayout.Width(80));
|
||||
|
||||
if (GUILayout.Button("Remove", GUILayout.Width(60)))
|
||||
{
|
||||
_ddsTextures.RemoveAt(i);
|
||||
i--;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
EditorGUILayout.LabelField($"{i + 1}. <Missing Texture>", GUILayout.Width(200));
|
||||
if (GUILayout.Button("Remove", GUILayout.Width(60)))
|
||||
{
|
||||
_ddsTextures.RemoveAt(i);
|
||||
i--;
|
||||
}
|
||||
}
|
||||
|
||||
EditorGUILayout.EndHorizontal();
|
||||
}
|
||||
EditorGUILayout.EndScrollView();
|
||||
}
|
||||
|
||||
EditorGUILayout.Space();
|
||||
|
||||
// Settings Section
|
||||
EditorGUILayout.LabelField("Settings", EditorStyles.boldLabel);
|
||||
|
||||
_autoArrange = EditorGUILayout.ToggleLeft("Auto-arrange sprites in atlas", _autoArrange);
|
||||
_paddingPixels = EditorGUILayout.IntField("Padding (pixels)", _paddingPixels);
|
||||
_pixelsPerUnit = EditorGUILayout.FloatField("Pixels Per Unit", _pixelsPerUnit);
|
||||
_keepOriginalNames = EditorGUILayout.ToggleLeft("Keep original DDS names", _keepOriginalNames);
|
||||
_createSpriteAtlas = EditorGUILayout.ToggleLeft("Create Sprite Atlas asset", _createSpriteAtlas);
|
||||
|
||||
EditorGUILayout.Space();
|
||||
|
||||
EditorGUILayout.LabelField("Output", EditorStyles.boldLabel);
|
||||
|
||||
EditorGUILayout.BeginHorizontal();
|
||||
EditorGUILayout.LabelField("Output Folder:", GUILayout.Width(100));
|
||||
EditorGUILayout.SelectableLabel(_outputFolder, GUILayout.Height(16));
|
||||
if (GUILayout.Button("Browse", GUILayout.Width(60)))
|
||||
{
|
||||
string selectedPath = EditorUtility.OpenFolderPanel("Select Output Folder", _outputFolder, "");
|
||||
if (!string.IsNullOrEmpty(selectedPath))
|
||||
{
|
||||
string projectPath = AbsoluteToProjectPath(selectedPath);
|
||||
if (!string.IsNullOrEmpty(projectPath))
|
||||
{
|
||||
_outputFolder = projectPath;
|
||||
}
|
||||
else
|
||||
{
|
||||
EditorUtility.DisplayDialog("Invalid Path", "Please select a folder inside the Assets directory.", "OK");
|
||||
}
|
||||
}
|
||||
}
|
||||
EditorGUILayout.EndHorizontal();
|
||||
|
||||
_atlasName = EditorGUILayout.TextField("Atlas Name", _atlasName);
|
||||
|
||||
EditorGUILayout.Space();
|
||||
|
||||
// Convert Button
|
||||
EditorGUI.BeginDisabledGroup(_ddsTextures.Count == 0 || _isProcessing);
|
||||
if (GUILayout.Button(_isProcessing ? "Processing..." : "Convert to Multi-Sprite", GUILayout.Height(35)))
|
||||
{
|
||||
ConvertToMultiSprite();
|
||||
}
|
||||
EditorGUI.EndDisabledGroup();
|
||||
|
||||
// Status
|
||||
if (!string.IsNullOrEmpty(_status))
|
||||
{
|
||||
EditorGUILayout.Space();
|
||||
EditorGUILayout.HelpBox(_status, MessageType.Info);
|
||||
}
|
||||
}
|
||||
|
||||
private void AddDDSFiles()
|
||||
{
|
||||
string path = EditorUtility.OpenFilePanelWithFilters(
|
||||
"Select DDS Files",
|
||||
"Assets",
|
||||
new string[] { "DDS files", "dds" }
|
||||
);
|
||||
|
||||
if (!string.IsNullOrEmpty(path))
|
||||
{
|
||||
string projectPath = AbsoluteToProjectPath(path);
|
||||
if (!string.IsNullOrEmpty(projectPath))
|
||||
{
|
||||
Texture2D texture = AssetDatabase.LoadAssetAtPath<Texture2D>(projectPath);
|
||||
if (texture != null && !_ddsTextures.Contains(texture))
|
||||
{
|
||||
_ddsTextures.Add(texture);
|
||||
_status = $"Added {texture.name}";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void AddDDSFolder()
|
||||
{
|
||||
string folderPath = EditorUtility.OpenFolderPanel(
|
||||
"Select Folder Containing DDS Files",
|
||||
"Assets",
|
||||
""
|
||||
);
|
||||
|
||||
if (!string.IsNullOrEmpty(folderPath))
|
||||
{
|
||||
string projectPath = AbsoluteToProjectPath(folderPath);
|
||||
if (!string.IsNullOrEmpty(projectPath))
|
||||
{
|
||||
// Find all .dds files in the folder and subfolders
|
||||
string[] ddsFiles = Directory.GetFiles(folderPath, "*.dds", SearchOption.AllDirectories);
|
||||
int addedCount = 0;
|
||||
|
||||
foreach (string ddsFile in ddsFiles)
|
||||
{
|
||||
string relativePath = AbsoluteToProjectPath(ddsFile);
|
||||
if (!string.IsNullOrEmpty(relativePath))
|
||||
{
|
||||
Texture2D texture = AssetDatabase.LoadAssetAtPath<Texture2D>(relativePath);
|
||||
if (texture != null && !_ddsTextures.Contains(texture))
|
||||
{
|
||||
_ddsTextures.Add(texture);
|
||||
addedCount++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
_status = $"Added {addedCount} DDS files from folder";
|
||||
}
|
||||
else
|
||||
{
|
||||
EditorUtility.DisplayDialog("Invalid Path", "Please select a folder inside the Assets directory.", "OK");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void ConvertToMultiSprite()
|
||||
{
|
||||
if (_ddsTextures.Count == 0)
|
||||
{
|
||||
_status = "No DDS files selected";
|
||||
return;
|
||||
}
|
||||
|
||||
_isProcessing = true;
|
||||
_status = "Processing...";
|
||||
|
||||
try
|
||||
{
|
||||
// Ensure output folder exists
|
||||
EnsureFolderExists(_outputFolder);
|
||||
|
||||
// Calculate atlas size
|
||||
var atlasSize = CalculateAtlasSize();
|
||||
|
||||
// Create atlas texture
|
||||
var atlasTexture = CreateAtlasTexture(atlasSize);
|
||||
|
||||
// Pack sprites into atlas
|
||||
var spriteData = PackSpritesIntoAtlas(atlasTexture, atlasSize);
|
||||
|
||||
// Save atlas texture
|
||||
string atlasPath = SaveAtlasTexture(atlasTexture, atlasSize);
|
||||
|
||||
// Create sprite metadata and import
|
||||
CreateSpriteMetadata(atlasPath, spriteData);
|
||||
|
||||
// Create Sprite Atlas asset if requested
|
||||
if (_createSpriteAtlas)
|
||||
{
|
||||
CreateSpriteAtlasAsset(atlasPath, spriteData);
|
||||
}
|
||||
|
||||
_status = $"Successfully converted {_ddsTextures.Count} DDS files to multi-sprite atlas!";
|
||||
|
||||
// Clean up
|
||||
DestroyImmediate(atlasTexture);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Debug.LogError($"[DDSMultiSpriteConverter] Error: {ex}");
|
||||
_status = $"Error: {ex.Message}";
|
||||
}
|
||||
finally
|
||||
{
|
||||
_isProcessing = false;
|
||||
Repaint();
|
||||
}
|
||||
}
|
||||
|
||||
private Vector2Int CalculateAtlasSize()
|
||||
{
|
||||
if (_autoArrange)
|
||||
{
|
||||
// Calculate optimal atlas size based on sprite count and sizes
|
||||
int totalPixels = 0;
|
||||
int maxWidth = 0;
|
||||
int maxHeight = 0;
|
||||
|
||||
foreach (var texture in _ddsTextures)
|
||||
{
|
||||
if (texture != null)
|
||||
{
|
||||
totalPixels += texture.width * texture.height;
|
||||
maxWidth = Mathf.Max(maxWidth, texture.width);
|
||||
maxHeight = Mathf.Max(maxHeight, texture.height);
|
||||
}
|
||||
}
|
||||
|
||||
// Estimate atlas size (square-ish)
|
||||
int atlasSize = Mathf.CeilToInt(Mathf.Sqrt(totalPixels * 1.5f)); // 1.5x for padding
|
||||
|
||||
// Round up to nearest power of 2
|
||||
atlasSize = Mathf.NextPowerOfTwo(atlasSize);
|
||||
|
||||
// Ensure minimum size
|
||||
atlasSize = Mathf.Max(atlasSize, 512);
|
||||
|
||||
return new Vector2Int(atlasSize, atlasSize);
|
||||
}
|
||||
else
|
||||
{
|
||||
// Use fixed size
|
||||
return new Vector2Int(2048, 2048);
|
||||
}
|
||||
}
|
||||
|
||||
private Texture2D CreateAtlasTexture(Vector2Int size)
|
||||
{
|
||||
var atlasTexture = new Texture2D(size.x, size.y, TextureFormat.RGBA32, false);
|
||||
|
||||
// Fill with transparent
|
||||
Color[] clearPixels = new Color[size.x * size.y];
|
||||
for (int i = 0; i < clearPixels.Length; i++)
|
||||
{
|
||||
clearPixels[i] = Color.clear;
|
||||
}
|
||||
atlasTexture.SetPixels(clearPixels);
|
||||
|
||||
return atlasTexture;
|
||||
}
|
||||
|
||||
private List<SpriteData> PackSpritesIntoAtlas(Texture2D atlasTexture, Vector2Int atlasSize)
|
||||
{
|
||||
var spriteData = new List<SpriteData>();
|
||||
var currentX = _paddingPixels;
|
||||
var currentY = _paddingPixels;
|
||||
var rowHeight = 0;
|
||||
|
||||
foreach (var texture in _ddsTextures)
|
||||
{
|
||||
if (texture == null) continue;
|
||||
|
||||
// Check if sprite fits in current row
|
||||
if (currentX + texture.width + _paddingPixels > atlasSize.x)
|
||||
{
|
||||
// Move to next row
|
||||
currentY += rowHeight + _paddingPixels;
|
||||
currentX = _paddingPixels;
|
||||
rowHeight = 0;
|
||||
}
|
||||
|
||||
// Check if sprite fits in atlas
|
||||
if (currentY + texture.height + _paddingPixels > atlasSize.y)
|
||||
{
|
||||
Debug.LogWarning($"Sprite {texture.name} doesn't fit in atlas, skipping...");
|
||||
continue;
|
||||
}
|
||||
|
||||
// Copy texture to atlas
|
||||
CopyTextureToAtlas(texture, atlasTexture, currentX, currentY);
|
||||
|
||||
// Store sprite data
|
||||
spriteData.Add(new SpriteData
|
||||
{
|
||||
name = _keepOriginalNames ? texture.name : Path.GetFileNameWithoutExtension(texture.name),
|
||||
rect = new Rect(currentX, currentY, texture.width, texture.height),
|
||||
originalTexture = texture
|
||||
});
|
||||
|
||||
// Update position
|
||||
currentX += texture.width + _paddingPixels;
|
||||
rowHeight = Mathf.Max(rowHeight, texture.height);
|
||||
}
|
||||
|
||||
atlasTexture.Apply();
|
||||
return spriteData;
|
||||
}
|
||||
|
||||
private void CopyTextureToAtlas(Texture2D sourceTexture, Texture2D atlasTexture, int x, int y)
|
||||
{
|
||||
// Make source texture readable temporarily
|
||||
var sourcePath = AssetDatabase.GetAssetPath(sourceTexture);
|
||||
var importer = AssetImporter.GetAtPath(sourcePath) as TextureImporter;
|
||||
bool wasReadable = false;
|
||||
bool wasCompressed = false;
|
||||
|
||||
if (importer != null)
|
||||
{
|
||||
wasReadable = importer.isReadable;
|
||||
wasCompressed = importer.textureCompression != TextureImporterCompression.Uncompressed;
|
||||
|
||||
if (!wasReadable || wasCompressed)
|
||||
{
|
||||
importer.isReadable = true;
|
||||
importer.textureCompression = TextureImporterCompression.Uncompressed;
|
||||
importer.SaveAndReimport();
|
||||
|
||||
// Wait for reimport to complete
|
||||
AssetDatabase.Refresh();
|
||||
EditorUtility.SetDirty(importer);
|
||||
}
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
// Create a readable copy of the texture
|
||||
Texture2D readableTexture = CreateReadableTexture(sourceTexture);
|
||||
|
||||
if (readableTexture != null)
|
||||
{
|
||||
// Copy pixels from readable texture
|
||||
var pixels = readableTexture.GetPixels();
|
||||
atlasTexture.SetPixels(x, y, sourceTexture.width, sourceTexture.height, pixels);
|
||||
|
||||
// Clean up
|
||||
DestroyImmediate(readableTexture);
|
||||
}
|
||||
else
|
||||
{
|
||||
Debug.LogWarning($"Could not create readable copy of texture: {sourceTexture.name}");
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Debug.LogError($"Error copying texture {sourceTexture.name}: {ex.Message}");
|
||||
}
|
||||
finally
|
||||
{
|
||||
// Restore original settings
|
||||
if (importer != null && (!wasReadable || wasCompressed))
|
||||
{
|
||||
importer.isReadable = wasReadable;
|
||||
if (wasCompressed)
|
||||
{
|
||||
importer.textureCompression = TextureImporterCompression.Compressed;
|
||||
}
|
||||
importer.SaveAndReimport();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private Texture2D CreateReadableTexture(Texture2D source)
|
||||
{
|
||||
try
|
||||
{
|
||||
// Create a new texture with the same dimensions
|
||||
var readableTexture = new Texture2D(source.width, source.height, TextureFormat.RGBA32, false);
|
||||
|
||||
// Use RenderTexture to copy the texture data
|
||||
RenderTexture renderTexture = RenderTexture.GetTemporary(source.width, source.height, 0, RenderTextureFormat.ARGB32, RenderTextureReadWrite.sRGB);
|
||||
Graphics.Blit(source, renderTexture);
|
||||
|
||||
RenderTexture.active = renderTexture;
|
||||
readableTexture.ReadPixels(new Rect(0, 0, source.width, source.height), 0, 0);
|
||||
readableTexture.Apply();
|
||||
|
||||
RenderTexture.active = null;
|
||||
RenderTexture.ReleaseTemporary(renderTexture);
|
||||
|
||||
return readableTexture;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Debug.LogError($"Error creating readable texture: {ex.Message}");
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
private string SaveAtlasTexture(Texture2D atlasTexture, Vector2Int size)
|
||||
{
|
||||
string fileName = $"{_atlasName}.png";
|
||||
string filePath = Path.Combine(_outputFolder, fileName);
|
||||
|
||||
// Ensure unique filename
|
||||
filePath = GetUniqueFilePath(filePath);
|
||||
|
||||
// Save as PNG
|
||||
byte[] pngData = atlasTexture.EncodeToPNG();
|
||||
File.WriteAllBytes(filePath, pngData);
|
||||
|
||||
// Import to Unity
|
||||
AssetDatabase.ImportAsset(filePath);
|
||||
|
||||
return filePath;
|
||||
}
|
||||
|
||||
private void CreateSpriteMetadata(string atlasPath, List<SpriteData> spriteData)
|
||||
{
|
||||
var importer = AssetImporter.GetAtPath(atlasPath) as TextureImporter;
|
||||
if (importer == null) return;
|
||||
|
||||
// Configure importer
|
||||
importer.textureType = TextureImporterType.Sprite;
|
||||
importer.spriteImportMode = SpriteImportMode.Multiple;
|
||||
importer.mipmapEnabled = false;
|
||||
importer.alphaIsTransparency = true;
|
||||
importer.spritePixelsPerUnit = _pixelsPerUnit;
|
||||
|
||||
// Create sprite metadata using SpriteMetaData
|
||||
var spriteMetas = new List<SpriteMetaData>();
|
||||
|
||||
foreach (var data in spriteData)
|
||||
{
|
||||
var meta = new SpriteMetaData
|
||||
{
|
||||
name = SafeSpriteName(data.name),
|
||||
rect = data.rect,
|
||||
alignment = (int)SpriteAlignment.Center,
|
||||
border = Vector4.zero,
|
||||
pivot = new Vector2(0.5f, 0.5f)
|
||||
};
|
||||
spriteMetas.Add(meta);
|
||||
}
|
||||
|
||||
// Use the legacy spritesheet property (works in most Unity versions)
|
||||
#pragma warning disable CS0618 // Type or member is obsolete
|
||||
importer.spritesheet = spriteMetas.ToArray();
|
||||
#pragma warning restore CS0618 // Type or member is obsolete
|
||||
|
||||
importer.SaveAndReimport();
|
||||
AssetDatabase.Refresh();
|
||||
}
|
||||
|
||||
private void CreateSpriteAtlasAsset(string atlasPath, List<SpriteData> spriteData)
|
||||
{
|
||||
try
|
||||
{
|
||||
// Create Sprite Atlas asset using new keyword
|
||||
var spriteAtlas = new UnityEngine.U2D.SpriteAtlas();
|
||||
|
||||
// Add atlas texture as packable
|
||||
var atlasTexture = AssetDatabase.LoadAssetAtPath<Texture2D>(atlasPath);
|
||||
if (atlasTexture != null)
|
||||
{
|
||||
// Use reflection to add objects to sprite atlas (for compatibility)
|
||||
var addMethod = typeof(UnityEngine.U2D.SpriteAtlas).GetMethod("Add",
|
||||
System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Instance);
|
||||
if (addMethod != null)
|
||||
{
|
||||
var packableObjects = new UnityEngine.Object[] { atlasTexture };
|
||||
addMethod.Invoke(spriteAtlas, new object[] { packableObjects });
|
||||
}
|
||||
}
|
||||
|
||||
// Save sprite atlas asset
|
||||
string atlasAssetPath = Path.Combine(_outputFolder, $"{_atlasName}_Atlas.spriteatlas");
|
||||
AssetDatabase.CreateAsset(spriteAtlas, atlasAssetPath);
|
||||
|
||||
AssetDatabase.SaveAssets();
|
||||
AssetDatabase.Refresh();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Debug.LogWarning($"[DDSMultiSpriteConverter] Could not create Sprite Atlas asset: {ex.Message}");
|
||||
_status += " (Sprite Atlas creation failed, but multi-sprite texture was created successfully)";
|
||||
}
|
||||
}
|
||||
|
||||
private class SpriteData
|
||||
{
|
||||
public string name;
|
||||
public Rect rect;
|
||||
public Texture2D originalTexture;
|
||||
}
|
||||
|
||||
// Utility methods
|
||||
private static void EnsureFolderExists(string folderPath)
|
||||
{
|
||||
if (!AssetDatabase.IsValidFolder(folderPath))
|
||||
{
|
||||
string[] parts = folderPath.Split('/');
|
||||
string currentPath = parts[0]; // "Assets"
|
||||
|
||||
for (int i = 1; i < parts.Length; i++)
|
||||
{
|
||||
string nextPath = currentPath + "/" + parts[i];
|
||||
if (!AssetDatabase.IsValidFolder(nextPath))
|
||||
{
|
||||
AssetDatabase.CreateFolder(currentPath, parts[i]);
|
||||
}
|
||||
currentPath = nextPath;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private static string AbsoluteToProjectPath(string absolutePath)
|
||||
{
|
||||
if (string.IsNullOrEmpty(absolutePath)) return string.Empty;
|
||||
|
||||
string abs = absolutePath.Replace('\\', '/');
|
||||
string data = Application.dataPath.Replace('\\', '/');
|
||||
|
||||
if (abs.StartsWith(data, StringComparison.OrdinalIgnoreCase))
|
||||
{
|
||||
return "Assets" + abs.Substring(data.Length);
|
||||
}
|
||||
|
||||
return string.Empty;
|
||||
}
|
||||
|
||||
private static string GetUniqueFilePath(string filePath)
|
||||
{
|
||||
if (!File.Exists(filePath)) return filePath;
|
||||
|
||||
string directory = Path.GetDirectoryName(filePath);
|
||||
string fileName = Path.GetFileNameWithoutExtension(filePath);
|
||||
string extension = Path.GetExtension(filePath);
|
||||
|
||||
int counter = 1;
|
||||
string newPath;
|
||||
|
||||
do
|
||||
{
|
||||
newPath = Path.Combine(directory, $"{fileName}_{counter}{extension}");
|
||||
counter++;
|
||||
}
|
||||
while (File.Exists(newPath));
|
||||
|
||||
return newPath;
|
||||
}
|
||||
|
||||
private static string SafeSpriteName(string name)
|
||||
{
|
||||
if (string.IsNullOrWhiteSpace(name)) return "Sprite";
|
||||
|
||||
// Remove invalid characters
|
||||
char[] invalidChars = Path.GetInvalidFileNameChars();
|
||||
foreach (char c in invalidChars)
|
||||
{
|
||||
name = name.Replace(c, '_');
|
||||
}
|
||||
|
||||
// Remove .dds extension if present
|
||||
if (name.EndsWith(".dds", StringComparison.OrdinalIgnoreCase))
|
||||
{
|
||||
name = name.Substring(0, name.Length - 4);
|
||||
}
|
||||
|
||||
return name;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
@@ -0,0 +1,2 @@
|
||||
fileFormatVersion: 2
|
||||
guid: a0338316fbff9784586126d8da119e57
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 95c82a23114631b428b9fff51c373a39
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: bac3638b875256b479fb1e463c6e213d
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 464b57f0bb61a1143a27580c5fe83dca
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 6561a7d3c5c2b52439357c35aae55f99
|
||||
guid: 3dcfb3b4bb26ed5498b46228a1bd43bd
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: f6ef10a15137cb44481b51ab73c71a98
|
||||
guid: 16ea7c63f8092ec4c8fb1f185967e343
|
||||
IHVImageFormatImporter:
|
||||
externalObjects: {}
|
||||
textureSettings:
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: d0079e79add41774e9c860b7d90ba716
|
||||
guid: a0c5007cd03c1174089fc14b8fd768f6
|
||||
TextScriptImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 46ebb45f17247e74787f77abda4499c6
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Binary file not shown.
@@ -0,0 +1,21 @@
|
||||
fileFormatVersion: 2
|
||||
guid: efa1fca1dda820a4886b589f636d4afc
|
||||
IHVImageFormatImporter:
|
||||
externalObjects: {}
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: 1
|
||||
aniso: 1
|
||||
mipBias: 0
|
||||
wrapU: 0
|
||||
wrapV: 0
|
||||
wrapW: 0
|
||||
isReadable: 0
|
||||
sRGBTexture: 1
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
ignoreMipmapLimit: 0
|
||||
mipmapLimitGroupName:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Binary file not shown.
@@ -0,0 +1,21 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 9858dde21e080b445a7fcb35a8a8e57c
|
||||
IHVImageFormatImporter:
|
||||
externalObjects: {}
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: 1
|
||||
aniso: 1
|
||||
mipBias: 0
|
||||
wrapU: 0
|
||||
wrapV: 0
|
||||
wrapW: 0
|
||||
isReadable: 0
|
||||
sRGBTexture: 1
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
ignoreMipmapLimit: 0
|
||||
mipmapLimitGroupName:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Binary file not shown.
@@ -0,0 +1,21 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 1923c26da7bfdde4a9a3a583d63e4d39
|
||||
IHVImageFormatImporter:
|
||||
externalObjects: {}
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: 1
|
||||
aniso: 1
|
||||
mipBias: 0
|
||||
wrapU: 0
|
||||
wrapV: 0
|
||||
wrapW: 0
|
||||
isReadable: 0
|
||||
sRGBTexture: 1
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
ignoreMipmapLimit: 0
|
||||
mipmapLimitGroupName:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Binary file not shown.
@@ -0,0 +1,21 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 5d420a653e224254da790f11b402d04e
|
||||
IHVImageFormatImporter:
|
||||
externalObjects: {}
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: 1
|
||||
aniso: 1
|
||||
mipBias: 0
|
||||
wrapU: 0
|
||||
wrapV: 0
|
||||
wrapW: 0
|
||||
isReadable: 0
|
||||
sRGBTexture: 1
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
ignoreMipmapLimit: 0
|
||||
mipmapLimitGroupName:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Binary file not shown.
@@ -0,0 +1,21 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 1b2498a68cc819645b5c36d1e5b5ebb4
|
||||
IHVImageFormatImporter:
|
||||
externalObjects: {}
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: 1
|
||||
aniso: 1
|
||||
mipBias: 0
|
||||
wrapU: 0
|
||||
wrapV: 0
|
||||
wrapW: 0
|
||||
isReadable: 0
|
||||
sRGBTexture: 1
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
ignoreMipmapLimit: 0
|
||||
mipmapLimitGroupName:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Binary file not shown.
@@ -0,0 +1,21 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 2cd511ae725b100429a0d2a28ace4e32
|
||||
IHVImageFormatImporter:
|
||||
externalObjects: {}
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: 1
|
||||
aniso: 1
|
||||
mipBias: 0
|
||||
wrapU: 0
|
||||
wrapV: 0
|
||||
wrapW: 0
|
||||
isReadable: 0
|
||||
sRGBTexture: 1
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
ignoreMipmapLimit: 0
|
||||
mipmapLimitGroupName:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Binary file not shown.
@@ -0,0 +1,21 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 1afc6f8221838884a9d6c69572741e49
|
||||
IHVImageFormatImporter:
|
||||
externalObjects: {}
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: 1
|
||||
aniso: 1
|
||||
mipBias: 0
|
||||
wrapU: 0
|
||||
wrapV: 0
|
||||
wrapW: 0
|
||||
isReadable: 0
|
||||
sRGBTexture: 1
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
ignoreMipmapLimit: 0
|
||||
mipmapLimitGroupName:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Binary file not shown.
@@ -0,0 +1,21 @@
|
||||
fileFormatVersion: 2
|
||||
guid: c7ee7cecc911cbe4ba53a7b1e27d8a23
|
||||
IHVImageFormatImporter:
|
||||
externalObjects: {}
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: 1
|
||||
aniso: 1
|
||||
mipBias: 0
|
||||
wrapU: 0
|
||||
wrapV: 0
|
||||
wrapW: 0
|
||||
isReadable: 0
|
||||
sRGBTexture: 1
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
ignoreMipmapLimit: 0
|
||||
mipmapLimitGroupName:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Binary file not shown.
@@ -0,0 +1,21 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 79429034f2279cc4aba3cad70922c0d3
|
||||
IHVImageFormatImporter:
|
||||
externalObjects: {}
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: 1
|
||||
aniso: 1
|
||||
mipBias: 0
|
||||
wrapU: 0
|
||||
wrapV: 0
|
||||
wrapW: 0
|
||||
isReadable: 0
|
||||
sRGBTexture: 1
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
ignoreMipmapLimit: 0
|
||||
mipmapLimitGroupName:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Binary file not shown.
@@ -0,0 +1,21 @@
|
||||
fileFormatVersion: 2
|
||||
guid: e00a6ebd436895c4e9a4c1d6d0fd118a
|
||||
IHVImageFormatImporter:
|
||||
externalObjects: {}
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: 1
|
||||
aniso: 1
|
||||
mipBias: 0
|
||||
wrapU: 0
|
||||
wrapV: 0
|
||||
wrapW: 0
|
||||
isReadable: 0
|
||||
sRGBTexture: 1
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
ignoreMipmapLimit: 0
|
||||
mipmapLimitGroupName:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Binary file not shown.
@@ -0,0 +1,21 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 0d2f90cf9dcf13d4d8ca7b36e90080a0
|
||||
IHVImageFormatImporter:
|
||||
externalObjects: {}
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: 1
|
||||
aniso: 1
|
||||
mipBias: 0
|
||||
wrapU: 0
|
||||
wrapV: 0
|
||||
wrapW: 0
|
||||
isReadable: 0
|
||||
sRGBTexture: 1
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
ignoreMipmapLimit: 0
|
||||
mipmapLimitGroupName:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Binary file not shown.
@@ -0,0 +1,21 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 2e2efb88281a7f14db0f3d60e73c8f5f
|
||||
IHVImageFormatImporter:
|
||||
externalObjects: {}
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: 1
|
||||
aniso: 1
|
||||
mipBias: 0
|
||||
wrapU: 0
|
||||
wrapV: 0
|
||||
wrapW: 0
|
||||
isReadable: 0
|
||||
sRGBTexture: 1
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
ignoreMipmapLimit: 0
|
||||
mipmapLimitGroupName:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Binary file not shown.
@@ -0,0 +1,21 @@
|
||||
fileFormatVersion: 2
|
||||
guid: f779186800cd13941bbe619d1cecd5d9
|
||||
IHVImageFormatImporter:
|
||||
externalObjects: {}
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: 1
|
||||
aniso: 1
|
||||
mipBias: 0
|
||||
wrapU: 0
|
||||
wrapV: 0
|
||||
wrapW: 0
|
||||
isReadable: 0
|
||||
sRGBTexture: 1
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
ignoreMipmapLimit: 0
|
||||
mipmapLimitGroupName:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Binary file not shown.
@@ -0,0 +1,21 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 7bea482e8ea226a429b4b1beef9adf8f
|
||||
IHVImageFormatImporter:
|
||||
externalObjects: {}
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: 1
|
||||
aniso: 1
|
||||
mipBias: 0
|
||||
wrapU: 0
|
||||
wrapV: 0
|
||||
wrapW: 0
|
||||
isReadable: 0
|
||||
sRGBTexture: 1
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
ignoreMipmapLimit: 0
|
||||
mipmapLimitGroupName:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Binary file not shown.
@@ -0,0 +1,21 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 8029a06799912944da92009b4cc6aaa6
|
||||
IHVImageFormatImporter:
|
||||
externalObjects: {}
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: 1
|
||||
aniso: 1
|
||||
mipBias: 0
|
||||
wrapU: 0
|
||||
wrapV: 0
|
||||
wrapW: 0
|
||||
isReadable: 0
|
||||
sRGBTexture: 1
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
ignoreMipmapLimit: 0
|
||||
mipmapLimitGroupName:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Binary file not shown.
@@ -0,0 +1,21 @@
|
||||
fileFormatVersion: 2
|
||||
guid: e744b99a754778a47821c30aa97780e0
|
||||
IHVImageFormatImporter:
|
||||
externalObjects: {}
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: 1
|
||||
aniso: 1
|
||||
mipBias: 0
|
||||
wrapU: 0
|
||||
wrapV: 0
|
||||
wrapW: 0
|
||||
isReadable: 0
|
||||
sRGBTexture: 1
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
ignoreMipmapLimit: 0
|
||||
mipmapLimitGroupName:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Binary file not shown.
@@ -0,0 +1,21 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 62dbba491cc5f4746831f3911645c1d9
|
||||
IHVImageFormatImporter:
|
||||
externalObjects: {}
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: 1
|
||||
aniso: 1
|
||||
mipBias: 0
|
||||
wrapU: 0
|
||||
wrapV: 0
|
||||
wrapW: 0
|
||||
isReadable: 0
|
||||
sRGBTexture: 1
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
ignoreMipmapLimit: 0
|
||||
mipmapLimitGroupName:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Binary file not shown.
@@ -0,0 +1,21 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 140ec4d12e16e1442a144a69b8d6cfae
|
||||
IHVImageFormatImporter:
|
||||
externalObjects: {}
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: 1
|
||||
aniso: 1
|
||||
mipBias: 0
|
||||
wrapU: 0
|
||||
wrapV: 0
|
||||
wrapW: 0
|
||||
isReadable: 0
|
||||
sRGBTexture: 1
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
ignoreMipmapLimit: 0
|
||||
mipmapLimitGroupName:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Binary file not shown.
@@ -0,0 +1,21 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 87e21adba4e679c429510ceb7dc9ceac
|
||||
IHVImageFormatImporter:
|
||||
externalObjects: {}
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: 1
|
||||
aniso: 1
|
||||
mipBias: 0
|
||||
wrapU: 0
|
||||
wrapV: 0
|
||||
wrapW: 0
|
||||
isReadable: 0
|
||||
sRGBTexture: 1
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
ignoreMipmapLimit: 0
|
||||
mipmapLimitGroupName:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Binary file not shown.
@@ -0,0 +1,21 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 2d33490bf21bc024e8837fb9b9aca46a
|
||||
IHVImageFormatImporter:
|
||||
externalObjects: {}
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: 1
|
||||
aniso: 1
|
||||
mipBias: 0
|
||||
wrapU: 0
|
||||
wrapV: 0
|
||||
wrapW: 0
|
||||
isReadable: 0
|
||||
sRGBTexture: 1
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
ignoreMipmapLimit: 0
|
||||
mipmapLimitGroupName:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Binary file not shown.
@@ -0,0 +1,21 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 3e5f9363664eb1d42af3d418de1748d0
|
||||
IHVImageFormatImporter:
|
||||
externalObjects: {}
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: 1
|
||||
aniso: 1
|
||||
mipBias: 0
|
||||
wrapU: 0
|
||||
wrapV: 0
|
||||
wrapW: 0
|
||||
isReadable: 0
|
||||
sRGBTexture: 1
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
ignoreMipmapLimit: 0
|
||||
mipmapLimitGroupName:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Binary file not shown.
@@ -0,0 +1,21 @@
|
||||
fileFormatVersion: 2
|
||||
guid: acd44b73ff62d8140bb14e1b797c8eeb
|
||||
IHVImageFormatImporter:
|
||||
externalObjects: {}
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: 1
|
||||
aniso: 1
|
||||
mipBias: 0
|
||||
wrapU: 0
|
||||
wrapV: 0
|
||||
wrapW: 0
|
||||
isReadable: 0
|
||||
sRGBTexture: 1
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
ignoreMipmapLimit: 0
|
||||
mipmapLimitGroupName:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Binary file not shown.
@@ -0,0 +1,21 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 30f9622eecd0370449b6536451d4c184
|
||||
IHVImageFormatImporter:
|
||||
externalObjects: {}
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: 1
|
||||
aniso: 1
|
||||
mipBias: 0
|
||||
wrapU: 0
|
||||
wrapV: 0
|
||||
wrapW: 0
|
||||
isReadable: 0
|
||||
sRGBTexture: 1
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
ignoreMipmapLimit: 0
|
||||
mipmapLimitGroupName:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Binary file not shown.
@@ -0,0 +1,21 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 8da0b9ee016433247ab193a8d46f04bb
|
||||
IHVImageFormatImporter:
|
||||
externalObjects: {}
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: 1
|
||||
aniso: 1
|
||||
mipBias: 0
|
||||
wrapU: 0
|
||||
wrapV: 0
|
||||
wrapW: 0
|
||||
isReadable: 0
|
||||
sRGBTexture: 1
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
ignoreMipmapLimit: 0
|
||||
mipmapLimitGroupName:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Binary file not shown.
@@ -0,0 +1,21 @@
|
||||
fileFormatVersion: 2
|
||||
guid: f1c842e7f2c2a784bad980fe3cb0b634
|
||||
IHVImageFormatImporter:
|
||||
externalObjects: {}
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: 1
|
||||
aniso: 1
|
||||
mipBias: 0
|
||||
wrapU: 0
|
||||
wrapV: 0
|
||||
wrapW: 0
|
||||
isReadable: 0
|
||||
sRGBTexture: 1
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
ignoreMipmapLimit: 0
|
||||
mipmapLimitGroupName:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Binary file not shown.
@@ -0,0 +1,21 @@
|
||||
fileFormatVersion: 2
|
||||
guid: d30d48684276a354b8e49b1e21d46cf0
|
||||
IHVImageFormatImporter:
|
||||
externalObjects: {}
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: 1
|
||||
aniso: 1
|
||||
mipBias: 0
|
||||
wrapU: 0
|
||||
wrapV: 0
|
||||
wrapW: 0
|
||||
isReadable: 0
|
||||
sRGBTexture: 1
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
ignoreMipmapLimit: 0
|
||||
mipmapLimitGroupName:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Binary file not shown.
@@ -0,0 +1,21 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 9d19076004f09e84aa5750ef8c825acb
|
||||
IHVImageFormatImporter:
|
||||
externalObjects: {}
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: 1
|
||||
aniso: 1
|
||||
mipBias: 0
|
||||
wrapU: 0
|
||||
wrapV: 0
|
||||
wrapW: 0
|
||||
isReadable: 0
|
||||
sRGBTexture: 1
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
ignoreMipmapLimit: 0
|
||||
mipmapLimitGroupName:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Binary file not shown.
@@ -0,0 +1,21 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 26207e17f6dff00468ece2550e62acf4
|
||||
IHVImageFormatImporter:
|
||||
externalObjects: {}
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: 1
|
||||
aniso: 1
|
||||
mipBias: 0
|
||||
wrapU: 0
|
||||
wrapV: 0
|
||||
wrapW: 0
|
||||
isReadable: 0
|
||||
sRGBTexture: 1
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
ignoreMipmapLimit: 0
|
||||
mipmapLimitGroupName:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Binary file not shown.
@@ -0,0 +1,21 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 7966db5f91ac5064ab4ac3825f6c832f
|
||||
IHVImageFormatImporter:
|
||||
externalObjects: {}
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: 1
|
||||
aniso: 1
|
||||
mipBias: 0
|
||||
wrapU: 0
|
||||
wrapV: 0
|
||||
wrapW: 0
|
||||
isReadable: 0
|
||||
sRGBTexture: 1
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
ignoreMipmapLimit: 0
|
||||
mipmapLimitGroupName:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Binary file not shown.
@@ -0,0 +1,21 @@
|
||||
fileFormatVersion: 2
|
||||
guid: fae390cf668e7b943b9a56c22089534a
|
||||
IHVImageFormatImporter:
|
||||
externalObjects: {}
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: 1
|
||||
aniso: 1
|
||||
mipBias: 0
|
||||
wrapU: 0
|
||||
wrapV: 0
|
||||
wrapW: 0
|
||||
isReadable: 0
|
||||
sRGBTexture: 1
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
ignoreMipmapLimit: 0
|
||||
mipmapLimitGroupName:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Binary file not shown.
@@ -0,0 +1,21 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 95356cff1f892314f8a568e3340df537
|
||||
IHVImageFormatImporter:
|
||||
externalObjects: {}
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: 1
|
||||
aniso: 1
|
||||
mipBias: 0
|
||||
wrapU: 0
|
||||
wrapV: 0
|
||||
wrapW: 0
|
||||
isReadable: 0
|
||||
sRGBTexture: 1
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
ignoreMipmapLimit: 0
|
||||
mipmapLimitGroupName:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Binary file not shown.
@@ -0,0 +1,21 @@
|
||||
fileFormatVersion: 2
|
||||
guid: d14074c2f1eb29a4da39441ae93cb92f
|
||||
IHVImageFormatImporter:
|
||||
externalObjects: {}
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: 1
|
||||
aniso: 1
|
||||
mipBias: 0
|
||||
wrapU: 0
|
||||
wrapV: 0
|
||||
wrapW: 0
|
||||
isReadable: 0
|
||||
sRGBTexture: 1
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
ignoreMipmapLimit: 0
|
||||
mipmapLimitGroupName:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Binary file not shown.
@@ -0,0 +1,21 @@
|
||||
fileFormatVersion: 2
|
||||
guid: dece377534c8e5648a2969aa7c808672
|
||||
IHVImageFormatImporter:
|
||||
externalObjects: {}
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: 1
|
||||
aniso: 1
|
||||
mipBias: 0
|
||||
wrapU: 0
|
||||
wrapV: 0
|
||||
wrapW: 0
|
||||
isReadable: 0
|
||||
sRGBTexture: 1
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
ignoreMipmapLimit: 0
|
||||
mipmapLimitGroupName:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Binary file not shown.
@@ -0,0 +1,21 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 68b0c61121672a7498d3e708c8333118
|
||||
IHVImageFormatImporter:
|
||||
externalObjects: {}
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: 1
|
||||
aniso: 1
|
||||
mipBias: 0
|
||||
wrapU: 0
|
||||
wrapV: 0
|
||||
wrapW: 0
|
||||
isReadable: 0
|
||||
sRGBTexture: 1
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
ignoreMipmapLimit: 0
|
||||
mipmapLimitGroupName:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Binary file not shown.
@@ -0,0 +1,21 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 4075a4aa78998e64990aeea258d41d0f
|
||||
IHVImageFormatImporter:
|
||||
externalObjects: {}
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: 1
|
||||
aniso: 1
|
||||
mipBias: 0
|
||||
wrapU: 0
|
||||
wrapV: 0
|
||||
wrapW: 0
|
||||
isReadable: 0
|
||||
sRGBTexture: 1
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
ignoreMipmapLimit: 0
|
||||
mipmapLimitGroupName:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Binary file not shown.
@@ -0,0 +1,21 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 30fd8162e7535e84f906acfeea10f03a
|
||||
IHVImageFormatImporter:
|
||||
externalObjects: {}
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: 1
|
||||
aniso: 1
|
||||
mipBias: 0
|
||||
wrapU: 0
|
||||
wrapV: 0
|
||||
wrapW: 0
|
||||
isReadable: 0
|
||||
sRGBTexture: 1
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
ignoreMipmapLimit: 0
|
||||
mipmapLimitGroupName:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Binary file not shown.
@@ -0,0 +1,21 @@
|
||||
fileFormatVersion: 2
|
||||
guid: ebd53ae0348e8744580b91833f6c6c54
|
||||
IHVImageFormatImporter:
|
||||
externalObjects: {}
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: 1
|
||||
aniso: 1
|
||||
mipBias: 0
|
||||
wrapU: 0
|
||||
wrapV: 0
|
||||
wrapW: 0
|
||||
isReadable: 0
|
||||
sRGBTexture: 1
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
ignoreMipmapLimit: 0
|
||||
mipmapLimitGroupName:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Binary file not shown.
@@ -0,0 +1,21 @@
|
||||
fileFormatVersion: 2
|
||||
guid: bf7e8b7945f996b4db7df10a9e05e687
|
||||
IHVImageFormatImporter:
|
||||
externalObjects: {}
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: 1
|
||||
aniso: 1
|
||||
mipBias: 0
|
||||
wrapU: 0
|
||||
wrapV: 0
|
||||
wrapW: 0
|
||||
isReadable: 0
|
||||
sRGBTexture: 1
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
ignoreMipmapLimit: 0
|
||||
mipmapLimitGroupName:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Binary file not shown.
@@ -0,0 +1,21 @@
|
||||
fileFormatVersion: 2
|
||||
guid: ac750e478a8fcf34489d1882e0956871
|
||||
IHVImageFormatImporter:
|
||||
externalObjects: {}
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: 1
|
||||
aniso: 1
|
||||
mipBias: 0
|
||||
wrapU: 0
|
||||
wrapV: 0
|
||||
wrapW: 0
|
||||
isReadable: 0
|
||||
sRGBTexture: 1
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
ignoreMipmapLimit: 0
|
||||
mipmapLimitGroupName:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Binary file not shown.
@@ -0,0 +1,21 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 669823e0a83b0024eb5823c6cb3027e7
|
||||
IHVImageFormatImporter:
|
||||
externalObjects: {}
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: 1
|
||||
aniso: 1
|
||||
mipBias: 0
|
||||
wrapU: 0
|
||||
wrapV: 0
|
||||
wrapW: 0
|
||||
isReadable: 0
|
||||
sRGBTexture: 1
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
ignoreMipmapLimit: 0
|
||||
mipmapLimitGroupName:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Binary file not shown.
@@ -0,0 +1,21 @@
|
||||
fileFormatVersion: 2
|
||||
guid: b639988cd06b51047a468f37bfd9ffc2
|
||||
IHVImageFormatImporter:
|
||||
externalObjects: {}
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: 1
|
||||
aniso: 1
|
||||
mipBias: 0
|
||||
wrapU: 0
|
||||
wrapV: 0
|
||||
wrapW: 0
|
||||
isReadable: 0
|
||||
sRGBTexture: 1
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
ignoreMipmapLimit: 0
|
||||
mipmapLimitGroupName:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Binary file not shown.
@@ -0,0 +1,21 @@
|
||||
fileFormatVersion: 2
|
||||
guid: d482babb03064f942adf1fc6e7ca2dcd
|
||||
IHVImageFormatImporter:
|
||||
externalObjects: {}
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: 1
|
||||
aniso: 1
|
||||
mipBias: 0
|
||||
wrapU: 0
|
||||
wrapV: 0
|
||||
wrapW: 0
|
||||
isReadable: 0
|
||||
sRGBTexture: 1
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
ignoreMipmapLimit: 0
|
||||
mipmapLimitGroupName:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Binary file not shown.
@@ -0,0 +1,21 @@
|
||||
fileFormatVersion: 2
|
||||
guid: dc189c0d552bc0b4fa4ae603ed2978d5
|
||||
IHVImageFormatImporter:
|
||||
externalObjects: {}
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: 1
|
||||
aniso: 1
|
||||
mipBias: 0
|
||||
wrapU: 0
|
||||
wrapV: 0
|
||||
wrapW: 0
|
||||
isReadable: 0
|
||||
sRGBTexture: 1
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
ignoreMipmapLimit: 0
|
||||
mipmapLimitGroupName:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user